yes Spada / Mbed OS programme
Revision:
0:cbc40e6ff273
Child:
1:4010b3131918
diff -r 000000000000 -r cbc40e6ff273 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Feb 27 21:07:55 2019 +0000
@@ -0,0 +1,51 @@
+#include "mbed.h"
+#include "rtos.h"
+
+#include "Logger.h"
+#include "BusyWaiter.h"
+
+//  Set the used LED
+DigitalOut led1(LED1);
+
+//  Set the duration between the LED's blinking
+int wait_time = 1000;
+
+//  Set the basic waiting mechanism
+BusyWaiter busy_waiter;
+
+//  Set the logger handler
+Logger logger(true);
+
+int main () {
+    Logger logger(false);
+    
+    //  defining which waiting mechanism we want to use
+    bool deep_sleep_mode = true;
+    
+    logger.log("Entering blinking state.\n");
+    
+    while (true) {
+        //  Blink LED by inversing its state
+        led1 = !led1;
+
+        if (deep_sleep_mode) {
+            /*  As seen on the TP1's doc:
+             *  Using the ThisThread::sleep_for() method: this method allows the CPU to 
+             *  enter deep sleep mode and thus to reduce power consumption between events.
+             */
+            ThisThread::sleep_for(wait_time);
+        } else {
+            /*  As seen on the TP1's doc:
+                Using the BusyWaiter::wait() method - the class is provided to you and
+             *  you must include it into your project.
+             */
+            busy_waiter.wait(wait_time);
+        }
+        if (led1.read() == 0) {
+            logger.log("LED state: 0.\n");
+        } else {
+            logger.log("LED state: 1.\n");
+        }
+
+    }
+}
\ No newline at end of file