View Single Post
  #18   Spotlight this post!  
Unread 23-01-2016, 11:48
ozrien's Avatar
ozrien ozrien is online now
Omar Zrien
AKA: Omar
no team
Team Role: Mentor
 
Join Date: Sep 2006
Rookie Year: 2003
Location: Sterling Heights, MI
Posts: 559
ozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond reputeozrien has a reputation beyond repute
Re: CAN can not see PDP

So the root-cause appears to be an anomaly with the 2016 web-based plugin that occurs only if there is a small number of devices (one or two) that have large device IDs (in this example both PCM and PDP were 62).
This limitation has the affect of a device not populating in the web-based config device list, even though CAN and robot API are working, which was the rakosi2's observation.

This has no impact on the roboRIO's API or your ability to control/monitor from robot-code.

For this functional limitation to occur there must be
[1] A small number of devices (typically one or two)
[2] All devices must have large device IDs (> ~30)

I came up with an easy workaround in case anyone gets bit by this.
If you have a device that isn't showing up on the web-page despite its LED(s) indicating good-communication, you can force it to appear with the following steps...
[1] Disconnect the CAN wires (or power) to that device while RIO is off.
[2] power boot the RIO
[3] navigate to the web-based config, wait a few seconds so it has a chance to fully render
[4] Then connect CAN (or power) to that device
[5] Manually refresh the page and the device will appear.
[6] At which point reduce the the Device ID (recommendations below).

For PDP I recommend using device ID '0' (seems to be be necessary if C++ users want to read PDP signals).
For PCMs I recommend starting at '0' and counting up .
For Talon SRXs I recommend starting at '0' and counting up.

I'll update the docs accordingly, thanks rakosi2 for helping diagnose the problem!