SSLM1 / Mbed 2 deprecated 5_waitmode

Dependencies:   2_MPU9250 mbed 2_LPS33HW 2_EEPROM 2_P7100

Committer:
rary
Date:
Sun Jul 12 11:33:30 2020 +0000
Revision:
0:bb6341604701
wait mode

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rary 0:bb6341604701 1 #include "mbed.h"
rary 0:bb6341604701 2 #include "EEPROM.h"
rary 0:bb6341604701 3 #include "LPS33HW.h"
rary 0:bb6341604701 4 #include "P7100.h"
rary 0:bb6341604701 5 #include "MPU9250.h"
rary 0:bb6341604701 6
rary 0:bb6341604701 7 Timer t; //時間計測
rary 0:bb6341604701 8 Serial pc(USBTX, USBRX);
rary 0:bb6341604701 9 LPS33HW lps(p9, p10);
rary 0:bb6341604701 10 EEPROM rom(p9, p10);
rary 0:bb6341604701 11 MPU9250 mpu(p9, p10);
rary 0:bb6341604701 12 P7100 p7100(p5, p6, p7, p8);
rary 0:bb6341604701 13 DigitalIn Flight_Pin(p30);
rary 0:bb6341604701 14
rary 0:bb6341604701 15 void get_save_low(); //自作関数プロトタイプ宣言
rary 0:bb6341604701 16
rary 0:bb6341604701 17 int pointer_high = 0; //EEPROM保存アドレス(high)
rary 0:bb6341604701 18 int pointer_low = 0; //EEPROM保存アドレス(low)
rary 0:bb6341604701 19
rary 0:bb6341604701 20
rary 0:bb6341604701 21 //main
rary 0:bb6341604701 22 int main()
rary 0:bb6341604701 23 {
rary 0:bb6341604701 24 pc.baud(460800); //ボーレート変更
rary 0:bb6341604701 25 t.start(); //timer Start
rary 0:bb6341604701 26
rary 0:bb6341604701 27 //sensor Setup
rary 0:bb6341604701 28 lps.start(1); //気圧センサスタート
rary 0:bb6341604701 29 lps.start(1); //気圧センサスタート
rary 0:bb6341604701 30 wait(0.1);
rary 0:bb6341604701 31 mpu.start(); //MPU9250 start&setup
rary 0:bb6341604701 32 mpu.accelsetup(3);
rary 0:bb6341604701 33 mpu.gyrosetup(3);
rary 0:bb6341604701 34 mpu.AKsetup(1);
rary 0:bb6341604701 35 wait(0.2);
rary 0:bb6341604701 36
rary 0:bb6341604701 37 //wait mode
rary 0:bb6341604701 38 pc.printf("waitmode Start!\r\n");
rary 0:bb6341604701 39 while(Flight_Pin == 0) {
rary 0:bb6341604701 40 get_save_low(); //data get&save
rary 0:bb6341604701 41 wait_ms(1000);
rary 0:bb6341604701 42 }
rary 0:bb6341604701 43 pc.printf("waitmode Finish!\r\n");
rary 0:bb6341604701 44
rary 0:bb6341604701 45 }
rary 0:bb6341604701 46
rary 0:bb6341604701 47
rary 0:bb6341604701 48 void get_save_low()
rary 0:bb6341604701 49 {
rary 0:bb6341604701 50 char s[64]; //データ取得配列
rary 0:bb6341604701 51
rary 0:bb6341604701 52 float accel[3], gyro[3]; //MPU9250data
rary 0:bb6341604701 53 float AX, AY, AZ, GX, GY, GZ; //MPU9250data
rary 0:bb6341604701 54
rary 0:bb6341604701 55 float T = t.read(); //時刻データ取得
rary 0:bb6341604701 56 float P = lps.data_read(); //気圧データ取得
rary 0:bb6341604701 57 float V = p7100.v_read(); //電圧取得
rary 0:bb6341604701 58 float TP = 0.25 * V - 0.125; //タンク圧力換算
rary 0:bb6341604701 59
rary 0:bb6341604701 60 mpu.accel_read(3, accel);
rary 0:bb6341604701 61 mpu.gyro_read(3, gyro);
rary 0:bb6341604701 62 AX = accel[0];
rary 0:bb6341604701 63 AY = accel[1];
rary 0:bb6341604701 64 AZ = accel[2];
rary 0:bb6341604701 65 GX = gyro[0];
rary 0:bb6341604701 66 GY = gyro[1];
rary 0:bb6341604701 67 GZ = gyro[2];
rary 0:bb6341604701 68
rary 0:bb6341604701 69 sprintf(s, "%8.3f %8.3f %6.3f %5.3f %5.2f %5.2f %5.2f %5.2f %5.2f\r\n", T, P, TP, AX, AY, AZ, GX, GY, GZ); //floatからchar*へ変換
rary 0:bb6341604701 70
rary 0:bb6341604701 71 rom.write_low(pointer_low, s, 64); // write tha data
rary 0:bb6341604701 72 pointer_low = pointer_low + 64; //アドレスずらし
rary 0:bb6341604701 73
rary 0:bb6341604701 74 pc.printf("%s\r\n", s); //check用
rary 0:bb6341604701 75
rary 0:bb6341604701 76 memset(s, '\0', 64 ); //初期化
rary 0:bb6341604701 77 }