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: 2017NHKpin_config FEP ikarashiMDC
Fork of NHK2017_octopus2 by
Diff: bot/slider/slider.cpp
- Revision:
- 37:6b6616008e78
- Parent:
- 35:4608938f67c5
- Child:
- 42:00a2261fbd56
--- a/bot/slider/slider.cpp Mon Oct 09 09:22:44 2017 +0900
+++ b/bot/slider/slider.cpp Wed Oct 18 19:32:26 2017 +0900
@@ -1,33 +1,16 @@
#include "slider.h"
Slider::Slider(DigitalOut* RS485Controller, Serial* RS485) :
- isReseted(false),
slideMotor(RS485Controller, 1, 0, SM, RS485),
- encoder(Sensor4pin1b, Sensor4pin1a, NC, PULSES_PER_REV),
- limitSwitch(PWM3),
+ downLimitSwitch(PWM3),
+ upLimitSwitch(PWM4),
slideSerial(USBTX, USBRX, 115200)
{
slideMotor.braking = true;
- encoder.reset();
-
- if(limitSwitch.read() == true) {
- resetheight();
- }
- limitSwitch.rise(callback(this, &Slider::resetheight));
}
-void Slider::resetheight()
-{
- encoder.reset();
- isReseted = true;
- slideSerial.printf("reseted\n\r");
+void Slider::slide(float speed) {
+ if(downLimitSwitch && speed > 0) speed = 0;
+ if(upLimitSwitch && speed < 0) speed = 0;
+ slideMotor.setSpeed(speed);
}
-
-void Slider::slide(float speed)
-{
- if(isReseted && encoder.getPulses() < 0 && speed < 0) speed = 0;
- if(!isReseted && speed > 0) speed = 0;
- if(encoder.getPulses() > MAX_HEIGHT && speed > 0) speed = 0;
- slideMotor.setSpeed(-speed);
- slideSerial.printf("pulse: %d\n\r", encoder.getPulses());
-}
