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