From bf4484d02c6e744488561a79f28807dc32dba705 Mon Sep 17 00:00:00 2001
From: Hans-Christoph Steiner <hans@at.or.at>
Date: Fri, 12 Sep 2008 16:53:57 +0000
Subject: switched up analogRead() loop to use the revamped millis() function
 rather than the private timer0_overflow_count variable

---
 libraries/Firmata/examples/StandardFirmata/StandardFirmata.pde | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libraries/Firmata/examples/StandardFirmata/StandardFirmata.pde b/libraries/Firmata/examples/StandardFirmata/StandardFirmata.pde
index 40afcae..4cc8539 100644
--- a/libraries/Firmata/examples/StandardFirmata/StandardFirmata.pde
+++ b/libraries/Firmata/examples/StandardFirmata/StandardFirmata.pde
@@ -32,8 +32,8 @@ byte pinStatus[TOTAL_DIGITAL_PINS]; // store pin status, default OUTPUT
 byte portStatus[TOTAL_PORTS];
 
 /* timer variables */
-extern volatile unsigned long timer0_overflow_count; // timer0 from wiring.c
-unsigned long nextExecuteTime; // for comparison with timer0_overflow_count
+unsigned long currentMillis;     // store the current value from millis()
+unsigned long nextExecuteMillis; // for comparison with currentMillis
 
 
 /*==============================================================================
@@ -204,8 +204,9 @@ void loop()
 /* DIGITALREAD - as fast as possible, check for changes and output them to the
  * FTDI buffer using Serial.print()  */
     checkDigitalInputs();  
-    if(timer0_overflow_count > nextExecuteTime) {  
-        nextExecuteTime = timer0_overflow_count + 19; // run this every 20ms
+    currentMillis = millis();
+    if(currentMillis > nextExecuteMillis) {  
+        nextExecuteMillis = currentMillis + 19; // run this every 20ms
         /* SERIALREAD - Serial.read() uses a 128 byte circular buffer, so handle
          * all serialReads at once, i.e. empty the buffer */
         while(Firmata.available())
-- 
cgit v1.2.3-18-g5258