10 namespace Treehopper {
namespace Libraries {
namespace Sensors {
namespace Inertial {
16 class PowerCtlRegister :
public Register 23 long getValue() {
return ((sleep & 0x1) << 2) | ((measure & 0x1) << 3); }
24 void setValue(
long val)
26 sleep = (int)((val >> 2) & 0x1);
27 measure = (int)((val >> 3) & 0x1);
31 class DataFormatRegister :
public Register 39 long getValue() {
return ((range & 0x3) << 0) | ((justify & 0x1) << 2) | ((fullRes & 0x1) << 3); }
40 void setValue(
long val)
42 range = (int)((val >> 0) & 0x3);
43 justify = (int)((val >> 2) & 0x1);
44 fullRes = (int)((val >> 3) & 0x1);
48 class DataXRegister :
public Register 54 long getValue() {
return ((value & 0x1FFF) << 0); }
55 void setValue(
long val)
57 value = (int)(((val >> 0) & 0x1FFF) << (32 - 13)) >> (32 - 13);
61 class DataYRegister :
public Register 67 long getValue() {
return ((value & 0x1FFF) << 0); }
68 void setValue(
long val)
70 value = (int)(((val >> 0) & 0x1FFF) << (32 - 13)) >> (32 - 13);
74 class DataZRegister :
public Register 80 long getValue() {
return ((value & 0x1FFF) << 0); }
81 void setValue(
long val)
83 value = (int)(((val >> 0) & 0x1FFF) << (32 - 13)) >> (32 - 13);
87 PowerCtlRegister powerCtl;
88 DataFormatRegister dataFormat;
93 Adxl345Registers(SMBusDevice& device) :
RegisterManager(device, true), powerCtl(*this), dataFormat(*this), dataX(*this), dataY(*this), dataZ(*this)
95 registers.push_back(&powerCtl);
96 registers.push_back(&dataFormat);
97 registers.push_back(&dataX);
98 registers.push_back(&dataY);
99 registers.push_back(&dataZ);
Definition: Register.h:11
Definition: RegisterManager.h:10