NHK2017 octopus robot

Dependencies:   2017NHKpin_config mbed FEP ikarashiMDC PID jy901 omni HMC6352 omni_wheel

Fork of KANI2017v2 by NagaokaRoboticsClub_mbedTeam

Revision:
25:d199d621ecca
Parent:
24:9a4ca5442717
Child:
26:7258d5ad0bff
diff -r 9a4ca5442717 -r d199d621ecca bot/bot.cpp
--- a/bot/bot.cpp	Wed Sep 13 23:27:17 2017 +0900
+++ b/bot/bot.cpp	Sat Sep 30 17:59:10 2017 +0900
@@ -3,7 +3,7 @@
 Bot::Bot() :
     PIDC(),
     pad1(XBee1TX, XBee1RX, ADDR1),
-    //pad2(XBee2TX, XBee2RX, ADDR2),
+    pad2(XBee2TX, XBee2RX, ADDR2),
     RS485(MDTX, MDRX, 38400),
     RS485Controller(PWM2),
     powerSwitch(MDstop),
@@ -12,11 +12,11 @@
     nishijo(&RS485Controller, &RS485),
     nishijoSword(&RS485Controller, &RS485),
     receiveSuccessed1(0),
-    //receiveSuccessed2(0),
+    receiveSuccessed2(0),
     led({DebugLED1, DebugLED2, DebugLED3, DebugLED4,
         DebugLED5, DebugLED6, DebugLED7, DebugLED8}),
     test(PWM1),
-    debugSerial(USBTX, USBRX, 115200)
+    debugSerial(USBTX, USBRX, 230400)
 {
 
     test = 0;
@@ -39,7 +39,7 @@
 void Bot::confirmAll()
 {
     receiveSuccessed1 = pad1.receiveState();
-    //receiveSuccessed2 = pad2.receiveState();
+    receiveSuccessed2 = pad2.receiveState();
     if(!receiveSuccessed1) {
         quadOmni.moveXY(0, 0, 0);
         tentacle.stop();
@@ -48,18 +48,19 @@
 
 void Bot::controllDrive()
 {
+    test = !test;
     if(receiveSuccessed1) {
-        if(pad1.getNorm(1) > 0.5) {
-            PIDC::PID::setSetPoint((pad1.getRadian(1) - M_PI / 2) * (180.0 / M_PI));
+        if(pad1.getNorm(0) > 0.5) {
+            PIDC::PID::setSetPoint((pad1.getRadian(0) - M_PI / 2) * (180.0 / M_PI));
             PIDC::confirm();
         }
         //PIDC::confirm();
         PIDC::renewAngle();
-        test = !test;
+        //test = !test;
         quadOmni.moveXY(
             pad1.getStick(0) * 0.8,
             -pad1.getStick(1) * 0.8,
-            -pad1.getStick(2) * 0.4
+            pad1.getStick(2) * 0.4
              //PIDC::calculationResult
         );
         /*quadOmni.moveCircular(
@@ -109,19 +110,42 @@
 
 void Bot::controllMech()
 {
-    if(receiveSuccessed1) {
-        if(!pad1.getButton2(2)) tentacle.rightMove(TENTACLE_SPEED);
+    //nishijoSword.move(1.0);
+    if(receiveSuccessed2) {
+        /*if(!pad1.getButton2(2)) tentacle.rightMove(TENTACLE_SPEED);
         if(!pad1.getButton2(3)) tentacle.rightMove(-TENTACLE_SPEED);
         if(pad1.getButton2(2) && pad1.getButton2(3))  tentacle.rightMove(0);
 
         if(!pad1.getButton2(0)) tentacle.leftMove(TENTACLE_SPEED);
         if(!pad1.getButton2(1)) tentacle.leftMove(-TENTACLE_SPEED);
-        if(pad1.getButton2(0) && pad1.getButton2(1))  tentacle.leftMove(0);
+        if(pad1.getButton2(0) && pad1.getButton2(1))  tentacle.leftMove(0);*/
+
+        if(pad2.getStick(1) > 0){
+            tentacle.leftMove(pad2.getStick(1));
+        } else {
+            tentacle.leftMove(-TENTACLE_SPEED);
+        }
 
-        if(!pad1.getButton1(2) && !pad1.getButton1(3) && !pad1.getButton1(4) && !pad1.getButton1(5)) powerSwitch = 0;
+        if(pad2.getStick(3) > 0){
+            tentacle.leftMove(pad2.getStick(3));
+        } else {
+            tentacle.leftMove(-TENTACLE_SPEED);
+        }
+
+        if (!pad1.getButton2(3)) nishijoSword.move(WIND_UP_SPEED);
+        if (!pad1.getButton2(5)) nishijoSword.move(-WIND_UP_SPEED);
+        if(pad2.getButton2(3) && pad2.getButton2(5))  nishijoSword.move(0);
+
+        //test = !pad1.getButton1(5);
+
+        //if(!pad1.getButton1(6)) powerSwitch = 0;
+        //if(!pad1.getButton1(5)&&!pad1.getButton1(4)) powerSwitch = 1;
+
         //else powerSwitch = 1;
     } else {
       tentacle.stop();
+      nishijoSword.stop();
+      //test =0;
       //powerSwitch = 0;
     }
     /*if(receiveSuccessed2){
@@ -138,8 +162,13 @@
 void Bot::debugPrint()
 {
   if(receiveSuccessed1) {
-    //debugSerial.printf("%f %f %f %f \r\n",pad1.getStick(0),pad1.getStick(1),pad1.getStick(2),pad1.getStick(3));
-    //debugSerial.printf("%f %f %f\r\n", PIDC::beforeDegree, PIDC::rawDegree, PIDC::calculationResult);
+    debugSerial.printf("%f %f %f %f \r\n",pad1.getStick(0),pad1.getStick(1),pad1.getStick(2),pad1.getStick(3));
+  } else {
+    debugSerial.printf("\r\n");
+  }
+  if(receiveSuccessed2) {
+    debugSerial.printf("%f %f %f %f \r\n",pad2.getStick(0),pad2.getStick(1),pad2.getStick(2),pad2.getStick(3));
+
   } else {
     debugSerial.printf("\r\n");
   }