Airio-Base test program. Grove 6-Axis v1.0 data write to FlashAir(SD card).

Dependencies:   LSM6DS3 SDFileSystem mbed

Fork of Airio-Base_Grove_6Axis by s fukuya

Committer:
volty98
Date:
Tue Aug 07 20:30:05 2018 +0000
Revision:
0:e71e12e06e4b
1st release.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
volty98 0:e71e12e06e4b 1 #include "mbed.h"
volty98 0:e71e12e06e4b 2 #include "SDFileSystem.h"
volty98 0:e71e12e06e4b 3 #include "LSM6DS3.h"
volty98 0:e71e12e06e4b 4
volty98 0:e71e12e06e4b 5 //-------------------------------------------------------------------------------
volty98 0:e71e12e06e4b 6 //Port Settings
volty98 0:e71e12e06e4b 7 DigitalOut led1(LED1);
volty98 0:e71e12e06e4b 8 DigitalOut led2(P1_13,0);
volty98 0:e71e12e06e4b 9 //DigitalOut USB_CONNECT(P0_6,0);
volty98 0:e71e12e06e4b 10 DigitalIn sw(P1_20);
volty98 0:e71e12e06e4b 11 DigitalIn isp(P0_1);
volty98 0:e71e12e06e4b 12 DigitalOut sd_en(P1_16, 1);
volty98 0:e71e12e06e4b 13 //DigitalIn sd_dat3(P0_17); // 0x10
volty98 0:e71e12e06e4b 14 //DigitalIn sd_dat2(P1_22); // 0x08
volty98 0:e71e12e06e4b 15 //DigitalIn sd_dat1(P1_14); // 0x04
volty98 0:e71e12e06e4b 16 //DigitalIn sd_dat0(P0_22); // 0x02
volty98 0:e71e12e06e4b 17 //DigitalIn sd_cmd(P0_21); // 0x01
volty98 0:e71e12e06e4b 18
volty98 0:e71e12e06e4b 19 //-------------------------------------------------------------------------------
volty98 0:e71e12e06e4b 20 //
volty98 0:e71e12e06e4b 21 SDFileSystem fs(P0_21, P0_22, P1_15, P0_17, "sd"); // mosi(CMD), miso(DAT0), sclk(CLK), cs(DAT3)
volty98 0:e71e12e06e4b 22 LSM6DS3 lsm(P0_5, P0_4, LSM6DS3_AG_I2C_ADDR(0) );
volty98 0:e71e12e06e4b 23
volty98 0:e71e12e06e4b 24
volty98 0:e71e12e06e4b 25 //-------------------------------------------------------------------------------
volty98 0:e71e12e06e4b 26 //
volty98 0:e71e12e06e4b 27 int main()
volty98 0:e71e12e06e4b 28 {
volty98 0:e71e12e06e4b 29 while(1)
volty98 0:e71e12e06e4b 30 {
volty98 0:e71e12e06e4b 31 led1 = 1;
volty98 0:e71e12e06e4b 32 wait(0.2);
volty98 0:e71e12e06e4b 33 led1 = 0;
volty98 0:e71e12e06e4b 34 wait(0.2);
volty98 0:e71e12e06e4b 35
volty98 0:e71e12e06e4b 36 if(sw == 0)
volty98 0:e71e12e06e4b 37 {
volty98 0:e71e12e06e4b 38 led2 = 0;
volty98 0:e71e12e06e4b 39 }
volty98 0:e71e12e06e4b 40 else
volty98 0:e71e12e06e4b 41 {
volty98 0:e71e12e06e4b 42 led2 = 1;
volty98 0:e71e12e06e4b 43 }
volty98 0:e71e12e06e4b 44
volty98 0:e71e12e06e4b 45 if(isp == 0)
volty98 0:e71e12e06e4b 46 {
volty98 0:e71e12e06e4b 47 FILE *fp = fopen("/sd/TEST.txt", "w");
volty98 0:e71e12e06e4b 48 if(fp != NULL)
volty98 0:e71e12e06e4b 49 {
volty98 0:e71e12e06e4b 50 lsm.begin();
volty98 0:e71e12e06e4b 51 for(int i = 0;i < 5;i++)
volty98 0:e71e12e06e4b 52 {
volty98 0:e71e12e06e4b 53 led2 = 0;
volty98 0:e71e12e06e4b 54 wait(0.1);
volty98 0:e71e12e06e4b 55 lsm.readGyro();
volty98 0:e71e12e06e4b 56 fprintf(fp,"gx:%f gy:%f gz:%f\r\n",lsm.gx ,lsm.gy ,lsm.gz);
volty98 0:e71e12e06e4b 57 lsm.readAccel();
volty98 0:e71e12e06e4b 58 fprintf(fp,"ax:%f ay:%f az:%f\r\n",lsm.ax ,lsm.ay ,lsm.az);
volty98 0:e71e12e06e4b 59 lsm.readTemp();
volty98 0:e71e12e06e4b 60 fprintf(fp,"temp:%f\r\n",lsm.temperature_c );
volty98 0:e71e12e06e4b 61 led2 = 1;
volty98 0:e71e12e06e4b 62 wait(0.3);
volty98 0:e71e12e06e4b 63 }
volty98 0:e71e12e06e4b 64 fprintf(fp,"\r\n");
volty98 0:e71e12e06e4b 65 fclose(fp);
volty98 0:e71e12e06e4b 66 free(fp);
volty98 0:e71e12e06e4b 67 }
volty98 0:e71e12e06e4b 68 }
volty98 0:e71e12e06e4b 69 }
volty98 0:e71e12e06e4b 70 }