NagaokaRoboticsClub_mbedTeam / Mbed OS NHK2017_octopus2_arms

Dependencies:   2017NHKpin_config FEP ikarashiMDC

Fork of NHK2017_octopus2 by NagaokaRoboticsClub_mbedTeam

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?

UserRevisionLine numberNew 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 }