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

| # | 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.

| # | 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.

| # | 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. |