RTOS Template for ELEC35X 2019

main.cpp

Committer:
noutram
Date:
2019-09-25
Revision:
0:2f993270f60e

File content as of revision 0:2f993270f60e:

#include "mbed.h"
#include "ThisThread.h"
#include "stats_report.h"

DigitalOut led1(LED1);

#define SLEEP_TIME                  500 // (msec)
#define PRINT_AFTER_N_LOOPS         20

// main() runs in its own thread in the OS
// Serial BAUD set to max ( 926100 )

int main()
{
    SystemReport sys_state( SLEEP_TIME * PRINT_AFTER_N_LOOPS /* Loop delay time in ms */);

    int count = 0;
    while (true) {
        // Blink LED and wait 0.5 seconds
        led1 = !led1;
        ThisThread::sleep_for(SLEEP_TIME);



        //************************************************************************
        //                        Status Information
        //************************************************************************
        if ((count==0) || (count == PRINT_AFTER_N_LOOPS)) {
            // Following the main thread wait, report on the current system status
            sys_state.report_state();
            count = 0;
        }
        count++;
        //************************************************************************

    }
}