Hello all, and please help!
I downloaded Time library. But, I have compile error. Here is a code:
/*
* TimeSerial.pde
* example code illustrating Time library set through serial port messages.
*
* Messages consist of the letter T followed by ten digit time (as seconds since Jan 1 1970)
* you can send the text on the next line using Serial Monitor to set the clock to noon Jan 1 2010
T1262347200
*
* A Processing example sketch to automatically send the messages is inclided in the download
*/
#include <Time.h>
#define TIME_MSG_LEN 11 // time sync to PC is HEADER followed by unix time_t as ten ascii digits
#define TIME_HEADER 'T' // Header tag for serial time sync message
#define TIME_REQUEST 7 // ASCII bell character requests a time sync message
void setup() {
Serial.begin(9600);
setSyncProvider( requestSync); //set function to call when sync required
Serial.println("Waiting for sync message");
}
void loop(){
if(Serial.available() )
{
processSyncMessage();
}
if(timeStatus()!= timeNotSet)
{
digitalWrite(13,timeStatus() == timeSet); // on if synced, off if needs refresh
digitalClockDisplay();
}
delay(1000);
}
void digitalClockDisplay(){
// digital clock display of the time
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
}
void printDigits(int digits){
// utility function for digital clock display: prints preceding colon and leading 0
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}
void processSyncMessage() {
// if time sync available from serial port, update time and return true
while(Serial.available() >= TIME_MSG_LEN ){ // time message consists of a header and ten ascii digits
char c = Serial.read() ;
Serial.print(c);
if( c == TIME_HEADER ) {
time_t pctime = 0;
for(int i=0; i < TIME_MSG_LEN -1; i++){
c = Serial.read();
if( c >= '0' && c <= '9'){
pctime = (10 * pctime) + (c - '0') ; // convert digits to a number
}
}
setTime(pctime); // Sync Arduino clock to the time received on the serial port
}
}
}
time_t requestSync()
{
Serial.print(TIME_REQUEST,BYTE);
return 0; // the time will be sent later in response to serial mesg
}
and errors:
TimeSerial.cpp: In function 'time_t requestSync()':
TimeSerial.pde:-1: error: 'BYTE' was not declared in this scope
As of Arduino 1.0, the 'BYTE' keyword is no longer supported.
Please use Serial.write() instead.
First, I change BYTE to byte. After that I have this error:
TimeSerial.cpp: In function 'time_t requestSync()':
TimeSerial.pde:-1: error: expected primary-expression before ')' token
Thanks for not prompt reply.
I have read all the posts, and I have not managed to solve the problem.
I tried that example, "Time" to copy the folder Ekamples - I get the same error.
In one post, I found it necessary to replace BYTE with byte (0). After that there have been other errors:
In file included from D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:53:
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial/WiFlySerial.h:199: error: 'SoftwareSerial' does not name a type
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In constructor 'WiFlySerial::WiFlySerial(byte, byte)':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:329: error: class 'WiFlySerial' does not have any field named 'uart'
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:350: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'int WiFlySerial::ScanForPattern(char*, int, const char*, boolean, long unsigned int, boolean)':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:464: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'boolean WiFlySerial::StartCommandMode(char*, int)':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:549: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:575: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:581: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'boolean WiFlySerial::GetCmdPrompt()':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:622: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'boolean WiFlySerial::SendCommand(char*, char*, char*, int, boolean, long unsigned int, boolean, boolean)':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:695: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'virtual int WiFlySerial::peek()':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:1747: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'virtual size_t WiFlySerial::write(uint8_t)':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:1750: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'virtual int WiFlySerial::read()':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:1760: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'virtual int WiFlySerial::available()':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:1776: error: 'uart' was not declared in this scope
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp: In member function 'virtual void WiFlySerial::flush()':
D:\Downloads\Programs\arduino-1.0.1-windows\arduino-1.0.1\libraries\WiFlySerial\WiFlySerial.cpp:1779: error: 'uart' was not declared in this scope