Finn Quicke / Mbed 2 deprecated TDP3_ColourSensor_OOP

Dependencies:   mbed

Committer:
quickeman
Date:
Thu Mar 14 12:53:00 2019 +0000
Revision:
0:c3344ac96db1
Child:
1:e4320a230347
OOP version of colour detection program

Who changed what in which revision?

UserRevisionLine numberNew contents of line
quickeman 0:c3344ac96db1 1 #include "mbed.h"
quickeman 0:c3344ac96db1 2 #include "ColourSensor_H.h"
quickeman 0:c3344ac96db1 3
quickeman 0:c3344ac96db1 4 Ticker detectColour;
quickeman 0:c3344ac96db1 5 Timeout readColour;
quickeman 0:c3344ac96db1 6 Timeout reactivateColour;
quickeman 0:c3344ac96db1 7
quickeman 0:c3344ac96db1 8 int main() {
quickeman 0:c3344ac96db1 9 printf("Program has started\n\r");
quickeman 0:c3344ac96db1 10
quickeman 0:c3344ac96db1 11 ColourSensor ColourSensor(PTC16, PTC13, PTC12);
quickeman 0:c3344ac96db1 12
quickeman 0:c3344ac96db1 13 // Set call rate of colour detection function
quickeman 0:c3344ac96db1 14 detectColour.attach(callback(&ColourSensor, &ColourSensor::readIf), 1.0);
quickeman 0:c3344ac96db1 15
quickeman 0:c3344ac96db1 16 // Test LED
quickeman 0:c3344ac96db1 17 //testLED2.period(1.0);
quickeman 0:c3344ac96db1 18 //testLED2.write(0.5);
quickeman 0:c3344ac96db1 19
quickeman 0:c3344ac96db1 20 int firstLoop = 1;
quickeman 0:c3344ac96db1 21
quickeman 0:c3344ac96db1 22 while (1) {
quickeman 0:c3344ac96db1 23 // main program loop
quickeman 0:c3344ac96db1 24 if (firstLoop) {
quickeman 0:c3344ac96db1 25 printf("Main loop has started\n\r");
quickeman 0:c3344ac96db1 26 firstLoop--;
quickeman 0:c3344ac96db1 27 }
quickeman 0:c3344ac96db1 28
quickeman 0:c3344ac96db1 29 if (ColourSensor.toggleConst && ColourSensor.toggleA) {
quickeman 0:c3344ac96db1 30 // Call readColSenWhich after x seconds
quickeman 0:c3344ac96db1 31 printf("Toggle A\n\r");
quickeman 0:c3344ac96db1 32
quickeman 0:c3344ac96db1 33 readColour.attach(callback(&ColourSensor, &ColourSensor::readWhich), 0.4);
quickeman 0:c3344ac96db1 34
quickeman 0:c3344ac96db1 35 ColourSensor.toggleA = 0;
quickeman 0:c3344ac96db1 36 }
quickeman 0:c3344ac96db1 37
quickeman 0:c3344ac96db1 38 if (ColourSensor.toggleConst && ColourSensor.toggleB) {
quickeman 0:c3344ac96db1 39 // Process colour sensor data
quickeman 0:c3344ac96db1 40 printf("Toggle B\n\r");
quickeman 0:c3344ac96db1 41
quickeman 0:c3344ac96db1 42 ColourSensor.process();
quickeman 0:c3344ac96db1 43
quickeman 0:c3344ac96db1 44 reactivateColour.attach(callback(&ColourSensor, &ColourSensor::makeColourActive), 2.0);
quickeman 0:c3344ac96db1 45
quickeman 0:c3344ac96db1 46 ColourSensor.toggleB = 0;
quickeman 0:c3344ac96db1 47 }
quickeman 0:c3344ac96db1 48 }
quickeman 0:c3344ac96db1 49 }