driver for gyro

Dependencies:   COG4050_ADT7420

Fork of COG4050_adxl355_adxl357-ver2 by ADI_CAC

Committer:
vtoffoli
Date:
Tue Aug 14 11:33:30 2018 +0000
Revision:
7:5aaa09c40283
Parent:
6:45d2393ef468
Child:
8:9e6ead2ee8d7
update 14.08.2018;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
APS_Lab 0:74a0756399ff 1 #include "mbed.h"
vtoffoli 4:23b53636b576 2 #include <inttypes.h>
vtoffoli 2:14dc1ec57f3b 3 #include "ADXL355.h"
vtoffoli 7:5aaa09c40283 4 #include "ADXRS290.h"
vtoffoli 2:14dc1ec57f3b 5
vtoffoli 2:14dc1ec57f3b 6 Serial pc(USBTX, USBRX);
vtoffoli 2:14dc1ec57f3b 7
vtoffoli 7:5aaa09c40283 8 ADXL355 accl(SPI1_CS0, SPI1_MOSI, SPI1_MISO, SPI1_SCLK); // PMOD port
vtoffoli 7:5aaa09c40283 9 ADXRS290 gyro(SPI0_CS2, SPI0_MOSI, SPI0_MISO, SPI0_SCLK); // PMOD port
vtoffoli 2:14dc1ec57f3b 10
vtoffoli 6:45d2393ef468 11
vtoffoli 2:14dc1ec57f3b 12 int main(){
vtoffoli 2:14dc1ec57f3b 13 pc.baud(9600);
vtoffoli 2:14dc1ec57f3b 14 pc.printf("SPI ADXL355 and ADXL357 Demo\n");
vtoffoli 2:14dc1ec57f3b 15 pc.printf("GET device ID\n");
vtoffoli 4:23b53636b576 16 accl.reset();
vtoffoli 4:23b53636b576 17 uint8_t d;
vtoffoli 7:5aaa09c40283 18 d=accl.read_reg(accl.DEVID_AD);
vtoffoli 7:5aaa09c40283 19 pc.printf("AD id = %x \r\n",d);
vtoffoli 7:5aaa09c40283 20 d=accl.read_reg(accl.DEVID_MST);
vtoffoli 7:5aaa09c40283 21 pc.printf("MEMS id = %x \r\n",d);
vtoffoli 7:5aaa09c40283 22 d=accl.read_reg(accl.PARTID);
vtoffoli 7:5aaa09c40283 23 pc.printf("device id = %x \r\n",d);
vtoffoli 7:5aaa09c40283 24 d=accl.read_reg(accl.REVID);
vtoffoli 7:5aaa09c40283 25 pc.printf("revision id = %x \r\n",d);
vtoffoli 4:23b53636b576 26 pc.printf("GET device data [x, y, z, t] \r\n");
vtoffoli 4:23b53636b576 27 accl.set_power_ctl_reg(accl.MEASUREMENT);
vtoffoli 4:23b53636b576 28 d=accl.read_reg(accl.POWER_CTL);
vtoffoli 4:23b53636b576 29 pc.printf("power control on measurement mode = %x \r\n",d);
vtoffoli 6:45d2393ef468 30 float x, y,z;
vtoffoli 6:45d2393ef468 31 float t;
vtoffoli 7:5aaa09c40283 32 // save data info a file
vtoffoli 7:5aaa09c40283 33 while(1000) {
vtoffoli 7:5aaa09c40283 34 x = accl.convert(accl.scanx())*accl.axis355_sens;
vtoffoli 7:5aaa09c40283 35 y = accl.convert(accl.scany())*accl.axis355_sens;
vtoffoli 7:5aaa09c40283 36 z = accl.convert(accl.scanz())*accl.axis355_sens;
vtoffoli 6:45d2393ef468 37 t = 25+float(accl.scant()-1852)/(-9.05);
vtoffoli 6:45d2393ef468 38 pc.printf("%f \t %f \t %f \t %f \r\n" , x,y,z,t);
vtoffoli 7:5aaa09c40283 39 wait(0.1);
vtoffoli 2:14dc1ec57f3b 40 }
vtoffoli 2:14dc1ec57f3b 41 }
vtoffoli 6:45d2393ef468 42