Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed PowerControl
Fork of Projet_S5 by
accelerometer.h
00001 /*! 00002 * \file accelerometer.h 00003 * \brief Class that define a accelerometer in C and C++ 00004 * \author Equipe P02 00005 * \version 1.0 00006 * \date 14/03/2014 00007 */ 00008 00009 #ifndef ACCELERATOR_H 00010 #define ACCELERATOR_H 00011 00012 #include "mbed.h" 00013 00014 /******************************************************** 00015 * DEFINES 00016 ********************************************************/ 00017 00018 #define DELAY 0.5 00019 00020 #define MMA8452_WRITE_ADDRESS 0x3A 00021 #define MMA8452_READ_ADDRESS 0x3B 00022 #define WHO_AM_I 0x0D 00023 #define OUT_X_MSB 0x01 00024 #define OUT_X_LSB 0x02 00025 #define OUT_Y_MSB 0x03 00026 #define OUT_Y_LSB 0x04 00027 #define OUT_Z_MSB 0x05 00028 #define OUT_Z_LSB 0x06 00029 #define CTRL_REG1 0x2A 00030 #define CTRL_REG2 0x2B 00031 #define XYZ_DATA_CFG 0x0E 00032 00033 /*! 00034 * \class Accelerometer acceleromter.h "accelerometer.h" 00035 * \brief Class that define a accelerometer 00036 * 00037 * Class in C++ to activate en read information of accelerometer 00038 */ 00039 class Accelerometer 00040 { 00041 public: 00042 00043 /*! 00044 * \brief Constructor 00045 */ 00046 Accelerometer(); 00047 00048 /*! 00049 * \brief Destructor 00050 */ 00051 ~Accelerometer(); 00052 00053 /*! 00054 * \brief Read data of the accelerometer 00055 * \return Array of axe x, y, z in signed char 00056 */ 00057 signed char* getAccelValue(); 00058 00059 private: 00060 00061 /*! 00062 * \brief Write data in a specific register 00063 * 00064 * \param address Address to write 00065 * \param startingRegister Starting address to write 00066 * \param data2Write Data to write 00067 */ 00068 void writeToRegister(int address, int startingRegister, int data2Write); 00069 00070 /*! 00071 * \brief Read register 00072 * 00073 * \param address Address to read 00074 * \return The value read 00075 */ 00076 char readRegister(char address); 00077 00078 /*! 00079 * \brief Initialise Accelerometer 00080 * 00081 * \return True if initialition ok 00082 */ 00083 bool initAccel(); 00084 00085 I2C i2c; /*!< I2C port (sda, scl) */ 00086 }; 00087 00088 // Define function in C for interruption 00089 // The C function call C++ function 00090 #ifdef __cplusplus 00091 extern "C" { 00092 #endif 00093 00094 extern void *Accelerometer_C_new (); /*!< Call Constructor \see Accelerometer() */ 00095 extern void Accelerometer_C_delete (void *accelerometer); /*!< Call Destructor \see ~Accelerometer() */ 00096 extern signed char* Accelerometer_C_getAccelValue (void *accelerometer); /*!< Call getAccelValue \see getAccelValue() */ 00097 00098 #ifdef __cplusplus 00099 } 00100 #endif 00101 00102 #endif
Generated on Thu Jul 14 2022 10:43:20 by
