Difference between revisions of "Component: Accel / Mag 6-Axis (EBM015) (EBM Modules)"

From Flowcode Help
Jump to navigationJump to search
 
(2 intermediate revisions by the same user not shown)
Line 78: Line 78:
  
 
{{Fcfile|EBM015 - Test Program.fcfx|EBM015 Example}}
 
{{Fcfile|EBM015 - Test Program.fcfx|EBM015 Example}}
 +
 +
 +
 +
 +
 +
  
  
Line 86: Line 92:
 
==Macro reference==
 
==Macro reference==
  
===SimReset1G===
+
===CollectXYZData===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SimReset1G'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CollectXYZData'''
 +
|-
 +
| colspan="2" | Collect the data from the local accelerometer buffers. The Axis parameter specifies the Axis to be read. 0 / 'x' / 'X' - X axis 1 / 'y' / 'Y' - Y axis 2 / 'z' / 'Z' - Z axis 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Axis
 
|-
 
|-
 
| colspan="2" |  
 
| colspan="2" |  
 
|-
 
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 +
 +
===Initialise===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 +
|-
 +
| colspan="2" | Sets up up the communication bus and initialises the accelerometer module.  Returns 0 for success and > 0 for fail. 
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===UpdateCompassData===
+
===SimReset1G===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''UpdateCompassData'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SimReset1G'''
 
|-
 
|-
| colspan="2" | Reads from the compass and updates the local XYZ variables. Returns 1 for new data and 0 for no new data 
+
| colspan="2" |  
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
Line 139: Line 164:
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
===CollectXYZData===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CollectXYZData'''
 
|-
 
| colspan="2" | Collect the data from the local accelerometer buffers. The Axis parameter specifies the Axis to be read. 0 / 'x' / 'X' - X axis 1 / 'y' / 'Y' - Y axis 2 / 'z' / 'Z' - Z axis 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Axis
 
|-
 
| colspan="2" |  
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
===UpdateAccelerometerData===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''UpdateAccelerometerData'''
 
|-
 
| colspan="2" | Reads from the accelerometer and updates the local XYZ variables. Returns 1 for new data and 0 for no new data 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
Line 205: Line 197:
  
  
===Initialise===
+
===UpdateAccelerometerData===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''UpdateAccelerometerData'''
 
|-
 
|-
| colspan="2" | Sets up up the communication bus and initialises the accelerometer module. Returns 0 for success and > 0 for fail. 
+
| colspan="2" | Reads from the accelerometer and updates the local XYZ variables. Returns 1 for new data and 0 for no new data 
 
|-
 
|-
 
|-
 
|-
Line 219: Line 211:
  
  
 +
===UpdateCompassData===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''UpdateCompassData'''
 +
|-
 +
| colspan="2" | Reads from the compass and updates the local XYZ variables. Returns 1 for new data and 0 for no new data 
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  

Latest revision as of 13:09, 7 February 2023

Author Matrix TSL
Version 2.0
Category EBM Modules


Accel / Mag 6-Axis component

EBM015 Combined 6-Axis Accelerometer and Magnetometer sensors Useful for working out data such as Pitch and Yaw.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_EBM015v1_Magnetometer.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_EBM015v1_Magnetometer.fcfx

Detailed description

No detailed description exists yet for this component

Examples

Sample program using the EBM015 - Magnetometer sensor.

Reads either the accelerometer or compass data and displays on the LCD.

FC6 Icon.png EBM015 Example







Macro reference

CollectXYZData

Fc9-comp-macro.png CollectXYZData
Collect the data from the local accelerometer buffers. The Axis parameter specifies the Axis to be read. 0 / 'x' / 'X' - X axis 1 / 'y' / 'Y' - Y axis 2 / 'z' / 'Z' - Z axis 
Fc9-u8-icon.png - BYTE Axis
 
Fc9-s16-icon.png - INT Return


Initialise

Fc9-comp-macro.png Initialise
Sets up up the communication bus and initialises the accelerometer module. Returns 0 for success and > 0 for fail. 
Fc9-u8-icon.png - BYTE Return


SimReset1G

Fc9-comp-macro.png SimReset1G
 
Fc9-void-icon.png - VOID Return


SimSetAccelerometer

Fc9-comp-macro.png SimSetAccelerometer
Allows the XYZ slider values to be set via the simulation 
Fc9-s16-icon.png - INT X
 
Fc9-s16-icon.png - INT Y
 
Fc9-s16-icon.png - INT Z
 
Fc9-void-icon.png - VOID Return


SimSetCompass

Fc9-comp-macro.png SimSetCompass
Allows the XYZ slider values to be set via the simulation 
Fc9-s16-icon.png - INT X
 
Fc9-s16-icon.png - INT Y
 
Fc9-s16-icon.png - INT Z
 
Fc9-void-icon.png - VOID Return


UpdateAccelerometerData

Fc9-comp-macro.png UpdateAccelerometerData
Reads from the accelerometer and updates the local XYZ variables. Returns 1 for new data and 0 for no new data 
Fc9-u8-icon.png - BYTE Return


UpdateCompassData

Fc9-comp-macro.png UpdateCompassData
Reads from the compass and updates the local XYZ variables. Returns 1 for new data and 0 for no new data 
Fc9-u8-icon.png - BYTE Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Sensor Options
Fc9-type-16-icon.png Power Mode
 
Fc9-type-16-icon.png Accel Data Rate
 
Fc9-type-16-icon.png Accel Scale
 
Fc9-type-16-icon.png Compass Data Rate
 
Fc9-type-16-icon.png Compass Scale
 
Fc9-type-16-icon.png Comms Mode
Specifies the communications mode. Interrupt - Wait for the interrupt pin to go high before allowing new data to be sampled. Polling - New data is sampled without needing to check the interrupt pin. 
Fc9-type-14-icon.png Bit Depth
 
Fc9-conn-icon.png Connections
Fc9-type-16-icon.png Channel
Channel selection 
Fc9-type-16-icon.png Baud Select
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
Baud rate to be used 
Fc9-type-7-icon.png Stop Delay
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications.  
Fc9-type-5-icon.png SCL
Pin used for SCL (clock signal) 
Fc9-type-5-icon.png SDA
Pin used for SDA (data signal) 
Fc9-type-5-icon.png Interrupt Pin
 
Fc9-conn-icon.png Simulation
Fc9-type-16-icon.png Simulate Comms
Controls how the simulation data is generated, via the component GUI or via a I2C injector.