中継機能つけた受け取りオムニ
Dependencies: mbed MultiSerial
Diff: main.cpp
- Revision:
- 36:bacc260185d6
- Parent:
- 35:78f5eec4f36c
- Child:
- 37:53f8b2c0bad6
--- a/main.cpp Tue Oct 14 09:00:24 2014 +0000 +++ b/main.cpp Tue Oct 14 10:12:10 2014 +0000 @@ -44,7 +44,7 @@ MultiSerial xbee(p28,p27); MultiSerial armMbed(p9,p10); -Timer xbee_check; +Ticker xbee_check; /* data structure */ typedef struct { @@ -100,55 +100,35 @@ int main() { - + /* PWM init */ pwm[0] = PWM; pwm[1] = PWM; pwm[2] = PWM; pwm[3] = PWM; - - /* Timer init*/ - xbee_check.start(); + + /* Timer interrupt init */ + xbee_check.attach(safety_mode,1.0); /* stract data init */ xbee_packet *pt_packet=&packet; /* Serial connection init */ - xbee.start_read(); - xbee.read_data(get_data,XBEE_KEY); + xbee.start_read(); + xbee.read_data(get_data,XBEE_KEY); - armMbed.start_write(); - armMbed.write_data(pt_packet->arm,ARM_KEY); + armMbed.start_write(); + armMbed.write_data(pt_packet->arm,ARM_KEY); - display_LED(1); + display_LED(1); - if(xbee.check_rx()==0){ - - NVIC_SystemReset(); - - } - - - // NVIC_DisableIRQ(UART1_IRQn); - // NVIC_DisableIRQ(UART0_IRQn); + xbee.check_rx_wait(); for(;;) { - xbee_check.reset(); - xbee_check.start(); - - - if(xbee_check.read()>=1) - { - - safety_mode(); - - xbee_check.stop(); - xbee_check.reset(); - xbee_check.start(); - - } + + packet.arm[0] = get_data[1]; packet.leg = get_data[0]; @@ -181,5 +161,6 @@ if(packet.leg&L_R) motors = 0x99; //10011001 //if(packet.leg&L_U) //if(packet.leg&L_D) + } } \ No newline at end of file