ICRS Eurobot 2013

Dependencies:   mbed mbed-rtos Servo QEI

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Arm.h Source File

Arm.h

00001 
00002 // Eurobot13 WhiteArm.h
00003 
00004 #include "mbed.h"
00005 #include "Servo.h"
00006 
00007 class Arm : public Servo
00008 {
00009 private:
00010     bool updirn;
00011 
00012 public:
00013     Arm ( PinName yellowPWM
00014         , bool upflip = false
00015         , float range = 0.0005, float degrees = 45.0
00016         ) 
00017         : Servo(yellowPWM) 
00018         {
00019         calibrate(range, degrees);
00020         updirn = upflip;
00021     }
00022 
00023     void operator()(float in) {
00024         write(in);
00025     }
00026 
00027     void clockwise() { // full lock clockwise
00028         write(updirn?1:0);
00029     }
00030 
00031     void anticlockwise() { // full lock anticlockwise
00032         write(updirn?0:1);
00033     }
00034     
00035     virtual void halt() { // servo applies no force
00036         //DigitalOut myled(LED3);
00037         //myled = 1;
00038         _pwm = 0;
00039     }
00040 };
00041 
00042 
00043 /*
00044 class Servo{
00045     private:
00046     PwmOut PWM;
00047 
00048     public:
00049     Servo(PinName pin1) : PWM(pin1){
00050     }
00051 
00052     void operator()(float in){
00053         PWM = in;
00054     }
00055 
00056     void clockwise() { // full lock clockwise
00057         PWM = .135;
00058     }
00059 
00060     void anticlockwise() { // full lock anticlockwise
00061         PWM = .025;
00062     }
00063 
00064     void relax() { // servo applies no force
00065         PWM = 0;
00066     }
00067 
00068 };
00069 */