Manuel Caballero / ADXL345

Files at this revision

API Documentation at this revision

Comitter:
mcm
Date:
Sun Aug 20 09:19:18 2017 +0000
Parent:
2:b96d481934ae
Commit message:
The comments were updated.

Changed in this revision

ADXL345.cpp Show annotated file Show diff for this revision Revisions of this file
ADXL345.h Show annotated file Show diff for this revision Revisions of this file
diff -r b96d481934ae -r 6cb77747b071 ADXL345.cpp
--- a/ADXL345.cpp	Sat Aug 19 09:42:44 2017 +0000
+++ b/ADXL345.cpp	Sun Aug 20 09:19:18 2017 +0000
@@ -34,7 +34,7 @@
 
 
 /**
- * @brief       ADXL345_GetID   ( uint8_t* )
+ * @brief       ADXL345_GetID   ( char* )
  *
  * @details     Reseting the data register value.
  *
@@ -47,8 +47,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        11/August/2017
- * @version     11/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -90,18 +90,17 @@
  *
  *
  * @author      Manuel Caballero
- * @date        14/August/2017
- * @version     14/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
-ADXL345::ADXL345_status_t  ADXL345::ADXL345_Init   ( AXDL345_bw_rate_low_power_t LOWPOWER, AXDL345_bw_rate_rate_t RATE,
-                                   ADXL345_data_format_int_invert_t INT_INVERT, ADXL345_data_format_full_res_t FULLRESOLUTION, ADXL345_data_format_justify_t JUSTIFY,
-                                   ADXL345_data_format_range_t RANGE )
+ADXL345::ADXL345_status_t  ADXL345::ADXL345_Init   ( AXDL345_bw_rate_low_power_t LOWPOWER, AXDL345_bw_rate_rate_t RATE, ADXL345_data_format_int_invert_t INT_INVERT, 
+                                                     ADXL345_data_format_full_res_t FULLRESOLUTION, ADXL345_data_format_justify_t JUSTIFY, ADXL345_data_format_range_t RANGE )
 {
     char        cmd[]               =   { ADXL345_BW_RATE, 0 };
     uint32_t    aux                 =    0;
-
+    
 
     // BANDWIDTH RATE.
     // Rate
@@ -170,8 +169,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        14/August/2017
- * @version     14/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -219,8 +218,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        14/August/2017
- * @version     14/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -263,8 +262,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        14/August/2017
- * @version     14/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -340,8 +339,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        15/August/2017
- * @version     15/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -379,8 +378,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        15/August/2017
- * @version     15/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -422,8 +421,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        15/August/2017
- * @version     15/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -464,8 +463,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        15/August/2017
- * @version     15/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -518,8 +517,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 62.5mg/LSB, and the recommended value is between
  *              300mg ( 5*62.5 = 312.5mg ) - 600mg ( 9*62.5 = 562.5mg ).
@@ -557,8 +556,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 5ms/LSB, and the recommended value is between
  *              100ms ( 5*20 = 100ms ) - 350ms ( 70*5 = 350ms ).
@@ -596,8 +595,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 62.5mg/LSB. A value of 0 may result in undesirable
  *              behavior if single tap/double tap interrupts are enabled.
@@ -636,8 +635,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 625µs/LSB. A value of 0 disables the single tap/double tap functions.
  */
@@ -676,8 +675,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 1.25ms/LSB. A value of 0 disables the double tap function.
  */
@@ -715,8 +714,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 1.25 ms/LSB. A value of 0 disables the double tap function.
  */
@@ -753,8 +752,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 62.5mg/LSB. A value of 0 may result in undesirable behavior
  *              if the activity interrupt is enabled.
@@ -792,8 +791,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 62.5mg/LSB. A value of 0 may result in undesirable behavior if
  *              the inactivity interrupt is enabled.
@@ -832,8 +831,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     The scale factor is 1 sec/LSB.
  */
@@ -870,8 +869,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -917,8 +916,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -964,8 +963,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -1044,8 +1043,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -1124,8 +1123,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -1205,8 +1204,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -1255,8 +1254,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -1290,8 +1289,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -1331,8 +1330,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
@@ -1379,8 +1378,8 @@
  *
  *
  * @author      Manuel Caballero
- * @date        18/August/2017
- * @version     18/August/2017   The ORIGIN
+ * @date        19/August/2017
+ * @version     19/August/2017   The ORIGIN
  * @pre         NaN
  * @warning     NaN.
  */
