Hi,
We’re having issues reimaging the cRIO. Thanks in advance for any input and help!
We’re a rookie team from the UAE and trying to get a jumpstart on the upcoming season. Our mentoring team, LiveWire FRC 3562, was gracious enough to provide us with a copy of LabVIEW and we’ve been able to install it. We have the sample code ready for download.
-Initially (a few months past) we were able to image the cRIO.
All the updates are installed, we’ve checked that repeatedly, and reinstalled all of them, in the correct sequence, just in case.
The Driver Station confirms we have communication with the cRIO! This is exciting! There were cheers.
But, the robot does not respond to joystick movement at all.
A series of error messages appear in the Driver Station and searching them on various threads suggests we need to reimage the cRIO.
However, when we attempt to use the FRC cRIO Imaging Tool, an error message pops up stating “No cRIO images found. Expected here: long path ending in /FRC Images”
The path exists, the FRC Images folder exists and it has a couple of folders in it…
Questions, anyone have this same problem last season? Can anyone point us in the right direction? If anyone has recently imaged their cRIO, can you look at the content of your FRC Images folder and tell us the contents? Or maybe zip and email the contents if that would even work? Any other thoughts/approaches ? We don’t have the LabVIEW disk so we can’t reinstall LabVIEW but I don’t think thats the problem…
If the image tool runs then you do not need the labview disk for that.
The image you are looking for is in a zipped file folder FRC_2013_v47.zip which should be in the cRio_images folder(no need to unzip the file). The imaging tool should show what image that is on the the cRio.
If the /FRC Images folder doesn’t have the FRC_2013_v47.zip file in it, then you are missing the LabVIEW FRC specific update.
That’s where the image file comes from.
Here’s what my tool looks like with the v47 file shown as selected (1st image).
The second image is the kind of response you’d get if your PC IP didn’t match the cRIO. It just has a little trouble identifying the cRIO type and what image it’s running.
Wow! We changed nothing and at startup today it now recognizes the current image which is new. Still no movement/response to joysticks. So I would still love feedback…
These images are the error messages in driver station and our cRIO imaging tool…
The driver station LEDs to the left of the messages show that the laptop is able to ping the robot. Further to the left are Communications and Code LEDs, what are the state of those?
The warnings shown in the window are lower level details. If they aren’t errors, you don’t really need to worry about them.
At first glance the cRIO image seems to be fine. It’s operating and talking back to the Driver station. I’ve attached three screenshots of the Driver Station app tabs for Operation, Diagnostics, and Setup, so you can compare them with your own. You can see that the warning/info messages on the second image of the Diagnostics tab are similar to your photo. These have the Driver station PC connected directly to the cRIO, so no bridge.
In additional to answering Greg’s question, about the status shown on the left of all three screenshots (communications/Robot Code/Joysticks and Teleoperated Enabled),
A couple of things to check:
Have you Enabled the Driver Station? (see the first image below, Operation tab)
On the Driver Station Setup
tab (third image below), the right side has a list of the joysticks you have connected. Check to see that yours is there, in the correct USB slot, and turns blue when you push a joystick button. It will be green if it’s recognized as being plugged in.*]Are you running a default robot project? How did you download it to the robot?
Thanks so much for the help. Our river station appears to match yours’ and the communication, joystick and robot code lights are all green. However, it’s never turned blue. We are using default code. We downloaded it via the project explorer window…
P.S.
Laptop USB is notorious for cutting power to USB ports while the laptop is on battery.[ol]
[li]Make sure your laptop battery is fully charged and preferably plugged in.[/li][li]Check your power saver settings to avoid power cutbacks when the battery is low.[ul][/li][li]Open the Device Manager. Win 8, hold the Windows key and press the ‘x’ key to open a menu in the lower-left and select “Device Manager.” Using Win 7, open the Start Menu, type “Device Manager” in the search field, and click it.[/li][li]Expand “Universal Serial Bus controllers”[/li][li]Right-click each entry titled “USB Root Hub” and select “Properties”[/li][li]Change to the “Power Management” tab[/li][li]Uncheck the check box next to “Allow the computer to turn off this device to save power”[/li][li]Press “OK”[/li][li]Repeat this for each “USB Root Hub” entry[/li][li]Reboot the computer[/ul] [/li][li]If using more than one USB device, i.e., multiple joysticks, distribute the USB load across all the laptop USB ports that you have. Keep critical joysticks on their own USB port.[/li][li]Avoid ganging multiple USB devices up on a single USB hub. Bigger hubs are worse. If used, small hubs are best.[/li][*]Avoid fancy joysticks that draw an excess of USB power. Power hungry fancy sticks or ones with glittery LEDs won’t fare as well as plain vanilla generic joysticks.[/ol]
We’re currently attempting to find the original default code to download, just in case we changed something by accident.
As far as the joysticks, this is probably a stupid question, but other than battery usage, does the model matter?
Meaning, do we have to select it somewhere within the code? We used V-Max 2013 flight joysticks for ps3/PC, nothing fancy, just generic joysticks…
From your screen, it seems that you have joysticks, code, and communication to your robot. It is disabled, and it isn’t possible to know how the code was programmed.
My suggestion would be to enable the robot in teleop mode and carefully test it. Perhaps you should put the robot on blocks as you test. You should also be ready to disable or estop it by hitting the spacebar on the driver station if you need to.
Another approach is to go to the dashboard and put the robot into test mode. This lets you read sensors and it lets you enable and test outputs just one at a time.
We have code on the robot (downloaded default to cRIO via project explorer and right clicking run on robot main), and the driver station shows that it has code.
We have observed the joystick names going blue when we click buttons but not moving the joystick (changing the axis position).
We have observed the axis values changing as we move the joysticks in the test phase.
We still have not gotten motors to respond to joystick movement…
Yes to everything now. We originally did not have the digital sidecar wired but do now. It doesn’t see to have changed anything… our talons are LEDs are blinking fast. One is blinking orange and one is alternating orange/red. We’ve attempted to recall rated but it didn’t respond. If the robot is not responding to joysticks (although we can see the cRIO. recognizes them via test mode) - can it still calibrate?
The Talon and other speed controllers must receive PWM signals in order for calibration to work as intended.
The orange blink means that the controller isn’t receiving a PWM signal.
Can you enable the robot? When it is enabled, if the Talons continue to blink orange, it means an electrical wiring problem or wiring that doesn’t match code is the most likely issue.
Again, I’d probably enable the robot in test mode, scroll down the test tab and review the channel numbers for each motor. Run the motors individually as you verify that PWM wiring matches what was opened in the code. If most of the PWMs do not work or work unreliably, you may want to verify that the cable between the digital module and digital breakout board is properly seated and working properly. There were cables in the kit last year I believe that had a reversed connector. Also verify that the blue breakout has its own power connected and its LEDs are bright. The PWM current is sufficient to drive a few motors, but cannot supply more than three at the same time.
We definitely have lights on the digital sidecar at this point.
We can enable the robot but how do we run motors? Is it a function of the test view? And if so, do we need to make separate portions of code?
The short answer is that if you open a resource in your code and register it by name, it will show up. If you select an actuator value in the table, a control will display allowing you to modify the value. Motors are somewhat dangerous, so they utilize a momentary enable button. This means, you select, then set the desired speed, then click and hold the enable button for as long as you want the motor controller to be sent that value. Other actuators don’t require the enable button.
If this doesn’t work, please describe what it does do to the LEDs, etc. And don’t forget to enable the robot on the driver station.