10 namespace Treehopper {
namespace Libraries {
namespace Sensors {
namespace Magnetic {
37 ContinuousConversion = 0,
46 class TempOutRegister :
public Register 52 long getValue() {
return ((value & 0xFFF) << 4); }
53 void setValue(
long val)
55 value = (int)(((val >> 4) & 0xFFF) << (32 - 12)) >> (32 - 12);
66 long getValue() {
return ((drdy & 0x1) << 0) | ((registerLock & 0x1) << 1); }
67 void setValue(
long val)
69 drdy = (int)((val >> 0) & 0x1);
70 registerLock = (int)((val >> 1) & 0x1);
81 void setMagDataRate(
MagDataRates enumVal) { magDataRate = (int)enumVal; }
83 long getValue() {
return ((magDataRate & 0x7) << 2) | ((tempEnable & 0x1) << 7); }
84 void setValue(
long val)
86 magDataRate = (int)((val >> 2) & 0x7);
87 tempEnable = (int)((val >> 7) & 0x1);
95 int gainConfiguration;
97 void setGainConfiguration(
GainConfigurations enumVal) { gainConfiguration = (int)enumVal; }
99 long getValue() {
return ((gainConfiguration & 0x7) << 5); }
100 void setValue(
long val)
102 gainConfiguration = (int)((val >> 5) & 0x7);
112 void setMagSensorMode(
MagSensorModes enumVal) { magSensorMode = (int)enumVal; }
114 long getValue() {
return ((magSensorMode & 0x3) << 0); }
115 void setValue(
long val)
117 magSensorMode = (int)((val >> 0) & 0x3);
121 class OutXRegister :
public Register 127 long getValue() {
return ((value & 0xFFFF) << 0); }
128 void setValue(
long val)
130 value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
134 class OutYRegister :
public Register 140 long getValue() {
return ((value & 0xFFFF) << 0); }
141 void setValue(
long val)
143 value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
147 class OutZRegister :
public Register 153 long getValue() {
return ((value & 0xFFFF) << 0); }
154 void setValue(
long val)
156 value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
160 TempOutRegister tempOut;
169 Lsm303dlhcMagRegisters(SMBusDevice& device) :
RegisterManager(device, true), tempOut(*this), sr(*this), cra(*this), crb(*this), mr(*this), outX(*this), outY(*this), outZ(*this)
171 registers.push_back(&tempOut);
172 registers.push_back(&sr);
173 registers.push_back(&cra);
174 registers.push_back(&crb);
175 registers.push_back(&mr);
176 registers.push_back(&outX);
177 registers.push_back(&outY);
178 registers.push_back(&outZ);
GainConfigurations
Definition: Lsm303dlhcMagRegisters.h:24
Definition: Register.h:11
Definition: RegisterManager.h:10
MagDataRates
Definition: Lsm303dlhcMagRegisters.h:12
MagSensorModes
Definition: Lsm303dlhcMagRegisters.h:35