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.
L3G4200D.h
00001 #ifndef L3G4200D_H 00002 #define L3G4200D_H 00003 00004 #include "mbed.h" 00005 00006 // Enderecos dos registradores 00007 #define WHO_AM_I 0x0F 00008 #define CTRL_REG1 0x20 00009 #define CTRL_REG2 0x21 00010 #define CTRL_REG3 0x22 00011 #define CTRL_REG4 0x23 00012 #define CTRL_REG5 0x24 00013 #define REFERENCE 0x25 00014 #define OUT_TEMP 0x26 00015 #define STATUS_REG 0x27 00016 #define OUT_X_L 0x28 00017 #define OUT_X_H 0x29 00018 #define OUT_Y_L 0x2A 00019 #define OUT_Y_H 0x2B 00020 #define OUT_Z_L 0x2C 00021 #define OUT_Z_H 0x2D 00022 #define FIFO_CTRL_REG 0x2E 00023 #define FIFO_SRC_REG 0x2F 00024 #define INT1_CFG 0x30 00025 #define INT1_SRC 0x31 00026 #define INT1_TSH_XH 0x32 00027 #define INT1_TSH_XL 0x33 00028 #define INT1_TSH_YH 0x34 00029 #define INT1_TSH_YL 0x35 00030 #define INT1_TSH_ZH 0x36 00031 #define INT1_TSH_ZL 0x37 00032 #define INT1_DURATION 0x38 00033 00034 // Valores utilizados na comunicacao SPI para leitura e escrita 00035 #define L3G4200D_SPI_READ 0x80 00036 #define L3G4200D_SPI_WRITE 0x00 00037 #define L3G4200D_SPI_MULTI 0x60 00038 00039 // Modos de operacoes 00040 #define POWER_DOWN 0 00041 #define SLEEP 1 00042 #define NORMAL 2 00043 00044 class L3G4200D 00045 { 00046 public: 00047 L3G4200D(PinName mosi, PinName miso, PinName sck, PinName cs); 00048 00049 void setPowerMode(char mode); 00050 00051 int getWhoAmI(); 00052 char getTemperature(); 00053 00054 void getAxes(int* axes); 00055 int getAxisX(); 00056 int getAxisY(); 00057 int getAxisZ(); 00058 float getX(); 00059 float getY(); 00060 float getZ(); 00061 00062 private: 00063 virtual void getData(int* dataVector, int vectorSize); 00064 SPI _spi; 00065 DigitalOut _ncs; 00066 00067 int oneByteRead(int address); 00068 void oneByteWrite(int address, char data); 00069 void multiByteRead(int startAddress, char* buffer, int size); 00070 void multiByteWrite(int startAddress, char* buffer, int size); 00071 00072 }; 00073 00074 #endif /* L3G4200D_H */
Generated on Tue Jul 19 2022 01:26:58 by
 1.7.2
 1.7.2