diff -r b96d481934ae -r 6cb77747b071 ADXL345.h
--- a/ADXL345.h	Sat Aug 19 09:42:44 2017 +0000
+++ b/ADXL345.h	Sun Aug 20 09:19:18 2017 +0000
@@ -24,39 +24,51 @@
 /**
     Example:
 
-    #include "mbed.h"
-    #include "ADXL345.h"
+#include "mbed.h"
+#include "BH1750.h"
+#include "ADXL345.h"
 
-    // ADXL345 myLightSensor ( I2C_SDA, I2C_SCL, ADXL345::ADXL345_ADDR_L, 400000 );   //[todo]
-    Serial pc            ( USBTX, USBRX );                              // tx, rx
+ADXL345 myAccelerometer ( I2C_SDA, I2C_SCL, ADXL345::ADXL345_ALT_ADDRESS_LOW, 400000 );  
+Serial pc               ( USBTX, USBRX );                              // tx, rx
+
 
-    Ticker serial;
+Ticker serial;
 
-    DigitalOut myled(LED1);
+DigitalOut myled(LED1);
 
 
-    void sendDATA ( void )
-    {
-        float    myLux         =       0;
+void sendDATA ( void )
+{
+    ADXL345::Vector_f    myXYZvalues;
+
+    myled = 0;
 
-        myled = 0;
+    myAccelerometer.ADXL345_ReadScaledData ( &myXYZvalues );
+    pc.printf( "X: %0.3f, Y: %0.3f, Z: %0.3f\r\n", myXYZvalues.Xmg_Axis, myXYZvalues.Ymg_Axis, myXYZvalues.Zmg_Axis );
 
+    myled = 1;
+
+}
 
 
-        // pc.printf( "Lux: %0.1f\r\n", myLux );
+int main() {
+    char myID = 0;
 
-        myled = 1;
+    pc.baud ( 115200 );
 
-    }
+    myAccelerometer.ADXL345_Init   ( ADXL345::BW_RATE_LOW_POWER_Disabled, ADXL345::BW_RATE_RATE_100HZ, ADXL345::DATA_FORMAT_INT_INVERT_Disabled, ADXL345::DATA_FORMAT_FULL_RES_Enabled,
+                                     ADXL345::DATA_FORMAT_JUSTIFY_Disabled, ADXL345::DATA_FORMAT_RANGE_4_G );
 
 
-    int main() {
-        pc.baud ( 115200 );
-        serial.attach( &sendDATA, 0.5 );                      // the address of the function to be attached ( sendDATA ) and the interval ( 0.5s )
+    myAccelerometer.ADXL345_PowerMode ( ADXL345::MEASURE_MODE );
+
+    myAccelerometer.ADXL345_GetID ( &myID );
+    pc.printf( "ID: %x\r\n", myID );
 
-        // Let the callbacks take care of everything
-        while(1)  sleep();
-    }
+    serial.attach( &sendDATA, 0.5 );                      // the address of the function to be attached ( sendDATA ) and the interval ( 0.5s )
+
+    while(1)  sleep();
+}
 */
 
 /*!
@@ -109,7 +121,7 @@
 #define ADXL345_FIFO_STATUS                     0x39                            /*!<   FIFO status                                                  */
 
 
-/* Commands Registers */
+    /* Commands Registers */
     /**
     * @brief   DEVID
     */
@@ -223,14 +235,14 @@
     typedef enum {
         LINK_Enabled                =       1,                                  /*!<  LINK Enabled.                                                   */
         LINK_Disabled               =       0                                   /*!<  LINK Disabled                                                   */
-    } AXDL345_power_ctl_link_t;   
-    
+    } AXDL345_power_ctl_link_t;
+
     /* Bit 4 : AUTO_SLEEP ( D4 ). */
     typedef enum {
         AUTO_SLEEP_Enabled          =       1,                                  /*!<  AUTO_SLEEP Enabled.                                              */
         AUTO_SLEEP_Disabled         =       0                                   /*!<  AUTO_SLEEP Disabled                                              */
     } AXDL345_power_ctl_auto_sleep_t;
-    
+
     /* Bit 3 : MEASURE ( D3 ). */
     typedef enum {
         MEASURE_MODE                =       true,                               /*!<  MEASURE Enabled.                                                 */
@@ -242,7 +254,7 @@
         SLEEP_Enabled               =       1,                                  /*!< SLEEP Enabled.                                                    */
         SLEEP_Disabled              =       0                                   /*!< SLEEP Disabled                                                    */
     } AXDL345_power_ctl_sleep_t;
-    
+
     /* Bit 1 - 0 : WAKEUP ( D1 - D0 ). */
     typedef enum {
         WAKEUP_FREQ_8HZ             =       0,                                  /*!< WAKEUP frequency 8Hz.                                             */