See graph

Dependencies:   MCP23017 SDFileSystem WattBob_TextLCD mbed

Fork of Embedded_Software_Assignment_2 by Steven Kay

Committer:
sk398
Date:
Mon Feb 15 22:30:54 2016 +0000
Revision:
2:22ebabd78084
Parent:
1:221d677fe0d3
Child:
3:c611b9bb5770
All functional prototypes declared in header file.; Need to update class file to include constructor.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sk398 2:22ebabd78084 1 /* ###############################################################################
sk398 2:22ebabd78084 2 #
sk398 2:22ebabd78084 3 #
sk398 2:22ebabd78084 4 #
sk398 2:22ebabd78084 5 #
sk398 2:22ebabd78084 6 #
sk398 2:22ebabd78084 7 #
sk398 2:22ebabd78084 8 #
sk398 2:22ebabd78084 9 #
sk398 2:22ebabd78084 10 #
sk398 2:22ebabd78084 11 #
sk398 2:22ebabd78084 12 #
sk398 2:22ebabd78084 13 #
sk398 2:22ebabd78084 14 #
sk398 2:22ebabd78084 15 #
sk398 2:22ebabd78084 16 #
sk398 2:22ebabd78084 17 ############################################################################### */
sk398 2:22ebabd78084 18
sk398 1:221d677fe0d3 19 #ifndef _TASKS_H_
sk398 1:221d677fe0d3 20 #define _TASKS_H_
sk398 1:221d677fe0d3 21
sk398 2:22ebabd78084 22
sk398 2:22ebabd78084 23 // Global definitions
sk398 1:221d677fe0d3 24 #define HIGH 1
sk398 1:221d677fe0d3 25 #define LOW 0
sk398 1:221d677fe0d3 26
sk398 2:22ebabd78084 27 // Task 1 definitions
sk398 1:221d677fe0d3 28 #define WATCHDOG_PULSE_WIDTH 15
sk398 1:221d677fe0d3 29
sk398 2:22ebabd78084 30 // Task 2 definitions
sk398 2:22ebabd78084 31
sk398 2:22ebabd78084 32 // Task 3 definitions
sk398 2:22ebabd78084 33
sk398 2:22ebabd78084 34 // Task 4 definitions
sk398 2:22ebabd78084 35
sk398 2:22ebabd78084 36 // Task 5 definitions
sk398 2:22ebabd78084 37
sk398 2:22ebabd78084 38 // Task 6 definitions
sk398 2:22ebabd78084 39
sk398 2:22ebabd78084 40
sk398 2:22ebabd78084 41 /* ####################### Class definitions and prototypes ####################### */
sk398 1:221d677fe0d3 42
sk398 1:221d677fe0d3 43 /* ==================================== Task 1 ==================================== */
sk398 2:22ebabd78084 44 // Measure freuqnecy
sk398 1:221d677fe0d3 45 class Task1
sk398 1:221d677fe0d3 46 {
sk398 1:221d677fe0d3 47 public:
sk398 1:221d677fe0d3 48 Task1(PinName squareWaveInPin);
sk398 1:221d677fe0d3 49 int MeasureFreq();
sk398 1:221d677fe0d3 50
sk398 1:221d677fe0d3 51 private:
sk398 1:221d677fe0d3 52
sk398 1:221d677fe0d3 53 DigitalIn *_squareWaveIn;
sk398 1:221d677fe0d3 54
sk398 1:221d677fe0d3 55 };
sk398 1:221d677fe0d3 56
sk398 1:221d677fe0d3 57
sk398 1:221d677fe0d3 58 /* ==================================== Task 2 ==================================== */
sk398 2:22ebabd78084 59 // Digital Input
sk398 1:221d677fe0d3 60 class Task2
sk398 1:221d677fe0d3 61 {
sk398 1:221d677fe0d3 62 public:
sk398 1:221d677fe0d3 63 Task2(PinName digitalInCheckPin);
sk398 1:221d677fe0d3 64
sk398 1:221d677fe0d3 65 private:
sk398 1:221d677fe0d3 66
sk398 1:221d677fe0d3 67 DigitalIn *_digitalInCheck;
sk398 1:221d677fe0d3 68
sk398 1:221d677fe0d3 69 };
sk398 1:221d677fe0d3 70
sk398 1:221d677fe0d3 71
sk398 1:221d677fe0d3 72 /* ==================================== Task 3 ==================================== */
sk398 2:22ebabd78084 73 // Output watchdog pulse
sk398 1:221d677fe0d3 74 class Task3
sk398 1:221d677fe0d3 75 {
sk398 1:221d677fe0d3 76 public:
sk398 1:221d677fe0d3 77 Task3(PinName WatchdogPin);
sk398 1:221d677fe0d3 78 void OutputWatchdogPulse();
sk398 1:221d677fe0d3 79
sk398 1:221d677fe0d3 80 private:
sk398 1:221d677fe0d3 81 DigitalOut *_Watchdog;
sk398 1:221d677fe0d3 82 };
sk398 1:221d677fe0d3 83
sk398 1:221d677fe0d3 84
sk398 2:22ebabd78084 85 /* ==================================== Task 4 ==================================== */
sk398 2:22ebabd78084 86 // Read 2 analog inputs
sk398 2:22ebabd78084 87 class Task4
sk398 2:22ebabd78084 88 {
sk398 2:22ebabd78084 89 public:
sk398 2:22ebabd78084 90 Task4(PinName digitalInCheckPin);
sk398 2:22ebabd78084 91
sk398 2:22ebabd78084 92 private:
sk398 2:22ebabd78084 93
sk398 2:22ebabd78084 94 DigitalIn *_digitalInCheck;
sk398 2:22ebabd78084 95
sk398 2:22ebabd78084 96 };
sk398 1:221d677fe0d3 97
sk398 1:221d677fe0d3 98 /* ==================================== Task 5 ==================================== */
sk398 2:22ebabd78084 99 // Display outputs to LCD
sk398 2:22ebabd78084 100 class Task5
sk398 2:22ebabd78084 101 {
sk398 2:22ebabd78084 102 public:
sk398 2:22ebabd78084 103 Task5();
sk398 2:22ebabd78084 104
sk398 2:22ebabd78084 105 private:
sk398 2:22ebabd78084 106
sk398 2:22ebabd78084 107
sk398 2:22ebabd78084 108 };
sk398 2:22ebabd78084 109
sk398 2:22ebabd78084 110 /* ==================================== Task 6 ==================================== */
sk398 2:22ebabd78084 111 // Logical checks
sk398 2:22ebabd78084 112 class Task6
sk398 2:22ebabd78084 113 {
sk398 2:22ebabd78084 114 public:
sk398 2:22ebabd78084 115 Task5();
sk398 2:22ebabd78084 116
sk398 2:22ebabd78084 117 private:
sk398 2:22ebabd78084 118
sk398 2:22ebabd78084 119
sk398 2:22ebabd78084 120 };
sk398 2:22ebabd78084 121
sk398 2:22ebabd78084 122 /* ==================================== Task 7 ==================================== */
sk398 2:22ebabd78084 123 // Save data to SD Card
sk398 2:22ebabd78084 124 class Task7
sk398 2:22ebabd78084 125 {
sk398 2:22ebabd78084 126 public:
sk398 2:22ebabd78084 127 Task7();
sk398 2:22ebabd78084 128
sk398 2:22ebabd78084 129 private:
sk398 2:22ebabd78084 130
sk398 2:22ebabd78084 131
sk398 2:22ebabd78084 132 };
sk398 1:221d677fe0d3 133
sk398 1:221d677fe0d3 134 #endif