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
bot/slider/slider.cpp@16:50651ff960b9, 2017-09-25 (annotated)
- Committer:
- uchitake
- Date:
- Mon Sep 25 18:15:43 2017 +0900
- Branch:
- develop1
- Revision:
- 16:50651ff960b9
- Parent:
- 15:9aa11febe517
- Child:
- 18:78df87e20590
fix keybind
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
uchitake |
9:39be1525dfe0 | 1 | #include "slider.h" |
uchitake |
9:39be1525dfe0 | 2 | |
uchitake |
9:39be1525dfe0 | 3 | Slider::Slider(DigitalOut* RS485Controller, Serial* RS485) : |
uchitake |
16:50651ff960b9 | 4 | isReseted(false), |
uchitake |
9:39be1525dfe0 | 5 | slideMotor(RS485Controller, 1, 0, SM, RS485), |
uchitake |
16:50651ff960b9 | 6 | encoder(Sensor4pin1b, Sensor4pin1a, NC, PULSES_PER_REV), |
uchitake |
16:50651ff960b9 | 7 | limitSwitch(PWM3), |
uchitake |
16:50651ff960b9 | 8 | slideSerial(USBTX, USBRX, 115200) |
uchitake |
9:39be1525dfe0 | 9 | { |
uchitake |
9:39be1525dfe0 | 10 | slideMotor.braking = true; |
uchitake |
9:39be1525dfe0 | 11 | encoder.reset(); |
uchitake |
9:39be1525dfe0 | 12 | |
uchitake |
9:39be1525dfe0 | 13 | limitSwitch.rise(callback(this, &Slider::resetheight)); |
uchitake |
9:39be1525dfe0 | 14 | } |
uchitake |
9:39be1525dfe0 | 15 | |
uchitake |
9:39be1525dfe0 | 16 | void Slider::resetheight() |
uchitake |
9:39be1525dfe0 | 17 | { |
uchitake |
9:39be1525dfe0 | 18 | encoder.reset(); |
uchitake |
16:50651ff960b9 | 19 | isReseted = true; |
uchitake |
16:50651ff960b9 | 20 | slideSerial.printf("reseted\n\r"); |
uchitake |
9:39be1525dfe0 | 21 | } |
uchitake |
9:39be1525dfe0 | 22 | |
uchitake |
9:39be1525dfe0 | 23 | void Slider::slide(float speed) |
uchitake |
9:39be1525dfe0 | 24 | { |
uchitake |
16:50651ff960b9 | 25 | if(isReseted && encoder.getPulses() < 0 && speed < 0) speed = 0; |
uchitake |
16:50651ff960b9 | 26 | if(!isReseted && speed > 0) speed = 0; |
uchitake |
16:50651ff960b9 | 27 | if(encoder.getPulses() > 4700 && speed > 0) speed = 0; |
uchitake |
9:39be1525dfe0 | 28 | slideMotor.setSpeed(speed); |
uchitake |
16:50651ff960b9 | 29 | slideSerial.printf("%d\n\r", encoder.getPulses()); |
uchitake |
9:39be1525dfe0 | 30 | } |