NagaokaRoboticsClub_mbedTeam / Mbed OS NHK2017_octopus2_drive

Dependencies:   2017NHKpin_config FEP R1307 PID ikarashiMDC omni_wheel

Fork of NHK2017_octopus2 by NagaokaRoboticsClub_mbedTeam

Files at this revision

API Documentation at this revision

Comitter:
uchitake
Date:
Mon Sep 25 18:15:43 2017 +0900
Branch:
develop1
Parent:
15:9aa11febe517
Child:
17:79fa65706f92
Commit message:
fix keybind

Changed in this revision

bot/bot.cpp Show annotated file Show diff for this revision Revisions of this file
bot/slider/slider.cpp Show annotated file Show diff for this revision Revisions of this file
bot/slider/slider.h Show annotated file Show diff for this revision Revisions of this file
--- a/bot/bot.cpp	Sun Sep 17 00:53:01 2017 +0900
+++ b/bot/bot.cpp	Mon Sep 25 18:15:43 2017 +0900
@@ -34,7 +34,9 @@
 void Bot::confirmAll()
 {
     receiveSuccessed = pad.receiveState();
-if(!pad.getButton2(3)) powerSwitch = 0;
+    if(!pad.getButton2(3) && !pad.getButton2(0)) {
+        powerSwitch = 0;
+    }
     led[0] = receiveSuccessed;
     if(!receiveSuccessed) {
         quadOmni.moveXY(0, 0, 0);
@@ -110,15 +112,16 @@
 //        if(!pad.getButton1(4)) motor.shakeHead(-ARM_MAX_SPEED);
 //        if(pad.getButton1(3) && pad.getButton1(4)) motor.shakeHead(0);
 //
-        if(!pad.getButton1(5)) armMotor[SWORD].setSpeed(0.6);
-        if(!pad.getButton1(6)) armMotor[SWORD].setSpeed(-0.6);
-        if(pad.getButton1(5) && pad.getButton1(6)) armMotor[SWORD].setSpeed(-0.0);
+        if(!pad.getButton1(6)) {
+            armMotor[SWORD].setSpeed(0.6);
+        }
+        if(pad.getButton1(6)) armMotor[SWORD].setSpeed(0.0);
 
         if(!pad.getButton1(3)) slider.slide(1.0);
         if(!pad.getButton1(4)) slider.slide(-1.0);
         if(pad.getButton1(3) && pad.getButton1(4)) slider.slide(0.0);
 
-        if(!pad.getButton2(4)) {
+        if(!pad.getButton2(1)) {
             armMotor[DESTROY].setSpeed(-1.0);
         } else {
             armMotor[DESTROY].setSpeed(0.0);
--- a/bot/slider/slider.cpp	Sun Sep 17 00:53:01 2017 +0900
+++ b/bot/slider/slider.cpp	Mon Sep 25 18:15:43 2017 +0900
@@ -1,9 +1,11 @@
 #include "slider.h"
 
 Slider::Slider(DigitalOut* RS485Controller, Serial* RS485) :
+	isReseted(false),
 	slideMotor(RS485Controller, 1, 0, SM, RS485),
-	encoder(Sensor4pin1a, Sensor4pin1b, NC, PULSES_PER_REV),
-	limitSwitch(Sensor3pin3a)
+	encoder(Sensor4pin1b, Sensor4pin1a, NC, PULSES_PER_REV),
+	limitSwitch(PWM3),
+	slideSerial(USBTX, USBRX, 115200)
 {
 	slideMotor.braking = true;
 	encoder.reset();
@@ -14,9 +16,15 @@
 void Slider::resetheight()
 {
 	encoder.reset();
+	isReseted = true;
+	slideSerial.printf("reseted\n\r");
 }
 
 void Slider::slide(float speed)
 {
+	if(isReseted && encoder.getPulses() < 0 && speed < 0) speed = 0;
+	if(!isReseted && speed > 0) speed = 0;
+	if(encoder.getPulses() > 4700 && speed > 0) speed = 0;
 	slideMotor.setSpeed(speed);
+	slideSerial.printf("%d\n\r", encoder.getPulses());
 }
--- a/bot/slider/slider.h	Sun Sep 17 00:53:01 2017 +0900
+++ b/bot/slider/slider.h	Mon Sep 25 18:15:43 2017 +0900
@@ -6,7 +6,7 @@
 #include "ikarashiMDC.h"
 #include "QEI.h"
 
-const int PULSES_PER_REV = 6;
+const int PULSES_PER_REV = 720;
 
 class Slider {
 public:
@@ -15,10 +15,12 @@
 	void slide(float speed);
 private:
 	void resetheight();
+	bool isReseted;
 
 	ikarashiMDC slideMotor;
 	QEI encoder;
 	InterruptIn limitSwitch;
+	Serial slideSerial;
 };
 
 #endif