VNG bot battle
Dependencies: BLE_API mbed nRF51822
MotorController.cpp
- Committer:
- bintech91
- Date:
- 2016-09-05
- Revision:
- 0:122d7bf3bbf0
File content as of revision 0:122d7bf3bbf0:
/* * MotorController.cpp * * Created on: Aug 23, 2016 * Author: tanpt */ #include "MotorController.h" DigitalOut MotorController::motorLeftDirection_(p25); PwmOut MotorController::motorLeftSpeed_(p23); DigitalOut MotorController::motorRightDirection_(p28); PwmOut MotorController::motorRightSpeed_(p24); DigitalOut MotorController::motorBoostSpeed_(p20); MotorController::MotorController() { motorRightDirection_ = DIRECTION_FORWARD; motorRightSpeed_.period_ms(1000); motorLeftDirection_ = DIRECTION_FORWARD; motorLeftSpeed_.period_ms(1000); } MotorController::~MotorController() { } int8_t MotorController::setMotorRight(Direction direction, uint16_t speed) { motorRightDirection_ = direction; motorRightSpeed_.pulsewidth_ms(speed); return 0; } int8_t MotorController::setMotorLeft(Direction direction, uint16_t speed) { motorLeftDirection_ = direction; motorLeftSpeed_.pulsewidth_ms(speed); return 0; } int8_t MotorController::moveForward(uint16_t speed) { motorRightDirection_ = DIRECTION_FORWARD; motorRightSpeed_.pulsewidth_ms(speed); motorLeftDirection_ = DIRECTION_FORWARD; motorLeftSpeed_.pulsewidth_ms(speed); return 0; } int8_t MotorController::moveBackward(uint16_t speed) { motorRightDirection_ = DIRECTION_BACKWARD; motorRightSpeed_.pulsewidth_ms(speed); motorLeftDirection_ = DIRECTION_BACKWARD; motorLeftSpeed_.pulsewidth_ms(speed); return 0; } int8_t MotorController::turnRight(uint16_t speed) { motorRightDirection_ = DIRECTION_BACKWARD; motorRightSpeed_.pulsewidth_ms(speed); motorLeftDirection_ = DIRECTION_FORWARD; motorLeftSpeed_.pulsewidth_ms(speed); return 0; } int8_t MotorController::turnLeft(uint16_t speed) { motorRightDirection_ = DIRECTION_FORWARD; motorRightSpeed_.pulsewidth_ms(speed); motorLeftDirection_ = DIRECTION_BACKWARD; motorLeftSpeed_.pulsewidth_ms(speed); return 0; } int8_t MotorController::moveBackRight(uint16_t speed) { motorRightDirection_ = DIRECTION_BACKWARD; motorRightSpeed_.pulsewidth_ms(speed); motorLeftDirection_ = DIRECTION_BACKWARD; motorLeftSpeed_.pulsewidth_ms(speed / 3); return 0; } int8_t MotorController::moveBackLeft(uint16_t speed) { motorRightDirection_ = DIRECTION_BACKWARD; motorRightSpeed_.pulsewidth_ms(speed / 3); motorLeftDirection_ = DIRECTION_BACKWARD; motorLeftSpeed_.pulsewidth_ms(speed); return 0; } int8_t MotorController::setBoost(BoostState state) { motorBoostSpeed_ = state; }