ICU Spy

The ICU Spy is a low-level troubleshooting tool to find issues with nodes and communication.

Message Tab

enter image description here

# Description
1 The message tab, showing individual CAN messages
2 The statistics tab, showing statistics about messages sent and received
3 The motors tab, showing semi-live motor readings
4 Stop listening, this will keep any existing messages in the view but not add more
5 Download log. This will download the messages as an Excel sheet
6 Filter messages on ICU Channel, 0 = First channel, 1 = Second channel
7 Filter messages on node id (local node id)
8 Filter on message type
9 Filter on message control type
10 Filter on message content. Hex values can be entered by prefixing with '\x'.
11 Toggle to show all byetes with hex representation. Normally, printable characters would be shown directly.
12 Filter on message description. Descriptions are auto generated for each message based on the content.
13 Enter a recipient node id (local node id) to send an outgoing message to. 1023 (Node Broadcast) and 2047 (Motor broadcast) are also valid IDs.
14 Enter a message to send, hex values may be entered by prefixing with '\x'. For example '\x1Bx' will query a node for the firmware version.
15 Send button. Push this or press enter in the 'Message Data' field to send an outgoing message.

Statistics

The statistics tab shows statistics for the CAN traffic.

enter image description here

# Description
1 CAN bus saturation. This is an approximate measure of how saturated each channel is. If the saturation reaches 100% there may be issues with delays in communication or disrupted communication. Ideally the channels should be balanced so that there is an equal amount of traffic on both channels.
2 Histogram of CAN traffic, can be used to analyze spikes in communication.
3 Statistics of what kind of messages are being sent and received.

Motors

The motor tab will give semi-live readings from a selected motor group. Each motor is polled in sequence for current readings, so large motor groups will take a while to update.

This can be used to troubleshoot motor effect limits.

enter image description here

# Description
1 Motor group dropdown. Select what motor group to inspect. All lines and feeding buffers are listed here.
2 Node id of each motor in the group
3 Status of each motor in group
4 Temperature of motor measured in degrees C. This value is an average of the last three readings of the motor.
5 Current power consumption, in Watt. This value is an average of the last three readings of the motor.