SOFT564Z Group 3 / Mbed 2 deprecated SOFT564Z_Group_3_final

Dependencies:   mbed Servo ros_lib_kinetic

Motors/Motor.h

Committer:
Stumi
Date:
2019-12-10
Revision:
8:262c6c40bff9
Parent:
7:8248af58df5a
Child:
9:326b8f261ef0

File content as of revision 8:262c6c40bff9:

/*--------------------------------------------------------------------------------
Filename: TOF.h
Description: Header file for adafruit VL_6180X TOF sensor
--------------------------------------------------------------------------------*/
#ifndef MOTOR_H
#define MOTOR_H

#include "mbed.h"
#include "Buzzer.h"
#include <ros.h>
#include <std_msgs/UInt8.h>

/*--------------------------------------------------------------------------------
---------------------------------DEFINES------------------------------------------
--------------------------------------------------------------------------------*/

//MOTOR 1
#define M1_IN1  PC_6
#define M1_IN2  PB_15
#define M1_PWM  PB_13
#define M1_A    PA_4
#define M1_B    PB_12

//MOTOR 2
#define M2_IN1  PA_15
#define M2_IN2  PC_7
#define M2_PWM  PB_4
#define M2_A    PB_5
#define M2_B    PB_3

/*--------------------------------------------------------------------------------
---------------------------------CLASSES------------------------------------------
--------------------------------------------------------------------------------*/

// Class for managing connection and state to a VL6180X sensor

class cMotor
{
public:
    cMotor(PwmOut pwm, DigitalOut fwd, DigitalOut rev);  //Constructor, initialised motor pinouts
    void Forwards(float speed); //Drives motor forwards
    void Backwards(float speed);//Drives motor backwards
    void Stop();    //Stops both motors
private:
    PwmOut _pwm;
    DigitalOut _fwd;
    DigitalOut _rev;

};

/*--------------------------------------------------------------------------------
-----------------------------------Functions---------------------------------------
--------------------------------------------------------------------------------*/
void Check_for_obstacles(uint8_t TOFRange[4]); //Obstacle avoidance functionality
void update_power_levels(float vBatt);  //Sends power level to the LED class for further processing
void keySub(const std_msgs::UInt8 &keyPress);
/*--------------------------------------------------------------------------------
--------------------------------External Variables--------------------------------
--------------------------------------------------------------------------------*/
//extern cMotor MotorL;  //Left motor class and pin initialisation
//extern cMotor MotorR;  //Right motor class and pin initialisation

#endif