Difference between revisions of "Firmware-72 Function-122"

From I-CubeX Wiki
Jump to: navigation, search
Line 6: Line 6:
  
 
{|
 
{|
!style="text-align:left;width: 1%;"|FP
+
!style="text-align:left;width: 2%;"|FP
!style="text-align:left;width: 49%;"|Data output in host mode
+
!style="text-align:left;width: 45%;"|Data output in host mode
!style="text-align:left;width: 49%;"|Data output in standalone mode
+
!style="text-align:left;width: 45%;"|Data output in standalone mode
 
|-
 
|-
 
|0
 
|0

Revision as of 20:11, 1 January 2016

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. Since the Magnetic3D has multiple output parameters the stand-alone mode settings are incremented by one for each extra output parameter. There are two methods to select using the function parameter FP:

Magnetic3D v1.0

FP Data output in host mode Data output in standalone mode
0 Magnetic Field Strength X-axis; a signed two’s complement 16-bit value sent as two 8-bit bytes (MSB, LSB) Magnetic Field Strength X-axis; an unsigned 14-bit value sent as one or two 8-bit bytes (LSB, MSB)
Magnetic Field Strength Y-axis; a signed two’s complement 16-bit value sent as two 8-bit bytes (MSB, LSB) Magnetic Field Strength Y-axis; an unsigned 14-bit value sent as one or two 8-bit bytes (LSB, MSB)
Magnetic Field Strength Z-axis; a signed two’s complement 16-bit value sent as two 8-bit bytes (MSB, LSB) Magnetic Field Strength Z-axis; an unsigned 14-bit value sent as one or two 8-bit bytes (LSB, MSB)
FP Data output in host mode Data output in standalone mode
1 Magnetic Field Strength X-axis; a signed two’s complement 16-bit value sent as two 8-bit bytes (MSB, LSB) Magnetic Field Strength Magnitude; an unsigned 14-bit value sent as one or two 8-bit bytes (LSB, MSB)
Magnetic Field Strength Y-axis; a signed two’s complement 16-bit value sent as two 8-bit bytes (MSB, LSB)
Magnetic Field Strength Z-axis; a signed two’s complement 16-bit value sent as two 8-bit 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 Magnetic3D product page.


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. The sensor parameter’s raw values as output in a I2C DATA message are offset and scaled so as to fit in the channel voice MIDI value range of either 0-127 (eg. control-change message) or 0-16383 (pitch-bend message).

Other settings of the Magnetic3D sensor can be effectuated by using I2C commands such as I2C WRITE and I2C READ.