diff --git a/examples/TimeRTCLog/TimeRTCLog.ino b/examples/TimeRTCLog/TimeRTCLog.ino index 0b250c2..42fc3e4 100644 --- a/examples/TimeRTCLog/TimeRTCLog.ino +++ b/examples/TimeRTCLog/TimeRTCLog.ino @@ -1,24 +1,24 @@ /* - * TimeRTCLogger.pde + * TimeRTCLogger.ino * example code illustrating adding and subtracting Time. - * + * * this sketch logs pin state change events - * the time of the event and time since the previous event is calculated and sent to the serial port. + * the time of the event and time since the previous event is calculated and sent to the serial port. */ #include #include #include // a basic DS1307 library that returns time as a time_t -const int nbrInputPins = 6; // monitor 6 digital pins +const int nbrInputPins = 6; // monitor 6 digital pins const int inputPins[nbrInputPins] = {2,3,4,5,6,7}; // pins to monitor boolean state[nbrInputPins] ; // the state of the monitored pins time_t prevEventTime[nbrInputPins] ; // the time of the previous event void setup() { Serial.begin(9600); - setSyncProvider(RTC.get); // the function to sync the time from the RTC - for(int i=0; i < nbrInputPins; i++){ + setSyncProvider(RTC.get); // the function to sync the time from the RTC + for (int i=0; i < nbrInputPins; i++) { pinMode( inputPins[i], INPUT); // uncomment these lines if pull-up resistors are wanted // pinMode( inputPins[i], INPUT_PULLUP); @@ -28,19 +28,18 @@ void setup() { void loop() { - for(int i=0; i < nbrInputPins; i++) - { - boolean val = digitalRead(inputPins[i]); - if(val != state[i]) - { + for (int i=0; i < nbrInputPins; i++) { + boolean val = digitalRead(inputPins[i]); + if (val != state[i]) { time_t duration = 0; // the time since the previous event state[i] = val; time_t timeNow = now(); - if(prevEventTime[i] > 0) + if (prevEventTime[i] > 0) { // if this was not the first state change, calculate the time from the previous change - duration = duration = timeNow - prevEventTime[i]; + duration = timeNow - prevEventTime[i]; + } logEvent(inputPins[i], val, timeNow, duration ); // log the event - prevEventTime[i] = timeNow; // store the time for this event + prevEventTime[i] = timeNow; // store the time for this event } } } @@ -49,13 +48,14 @@ void logEvent( int pin, boolean state, time_t timeNow, time_t duration) { Serial.print("Pin "); Serial.print(pin); - if( state == HIGH) + if (state == HIGH) { Serial.print(" went High at "); - else + } else { Serial.print(" went Low at "); - showTime(timeNow); - if(duration > 0){ - // only display duration if greater than 0 + } + showTime(timeNow); + if (duration > 0) { + // only display duration if greater than 0 Serial.print(", Duration was "); showDuration(duration); } @@ -63,8 +63,9 @@ void logEvent( int pin, boolean state, time_t timeNow, time_t duration) } -void showTime(time_t t){ - // display the given time +void showTime(time_t t) +{ + // display the given time Serial.print(hour(t)); printDigits(minute(t)); printDigits(second(t)); @@ -73,7 +74,7 @@ void showTime(time_t t){ Serial.print(" "); Serial.print(month(t)); Serial.print(" "); - Serial.print(year(t)); + Serial.print(year(t)); } void printDigits(int digits){ @@ -84,24 +85,25 @@ void printDigits(int digits){ Serial.print(digits); } -void showDuration(time_t duration){ -// prints the duration in days, hours, minutes and seconds - if(duration >= SECS_PER_DAY){ +void showDuration(time_t duration) +{ + // prints the duration in days, hours, minutes and seconds + if (duration >= SECS_PER_DAY) { Serial.print(duration / SECS_PER_DAY); - Serial.print(" day(s) "); - duration = duration % SECS_PER_DAY; + Serial.print(" day(s) "); + duration = duration % SECS_PER_DAY; } - if(duration >= SECS_PER_HOUR){ + if (duration >= SECS_PER_HOUR) { Serial.print(duration / SECS_PER_HOUR); - Serial.print(" hour(s) "); - duration = duration % SECS_PER_HOUR; + Serial.print(" hour(s) "); + duration = duration % SECS_PER_HOUR; } - if(duration >= SECS_PER_MIN){ + if (duration >= SECS_PER_MIN) { Serial.print(duration / SECS_PER_MIN); - Serial.print(" minute(s) "); - duration = duration % SECS_PER_MIN; + Serial.print(" minute(s) "); + duration = duration % SECS_PER_MIN; } Serial.print(duration); - Serial.print(" second(s) "); + Serial.print(" second(s) "); }