Riden PSUs
Every workcell comes equipped standard with a RD6012P programmable variable 720W high precision power supply and a RK6006 programmable variable 360W power supply. These devices provide power to user circuits and serve a fundamental role in using the workcell as a testing environment.
All riden PSUs expose the same API over CAN bus (see Riden Protocol) which is proxied by the CAN master through a complimentary websocket API.
Commands
After successfully registering itself with the CAN master and communicating with the Riden PSU, the CAN gateway will listen for commands on the CAN bus. These commands tell the gateway to perform read or write specific registers from the PSU to achieve functions such as reading the PSU identification registers, setting the output voltage, enabling and disabling output, etc.
Polling Messages
While there aren't any commands executing/pending, the CAN gateway will read the operating registers of the PSU as fast as is possible (see Limitations). Data collected is sent in multiple CAN messages back to the CAN master for transmission over the websocket interface. These messages contain data such as the current voltage setpoint, voltage output, unit temperature, etc.
Limitations
Because of some bad programming work by the engineers who wrote the firmware for the Riden PSUs we use, we are limited in communication speed between the Riden PSU and the accompanying CAN gateway. The Riden PSU firmware handles all IO synchronously. This means that while the screen on the unit is rendering (most of the time), the Riden can't respond to any communications over its UART interface. In practice this means that the shortest possible round trip time for reading data from the PSU is about 150ms (a maximum polling rate of ~7Hz).