Víctor Najarro / FXLS8471Q

Fork of FXLS8471Q by Jim Carver

Files at this revision

API Documentation at this revision

Comitter:
vinajarr
Date:
Thu Jan 18 07:53:41 2018 +0000
Parent:
3:b1fd3a2572e2
Commit message:
implement interrupt

Changed in this revision

FXLS8471Q.cpp Show annotated file Show diff for this revision Revisions of this file
FXLS8471Q.h Show annotated file Show diff for this revision Revisions of this file
diff -r b1fd3a2572e2 -r b6e0c4ad3aee FXLS8471Q.cpp
--- a/FXLS8471Q.cpp	Mon Jun 02 17:37:44 2014 +0000
+++ b/FXLS8471Q.cpp	Thu Jan 18 07:53:41 2018 +0000
@@ -71,21 +71,43 @@
     // [0]: active=0
     databyte = 0x00;
     RegWrite(FXLS8471Q_CTRL_REG1, &databyte, 1);
-
-    // write 0000 0001= 0x01 to XYZ_DATA_CFG register
+    
+    // write 0001 0010 = 0x12 to accelerometer control register 2 to place FXLS8471Q into
+    // [4:3]: smods=10 //high resolution
+    // [2]: auto-Sleep=0   // auto sleep off
+    // [1:0]: mods=10 //high resolution
+    
+    databyte=0x12;
+    RegWrite(FXLS8471Q_CTRL_REG2, &databyte, 1);
+    
+    //FXLS8471Q_CTRL_REG3 pines de interrupcion  activos a nivel bajo y modo push-pull (no hace falta resistencia pull up)
+    
+    databyte=0x01;
+    RegWrite(FXLS8471Q_CTRL_REG4, &databyte, 1); //activar interrupcion data-redy
+    
+    databyte=0x01;
+    RegWrite(FXLS8471Q_CTRL_REG5, &databyte, 1); //routed to INT1 interrupcion data-redy
+    
+    databyte=0x01;
+    RegWrite(FXLS8471Q_CTRL_REG5, &databyte, 1); //routed to INT1 interrupcion data-redy
+    
+    // write 0001 0000= 0x01 to XYZ_DATA_CFG register /high pass filter enable
     // [7]: reserved
     // [6]: reserved
     // [5]: reserved
-    // [4]: hpf_out=0
+    // [4]: hpf_out=1
     // [3]: reserved
     // [2]: reserved
     // [1-0]: fs=00 for accelerometer range of +/-2g with 0.244mg/LSB
-    databyte = 0x00;
+    databyte = 0x10;
     RegWrite(FXLS8471Q_XYZ_DATA_CFG, &databyte, 1);
+    
+    atabyte = 0x03; // high pass filter 2 Hz 
+    RegWrite(FXLS8471Q_HP_FILTER_CUTOFF, &databyte, 1);
 
-    // write 0001 0101b = 0x15 to accelerometer control register 1
+    // write 0000 1101b = 0x15 to accelerometer control register 1
     // [7-6]: aslp_rate=00
-    // [5-3]: dr=010 for 200Hz data rate
+    // [5-3]: dr=001 for 200Hz data rate
     // [2]: lnoise=1 for low noise mode
     // [1]: f_read=0 for normal 16 bit reads
     // [0]: active=1 to take the part out of standby and enable sampling
diff -r b1fd3a2572e2 -r b6e0c4ad3aee FXLS8471Q.h
--- a/FXLS8471Q.h	Mon Jun 02 17:37:44 2014 +0000
+++ b/FXLS8471Q.h	Thu Jan 18 07:53:41 2018 +0000
@@ -29,6 +29,10 @@
 #define FXLS8471Q_WHOAMI 0x0D
 #define FXLS8471Q_XYZ_DATA_CFG 0x0E
 #define FXLS8471Q_CTRL_REG1 0x2A
+#define FXLS8471Q_CTRL_REG2 0x2B
+#define FXLS8471Q_CTRL_REG4 0x2D
+#define FXLS8471Q_CTRL_REG5 0x2E
+#define FXLS8471Q_HP_FILTER_CUTOFF 0x0F
 #define FXLS8471Q_WHOAMI_VAL 0x6A
 
 /**