2020-10-01 02:06:39 +02:00
|
|
|
#ifndef MISSION_DEVICES_DEVICEDEFINITIONS_MGMHANDLERRM3100DEFINITIONS_H_
|
|
|
|
#define MISSION_DEVICES_DEVICEDEFINITIONS_MGMHANDLERRM3100DEFINITIONS_H_
|
|
|
|
|
2020-12-21 19:52:00 +01:00
|
|
|
#include <fsfw/devicehandlers/DeviceHandlerIF.h>
|
2020-12-21 19:50:01 +01:00
|
|
|
#include <cstdint>
|
|
|
|
|
2020-10-01 02:06:39 +02:00
|
|
|
namespace RM3100 {
|
|
|
|
|
2020-12-21 19:50:01 +01:00
|
|
|
static constexpr uint8_t READ_MASK = 0b1000'0000;
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* CMM Register
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
static constexpr uint8_t SET_CMM_CMZ = 1 << 6;
|
|
|
|
static constexpr uint8_t SET_CMM_CMY = 1 << 5;
|
|
|
|
static constexpr uint8_t SET_CMM_CMX = 1 << 4;
|
|
|
|
static constexpr uint8_t SET_CMM_DRDM = 1 << 2;
|
|
|
|
static constexpr uint8_t SET_CMM_START = 1;
|
|
|
|
static constexpr uint8_t CMM_REGISTER = 0x01;
|
|
|
|
|
|
|
|
static constexpr uint8_t CMM_VALUE = SET_CMM_CMZ | SET_CMM_CMY | SET_CMM_CMX |
|
|
|
|
SET_CMM_DRDM | SET_CMM_START;
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Cycle count register
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
static constexpr uint8_t CYCLE_COUNT_VALUE = 0xC8;
|
|
|
|
|
|
|
|
static constexpr uint8_t GAIN = CYCLE_COUNT_VALUE / 100 * 38;
|
|
|
|
static constexpr uint8_t CYCLE_COUNT_START_REGISTER = 0x04;
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* TMRC register
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
static constexpr uint8_t TMRC_150HZ_VALUE = 0x94;
|
|
|
|
static constexpr uint8_t TMRC_75HZ_VALUE = 0x95;
|
|
|
|
static constexpr uint8_t TMRC_DEFAULT_37HZ_VALUE = 0x96;
|
|
|
|
|
|
|
|
static constexpr uint8_t TMRC_REGISTER = 0x0B;
|
|
|
|
static constexpr uint8_t TMRC_DEFAULT_VALUE = TMRC_75HZ_VALUE;
|
|
|
|
|
|
|
|
static constexpr uint8_t MEASUREMENT_REG_START = 0x24;
|
|
|
|
static constexpr uint8_t BIST_REGISTER = 0x33;
|
|
|
|
static constexpr uint8_t DATA_READY_VAL = 0b1000'0000;
|
|
|
|
static constexpr uint8_t STATUS_REGISTER = 0x34;
|
|
|
|
static constexpr uint8_t REVID_REGISTER = 0x36;
|
|
|
|
|
|
|
|
// Range in Microtesla. 1 T equals 10000 Gauss (for comparison with LIS3 MGM)
|
2020-12-21 19:50:50 +01:00
|
|
|
static constexpr uint16_t RANGE = 800;
|
2020-12-21 19:50:01 +01:00
|
|
|
|
2020-12-21 19:52:00 +01:00
|
|
|
static constexpr DeviceCommandId_t CONFIGURE_CMM = 3;
|
|
|
|
static constexpr DeviceCommandId_t READ_CMM = 4;
|
2020-12-21 19:50:01 +01:00
|
|
|
|
2020-12-21 19:52:00 +01:00
|
|
|
//static constexpr DeviceCommandId_t CONFIGURE_CYC
|
|
|
|
|
|
|
|
static constexpr DeviceCommandId_t CONFIGURE_TMRC = 5;
|
|
|
|
static constexpr DeviceCommandId_t READ_TMRC = 6;
|
2020-12-21 19:50:01 +01:00
|
|
|
|
2020-10-01 02:06:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* MISSION_DEVICES_DEVICEDEFINITIONS_MGMHANDLERRM3100DEFINITIONS_H_ */
|