Example software for a Cyclic Executive
Dependencies: MCP23017 SDFileSystem WattBob_TextLCD mbed
Tasks.h
- Committer:
- sk398
- Date:
- 2016-02-26
- Revision:
- 4:b85bc0d810e1
- Parent:
- 3:c611b9bb5770
- Child:
- 5:250f51c80ac1
File content as of revision 4:b85bc0d810e1:
/* ##################################################################### Tasks.h ------- Embedded Software - Assignment 2 -------------------------------- Written by: Steven Kay Date: February 2016 Function: This Version: 1.0 Version History --------------- 1.1 rgdfgdfgdfggdfgdg 1.0 gdgddfdddgd ##################################################################### */ #ifndef _TASKS_H_ #define _TASKS_H_ // Global definitions #define HIGH 1 #define LOW 0 #define TRUE 1 #define FALSE 0 // Task 1 definitions #define WATCHDOG_PULSE_WIDTH 15 // Task 2 definitions // Task 3 definitions // Task 4 definitions #define NUM_ANALOG_SAMPLES 4.0 // Task 5 definitions // Task 6 definitions /* ####################### Class definitions and prototypes ####################### */ /* ==================================== Task 1 ==================================== */ // Measure freuqnecy class Task1 { public: Task1(PinName squareWaveInPin); int ReadFrequency(); private: Timer _Task1Timer; void MeasureFrequency(); void StopCounter(); volatile int measuredFrequency; InterruptIn *_squareWaveIn; }; /* ==================================== Task 2 ==================================== */ // Digital Input class Task2 { public: Task2(PinName digitalInCheckPin); bool digitalInState(); private: DigitalIn *_digitalInCheck; }; /* ==================================== Task 3 ==================================== */ // Output watchdog pulse class Task3 { public: Task3(PinName WatchdogPin); void OutputWatchdogPulse(); private: DigitalOut *_Watchdog; }; /* ==================================== Task 4 ==================================== */ // Read 2 analog inputs class Task4 { public: Task4(PinName Analog1Pin,PinName Analog2Pin); float *returnAnalogReadings(); private: AnalogIn *_AnalogIn1; AnalogIn *_AnalogIn2; }; // ///* ==================================== Task 5 ==================================== */ //// Display outputs to LCD //class Task5 //{ //public: // Task5(); // //private: // // //}; // ///* ==================================== Task 6 ==================================== */ //// Logical checks //class Task6 //{ //public: // Task5(); // //private: // // //}; // ///* ==================================== Task 7 ==================================== */ //// Save data to SD Card //class Task7 //{ //public: // Task7(); // //private: // // //}; #endif