Multiple CAN networks

So for the off season one of the ideas thrown around was setting up a micro competition to have our students get more experience with the robotics scene.

One of my ideas was to have two identical small robots (maybe 2ft x 2ft max).

one of the robots would have the cRIO with the serial can interface the other robot would have just a wireless Ethernet adapter and a 2can. Is there a way we can use BOTH simultaneously or do we need to get into modifying code?

We do have two cRIOs but the team has explicitly stated that they want to keep this years bot functional until next year.

With they way the CAN system is currently coded, it is only designed to use either 2CAN or Serial, not both. However, the plugins are open-source so a special version can be written that would allow for both at once. Simply change the interface names on the plugin and make CANJaguar classes to match, and it should work.

Assuming you are using C++, I could make the modifications and send them to you (uncompiled. don’t have wind river at home)

That would be cool. I will have to re-write it in java. We have the team set on java and java it shal be.

I know enough Java to make the changes. The plugin is still C++ though, so you’ll need a copy of wind river installed to re-build the plugins

does it have to be windriver or can I use make If i have all of the supporting files?

windriver is needed to generate the makefiles and it also needs the windriver compiler (modified gcc). By default it should be installed on whatever computer has the NI tools (except the classmate). If you absolutely can’t I may be able to get my hands on a copy of windriver on tuesday to build the plugins

If it was included in the kit we have it somewhere

Ill start digging through code!

well, after digging through the code a bit more I found out that the interfaces to the CAN plugins are handled by the closed-source NetworkCommunication libraries. I think it is possible to bypass the libraries, however doing so will also most likely bypass the disable button for CAN jaguars.

There are two options. one, I can go forward with bypassing the networkcommunication backend and breaking the disable button and all watchdogs, or could you possibly change the cRIO-side jags to PWM mode and still do the networked 2CAN.

I dont see where that would be an issue except with the closed loop control. The connection from the cRIO to the 2CAN sends data through UDP correct? Can we spoof it?