Jump to content

Component: Magnetometer (BMM150) (Environmental): Difference between revisions

From Flowcode Help
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;"" to "width="10%" align="center" class="mtx-class-macrohead""
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
Line 35: Line 35:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| width="90%" class="mtx-class-macrohead" | '''Initialise'''
|-
|-
| colspan="2" | Startup communications to the sensor module. Puts the device into normal operating and preset modes. Returns 1 if module found and communicating. 
| colspan="2" | Startup communications to the sensor module. Puts the device into normal operating and preset modes. Returns 1 if module found and communicating. 
Line 49: Line 49:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadRegister'''
| width="90%" class="mtx-class-macrohead" | '''ReadRegister'''
|-
|-
| colspan="2" | A simple example showing a generic way to read a register using I2C. 
| colspan="2" | A simple example showing a generic way to read a register using I2C. 
Line 68: Line 68:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadSample'''
| width="90%" class="mtx-class-macrohead" | '''ReadSample'''
|-
|-
| colspan="2" | Collect a sample fromt he last SampleMag operation 
| colspan="2" | Collect a sample fromt he last SampleMag operation 
Line 87: Line 87:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleMagData'''
| width="90%" class="mtx-class-macrohead" | '''SampleMagData'''
|-
|-
| colspan="2" | Samples the magnetometer and processes the data ready to be read out using the read sample macro. 
| colspan="2" | Samples the magnetometer and processes the data ready to be read out using the read sample macro. 
Line 106: Line 106:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetOperatingMode'''
| width="90%" class="mtx-class-macrohead" | '''SetOperatingMode'''
|-
|-
| colspan="2" | Select the operating mode and power level used by the device 
| colspan="2" | Select the operating mode and power level used by the device 
Line 125: Line 125:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetPresetMode'''
| width="90%" class="mtx-class-macrohead" | '''SetPresetMode'''
|-
|-
| colspan="2" | Controls the device sample rate and accuracy 
| colspan="2" | Controls the device sample rate and accuracy 
Line 144: Line 144:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRegister'''
| width="90%" class="mtx-class-macrohead" | '''WriteRegister'''
|-
|-
| colspan="2" | A simple example showing a generic way to write a register using I2C. 
| colspan="2" | A simple example showing a generic way to write a register using I2C. 
Line 169: Line 169:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-

Revision as of 14:23, 13 July 2026

Author MatrixTSL
Version 1.0
Category Environmental


Magnetometer (BMM150) component

A low-power, low-noise 3-axis digital geomagnetic sensor that perfectly matches the requirements of compass applications.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

No additional examples

Macro reference

Initialise

Initialise
Startup communications to the sensor module. Puts the device into normal operating and preset modes. Returns 1 if module found and communicating. 
- BYTE Return


ReadRegister

ReadRegister
A simple example showing a generic way to read a register using I2C. 
- BYTE Address
 
- BYTE Return


ReadSample

ReadSample
Collect a sample fromt he last SampleMag operation 
- BYTE Axis
0=X, 1=Y, 2=Z 
- INT Return


SampleMagData

SampleMagData
Samples the magnetometer and processes the data ready to be read out using the read sample macro. 
- BOOL ApplyTrim
0=ReadRawValues, 1=ApplyCalibrationTrim 
- VOID Return


SetOperatingMode

SetOperatingMode
Select the operating mode and power level used by the device 
- BYTE Mode
0=Normal, 1=Forced, 3=Sleep, 4=Suspend 
- VOID Return


SetPresetMode

SetPresetMode
Controls the device sample rate and accuracy 
- BYTE Mode
0=LowPower, 1=Normal, 2=HighAccuracy, 3=Enhanced 
- VOID Return


WriteRegister

WriteRegister
A simple example showing a generic way to write a register using I2C. 
- BYTE Address
 
- BYTE Data
 
- VOID Return


Property reference

Properties
Component Properties
Device Address
 
Preset
Sets the default preset for the module. Can be overridden by calling the SetPresetMode component macro. 
I2C Properties
Connections
Channel
Channel selection 
SDA
Pin used for SDA (data signal) 
SDA Remap Pin
 
SCL
Pin used for SCL (clock signal) 
SCL Remap Pin
 
Options
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.  
Baud Select
Baud rate option selector 
Baud Rate
Baud rate to be used 
Simulation
Simulate Comms