Modified to run on Renesas GR Peach board
Dependencies: EthernetInterface HTTP-Server Webpage mbed-rpc mbed-src
Fork of HTTPServer_echoback by
Adafruit_L3GD20_U.h
00001 /*************************************************** 00002 This is a library for the L3GD20 GYROSCOPE 00003 00004 Designed specifically to work with the Adafruit L3GD20 Breakout 00005 ----> https://www.adafruit.com/products/1032 00006 00007 These sensors use I2C or SPI to communicate, 2 pins (I2C) 00008 or 4 pins (SPI) are required to interface. 00009 00010 Adafruit invests time and resources providing this open source code, 00011 please support Adafruit and open-source hardware by purchasing 00012 products from Adafruit! 00013 00014 Written by Kevin "KTOWN" Townsend for Adafruit Industries. 00015 BSD license, all text above must be included in any redistribution 00016 ****************************************************/ 00017 #ifndef __L3GD20_H__ 00018 #define __L3GD20_H__ 00019 00020 #include <Adafruit_Sensor.h> 00021 00022 /*========================================================================= 00023 I2C ADDRESS/BITS AND SETTINGS 00024 -----------------------------------------------------------------------*/ 00025 #define L3GD20_ADDRESS (0xD6) // 1101011x x=R/w 00026 #define L3GD20_WRITE (0x00) // Bit write 00027 #define L3GD20_READ (0x01) // Bit read 00028 #define L3GD20_POLL_TIMEOUT (100) // Maximum number of read attempts 00029 #define L3GD20_ID 0xD4 00030 #define L3GD20H_ID 0xD7 00031 #define GYRO_SENSITIVITY_250DPS (0.00875F) // Roughly 22/256 for fixed point match 00032 #define GYRO_SENSITIVITY_500DPS (0.0175F) // Roughly 45/256 00033 #define GYRO_SENSITIVITY_2000DPS (0.070F) // Roughly 18/256 00034 /*=========================================================================*/ 00035 00036 /*========================================================================= 00037 REGISTERS 00038 -----------------------------------------------------------------------*/ 00039 typedef enum 00040 { // DEFAULT TYPE 00041 GYRO_REGISTER_WHO_AM_I = 0x0F, // 11010100 r 00042 GYRO_REGISTER_CTRL_REG1 = 0x20, // 00000111 rw 00043 GYRO_REGISTER_CTRL_REG2 = 0x21, // 00000000 rw 00044 GYRO_REGISTER_CTRL_REG3 = 0x22, // 00000000 rw 00045 GYRO_REGISTER_CTRL_REG4 = 0x23, // 00000000 rw 00046 GYRO_REGISTER_CTRL_REG5 = 0x24, // 00000000 rw 00047 GYRO_REGISTER_REFERENCE = 0x25, // 00000000 rw 00048 GYRO_REGISTER_OUT_TEMP = 0x26, // r 00049 GYRO_REGISTER_STATUS_REG = 0x27, // r 00050 GYRO_REGISTER_OUT_X_L = 0x28, // r 00051 GYRO_REGISTER_OUT_X_H = 0x29, // r 00052 GYRO_REGISTER_OUT_Y_L = 0x2A, // r 00053 GYRO_REGISTER_OUT_Y_H = 0x2B, // r 00054 GYRO_REGISTER_OUT_Z_L = 0x2C, // r 00055 GYRO_REGISTER_OUT_Z_H = 0x2D, // r 00056 GYRO_REGISTER_FIFO_CTRL_REG = 0x2E, // 00000000 rw 00057 GYRO_REGISTER_FIFO_SRC_REG = 0x2F, // r 00058 GYRO_REGISTER_INT1_CFG = 0x30, // 00000000 rw 00059 GYRO_REGISTER_INT1_SRC = 0x31, // r 00060 GYRO_REGISTER_TSH_XH = 0x32, // 00000000 rw 00061 GYRO_REGISTER_TSH_XL = 0x33, // 00000000 rw 00062 GYRO_REGISTER_TSH_YH = 0x34, // 00000000 rw 00063 GYRO_REGISTER_TSH_YL = 0x35, // 00000000 rw 00064 GYRO_REGISTER_TSH_ZH = 0x36, // 00000000 rw 00065 GYRO_REGISTER_TSH_ZL = 0x37, // 00000000 rw 00066 GYRO_REGISTER_INT1_DURATION = 0x38 // 00000000 rw 00067 } gyroRegisters_t; 00068 /*=========================================================================*/ 00069 00070 /*========================================================================= 00071 OPTIONAL SPEED SETTINGS 00072 -----------------------------------------------------------------------*/ 00073 typedef enum 00074 { 00075 GYRO_RANGE_250DPS = 250, 00076 GYRO_RANGE_500DPS = 500, 00077 GYRO_RANGE_2000DPS = 2000 00078 } gyroRange_t; 00079 /*=========================================================================*/ 00080 00081 class Adafruit_L3GD20_Unified //: public Adafruit_Sensor 00082 { 00083 public: 00084 Adafruit_L3GD20_Unified(int32_t sensorID = -1); 00085 00086 bool begin ( gyroRange_t rng = GYRO_RANGE_250DPS ); 00087 void enableAutoRange ( bool enabled ); 00088 bool getEvent ( sensors_event_t* ); 00089 void getSensor ( sensor_t* ); 00090 00091 private: 00092 void write8 ( byte reg, byte value ); 00093 uint8_t read8 ( byte reg ); 00094 gyroRange_t _range; 00095 int32_t _sensorID; 00096 bool _autoRangeEnabled; 00097 }; 00098 00099 #endif 00100
Generated on Tue Jul 12 2022 19:53:07 by 1.7.2