We set up the Classmate and installed fresh software from the '10 kit, as per instructions from FIRST. We re-imaged the cRIO from the Classmate, but it refuses to interface with our controls. It throws a “No Code” error, even with a fresh re-imaging, and also with unedited sample code from FIRST.
Anyone else have this error? Anyone have a solution?
Write code and put it on the robot. It needs your code
Is there a URL or other means to download the driver station application? I would like to run the application on a development system laptop instead of the Classmate for testing purposes.
Obviously, we did. I think that unedited sample code counts as code that was downloaded successfully – WindRiver threw no errors. This is similar to the case I had before with last year’s Control System about a month ago: http://www.chiefdelphi.com/forums/showthread.php?t=79328
The mandatory update for the classmate driver station also works as a standalone installer for development machines.
It can be downloaded at http://joule.ni.com/nidu/cds/view/p/id/1535/lang/en
We did install this, and even when we do it again, it detects the update already installed and does not re-install the update.
The robot is still refusing to accept code.
Obviously, we did.
The Classmate indicates that it communicates with the robot alright and the stop button is in place, but it detects no code on the robot even though we downloaded it.
The driver station (DS) has high level diagnostics on the left that summarizes communications, code, and stop button. Additional information, especially about communications is provided on the Diagnostics tab. This pings each of the elements to help tell what is wrong with the comms or USB elements.
If No Code is the message on the DS, and everything else is fine, I’d probably use the development tool to run the code, perhaps look a the serial output, until you believe that your code is running that way. One possible issue with the code starting could be the language that the cRIO was formatted for. The language selection determines the libraries and some startup settings. The Diagnostics tab displays the cRIO language settings near the version string. The updated version of the DS does anyway.
Once you have code running in the development environment, then you can focus on deployment.
We looked on the Diagnostics tab, and under the “Robot” and “E-net Link” there are no errors (all green). We could reboot the robot and have the two indicators respond accordingly.
What’s the “developmental tool”? Do we use the remote console on WindRiver? Or something else?
The detail lights in the communications column don’t really offer any additional info unless you have communication error. Otherwise they simply confirm which elements are present.
I’m not sure if you are using C++, LV, or Java, but by development tool, I mean the WindRiver C++ Eclipse environment, the Java Eclipse, or the LabVIEW editor. Work through the getting started directions if needed, and execute a sample program, an example, or your own simple program.
The No Code message means that no code on the robot is interacting with the communication task. Note that code stuck at a breakpoint looks similar to this depending on the development tool.
The serial output may offer some hints as to why code isn’t starting, especially for C++ and Java. Note that this year, there is a tool for sending the serial over enet and straight to a message window.
On the diagnostics tab, have you verified that the cRIO is formatted for the language you’ve selected?
We formatted the CRio to work in C/C++. When we tried to connect to the cRio using the real time target server in Windriver, here is the error:
Sun Jan 10 17:25:24 2010
Target name is 10.0.25.2
tgtsvr (VxWorks6x_10.0.25.2@1951-44U): Sun Jan 10 17:25:24 2010
WTX Library version: 126.96.36.199
Tgtsvr core version: 188.8.131.52
Wind River Target Server: Win32 version
Connecting to the target agent ...
... switching to WDB4 mode ... ... succeeded !
Loading plug-in for VxWorks... succeeded.
Checking License... OK
VxWorks plugin version: 184.108.40.206
Attaching elf OMF reader for PPC CPU family... succeeded.
Differences for module "vxWorks" segment's address 0x100000:
Offset Target Value Host Value
0x152 0x9c 0x9d
0x153 0x84 0xd0
0x49d 0x0d 0x09
0x49e 0x03 0xaf
Stopping dump. Other errors might exist.
Error: The systems running on the target and loaded into the target server memory are different.
Either wrong core file is selected on the host or text section is corrupted on target side.
Error during target server core initialization
Target Server will exit
After that, we connected the cRio directly to HyperTerminal and recorded the output. I have attached a text file populated with errors. The last line (FTP Server Connection thread error) occured when we tried to deploy code using WindRiver.
CAPTURE.TXT (21 KB)
CAPTURE.TXT (21 KB)
From looking at your console capture, I can see that you are loading the FRC 2009 image file onto your cRIO (or that you never reimaged it).
The errors you are getting (which prevent your code from running) indicate that it is expecting symbols from the 2010 image.
This tells me that you have successfully updated the WPILib, but not the image on the cRIO.
Go to www.usfirst.org/frccontrolsystem and click on Mandatory LabVIEW Update. In the description on that page, you’ll see that this update is needed for all development languages since it contains the latest imaging tool and image for the cRIO.
After installing this update, run the imaging tool to image your cRIO with FRC_2010_v19.zip. You should then be able to deploy or run your 2010 code and control it with the classmate driver station.
YES! It works, that update did the trick. I guess we overlooked it because it had Labview in the file name.
Well, lesson learned. Install any and all updates.
I did the updates and now the Classmate can’t find nicyapi.dll. I used the DS on the programming laptop instead and I could see that the downloaded program worked on the DS executables on the laptop. Will there be an update with the proper files soon so we can get the Classmates running?
explains the issue and the solution.