Advertisement
Guest User

l3g4200d.h

a guest
Jan 5th, 2012
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.23 KB | None | 0 0
  1. #ifndef __L3G4200D_H__
  2. #define __L3G4200D_H__
  3.  
  4. #include "stm32f10x.h"
  5.  
  6. #define GYRO_REG_ID            0x0F
  7. #define GYRO_ID_VAL            0xD3
  8. #define GYRO_REG_CTRL_1        0x20
  9. #define GYRO_REG_CTRL_2        0x21
  10. #define GYRO_REG_CTRL_3        0x22
  11. #define GYRO_REG_CTRL_4        0x23
  12. #define GYRO_REG_CTRL_5        0x24
  13. #define GYRO_REG_STATUS        0x27
  14.  
  15. #define GYRO_REG_OUT_X_H       0x29
  16. #define GYRO_REG_OUT_X_L       0x28
  17. #define GYRO_REG_OUT_Y_H       0x2B
  18. #define GYRO_REG_OUT_Y_L       0x2A
  19. #define GYRO_REG_OUT_Z_H       0x2D
  20. #define GYRO_REG_OUT_Z_L       0x2C
  21. #define GYRO_REG_OUT_TEMP      0x26
  22.  
  23. #define GYRO_REG_FIFO_CNTRL    0x2E
  24. #define GYRO_REG_FIFO_SRC      0x2F
  25.  
  26. ///////////////////////////////////////////////////////////////////////////////
  27. #define GYRO_ZYXEN             0x07
  28. #define GYRO_PWRON             0x08
  29. // 800 hz data rate with custom cut-offs (30,35,50,110)
  30. #define GYRO_ODR800C30         0xC0
  31. #define GYRO_ODR800C35         0xD0
  32. #define GYRO_ODR800C50         0xE0
  33. #define GYRO_ODR800C110        0xF0
  34. // 400 hz
  35. #define GYRO_ODR400C25         0x90
  36. ///////////////////////////////////////////////////////////////////////////////
  37. #define GYRO_HPCOFF15          0x22
  38. #define GYRO_HPCOFF30          0x21
  39. #define GYRO_HPCOFF56          0x20
  40. ///////////////////////////////////////////////////////////////////////////////
  41. #define GYRO_DRDYINT           0x08
  42. ///////////////////////////////////////////////////////////////////////////////
  43. #define GYRO_BDU               0x80
  44. #define GYRO_BIGENDIAN         0x40
  45. #define GYRO_FS250             0x00
  46. #define GYRO_FS500             0x10
  47. #define GYRO_FS2000            0x20
  48. ///////////////////////////////////////////////////////////////////////////////
  49. #define GYRO_REBOOTMEM         0x80
  50. #define GYRO_FIFOEN            0x40
  51. #define GYRO_HPEN              0x10
  52. ///////////////////////////////////////////////////////////////////////////////
  53. #define GYRO_ZYXDA             0x08
  54. #define GYRO_TEMPCORR_X        0.0042
  55. #define GYRO_TEMPCORR_Y        0.0091
  56. #define GYRO_TEMPCORR_Z        0.0038
  57. struct gyroData
  58. {
  59.   uint16_t dataX;
  60.   uint16_t dataY;
  61.   uint16_t dataZ;
  62. };
  63.  
  64. void l3g4200d_init();
  65. gyroData gyroReadData();
  66. int8_t gyroReadTemp();
  67.  
  68. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement