giro for my students
Revision 0:1eafa5c54075, committed 2020-02-08
- Comitter:
- docent
- Date:
- Sat Feb 08 10:42:09 2020 +0000
- Commit message:
- for my students
Changed in this revision
| L3G4200D_my.cpp | Show annotated file Show diff for this revision Revisions of this file |
| L3G4200D_my.h | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/L3G4200D_my.cpp Sat Feb 08 10:42:09 2020 +0000
@@ -0,0 +1,26 @@
+#include "L3G4200D_my.h"
+
+void GyroL3G4200D_Ini(DevI2C *gyro)
+{
+ char data_write[2];
+
+ wait(0.02);
+ data_write[0]=CTRL_REG1; // DR1 DR0 BW1 BW0 PD Zen Yen Xen
+ data_write[1]=0x1f; // 0 0 0 1 1 1 1 1 dr=100Hz, BW=25
+ gyro->write(I2C_ADDR_GYRO,data_write, 2,0); // 1-no stop
+}
+
+//-----------------------------------------------
+void GyroL3G4200D_GetAxis(DevI2C *gyro,int16_t* g)
+{
+ char data_write[2];
+ char buffer[6];
+
+ data_write[0]=OUT_X_L|0x80;
+ gyro->write(I2C_ADDR_GYRO,data_write, 1,1); // 1-no stop
+ gyro->read(I2C_ADDR_GYRO,buffer, 6,0);
+ g[0]=*((int16_t*)&buffer[0]);
+ g[1]=*((int16_t*)&buffer[2]);
+ g[2]=*((int16_t*)&buffer[4]);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/L3G4200D_my.h Sat Feb 08 10:42:09 2020 +0000 @@ -0,0 +1,26 @@ +#ifndef __L3G4200D_MY_H +#define __L3G4200D_MY_H + +#include "mbed.h" +#include "DevI2C.h" + +#define I2C_ADDR_READ 0xd1 +#define I2C_ADDR_WRITE 0xd0 +#define I2C_ADDR_GYRO 0xd0 + +#define CTRL_REG1 0x20 +#define CTRL_REG2 0x21 +#define CTRL_REG3 0x22 +#define CTRL_REG4 0x23 +#define CTRL_REG5 0x24 +#define STATUS_REG 0x27 +#define OUT_X_L 0x28 +#define OUT_X_H 0x29 +#define OUT_Y_L 0x2a +#define OUT_Y_H 0x2b +#define OUT_Z_L 0x2c +#define OUT_Z_H 0x2d + +void GyroL3G4200D_Ini(DevI2C *gyro); +void GyroL3G4200D_GetAxis(DevI2C *gyro,int16_t* g); +#endif