Преглед изворни кода

add: add setHighSolutino for contorl high solution enable.

LynnL4 пре 5 година
родитељ
комит
2a8335dad6
3 измењених фајлова са 29 додато и 15 уклоњено
  1. 15 14
      keywords.txt
  2. 13 1
      src/LIS3DHTR.cpp
  3. 1 0
      src/LIS3DHTR.h

+ 15 - 14
keywords.txt

@@ -1,20 +1,21 @@
-LIS3DHTR		KEYWORD1
+LIS3DHTR	KEYWORD1
 
-isConnection		KEYWORD2
-begin			KEYWORD2
-setPoweMode		KEYWORD2
+isConnection	KEYWORD2
+begin	KEYWORD2
+setPoweMode	KEYWORD2
 setFullScaleRange	KEYWORD2
 setOutputDataRate	KEYWORD2
-getAcceleration		KEYWORD2
+setHighSolution	KEYWORD2
+getAcceleration	KEYWORD2
 getAccelerationX	KEYWORD2
 getAccelerationY	KEYWORD2
 getAccelerationZ	KEYWORD2
-click			KEYWORD2
-openTemp		KEYWORD2
-closeTemp		KEYWORD2
-readbitADC1		KEYWORD2
-readbitADC2		KEYWORD2
-readbitADC3		KEYWORD2
-getTemperature		KEYWORD2
-getDeviceID		KEYWORD2
-reset			KEYWORD2
+click	KEYWORD2
+openTemp	KEYWORD2
+closeTemp	KEYWORD2
+readbitADC1	KEYWORD2
+readbitADC2	KEYWORD2
+readbitADC3	KEYWORD2
+getTemperature	KEYWORD2
+getDeviceID	KEYWORD2
+reset	KEYWORD2

+ 13 - 1
src/LIS3DHTR.cpp

@@ -72,7 +72,7 @@ void LIS3DHTR<T>::begin(SPIClass &comm, uint8_t sspin)
 
     uint8_t config4 = LIS3DHTR_REG_ACCEL_CTRL_REG4_BDU_NOTUPDATED | // Continuous Update
                       LIS3DHTR_REG_ACCEL_CTRL_REG4_BLE_LSB |        // Data LSB @ lower address
-                      LIS3DHTR_REG_ACCEL_CTRL_REG4_HS_ENABLE |      // High Resolution Disable
+                      LIS3DHTR_REG_ACCEL_CTRL_REG4_HS_DISABLE |      // High Resolution Disable
                       LIS3DHTR_REG_ACCEL_CTRL_REG4_ST_NORMAL |      // Normal Mode
                       LIS3DHTR_REG_ACCEL_CTRL_REG4_SIM_4WIRE;       // 4-Wire Interface
 
@@ -317,6 +317,18 @@ float LIS3DHTR<T>::getAccelerationZ(void)
     return (float)z / accRange;
 }
 
+template <class T>
+void LIS3DHTR<T>::setHighSolution(bool enable)
+{
+    uint8_t data = 0;
+    data = readRegister(LIS3DHTR_REG_ACCEL_CTRL_REG4);
+   
+    data = enable? data | LIS3DHTR_REG_ACCEL_CTRL_REG4_HS_ENABLE : data & ~LIS3DHTR_REG_ACCEL_CTRL_REG4_HS_ENABLE;
+    
+    writeRegister(LIS3DHTR_REG_ACCEL_CTRL_REG4, data);
+    return; 
+}
+
 template <class T>
 uint16_t LIS3DHTR<T>::readbitADC1(void)
 {

+ 1 - 0
src/LIS3DHTR.h

@@ -205,6 +205,7 @@ public:
     void setPoweMode(power_type_t mode);
     void setFullScaleRange(scale_type_t range);
     void setOutputDataRate(odr_type_t odr);
+    void setHighSolution(bool enable);
     bool available();
     void getAcceleration(float *x, float *y, float *z);
     float getAccelerationX(void);