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 MultiSerial
Revision 27:68f76ea992bd, committed 2014-10-07
- Comitter:
- bousiya03
- Date:
- Tue Oct 07 08:55:58 2014 +0000
- Parent:
- 26:9a7e9dd2746f
- Child:
- 28:4da223ae4392
- Commit message:
- ??????????
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue Oct 07 08:01:29 2014 +0000
+++ b/main.cpp Tue Oct 07 08:55:58 2014 +0000
@@ -56,8 +56,52 @@
xbee_packet packet;
uint8_t get_data[DATA_NUM]= {0};
+uint8_t check_data[2]={0};
-uint8_t check_data[2]={0};
+
+/*start display LED*/
+void display_LED(int kind){
+
+ switch(kind){
+ case 0:
+ check = 0xA;
+ wait(0.5);
+ check != 0xF;
+ wait(0.5);
+
+ break;
+
+ case 1:
+
+ check = 0xF;
+
+ break;
+ }
+ }
+
+
+/*Safety Mode*/
+void safety_mode()
+{
+ xbee.stop_read();
+ armMbed.stop_write();
+
+ for(;;) {
+
+ motors = 0;
+ display_LED(0);
+
+ if(xbee.readable_check()==1) {
+
+ NVIC_SystemReset();
+
+ //xbee.start_read();
+ //arm_mbed.start_write();
+ return;
+ }
+ }
+}
+
int main()
{
@@ -71,6 +115,7 @@
xbee_packet *pt_packet=&packet;
//connect_check();
+ int radio_check=0;
xbee.start_read();
xbee.read_data(get_data,XBEE_KEY);
@@ -78,9 +123,12 @@
armMbed.start_write();
armMbed.write_data(pt_packet->arm,ARM_KEY);
- check = 0xFF;
+
+
+ display_LED(1);
wait(0.5);
-
+ if((packet.leg&L_U)==0){NVIC_SystemReset();}
+
for(;;) {
wait_ms(0.5);
@@ -91,9 +139,23 @@
//check = get_data[1];
- check = packet.leg;
+ check = packet.leg;
+
+ /*
+ if(xbee.readable_check() == 0) {
+
+ radio_check++;
+
+ if(radio_check>=500){
+ safety_mode();
+ }
+
+ } else {
+
+ radio_check = 0;
+ }
+ */
-
/* Stop */
if(packet.leg==0x0) {
@@ -108,32 +170,12 @@
}else{
- pwm[0] = PWM;
- pwm[1] = PWM;
- pwm[2] = PWM;
- pwm[3] = PWM;
+ pwm[0] = PWM;
+ pwm[1] = PWM;
+ pwm[2] = PWM;
+ pwm[3] = PWM;
}
-
- /* PWM */
-
- /*if((packet.leg>>4)==0) {
-
- pwm[0] = PWM_L;
- pwm[1] = PWM_R;
- pwm[2] = PWM_U;
- pwm[3] = PWM_D;
-
- } else {
-
- pwm[0] = PWM;
- pwm[1] = PWM;
- pwm[2] = PWM;
- pwm[3] = PWM;
-
- }
- */
-
/* Direction of movement */
if(packet.leg&R_D) motors = 0x55; //01010101 R 接続に気をつけること
if(packet.leg&R_U) motors = 0xAA; //10101010 L 多分モータードライバの信号線をそれぞれ逆にすればOKかな