![](/media/cache/profiles/8138ec4f8dbf9991f277b91dd462de7d.jpg.50x50_q85.png)
Example software for a Cyclic Executive
Dependencies: MCP23017 SDFileSystem WattBob_TextLCD mbed
Tasks.cpp@1:221d677fe0d3, 2016-02-15 (annotated)
- Committer:
- sk398
- Date:
- Mon Feb 15 22:17:47 2016 +0000
- Revision:
- 1:221d677fe0d3
- Parent:
- 0:5989ac10c4d3
- Child:
- 2:22ebabd78084
Converted to a single header file and .cpp file with all the associated tasks contained.; ; This will be adapted throughout developing the tasks independently, using OO principles.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sk398 | 1:221d677fe0d3 | 1 | #include "mbed.h" |
sk398 | 1:221d677fe0d3 | 2 | #include "Tasks.h" |
sk398 | 1:221d677fe0d3 | 3 | |
sk398 | 1:221d677fe0d3 | 4 | |
sk398 | 1:221d677fe0d3 | 5 | /* ==================================== Task 1 ==================================== */ |
sk398 | 1:221d677fe0d3 | 6 | Task1::Task1(PinName squareWaveInPin) |
sk398 | 1:221d677fe0d3 | 7 | { |
sk398 | 1:221d677fe0d3 | 8 | Timer Task1Timer; |
sk398 | 1:221d677fe0d3 | 9 | _squareWaveIn = new DigitalIn(squareWaveInPin); |
sk398 | 1:221d677fe0d3 | 10 | } |
sk398 | 1:221d677fe0d3 | 11 | |
sk398 | 1:221d677fe0d3 | 12 | int Task1::MeasureFreq() |
sk398 | 1:221d677fe0d3 | 13 | { |
sk398 | 1:221d677fe0d3 | 14 | |
sk398 | 1:221d677fe0d3 | 15 | } |
sk398 | 1:221d677fe0d3 | 16 | |
sk398 | 1:221d677fe0d3 | 17 | |
sk398 | 1:221d677fe0d3 | 18 | /* ==================================== Task 2 ==================================== */ |
sk398 | 1:221d677fe0d3 | 19 | |
sk398 | 1:221d677fe0d3 | 20 | Task2::Task2(PinName digitalInCheckPin) |
sk398 | 1:221d677fe0d3 | 21 | { |
sk398 | 1:221d677fe0d3 | 22 | _digitialInCheck = new DigitalOut(digitalInCheckPin); |
sk398 | 1:221d677fe0d3 | 23 | } |
sk398 | 1:221d677fe0d3 | 24 | |
sk398 | 1:221d677fe0d3 | 25 | |
sk398 | 1:221d677fe0d3 | 26 | /* ==================================== Task 3 ==================================== */ |
sk398 | 1:221d677fe0d3 | 27 | Task3::Task3(PinName WatchdogPin) |
sk398 | 1:221d677fe0d3 | 28 | { |
sk398 | 1:221d677fe0d3 | 29 | _Watchdog = new DigitalOut(WatchdogPin); |
sk398 | 1:221d677fe0d3 | 30 | } |
sk398 | 1:221d677fe0d3 | 31 | |
sk398 | 1:221d677fe0d3 | 32 | void Task3::OutputWatchdogPulse() |
sk398 | 1:221d677fe0d3 | 33 | { |
sk398 | 1:221d677fe0d3 | 34 | _Watchdog -> write(HIGH); |
sk398 | 1:221d677fe0d3 | 35 | wait_ms(WATCHDOG_PULSE_WIDTH); |
sk398 | 1:221d677fe0d3 | 36 | _Watchdog -> write(LOW); |
sk398 | 1:221d677fe0d3 | 37 | } |
sk398 | 1:221d677fe0d3 | 38 | |
sk398 | 1:221d677fe0d3 | 39 | |
sk398 | 1:221d677fe0d3 | 40 | /* ==================================== Task 4 ==================================== */ |