Firmware-75 Function-122

From I-CubeX Wiki
Revision as of 05:03, 5 October 2017 by Admin (talk | contribs)
Jump to: navigation, search

MAGNETIC3D (122, 7Ah)

The Magnetic3D function enables output of the Magnetic3D sensor data in both host and stand-alone mode. In host mode the sensor data is output in I2C DATA messages. In stand-alone mode the sensor data is output according to the stand-alone mode settings of the input number that equals the I2C port number. There are two methods to select using the function parameter FP:

Magnetic3D v1.0

FP Data output in host mode Data output in stand-alone mode
0 Magnetic Field Strength X-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB) Magnetic Field Strength X-axis; an unsigned 7-bit or 14-bit value sent as one or two bytes (LSB, MSB)
Magnetic Field Strength Y-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB) Magnetic Field Strength Y-axis; an unsigned 7-bit or 14-bit value sent as one or two bytes (LSB, MSB)
Magnetic Field Strength Z-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB) Magnetic Field Strength Z-axis; an unsigned 7-bit or 14-bit value sent as one or two bytes (LSB, MSB)
1 Magnetic Field Strength X-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB) Magnetic Field Strength Magnitude; an unsigned 7-bit or 14-bit value sent as one or two bytes (LSB, MSB)
Magnetic Field Strength Y-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB)
Magnetic Field Strength Z-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB)
2..127 Magnetic Field Strength X-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB) No Output
Magnetic Field Strength Y-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB)
Magnetic Field Strength Z-axis; a signed two’s complement 16-bit value sent as nibbles in four bytes (MSB .. LSB)

Each 16-bit or 14-bit value represents a magnetic field strength that is scaled using a factor that can be set with a separate I2C WRITE command, see for more details the datasheet linked from Magnetic3D v1.0 webpage.


Example:

In order to enable the Magnetic3D function to get the magnetic field strength X-, Y- and Z-axis data from an Magnetic3D sensor with I2C device address 30 (default Magnetic3D I2C device address) connected to the 7th I2C port, the following message is sent:

240, 125, 0 {DEV}, 8 {FUNCTION}, 6 {yyy = 6}, 30 {device address}, 122 {Magnetic3D function}, 0 {X-/Y-/Z-axis}, 247 (F0h, 7Dh, 00h, 08h, 06h, 1Eh, 7Ah, 00h, F7h)

In host mode raw sensor data will be output immediately in I2C DATA messages. In stand-alone mode a suitable configuration has to be set using the EDIT CONFIG command before any MIDI messages will be output.

Other settings of the Magnetic3D sensor can be effectuated by using I2C commands such as I2C WRITE and I2C READ. See also the datasheet linked from the Magnetic3D v1.0 webpage.