source: arduino-1-6-7/trunk/fuentes/arduino-ide-amd64/libraries/Bridge/examples/TimeCheck/TimeCheck.ino @ 46

Last change on this file since 46 was 46, checked in by jrpelegrina, 4 years ago

First release to Xenial

File size: 2.2 KB
Line 
1/*
2  Time Check
3
4 Gets the time from Linux via Bridge then parses out hours,
5 minutes and seconds for the Arduino using an Arduino Yún.
6
7 created  27 May 2013
8 modified 21 June 2013
9 By Tom Igoe
10
11 This example code is in the public domain.
12
13 http://www.arduino.cc/en/Tutorial/TimeCheck
14
15 */
16
17
18#include <Process.h>
19
20Process date;                 // process used to get the date
21int hours, minutes, seconds;  // for the results
22int lastSecond = -1;          // need an impossible value for comparison
23
24void setup() {
25  Bridge.begin();        // initialize Bridge
26  Serial.begin(9600);    // initialize serial
27
28  while (!Serial);              // wait for Serial Monitor to open
29  Serial.println("Time Check");  // Title of sketch
30
31  // run an initial date process. Should return:
32  // hh:mm:ss :
33  if (!date.running()) {
34    date.begin("date");
35    date.addParameter("+%T");
36    date.run();
37  }
38}
39
40void loop() {
41
42  if (lastSecond != seconds) { // if a second has passed
43    // print the time:
44    if (hours <= 9) {
45      Serial.print("0");  // adjust for 0-9
46    }
47    Serial.print(hours);
48    Serial.print(":");
49    if (minutes <= 9) {
50      Serial.print("0");  // adjust for 0-9
51    }
52    Serial.print(minutes);
53    Serial.print(":");
54    if (seconds <= 9) {
55      Serial.print("0");  // adjust for 0-9
56    }
57    Serial.println(seconds);
58
59    // restart the date process:
60    if (!date.running()) {
61      date.begin("date");
62      date.addParameter("+%T");
63      date.run();
64    }
65  }
66
67  //if there's a result from the date process, parse it:
68  while (date.available() > 0) {
69    // get the result of the date process (should be hh:mm:ss):
70    String timeString = date.readString();
71
72    // find the colons:
73    int firstColon = timeString.indexOf(":");
74    int secondColon = timeString.lastIndexOf(":");
75
76    // get the substrings for hour, minute second:
77    String hourString = timeString.substring(0, firstColon);
78    String minString = timeString.substring(firstColon + 1, secondColon);
79    String secString = timeString.substring(secondColon + 1);
80
81    // convert to ints,saving the previous second:
82    hours = hourString.toInt();
83    minutes = minString.toInt();
84    lastSecond = seconds;          // save to do a time comparison
85    seconds = secString.toInt();
86  }
87
88}
Note: See TracBrowser for help on using the repository browser.