Masahiro Furukawa
/
jikken
ticker implemented
Diff: jikken.cpp
- Revision:
- 2:27f60965e808
- Parent:
- 1:79f80553947c
- Child:
- 3:1e1a29557d8e
--- a/jikken.cpp Fri Aug 28 08:24:53 2020 +0000 +++ b/jikken.cpp Fri Aug 28 08:45:58 2020 +0000 @@ -15,7 +15,12 @@ DigitalOut led4(LED4); Serial pc(USBTX, USBRX); -Ticker arg; +#define SampleFreq 60 // [Hz] +Ticker ticker; +FILE* fp; + +int cnt; + LocalFileSystem local("local"); float aOut, bOut, cOut, dOut, eOut, fOut;//J123456 degree @@ -68,28 +73,19 @@ send_servo(); } -void move_attach(FILE* fp) +void move_attach() { - for(int i=0;i<2548;i++) - { - led3=0.0; - //fscanf(fp, "%f,%f,%f\n",&Out[i][0],&Out[i][1],&Out[i][2]); - fscanf(fp, "%f,%f,%f\n",&aOut,&bOut,&cOut); - //Out[i][3]=0.0; - //Out[i][4]=0.0; - //Out[i][5]=0.0; - led3=1.0; - //aOut = Out[i][0]; - //bOut = Out[i][1]; - //cOut = Out[i][2]; - dOut = 0.0; - eOut = 0.0; - fOut = 0.0; - move(); - wait(0.016);//wait - } + led3=0.0; + //fscanf(fp, "%f,%f,%f\n",&Out[i][0],&Out[i][1],&Out[i][2]); + if(fp!=NULL or cnt<2548) + fscanf(fp, "%f,%f,%f\n",&aOut,&bOut,&cOut); + cnt++; + led3=1.0; + dOut = 0.0; + eOut = 0.0; + fOut = 0.0; + move(); } - int main(void) { //pc.baud(115200); @@ -109,7 +105,6 @@ //float Out[2548][3]; led2=1.0; - FILE* fp; char fname[] ="/local/xy14.csv"; fp = fopen(fname, "r"); if (fp == NULL) @@ -124,17 +119,8 @@ { led3=1.0; //pc.printf("moving\n"); - - - //arg.attach(&move_attach,1/60); - move_attach(fp); - - - - fclose(fp); - #if defined(__MICROLIB) && defined(__ARMCC_VERSION) // with microlib and ARM compiler - free(fp); - #endif + cnt = 0; + ticker.attach_us(eventFunc, 1000000.0f/SampleFreq); //led2=1.0; /*for(i=0;i<2548;i++) {