44 lines
1.4 KiB
C
44 lines
1.4 KiB
C
#ifndef MAGNETOMETER_REGISTER_H
|
|
#define MAGNETOMETER_REGISTER_H
|
|
|
|
// Accelerometer registers
|
|
#define LSM303_CTRL_REG1_A 0x20
|
|
#define LSM303_CTRL_REG4_A 0x23
|
|
#define LSM303_CTRL_REG5_A 0x24
|
|
#define LSM303_OUT_X_L_A 0x28
|
|
#define LSM303_OUT_X_H_A 0x29
|
|
#define LSM303_OUT_Y_L_A 0x2A
|
|
#define LSM303_OUT_Y_H_A 0x2B
|
|
#define LSM303_OUT_Z_L_A 0x2C
|
|
#define LSM303_OUT_Z_H_A 0x2D
|
|
|
|
// Magnetometer registers
|
|
#define LSM303_CRA_REG_M 0x00
|
|
#define LSM303_CRB_REG_M 0x01
|
|
#define LSM303_MR_REG_M 0x02
|
|
#define LSM303_OUT_X_H_M 0x03
|
|
#define LSM303_OUT_X_L_M 0x04
|
|
#define LSM303_OUT_Z_H_M 0x05
|
|
#define LSM303_OUT_Z_L_M 0x06
|
|
#define LSM303_OUT_Y_H_M 0x07
|
|
#define LSM303_OUT_Y_L_M 0x08
|
|
#define LSM303_SR_REG_M 0x09
|
|
|
|
// Temperature registers
|
|
#define LSM303_TEMP_OUT_H_M 0x31
|
|
#define LSM303_TEMP_OUT_L_M 0x32
|
|
|
|
// LSM303DLHC temperature compensation coefficients
|
|
#define SCALE_Z 0.9 // Scale factor for Z-axis
|
|
#define OFFSET_Z 5.0 // Offset for Z-axis
|
|
|
|
#define TEMPERATURE_OFFSET 25.0 // Reference temperature for calibration
|
|
#define TEMPERATURE_COEFFICIENT_Z 0.33
|
|
|
|
#define OFFSET_Z 5.0
|
|
#define SCALE_Z 0.9
|
|
|
|
#define ACCEL_ADDR 0x19
|
|
#define MAG_ADDR 0x1E
|
|
|
|
#endif |