test
Dependencies: MINI8I8O5A000 mbed EEPROM_P4 IICLCD_LOWCOST
Diff: main.cpp
- Revision:
- 7:3cb877cb7393
- Parent:
- 6:96d89c2f4bf9
- Child:
- 8:055a85e600dd
--- a/main.cpp Thu Feb 04 09:14:48 2016 +0000 +++ b/main.cpp Mon Oct 10 10:42:45 2016 +0000 @@ -13,7 +13,7 @@ #ifdef USBSerialOption #include "USBSerial.h" USBSerial pc; -not work?? + #else //Serial pc(USBTX, USBRX); // SDA serail port @@ -63,11 +63,18 @@ char boardaddress =1; + + + +int CAMERROR =0; +int CAMTOTAL =0; +#define CAMTRIGGER OUT0 +#define CAMBUSY IN1 + + void serial_pc_rx_services() { - int i,j; - - + int i,j; #ifdef USBSerialOption while (pc.available()) #else @@ -86,16 +93,13 @@ rx_buffer[rx_pointer]=inchar; //keep char in buffer... rx_pointer++; - - + if (rx_pointer>=(RXBUFFERSIZE-10)) { rx_pointer=0;//Error buffer overflow pc.printf("ERR:buffer overflow\n"); } - - - + if ((inchar=='\r')|(inchar=='\n')) { @@ -123,10 +127,84 @@ i++; } + rx_buffer_ARG[j]=0; //end of string ++++ + + + #define IDELBUSYLOOP 10000 + BUZZER=1; + + + if (rx_buffer[0]=='t') + { + //pulse trigger + CAMTRIGGER=0; //edge trigger + i=0; + while(1) //wait camera run busy + { + Input_sampling(8); + if(CAMBUSY!=0) break; + if (i++>IDELBUSYLOOP) + { + CAMERROR=1; + break; + } + } + //cmaera process run + CAMTRIGGER=1; //edge trigger + i=0; + while(1) //wait camera complete run + { + Input_sampling(8); + if(CAMBUSY==0) break; + if (i++>IDELBUSYLOOP) + { + CAMERROR=1; + break; + } + } + + } + else if (rx_buffer[0]=='j') + { + wait(0.1); + } + else if (rx_buffer[0]=='r') + { + wait(0.1); + + } + else if (rx_buffer[0]=='p') + { + wait(0.1); + + } + + BUZZER=0; + Input_sampling(8); + if (IN0) // Total result + { + CAMTOTAL=1; + OUT1=0; + } + else + { + CAMTOTAL=0; + OUT1=1; + } + + + + + //+++++ + pc.printf("%dOK\n",CAMTOTAL+4*CAMERROR); + //pc.printf("123OK"); + //pc.printf("rxbuffer: %s",rx_buffer); //test direct echo + //++++ + //pc.printf("rxbuffer: %s",rx_buffer); //test direct echo - + /* if (strcmp(rx_buffer,"*IDN?")==0) { pc.printf("Schaffner SerIO, ver %.1f\n",firmware_version); @@ -214,7 +292,14 @@ {//unknow / handle comand //pc.printf( "UNKNOWN %s=>%s,%s\n",rx_buffer,rx_buffer_CMD,rx_buffer_ARG); pc.printf( "UNKNOWN %s=>%s,%s\n",rx_buffer); - } + } + + + */ + + + + rx_pointer=0;//Reset at the end com_timer.stop(); break;//exit while @@ -261,6 +346,31 @@ pc.attach(&serial_pc_rx_services); // Use interrupt services !! + OUT1=0; + +#define BUZZER_EN 0 + + + +CAMTRIGGER=1; // set signal ready for cam trigger +while(1); + + while(0) + { + if (BUZZER_EN!=0) BUZZER=1; + OUT0=0; + wait(0.1); + if (BUZZER_EN!=0) BUZZER=0; + wait(0.1); + OUT0=1; + + + wait(1.0); + + + } + + while(1) {