| Stem-to-Host Messages | Index |
Description:
Many operations on a BrainStem module can cause a status message packet to be sent back to the host. These messages are listed below. Many of these messages take on special meaning for certain commands and these specifics are documented with each command.
A message packet consists of a cmdMSG command byte followed by one of the message codes listed below. The Console converts the message codes to text strings. If you are programming in C, these message codes have identifiers defined in the file "aStemMsg.h" located in the aInclude folder of an appropriate software download.
| Code | C Identifier | Console Text | Cause |
| 0 | iicNoAck | no iic ack | A device on the IIC bus did not send an ACK in response to a transmission. This message may also be seen if the module is not getting sufficient power. |
| 1 | iicNotWRAddr | not iic WR addr | The IIC write address was not an even value. |
| 2 | iicQOverflow | iic queue overflow | The outgoing IIC packet queue overflowed. Data was queued for transmission faster than the hardware could send it. |
| 3 | iicQUnderflow | iic queue underflow | The outgoing IIC packet queue underflowed. This message may also be seen if the module is not getting sufficient power. (This message could indicate a firmware bug -- contact vendor.) |
| 4 | statePowerReset | power up reset | The module experienced a reset by command or by cycling power. |
| 5 | memNoAck | no mem ack | The module's EEPROM did not send an ACK in response to a memory access. |
| 6 | memRDTooLong | mem read too long | The length for the cmdMEM_RD command is too long. |
| 7 | memAddrRangeErr | mem address error | The address for a cmdMEM_RD or cmdMEM_WR command is invalid. |
| 8 | cmdInvalid | invalid command | The module does not support the command. |
| 9 | cmdTooLong | cmd too long | The length of a command packet was too long. The module executed the command and ignored the extra bytes. |
| 10 | cmdIndexErr | cmd index error | The index of a system value, I/O device, or servo is invalid. It is illegal to read from a device configured for output. It is illegal to write to a device configured for input. |
| 11 | cmdParamErr | cmd param error | A parameter for a command is invalid. The number of bytes in a command is invalid based on command flags. |
| 12 | cmdQOverflow | cmd queue overflow | The command queue overflowed. Commands were queued faster than the hardware could execute them. |
| 13 | cmdQUnderflow | cmd queue underflow | The command queue underflowed. (This message could indicate a firmware bug -- contact vendor.) |
| 14 | linkQOverflow | link queue overflow | The serial packet queue overflowed. Data was queued for transmission faster than the hardware could send it. |
| 15 | tmrConflict | timer conflict | An attempt to set a software timer conflicted with an active software timer. |
| 16 | fileInitErr | file init error | A TEA file ID was invalid or the specified TEA file was already open. |
| 17 | fileModeErr | file mode error | A cmdTEADATA (file write) command was issued to a read-only TEA file. A cmdTEAREAD (file read) command was issued to a write-only TEA file. (The first write or read command for a TEA file determines its mode.) |
| 18 | fileCloseErr | file close error | The specified TEA file was already closed. |
| 19 | fileSizeErr | file size error | Too many bytes were written to a TEA file. |
| 20 | msgTooLong | msg too long | A reflex command message had an invalid length. |
| 21 | cmdBadRawInput | bad raw input | A raw input reflex ID was out of range. |
| 22 | iicBOverflow | iic buff ovflw | An incoming IIC transmission overwrote the hardware IIC buffer register. (This message could indicate a firmware bug -- contact vendor.) |
| 23 | iicCMDQOvflw | iic cmd ovflw | An incoming IIC command overflowed the IIC command queue. Commands were queued faster than the hardware could execute them. |
| 24 | iicCMDQUnflw | iic cmd unflw | The incoming IIC command queue underflowed. (This message could indicate a firmware bug -- contact vendor.) |
| 25 | vmNotFree | vm not free | The desired VM process ID was not free or all processes were busy. |
| 26 | vmExit | vm exit | A VM terminated execution. |
| 27 | cmdTooShort | cmd too short | The length of a command packet was too short. The module was expecting more data and did not execute the command. |
| 28* | serialError | serial error | An incoming serial byte overwrote a byte in the hardware buffer. The device transmitting data may be too fast for the module. |
| 29 | configErr | configuration error | The requested configuration is not possible. This can happen when attempting to configure I/O that is fixed for the particular module you are using. |
* Applies only to new modules and BrainStem GP 1.0 modules with firmware Build 9 or higher.