Stage-1 Students SoCEM / Mbed 2 deprecated ROCO104_base_Template

Dependencies:   mbed motor

motor.h

Committer:
martinsimpson
Date:
2018-12-17
Revision:
2:bc41daf2b0ce
Parent:
1:3ca91ad8e927

File content as of revision 2:bc41daf2b0ce:

#ifndef _MOTOR_H_
#define _MOTOR_H_
#include "mbed.h"

  namespace mbed {
  /** \addtogroup drivers */
  
  /** A Motor Driver, used for setting the pins for PWM Outpu
   *  for use with ROCO104
   *
   * @note Synchronization level: Interrupt safe
   *
   * Example:
   * @code
   * // Toggle a LED
   * #include "mbed.h"
   *
   * Motor Wheels(D15,D14,D13,D12);
   *
   * int main()
   * {    
   *     Wheel.Period_in_ms(2);//Set frequency of the PWMs 500Hz
   *     while(true)
   *     {
   *         Wheel.Speed(0.8,0.8);//Forward 80%
   *         wait(5.0);
   *         Wheel.stop();
   *         wait(1.0);
   *         Wheel.Speed(-0.8,-0.8);//Reverse 80%
   *         wait(5.0);
   *         Wheel.stop();
   *         wait(1.0);
   *     }
   * }
   * @endcode
   */
  } // namespace mbed

class Motor
{
public:
    Motor(PinName pinName1, PinName pinName2, PinName pinName3, PinName pinName4);
    void Fwd(float time);
    void Rev(float time);
    void Stop(void);
    int Speed(float speedA, float speedB);
    void Period_in_ms(int msPeriod);
private:
    PwmOut pin1;
    PwmOut pin2;
    PwmOut pin3;
    PwmOut pin4;
};

//int motor(float speedA, float speedB);

#endif