Assistance Needed - Communications/Robot Code Issues

Our team is working on some code modifications in preparation for our regional event. Up until the last week, we have had no issues updating code and having it work (on a practice system) as expected. However, we very recently have come across an issue that we haven’t been able to fix. The driver station is frequently telling us that either we have:

(i) no communications and no robot code
(ii) communications but no robot code
(iii) both communications and robot code, but nothing on the bot is responding

As of right this moment, we are getting a green light beside communications and beside robot code. This seems to be progress, as most of the day was spent with a red light beside robot code. To get to where we are at, I reformatted the cRio and put the 2012 image back on it. However, nothing is responding when I enable the bot (e.g. Jags just flash). Again, this code worked about a week ago. The only change is that we added an encoder. I’ve since removed that from the code, in case that was the issue (no help). So you know our setup, here are some details:

  • We are using the 8-slot cRIO that we received in the 2011 KOP (our rookie year). Just FYI…the bagged competition bot has the new cRIO on it.
  • Our code is in C++ and we used the new CommandBased framework.
  • We have 9 motors, 1 potentiometer and 1 digital encoder.

I did a lot of hunting on this forum and found that others have encountered this issue. Those suggestions enabled me to eventually get communications re-established. It took a second reformat (and subsequent code upload) before I was able to get an indication that there was robot code on the cRio.

So, now that we have communications and robot code, I’m stumped as to what the issue might be. Just to check, I uploaded a simple robot code example provided with the FRC tools in WindRiver. The same issue persists.

My concern is that somehow the code isn’t ‘starting’ when the robot boots up. My only reason for saying this is that when I was getting the ‘no robot code’ indication, I was trying to debug through a kernel task (which I admittedly have never done). In doing so, I set an entry point that I hope is not causing unintended problems.

Has anyone seen an issue similar to this and can offer any advice? I’d also welcome an alternative suggestion for verifying that the code I’m intending to upload is really being placed on the cRio. I’m rebooting the cRio after every transfer and I double-checked that the correct path of the .out file is set in Windriver.

Thanks for any help you can lend!

Best,
Chase

Are your Jaguars on PWM or CAN? If the former, verify that power supplies are in place and solidly connected, and take a second look at the DSC LEDs. If the latter, and you’re using the serial interface, check your serial-to-CAN converter (we managed to somehow snap two of the solder connections in competition).

Do you have any diagnostic tools that can replace components of the system? (e.g. serial-to-CAN tethering for the Jaguars, a servo signal generator for PWM control, a 'scope to check outputs) If so, do take a shot at using them to try to isolate the problem.

I know that you can access the cRIO via FTP and look around for your code, but a forum search would yield better instructions than I can provide.

Hope this helps.

Thanks for the reply.

We are using PWM. I’ll double-check power to DLC. Before I left, I did verify that the 5V light on the DLC was green and that all PWM cables were solidly attached. We are not using the ribbon cable that I’ve read much about, so I’m hopeful the issue isn’t a connection from Digital Module to the DLC.

Thanks for the suggestion about FTP. I’ll give that a try.

Have you checked your CPU usage in the DS Charts tab?
100% usage can cause a number of problems.