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!