trafficlight

Committer:
twjfransen
Date:
Tue Jun 05 07:09:37 2018 +0000
Revision:
0:62a4e92ec581
Traffic light lib

Who changed what in which revision?

UserRevisionLine numberNew contents of line
twjfransen 0:62a4e92ec581 1 #include "mbed.h"
twjfransen 0:62a4e92ec581 2 #include "traffic_light.h"
twjfransen 0:62a4e92ec581 3
twjfransen 0:62a4e92ec581 4 trafficLight::trafficLight(PinName r, PinName g, PinName b)
twjfransen 0:62a4e92ec581 5 : rpin(r)
twjfransen 0:62a4e92ec581 6 , gpin(g)
twjfransen 0:62a4e92ec581 7 , bpin(b)
twjfransen 0:62a4e92ec581 8 {};
twjfransen 0:62a4e92ec581 9
twjfransen 0:62a4e92ec581 10 void trafficLight::setState(lightState s) {
twjfransen 0:62a4e92ec581 11 switch (s) {
twjfransen 0:62a4e92ec581 12 case RED: red(); break; //Change led color
twjfransen 0:62a4e92ec581 13 case ORANGE: orange(); break; //
twjfransen 0:62a4e92ec581 14 case GREEN: green(); break; //
twjfransen 0:62a4e92ec581 15 }
twjfransen 0:62a4e92ec581 16 currState = s; //Change current state
twjfransen 0:62a4e92ec581 17 }
twjfransen 0:62a4e92ec581 18
twjfransen 0:62a4e92ec581 19 void trafficLight::clear() { //Clear the led color
twjfransen 0:62a4e92ec581 20 PwmLED(rpin, 0);
twjfransen 0:62a4e92ec581 21 PwmLED(gpin, 0);
twjfransen 0:62a4e92ec581 22 PwmLED(bpin, 0);
twjfransen 0:62a4e92ec581 23
twjfransen 0:62a4e92ec581 24 }
twjfransen 0:62a4e92ec581 25
twjfransen 0:62a4e92ec581 26 void trafficLight::red() { //Change led to red
twjfransen 0:62a4e92ec581 27 clear();
twjfransen 0:62a4e92ec581 28 PwmLED(rpin, 255);
twjfransen 0:62a4e92ec581 29 }
twjfransen 0:62a4e92ec581 30
twjfransen 0:62a4e92ec581 31 void trafficLight::orange() { //Change led to orange
twjfransen 0:62a4e92ec581 32 clear();
twjfransen 0:62a4e92ec581 33 PwmLED(rpin, 255);
twjfransen 0:62a4e92ec581 34 PwmLED(gpin, 42);
twjfransen 0:62a4e92ec581 35 PwmLED(bpin, 0);
twjfransen 0:62a4e92ec581 36 };
twjfransen 0:62a4e92ec581 37
twjfransen 0:62a4e92ec581 38 void trafficLight::green() { //Change led to green
twjfransen 0:62a4e92ec581 39 clear();
twjfransen 0:62a4e92ec581 40 PwmLED(gpin, 255);
twjfransen 0:62a4e92ec581 41 }