1

Committer:
taminhhien
Date:
Tue Sep 10 06:41:16 2019 +0000
Revision:
0:1cb528f651d6
123

Who changed what in which revision?

UserRevisionLine numberNew contents of line
taminhhien 0:1cb528f651d6 1 /* mbed Microcontroller Library
taminhhien 0:1cb528f651d6 2 * Copyright (c) 2018 ARM Limited
taminhhien 0:1cb528f651d6 3 * SPDX-License-Identifier: Apache-2.0
taminhhien 0:1cb528f651d6 4 */
taminhhien 0:1cb528f651d6 5
taminhhien 0:1cb528f651d6 6 #include "mbed.h"
taminhhien 0:1cb528f651d6 7 #include "ThisThread.h"
taminhhien 0:1cb528f651d6 8 #include "stats_report.h"
taminhhien 0:1cb528f651d6 9
taminhhien 0:1cb528f651d6 10 DigitalOut led1(LED1);
taminhhien 0:1cb528f651d6 11
taminhhien 0:1cb528f651d6 12 #define SLEEP_TIME 500 // (msec)
taminhhien 0:1cb528f651d6 13 #define PRINT_AFTER_N_LOOPS 20
taminhhien 0:1cb528f651d6 14
taminhhien 0:1cb528f651d6 15 // main() runs in its own thread in the OS
taminhhien 0:1cb528f651d6 16 int main()
taminhhien 0:1cb528f651d6 17 {
taminhhien 0:1cb528f651d6 18 SystemReport sys_state( SLEEP_TIME * PRINT_AFTER_N_LOOPS /* Loop delay time in ms */);
taminhhien 0:1cb528f651d6 19
taminhhien 0:1cb528f651d6 20 int count = 0;
taminhhien 0:1cb528f651d6 21 while (true) {
taminhhien 0:1cb528f651d6 22 // Blink LED and wait 0.5 seconds
taminhhien 0:1cb528f651d6 23 led1 = !led1;
taminhhien 0:1cb528f651d6 24 ThisThread::sleep_for(SLEEP_TIME);
taminhhien 0:1cb528f651d6 25
taminhhien 0:1cb528f651d6 26 if ((0 == count) || (PRINT_AFTER_N_LOOPS == count)) {
taminhhien 0:1cb528f651d6 27 // Following the main thread wait, report on the current system status
taminhhien 0:1cb528f651d6 28 sys_state.report_state();
taminhhien 0:1cb528f651d6 29 count = 0;
taminhhien 0:1cb528f651d6 30 }
taminhhien 0:1cb528f651d6 31 ++count;
taminhhien 0:1cb528f651d6 32 }
taminhhien 0:1cb528f651d6 33 }