Example software for a Cyclic Executive

Dependencies:   MCP23017 SDFileSystem WattBob_TextLCD mbed

Tasks.h

Committer:
sk398
Date:
2016-02-15
Revision:
2:22ebabd78084
Parent:
1:221d677fe0d3
Child:
3:c611b9bb5770

File content as of revision 2:22ebabd78084:

/* ###############################################################################
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
############################################################################### */

#ifndef _TASKS_H_
#define _TASKS_H_


// Global definitions
#define HIGH 1
#define LOW 0

// Task 1 definitions
#define WATCHDOG_PULSE_WIDTH 15

// Task 2 definitions

// Task 3 definitions

// Task 4 definitions

// Task 5 definitions

// Task 6 definitions


/* ####################### Class definitions and prototypes ####################### */

/* ==================================== Task 1 ==================================== */
// Measure freuqnecy
class Task1
{
public:
    Task1(PinName squareWaveInPin);
    int MeasureFreq();
        
private:
    
    DigitalIn *_squareWaveIn;
        
};


/* ==================================== Task 2 ==================================== */ 
// Digital Input
class Task2
{
public:
    Task2(PinName digitalInCheckPin);
        
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 digitalInCheckPin);
        
private:
    
    DigitalIn *_digitalInCheck;
        
};

/* ==================================== 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