Standard MIP Types and Values
Standard Types
Type | Size [bytes] | Description |
bool | 1 | A single-byte value which can be either true (0x01) or false (0x00). |
char | 1 | A single-byte value which represents an ASCII character. Typically used as an array to form a string. |
u8 | 1 | Unsigned 8-bit byte. |
u16 | 2 | Unsigned 16-bit value. |
u32 | 4 | Unsigned 32-bit value. |
u64 | 8 | Unsigned 64-bit value. |
s8 | 1 | Signed 8-bit value (two's complement). |
s16 | 2 | Signed 16-bit value (two's complement). |
s32 | 4 | Signed 32-bit value (two's complement). |
s64 | 8 | Signed 64-bit value (two's complement). |
float | 4 | IEEE-754 floating point value. |
double | 8 | IEEE-754 double-precision floating point value. |
Vector Types
Type | Size [bytes] | Description |
vector3f | 12 | 3D vector of floats |
vector3d | 24 | 3D vector of doubles |
vector4f | 16 | 4D vector of floats |
vector4d | 32 | 4D vector of doubles |
matrix3f | 36 | 3x3 matrix of floats in row major order |
matrix3d | 72 | 3x3 matrix of doubles in row major order |
quatf | 16 | 4D quaternion vector of floats (qw, qx, qy, qz) |
Ack/Nack Field Specification
Description | This field is used to indicate the result of a received command. | ||
Parameter Name | Data Type | Description | |
Field Length | u8 | 4 | |
Descriptor | u8 | 0xF1 | |
Command Descriptor | u8 | Matches command descriptor. | |
Reply Code | u8 | Ack/Nack Reply Code |
Ack/Nack Codes
0x00 - Success
0x01 - Unknown Command
0x02 - Bad Checksum
0x03 - Invalid Parameter
0x04 - Command Failed
0x05 - Command Timeout
0x06 - Unknown descriptor set
Function Selectors
Most settings commands support a function selector, which allows the setting to be changed, read back, saved, loaded, or reset to the default. Some commands don't support all 5 options. For most settings, no additional parameters are needed when the function selector is not 0x01. However certain commands need more information (for example, which subset of settings to read back).
0x01 - Apply new setting
0x02 - Read current setting
0x03 - Save current setting to non-volatile memory
0x04 - Load current setting from non-volatile memory
0x05 - Restore factory default setting