Component: Magnetometer 3-Axis (HMC5883L) (Movement Orientation)

From Flowcode Help
Revision as of 12:02, 3 February 2023 by Wiki bot (talk | contribs)
Jump to navigationJump to search
Author Matrix TSL
Version 1.6
Category Movement Orientation


Magnetometer 3-Axis (HMC5883L) component

HMC5883L 3-Axis Magnetometer sensor Useful for working out data such as compass orientation.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_temp/Magnetometer_HMC5883.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_temp/Magnetometer_HMC5883.fcfx

Detailed description

No detailed description exists yet for this component

Examples

Here is a very simple demonstration on how to use the sensor to read X, Y, Z magnetometer data from the sensor.

FC6 Icon.png HMC5883L Demo




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


Read_Bearing

Fc9-comp-macro.png Read_Bearing
Reads the current sensor compass bearing based on degrees CW from magnetic north. Returns 0-359 where 0 = North, 90 = East, 180 = South, 270 = West Requires the ArcTan floating point function to be available to work correctly. Supported on AVR, 16-bit  
Fc9-u8-icon.png - BYTE NumSamples
The number of readings to base the bearing on 
Fc9-u16-icon.png - UINT Return


Read_Register

Fc9-comp-macro.png Read_Register
Reads a value from a register on the accelerometer. 
Fc9-u8-icon.png - BYTE Reg
 
Fc9-u8-icon.png - BYTE 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


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


Write_Register

Fc9-comp-macro.png Write_Register
Writes a data value to a specific register on the accelerometer 
Fc9-u8-icon.png - BYTE Reg
 
Fc9-u8-icon.png - BYTE Data
 
Fc9-u8-icon.png - BYTE Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-14-icon.png Bit Depth
 
Fc9-type-16-icon.png Measurement Mode
Continuous mode makes constant sensor readings setting the RDY pin when new data is available. Single mode does a single sensor read setting the RDY pin when done and then waits for data to be read. 
Fc9-type-16-icon.png Num Samples
The number of samples that are averaged together to provide the readings. 
Fc9-type-16-icon.png Compass Data Rate
Sets the output conversion rate. 
Fc9-type-16-icon.png Compass Scale
 
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 SDA
Pin used for SDA (data signal) 
Fc9-type-5-icon.png SCL
Pin used for SCL (clock signal) 
Fc9-type-7-icon.png Use RDY Pin
 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Simulate Comms
Yes: Accelerometer data will come from the simulation component sliders. No: Accelerometer data will come from the I2C CAL component - Injector etc