Colour sensors calibrated

Dependencies:   mbed-rtos mbed Servo QEI

Fork of ICRSEurobot13 by Thomas Branch

Committer:
twighk
Date:
Fri Mar 29 20:09:21 2013 +0000
Revision:
2:45da48fab346
Child:
4:1be0f6c6ceae
Emergency Stop Button, Derive all actuator classes from the base class, and implement a virtual halt function that releases power from them

Who changed what in which revision?

UserRevisionLine numberNew contents of line
twighk 2:45da48fab346 1 #ifndef __Actuator_h__
twighk 2:45da48fab346 2 #define __Actuator_h__
twighk 2:45da48fab346 3 // Eurobot13 Actuator.h
twighk 2:45da48fab346 4
twighk 2:45da48fab346 5 #include "mbed.h"
twighk 2:45da48fab346 6
twighk 2:45da48fab346 7 class Actuator {
twighk 2:45da48fab346 8 private:
twighk 2:45da48fab346 9 static Actuator *Head;
twighk 2:45da48fab346 10 Actuator *next;
twighk 2:45da48fab346 11
twighk 2:45da48fab346 12 public:
twighk 2:45da48fab346 13 Actuator(){
twighk 2:45da48fab346 14 next = NULL;
twighk 2:45da48fab346 15 if (Head == NULL){
twighk 2:45da48fab346 16 Head = this;
twighk 2:45da48fab346 17 } else {
twighk 2:45da48fab346 18 Actuator* nxt = Head;
twighk 2:45da48fab346 19 for(;nxt->next != NULL; nxt = nxt->next);
twighk 2:45da48fab346 20 nxt->next = this;
twighk 2:45da48fab346 21 }
twighk 2:45da48fab346 22 }
twighk 2:45da48fab346 23
twighk 2:45da48fab346 24 virtual void halt (void) = 0;
twighk 2:45da48fab346 25
twighk 2:45da48fab346 26 static void haltandCatchFire(void){
twighk 2:45da48fab346 27 //halt
twighk 2:45da48fab346 28 for(Actuator* nxt = Head; nxt != NULL; nxt = nxt->next){
twighk 2:45da48fab346 29 nxt->halt();
twighk 2:45da48fab346 30 }
twighk 2:45da48fab346 31 DigitalOut myled(LED1);
twighk 2:45da48fab346 32 myled = 1;
twighk 2:45da48fab346 33
twighk 2:45da48fab346 34 //catchFire
twighk 2:45da48fab346 35 while(true);
twighk 2:45da48fab346 36 }
twighk 2:45da48fab346 37
twighk 2:45da48fab346 38
twighk 2:45da48fab346 39 };
twighk 2:45da48fab346 40
twighk 2:45da48fab346 41 #endif