From fa2e701e23104e7b970294d44b4015a7e5928ffd Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
Date: Mon, 5 May 2014 14:09:23 +0100
Subject: [PATCH] examples, SDdatalogger: Add more comments; reduce power
 consumption.

---
 examples/SDdatalogger/boot.py       | 15 ++++++++-------
 examples/SDdatalogger/datalogger.py |  4 ++++
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/examples/SDdatalogger/boot.py b/examples/SDdatalogger/boot.py
index f5006df93..aa943fde9 100644
--- a/examples/SDdatalogger/boot.py
+++ b/examples/SDdatalogger/boot.py
@@ -8,17 +8,18 @@
 
 import pyb
 
-pyb.LED(3).on()
-pyb.delay(2000)
-pyb.LED(4).on()
-pyb.LED(3).off()
-switch = pyb.Switch()                   # check if switch was pressed decision phase
+pyb.LED(3).on()                 # indicate we are waiting for switch press
+pyb.delay(2000)                 # wait for user to maybe press the switch
+switch_value = pyb.Switch()()   # sample the switch at end of delay
+pyb.LED(3).off()                # indicate that we finished waiting for the switch
 
-if switch():
+pyb.LED(4).on()                 # indicate that we are selecting the mode
+
+if switch_value:
     pyb.usb_mode('CDC+MSC')
     pyb.main('cardreader.py')           # if switch was pressed, run this
 else:
     pyb.usb_mode('CDC+HID')
     pyb.main('datalogger.py')           # if switch wasn't pressed, run this
 
-pyb.LED(4).off()
+pyb.LED(4).off()                # indicate that we finished selecting the mode
diff --git a/examples/SDdatalogger/datalogger.py b/examples/SDdatalogger/datalogger.py
index dcac0091e..6123db7d2 100644
--- a/examples/SDdatalogger/datalogger.py
+++ b/examples/SDdatalogger/datalogger.py
@@ -11,6 +11,10 @@ switch = pyb.Switch()
 # loop
 while True:
 
+    # wait for interrupt
+    # this reduces power consumption while waiting for switch press
+    pyb.wfi()
+
     # start if switch is pressed
     if switch():
         pyb.delay(200)                      # delay avoids detection of multiple presses
-- 
GitLab