Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed SDFileSystem_
Diff: main.cpp
- Revision:
- 38:87b7b3de6e88
- Parent:
- 37:1b459e0ef847
- Child:
- 39:75f7b67a5747
--- a/main.cpp Fri Sep 10 04:35:22 2021 +0000
+++ b/main.cpp Fri Sep 10 06:41:37 2021 +0000
@@ -68,7 +68,7 @@
SDFileSystem *sd = new SDFileSystem(PA_12, PA_11, PB_3, PA_15, "sd"); // mosi, miso, sclk, cs, name
-DigitalOut led(PB_5);
+DigitalOut myled(PB_5);
DigitalIn button(PB_4);
int btn_flag = 0;
@@ -93,7 +93,7 @@
char filename1[16]= {};
char filename2[16]= {};
int ret = 0,init=1;
-//uint8_t *bufferIndex = NULL;
+short end_flag = 0;
/*
void timer(){
@@ -107,8 +107,6 @@
static long scr2 = 0;
static long ax,ay,az,as;
static long ax2,ay2,az2,as2;
- //char tmpbuffer[32] = {};
- //static int cnt;
read3axes331(&tx,&ty,&tz);
//キャリブレーションの補正
@@ -131,11 +129,11 @@
//Total Max G
if ( max_g < scr) {
max_g = scr;
- update=1;
+ //update=1;
//pc.printf("%max g=%d \r\n",max_g);
//Save EEPROM
for(int i = 0; i < 4; i++){
- pc.printf("writerom 0x%x\r\n",(max_g >> 8*i) & 0xFF);
+ //pc.printf("writerom 0x%x\r\n",(max_g >> 8*i) & 0xFF);
writeEEPROMByte(i, (max_g >> 8*i) & 0xFF);
}
}
@@ -159,11 +157,7 @@
if(ret < strlen(buffer1)){
pc.printf("fp1 write failed:%d. errno:%d. Reboot!!!\r\n",ret,errno);
NVIC_SystemReset();
- }
- //ret = fflush(fp1);
- //if(ret != 0){
- //pc.printf("fp1 fflush failed:%d,%d\r\n",ret,errno);
- //}
+ }
memset(buffer1,0,sizeof(buffer1));
sprintf(buffer1,"%s",stracc1);
} else {
@@ -192,8 +186,8 @@
//pc.printf("lis3dh:%s",stracc2);
if(oldcount == 5000){
float asc2 = (float)as2 / 500.0f;
- pc.printf("avarage(old) x:%2.2f,y:%2.2f,z:%2.2f,scaler=%2.2f,max:%2.2f\r\n",
- (float)ax2/500.0f*0.005,(float)ay2/500.0f*0.005,(float)az2/500.0f*0.005,(float)as2/500.0f*0.005, (float)tmp_max2*0.005);
+ //pc.printf("avarage(old) x:%2.2f,y:%2.2f,z:%2.2f,scaler=%2.2f,max:%2.2f\r\n",
+ //(float)ax2/500.0f*0.005,(float)ay2/500.0f*0.005,(float)az2/500.0f*0.005,(float)as2/500.0f*0.005, (float)tmp_max2*0.005);
sprintf(stracc2,"%d,%d,%2.2f,%2.2f\r\n",timecount,time(NULL),asc2*0.005,(float)tmp_max2*0.005);
if( (strlen(buffer2)+ strlen(stracc2)) > DATA_SIZE) {
@@ -203,11 +197,7 @@
pc.printf("fp2 write failed:%d. errno:%d. Reboot!!!\r\n",ret,errno);
NVIC_SystemReset();
}
- //ret = fflush(fp2);
- //if(ret != 0){
- //pc.printf("fp2 fflush failed:%d,%d\r\n",ret,errno);
- //}
-
+
memset(buffer2,0,sizeof(buffer2));
sprintf(buffer2,"%s",stracc2);
} else {
@@ -219,6 +209,28 @@
tmp_max2 = 0;
}
}
+
+ if((time(NULL) % 300) == 0){
+ //5 minutes passed. Save File.
+ if(fp1){
+ fclose(fp1);
+ fp1 = NULL;
+ }
+ if(fp2){
+ fclose(fp2);
+ fp2 = NULL;
+ }
+ fp1 = fopen(filename1,"ab");
+ if(!fp1){
+ pc.printf("fp1 create file failed:%d\r\n",errno);
+ NVIC_SystemReset();
+ }
+ fp2 = fopen(filename2,"ab");
+ if(!fp2){
+ pc.printf("fp2 create file failed:%d\r\n",errno);
+ NVIC_SystemReset();
+ }
+ }
if(time(NULL) > 86400){
//Create New File
@@ -270,8 +282,11 @@
fclose(fp2);
fp2 = NULL;
}
+ btn_flag = 0;
+ myled = 0;
+ end_flag = 1;
+ wait(1);
}
-
}
int main()
@@ -315,7 +330,7 @@
wait_ms(100);
}
//interrupt.attach_us(&timer,20000);//20ms
- while(1)
+ while(!end_flag)
{
timecount++;
oldcount++;
@@ -324,6 +339,8 @@
//wait_ms(20);
//wait_ms(1);
}
+ pc.printf("Program End.\r\n");
+ return 0;
}
/*********** porting **************/
void spiFormat(int b,int m)