東北大学学友会準加盟団体 From The Earth の高高度ロケットFTE-06(通称:海豚)にて使用したソフトウェアです.ご自由にお使いください.このプログラムによって生じた損害について当団体は一切責任を負いません.また,各モジュールのライブラリは当団体が作成したものではないので再配布は禁止します.
Dependencies: mbed FATFileSystem
Fork of FTE-06 by
Diff: main.cpp
- Revision:
- 17:a4dd38847c2b
- Parent:
- 15:792eb5103e9e
- Child:
- 19:ad253b080090
--- a/main.cpp Thu Jul 27 13:45:46 2017 +0000 +++ b/main.cpp Sat Aug 05 05:01:41 2017 +0000 @@ -67,7 +67,10 @@ acc[0]=conv2Gravity*LSM.accelX(); acc[1]=conv2Gravity*LSM.accelY(); acc[2]=conv2Gravity*LSM.accelZ(); - + LSM.getMagnet(); + mag[0]=LSM.magnetX(); + mag[1]=LSM.magnetX(); + mag[2]=LSM.magnetX(); } public: @@ -77,10 +80,8 @@ double latitude,longitude; double pres,temp; uint32_t eeprom_add; - double val; - unsigned int seed; - char filename[100]; - int result_num; + int result_num; + char num_buf[30]; Rocket_Data_Get_And_Save() {//初期化子 //--------------変数の初期化 @@ -97,15 +98,11 @@ //--------------------------- myservo.position(servo_deg_initial);//サーボ位置の初期化 - /*analogpinの入力電圧を用いてrandomなfile作成*/ - val = analog_rand.read();//p20の電圧読み取り - seed = val * 10000; - do { - seed %= 1000; - } while (seed > 1000);//0~999のunsigned_int型に変換 - srand(seed); - result_num = rand(); - sprintf(filename, "result_%d.dat", result_num); + /*randomなfile名作成*/ + /* + result_num = rand()%1000;//0~999のランダムな数字 + snprintf(num_buf, 30, "%d", result_num); + strcat("res", num_buf);*/ mkdir("/sd/mydir", 0777); } @@ -129,9 +126,9 @@ /*SDカードに書き込み*/ - FILE *fp = fopen("/sd/mydir/filename", "w"); + FILE *fp = fopen("sd/midir/data.csv", "a"); if (fp == NULL)error("Could not open SD Card for write\n"); - fprintf(fp, "%f %f %f %f %f %f %f %f %f %f %f %f %f %f\n", time, temp, pres, acc[0], acc[1], acc[2], gyro[0], gyro[1], gyro[2], latitude, longitude); + fprintf(fp, "%d,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%f,%f,%f,%lf,%lf\n", time_ms_now, temp, pres, acc[0], acc[1], acc[2], mag[0], mag[1], mag[2], gyro[0], gyro[1], gyro[2], latitude, longitude); fclose(fp); }