Go to Post Changing the world starts with changing yourself. - Jeremy_Mc [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 08-02-2010, 07:22
cilginbilgin cilginbilgin is offline
Registered User
FRC #2905
 
Join Date: Jan 2010
Location: Istanbul,Turkey
Posts: 188
cilginbilgin is a jewel in the roughcilginbilgin is a jewel in the roughcilginbilgin is a jewel in the roughcilginbilgin is a jewel in the rough
Exclamation REMINDER : NetBeans not talk to the CRIO

Here is the situation:

We are trying to use our joysticks and jaguars.Serial port was only a try, you can ignore it if you want.

Our java code:
Code:
package edu.wpi.first.wpilibj.templates;


import edu.wpi.first.wpilibj.GenericHID.Hand;
import edu.wpi.first.wpilibj.SimpleRobot;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.Jaguar;
import edu.wpi.first.wpilibj.Watchdog;
import edu.wpi.first.wpilibj.SerialPort;
import edu.wpi.first.wpilibj.visa.VisaException;
import edu.wpi.first.wpilibj.RobotBase;

public class RobotTemplate extends SimpleRobot {

    
    RobotDrive drive = new RobotDrive(1,2);
    final int baud = 9600;
    final int dataBits =8;
    SerialPort sp;
    Watchdog wd;

    public void autonomous() {

   System.out.println("autonomous OK");
        wd.feed();
    wd.setEnabled(false);

        drive.tankDrive(2, 2);
        
    }

    public void operatorControl() {
        System.out.println("Operator OK");
        wd.feed();

        try
        {
        sp = new SerialPort(baud,dataBits);
        }
        catch(VisaException vs)
        {
        }
        Joystick driveJoy= new Joystick(1);
        Jaguar leftControl = new Jaguar(1);
        Jaguar rightControl = new Jaguar(2);

        if(driveJoy.getTrigger())
        {
            leftControl.set(driveJoy.getY());
            rightControl.set(driveJoy.getAxis(Joystick.AxisType.kX));
        }
        else if(driveJoy.getRawButton(2))
        {
            leftControl.set(driveJoy.getThrottle());
            rightControl.set(driveJoy.getAxis(Joystick.AxisType.kThrottle));
        }
        else if(driveJoy.getRawButton(4))
        {
            leftControl.set(driveJoy.getMagnitude());
        }

    }
}
And here is the console output:
Code:
init:
init:
No to.jar.file specified.
Using "suite\RobotTemplate_1.0.0.jar"
Deleting directory C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\build
Deleting directory C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\suite
Deleting directory C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\j2meclasses
clean:
Created dir: C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\build
Compiling 1 source file to C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\build
compile:
Created dir: C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\j2meclasses
preverify:
Created dir: C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\suite
Building jar: C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\suite\RobotTemplate_1.0.0.jar
jar-app:
Using "suite\RobotTemplate_1.0.0.jar"
CompilerOracle: exclude com/sun/squawk/Method.getParameterTypes
CompilerOracle: exclude com/sun/squawk/SymbolParser.getSignatureTypeAt
CompilerOracle: exclude com/sun/squawk/SymbolParser.stripMethods
[translating suite image [closed: false, parent: squawk] ...]
### Excluding compile: com.sun.squawk.Method::getParameterTypes
### Excluding compile: com.sun.squawk.SymbolParser::getSignatureTypeAt
Romizer processed 77 classes and generated these files:
  C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\image.sym
  C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\image.suite
  C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\image.suite.metadata
  C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\image.suite.api
Expanding: C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\suite\RobotTemplate_1.0.0.jar into C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\suite
Moving 1 file to C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\suite
Moving 1 file to C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\suite
Moving 1 file to C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\suite
Deleting: C:\Documents and Settings\Developer\My Documents\NetBeansProjects\RobotTemplate\image.suite.api
Connecting FTP @10.29.5.2
upgrade:
Sending local file image.suite
flashapp:
deploy:
init:
[cRIO] [OTA Server] ********* REBOOTING cRIO *********
[cRIO] 
   Waiting for cRIO to reboot (1s)
   Waiting for cRIO to reboot (2s)
   Waiting for cRIO to reboot (3s)
   Waiting for cRIO to reboot (4s)
   Waiting for cRIO to reboot (5s)
   Waiting for cRIO to reboot (6s)
   Waiting for cRIO to reboot (7s)
[cRIO] 
[cRIO] -> * Loading StartupDlls: debug
[cRIO] Entering debug.o StartupLibraryInit
[cRIO] Debugging is up, target server mounted at /tsfs
[cRIO] 
[cRIO] 
[cRIO]                 VxWorks
[cRIO] 
[cRIO] Copyright 1984-2006  Wind River Systems, Inc.
[cRIO] 
[cRIO]              CPU: MPC5200 -- Wind River Lite5200 BSP.
[cRIO]     Runtime Name: VxWorks
[cRIO]  Runtime Version: 6.3
[cRIO]      BSP version: 2.0/10
[cRIO]          Created: Jul 29 2009, 13:41:47
[cRIO] ED&R Policy Mode: Deployed
[cRIO]    WDB Comm Type: WDB_COMM_END
[cRIO]              WDB: Ready.
[cRIO] 
[cRIO] Leaving debug.o StartupLibraryInit
[cRIO] * Loading StartupDlls: NiRioRpc
[cRIO] * Loading StartupDlls: niorbs
[cRIO] * Loading StartupDlls: NiViSrvr
[cRIO] * Loading StartupDlls: nivissvc
[cRIO] task 0xee3da8 (PAL00fb5148) deleted: errno=0 (0) status=0 (0)
[cRIO] NI-RIO Server 3.2 started successfully.
[cRIO] task 0xc5f1f8 (NiRioRpc) deleted: errno=0 (0) status=0 (0)
[cRIO] * Loading StartupDlls: nivision
[cRIO] * Loading StartupDlls: niserial
[cRIO] * Loading StartupDlls: FRC_FPGA
[cRIO] * Loading StartupDlls: FRC_NetworkCommunication
[cRIO] FRC_NetworkCommunication was compiled from SVN revision 2064
[cRIO] FPGA Hardware GUID: 0xAD9A5591CC64E4DF756D77D1B57A549E
[cRIO] FPGA Software GUID: 0xAD9A5591CC64E4DF756D77D1B57A549E
[cRIO] FPGA Hardware Version: 2010
[cRIO] FPGA Software Version: 2010
[cRIO] FPGA Hardware Revision: 1.3.0
[cRIO] FPGA Software Revision: 1.3.0
[cRIO] * Loading StartupDlls: FRC_JavaVM
[cRIO] 
[cRIO] 
[cRIO] [OTA Server] Version: 2010 FRC, Feb  4 2010, 21:33:36
[cRIO] 
[cRIO] task 0x214b2d0 (t2) deleted: errno=0 (0) status=0 (0)
[cRIO] 
[cRIO] Welcome to LabVIEW Real-Time 8.6.1f2
[cRIO] 
[cRIO] NI-VISA Server 4.5 started successfully.
[cRIO] task 0xe623d0 (t1) deleted: errno=1835009 (0x1c0001) status=1 (0x1)
[cRIO] 
[cRIO] [Squawk VM] Version: 2010 FRC, Feb  4 2010, 21:35:40
[cRIO] FPGA Hardware GUID: 0xad9a5591cc64e4df756d77d1b57a549e
[cRIO] FPGA Software GUID: 0xad9a5591cc64e4df756d77d1b57a549e
[cRIO] Information: No user-supplied robotMain()
[cRIO] task 0xe5f610 (FTP Server Connection Thread) deleted: errno=70 (0x46) status=0 (0)
[cRIO] task 0xe5f610 (FTP Server Connection Thread) deleted: errno=70 (0x46) status=0 (0)
[cRIO] Operator OK
[cRIO] java.lang.NullPointerException
[cRIO]     at java.lang.Throwable.<init>(Throwable.java:88)
[cRIO]     at java.lang.Exception.<init>(Exception.java:44)
[cRIO]     at java.lang.RuntimeException.<init>(RuntimeException.java:48)
[cRIO]     at java.lang.NullPointerException.<init>(NullPointerException.java:54)
[cRIO]     at com.sun.squawk.VM.nullPointerException(VM.java:391)
[cRIO]     at edu.wpi.first.wpilibj.templates.RobotTemplate.operatorControl(RobotTemplate.java:57)
[cRIO]     at edu.wpi.first.wpilibj.SimpleRobot.startCompetition(SimpleRobot.java:83)
[cRIO]     at edu.wpi.first.wpilibj.RobotBase.startApp(RobotBase.java:132)
[cRIO]     at javax.microedition.midlet.MIDletTunnelImpl.callStartApp(MIDletTunnelImpl.java:60)
[cRIO]     at com.sun.squawk.imp.MIDletMainWrapper.main(MIDletMainWrapper.java:110)
[cRIO]     at com.sun.squawk.Klass.main(Klass.java:2997)
[cRIO]     at com.sun.squawk.Isolate.run(Isolate.java:1554)
[cRIO]     at java.lang.Thread.run(Thread.java:231)
[cRIO]     at com.sun.squawk.VMThread.callRun(VMThread.java:1499)
[cRIO]     at com.sun.squawk.VM.callRun(VM.java:305)
The driver sitation do not permit me to control both teleoperated and autonomous control. When i press enable the clock starts but stops after 3 seconds. Than it says "Teleoperated/Autonomous Disabled" and "Watchdog Not Fed".
Is the problem about my code? What should i do?
Reply With Quote
  #2   Spotlight this post!  
Unread 08-02-2010, 16:14
MattD's Avatar
MattD MattD is offline
Registered User
AKA: Matthew Douglas
FRC #0228 (GUS Robotics)
Team Role: Alumni
 
Join Date: Feb 2006
Rookie Year: 2005
Location: Indianapolis, IN
Posts: 185
MattD is a splendid one to beholdMattD is a splendid one to beholdMattD is a splendid one to beholdMattD is a splendid one to beholdMattD is a splendid one to beholdMattD is a splendid one to beholdMattD is a splendid one to behold
Send a message via AIM to MattD
Re: REMINDER : NetBeans not talk to the CRIO

There are a few problems here. It looks like the NullPointerException is from trying to feed the Watchdog incorrectly. "wd" is never assigned. Remove your Watchdog object and feed the Watchdog like this instead:

Code:
Watchdog.getInstance().feed();
The code in your operatorControl() method is only going to be called once. You need to place it in a loop, like this:

Code:
public void operatorControl()
{
    while (isEnabled() && isOperatorControl())
    {
        Watchdog.getInstance.feed();
        
         // operator control here
    }
}
You might also want to add in a small delay at the end of the loop body, since driver station input only comes in at 50Hz. There's not much of a point in reading input faster than that.
__________________
GUS Robotics Team 228

2010 WPI Engineering Inspiration Award
2010 WPI Regional Champions (Thanks 230 & 20!)
2010 CT VEX Champions
2010 CT VEX Innovate Award
2009 QCC VEX Champions
2009 CT Motorola Quality Award
2007 CT J&J Sportsmanship Award
2006 CT Best Website Award
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
NetBeans not talking to the cRio scottbot95 Java 21 07-02-2010 14:19
Downloading code: Netbeans does not reset cRIO ellisk Java 8 31-01-2010 19:02
"Waiting for Prompt" in Netbeans from cRIO joshholat Control System 6 26-01-2010 10:33
Netbeans 6.8 Ftp to cRIO communication issue mark.amber Java 4 20-01-2010 17:10
Tricks getting the CRIO to talk to laptop mac7attack FRC Control System 10 08-12-2008 09:20


All times are GMT -5. The time now is 22:42.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi