SmartLCD and RTC

Forum for posting topics and questions about anything.
RetroBoy
Posts: 73
Joined: Sat Feb 26, 2022 11:29 am
Location: U.K.

SmartLCD and RTC

Post by RetroBoy » Sun Mar 06, 2022 5:28 pm

Hi to all.

Now I know this might seem / sound stipid to others, but to myself it is not.
I have the 1602 SmartLCD, I get to print various tthings OK.
I also have the DS3231 RTC, which again I get to print to the Serial Viewer. It also keeps time, battery installed.
My problem is no matter how many times I try to get it to print the Time / Date / etc to the LCD, it fails miserably.
Is there a Sketch which combines the 2 above things into 1 already available ?

( P.S. by fails I mean it won't even compile, I get errors like it cannot find the RTClib, if I am in the LCD section; and
vise-versa if I am in the RTC section. I am new to programming in C so any help would be v.appreciative )

andrew
Site Admin
Posts: 1381
Joined: Sun Aug 05, 2012 4:15 pm

Re: Hobby Components 1602 SmartLCD (HCMODU0122)

Post by andrew » Mon Mar 07, 2022 9:42 am

How do you have the LCD connected (i.e. passive, AT command, or I2C mode)?
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

RetroBoy
Posts: 73
Joined: Sat Feb 26, 2022 11:29 am
Location: U.K.

Re: Hobby Components 1602 SmartLCD (HCMODU0122)

Post by RetroBoy » Mon Mar 07, 2022 11:39 am

Good Morning Andrew,

The RTC and SmartLCD are both I2C connected ( SCL & SDA ).
RTC 0x68 & LCD 0x27.

andrew
Site Admin
Posts: 1381
Joined: Sun Aug 05, 2012 4:15 pm

Re: Hobby Components 1602 SmartLCD (HCMODU0122)

Post by andrew » Mon Mar 07, 2022 4:11 pm

I've pasted below an example of how you can do it. Note that I've made a minor update to the HCRTC library (V0.4) that allows you to directly pass the output the GetTimestring() function to the SmartLCDs print function. You'll need to download it (viewtopic.php?f=58&t=1357) and replace the version you currently have in your arduino/libraries folder.


  1. #include "SmartLCDI2C.h"  
  2. #include <HCRTC.h>
  3.  
  4. #define I2CDS3231Add      0x68
  5. #define SMARTLCD_I2C_ADD 0x27
  6.  
  7. HCRTC     HCRTC;
  8. SmartLCD  SmartLCD(SMARTLCD_I2C_ADD);
  9.  
  10. void setup()
  11. {
  12.   SmartLCD.init();  
  13.   SmartLCD.Clear();
  14. }
  15.  
  16. void loop()
  17. {
  18.   // Read the current time from the RTC module
  19.   HCRTC.RTCRead(I2CDS3231Add);
  20.  
  21.   // Output the time to the SmartLCD
  22.   SmartLCD.CurPos(0, 0);
  23.   SmartLCD.Print(HCRTC.GetTimestring());
  24.    
  25.   // Wait a second before reading again
  26.   delay(1000);  
  27. }
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

RetroBoy
Posts: 73
Joined: Sat Feb 26, 2022 11:29 am
Location: U.K.

Re: Hobby Components 1602 SmartLCD (HCMODU0122)

Post by RetroBoy » Mon Mar 14, 2022 5:17 pm

Greetings Andrrew. Sorry for the long delay in getting back to your last update ( Age Illness ) ... anyway.

The code changes work brilliantly. Doing almost everything I need. I've been messing with the code in HCRTC/RTClib/etc trying to get the DS3231 Temperature to display. For what ever reason I end up with ' ... multiple definition of now.(whatever) ... '
when ever I include the RTClib & HCRTC together. However the only code that gets the TEMP reading is RTClib.
When I say messing I mean taking the RTClib code, stripping out everything NOTHING TO DO with Temperature ( Doing the same with the .h & .cpp files), then calling it for example MY_RTClib ( same for .h & .cpp ). It finds the files OK otherwise I would not get multiple Defs Errors. Any suggestions.

andrew
Site Admin
Posts: 1381
Joined: Sun Aug 05, 2012 4:15 pm

Re: Hobby Components 1602 SmartLCD (HCMODU0122)

Post by andrew » Wed Mar 16, 2022 9:00 am

Hope you're feeling better...
When I say messing I mean taking the RTClib code, stripping out everything NOTHING TO DO with Temperature ( Doing the same with the .h & .cpp files), then calling it for example MY_RTClib ( same for .h & .cpp ). It finds the files OK otherwise I would not get multiple Defs Errors. Any suggestions.
Removing code from library files is a bit of an odd thing to do. When you compile your sketch, the compiler is quite cleaver in this it will automatically remove any library code that isn't specifically used in your sketch. So removing the code yourself would be unnecessary. The main problem with editing library files is that if there is an update to the library, for example for a bug fix or a new feature, then you have to make all your changes to the new library all over again.

The best place to put any of your own code in in your main sketch, or later as you get more advanced in your own .cpp and .h files.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

RetroBoy
Posts: 73
Joined: Sat Feb 26, 2022 11:29 am
Location: U.K.

Re: Hobby Components 1602 SmartLCD (HCMODU0122)

Post by RetroBoy » Wed Mar 16, 2022 9:25 pm

Hi Andrew, Much better thanks ( change of meds ... yet again [ shake me I rattle :lol: ]).
So, simple reason for cut'n'paste job - this is MY code :

#include "Wire.h"
#include "RTClib.h"
#include "SmartLCDI2C.h"
#include <HCRTC.h>

#define I2CDS3231Add 0x68
#define SMARTLCD_I2C_ADD 0x27
#define DS3231_TEMPERATUREREG 0x11

HCRTC HCRTC;
SmartLCD SmartLCD(SMARTLCD_I2C_ADD);

void setup()
{
SmartLCD.init();
SmartLCD.Clear();
// Dim the Backlight
// 0 = OFF --- 10 = FULL
SmartLCD.Backlight(2);
}

void loop()
{
while (1)
{
// Read the current DATE from the RTC module
// Output to the SmartLCD
HCRTC.RTCRead(I2CDS3231Add);
SmartLCD.CurPos(0,0);
SmartLCD.Print( "SAE-" );
HCRTC.RTCRead(I2CDS3231Add);
SmartLCD.CurPos(0,4);
SmartLCD.Print( HCRTC.GetDatestring());
SmartLCD.CurPos(0,12);
SmartLCD.Print( "-RTC" );
// Read the current TIME from the RTC module
// Output to the SmartLCD
HCRTC.RTCRead(I2CDS3231Add);
SmartLCD.CurPos(1,4);
SmartLCD.Print(HCRTC.GetTimestring());
//
// Wait 1/10 of a second before reading again
// Using 1/10th Sec as at somepoint also want
// Temperature and Humidity on 2004 LCD
//
// SmartLCD.Print( "Temp : " );
// SmartLCD.Print( rtc.Temperature());
// SmartLCD.Print( " C" );
//
delay(100);
}
}


Very Simple, nothing HARD. Untill I Verify ... then I get this :

Arduino: 1.0.6 (Windows XP), Board: "Arduino Uno"
C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard -IC:\Program Files\Arduino\libraries\Wire -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Print_RTC_Data_to_SmartLCD.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Print_RTC_Data_to_SmartLCD.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard -IC:\Program Files\Arduino\libraries\Wire -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC -IC:\Program Files\Arduino\libraries\Wire\utility C:\Program Files\Arduino\libraries\Wire\Wire.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Wire\Wire.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard -IC:\Program Files\Arduino\libraries\Wire -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC -IC:\Program Files\Arduino\libraries\Wire\utility C:\Program Files\Arduino\libraries\Wire\utility\twi.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Wire\utility\twi.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard -IC:\Program Files\Arduino\libraries\Wire -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib\utility C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib\RTClib.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\RTClib\RTClib.cpp.o

C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib\RTClib.cpp:58: warning: only initialized variables can be placed into program memory area
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib\RTClib.cpp: In constructor 'DateTime::DateTime(uint32_t)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib\RTClib.cpp:92: warning: comparison between signed and unsigned integer expressions
C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard -IC:\Program Files\Arduino\libraries\Wire -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD\utility C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD\RTClib.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\SmartLCD\RTClib.cpp.o

C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD\RTClib.cpp:58: warning: only initialized variables can be placed into program memory area
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD\RTClib.cpp: In constructor 'DateTime::DateTime(uint32_t)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD\RTClib.cpp:92: warning: comparison between signed and unsigned integer expressions
C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard -IC:\Program Files\Arduino\libraries\Wire -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD\utility C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD\SmartLCDI2C.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\SmartLCD\SmartLCDI2C.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard -IC:\Program Files\Arduino\libraries\Wire -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC -IC:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC\utility C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\HCRTC\HCRTC.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\HCRTC\HCRTC.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\avr-libc\malloc.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\malloc.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\avr-libc\realloc.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\realloc.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\WInterrupts.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\WInterrupts.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\wiring.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\wiring_analog.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring_analog.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\wiring_digital.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring_digital.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\wiring_pulse.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring_pulse.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\wiring_shift.c -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring_shift.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\CDC.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\CDC.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\HardwareSerial.cpp.o

C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void store_char(unsigned char, ring_buffer*)':
C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:98: warning: comparison between signed and unsigned integer expressions
C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void __vector_18()':
C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:127: warning: unused variable 'c'
C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'void HardwareSerial::begin(long unsigned int, byte)':
C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:368: warning: unused variable 'current_config'
C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'virtual size_t HardwareSerial::write(uint8_t)':
C:\Program Files\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:467: warning: comparison between signed and unsigned integer expressions
C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\HID.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\HID.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\IPAddress.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\IPAddress.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\main.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\main.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\new.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\new.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\Print.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Print.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\Stream.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Stream.cpp.o

C:\Program Files\Arduino\hardware\arduino\cores\arduino\Stream.cpp: In member function 'bool Stream::find(char*)':
C:\Program Files\Arduino\hardware\arduino\cores\arduino\Stream.cpp:78: warning: deprecated conversion from string constant to 'char*'
C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\Tone.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Tone.cpp.o

C:\Program Files\Arduino\hardware\arduino\cores\arduino\Tone.cpp:119: warning: only initialized variables can be placed into program memory area
C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\USBCore.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\USBCore.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\WMath.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\WMath.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files\Arduino\hardware\arduino\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\variants\standard C:\Program Files\Arduino\hardware\arduino\cores\arduino\WString.cpp -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\WString.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\malloc.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\realloc.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\WInterrupts.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring_analog.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring_digital.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring_pulse.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\wiring_shift.c.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\CDC.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\HardwareSerial.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\HID.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\IPAddress.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\main.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\new.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Print.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Stream.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Tone.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\USBCore.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\WMath.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\WString.cpp.o

C:\Program Files\Arduino\hardware\tools\avr\bin\avr-gcc -Os -Wl,--gc-sections -mmcu=atmega328p -o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Print_RTC_Data_to_SmartLCD.cpp.elf C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Print_RTC_Data_to_SmartLCD.cpp.o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Wire\Wire.cpp.o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\Wire\utility\twi.c.o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\RTClib\RTClib.cpp.o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\SmartLCD\RTClib.cpp.o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\SmartLCD\SmartLCDI2C.cpp.o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\HCRTC\HCRTC.cpp.o C:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp\core.a -LC:\DOCUME~1\Pc-User\LOCALS~1\Temp\build3398481845188416786.tmp -lm

SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:80: multiple definition of `DateTime::DateTime(unsigned long)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:80: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:80: multiple definition of `DateTime::DateTime(unsigned long)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:80: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:107: multiple definition of `DateTime::DateTime(unsigned int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:107: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:107: multiple definition of `DateTime::DateTime(unsigned int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:107: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:118: multiple definition of `DateTime::DateTime(DateTime const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:118: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:118: multiple definition of `DateTime::DateTime(DateTime const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:118: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:137: multiple definition of `DateTime::DateTime(char const*, char const*)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:137: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:137: multiple definition of `DateTime::DateTime(char const*, char const*)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:137: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::dayOfTheWeek() const':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:183: multiple definition of `DateTime::dayOfTheWeek() const'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:183: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::unixtime() const':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:188: multiple definition of `DateTime::unixtime() const'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:188: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::secondstime() const':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:197: multiple definition of `DateTime::secondstime() const'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:197: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::operator+(TimeSpan const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:204: multiple definition of `DateTime::operator+(TimeSpan const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:204: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::operator-(TimeSpan const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:208: multiple definition of `DateTime::operator-(TimeSpan const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:208: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::operator-(DateTime const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:212: multiple definition of `DateTime::operator-(DateTime const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:212: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::operator<(DateTime const&) const':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:216: multiple definition of `DateTime::operator<(DateTime const&) const'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:216: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::operator==(DateTime const&) const':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:220: multiple definition of `DateTime::operator==(DateTime const&) const'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:220: first defined here
SmartLCD\RTClib.cpp.o: In function `TimeSpan':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:248: multiple definition of `TimeSpan::TimeSpan(long)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:248: first defined here
SmartLCD\RTClib.cpp.o: In function `TimeSpan':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:248: multiple definition of `TimeSpan::TimeSpan(long)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:248: first defined here
SmartLCD\RTClib.cpp.o: In function `TimeSpan':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:252: multiple definition of `TimeSpan::TimeSpan(int, signed char, signed char, signed char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:252: first defined here
SmartLCD\RTClib.cpp.o: In function `TimeSpan':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:252: multiple definition of `TimeSpan::TimeSpan(int, signed char, signed char, signed char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:252: first defined here
SmartLCD\RTClib.cpp.o: In function `TimeSpan':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:256: multiple definition of `TimeSpan::TimeSpan(TimeSpan const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:256: first defined here
SmartLCD\RTClib.cpp.o: In function `TimeSpan':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:256: multiple definition of `TimeSpan::TimeSpan(TimeSpan const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:256: first defined here
SmartLCD\RTClib.cpp.o: In function `TimeSpan::operator+(TimeSpan const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:260: multiple definition of `TimeSpan::operator+(TimeSpan const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:260: first defined here
SmartLCD\RTClib.cpp.o: In function `TimeSpan::operator-(TimeSpan const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:264: multiple definition of `TimeSpan::operator-(TimeSpan const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:264: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_Micros::adjustDrift(int)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:414: multiple definition of `RTC_Micros::adjustDrift(int)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:414: first defined here
SmartLCD\RTClib.cpp.o:(.data._ZN10RTC_Micros15microsPerSecondE+0x0): multiple definition of `RTC_Micros::microsPerSecond'
RTClib\RTClib.cpp.o:(.data._ZN10RTC_Micros15microsPerSecondE+0x0): first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_PCF8523::writeSqwPinMode(Pcf8523SqwPinMode)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:494: multiple definition of `RTC_PCF8523::writeSqwPinMode(Pcf8523SqwPinMode)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:494: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::writeSqwPinMode(Ds1307SqwPinMode)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:333: multiple definition of `RTC_DS1307::writeSqwPinMode(Ds1307SqwPinMode)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:333: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS3231::getTemperature()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:591: multiple definition of `RTC_DS3231::getTemperature()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:591: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS3231::now()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:543: multiple definition of `RTC_DS3231::now()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:543: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_PCF8523::calibrate(Pcf8523OffsetMode, signed char)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:501: multiple definition of `RTC_PCF8523::calibrate(Pcf8523OffsetMode, signed char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:501: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_PCF8523::now()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:462: multiple definition of `RTC_PCF8523::now()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:462: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_PCF8523::adjust(DateTime const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:443: multiple definition of `RTC_PCF8523::adjust(DateTime const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:443: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_PCF8523::initialized()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:433: multiple definition of `RTC_PCF8523::initialized()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:433: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::writenvram(unsigned char, unsigned char*, unsigned char)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:352: multiple definition of `RTC_DS1307::writenvram(unsigned char, unsigned char*, unsigned char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:352: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::writenvram(unsigned char, unsigned char)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:368: multiple definition of `RTC_DS1307::writenvram(unsigned char, unsigned char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:368: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::now()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:302: multiple definition of `RTC_DS1307::now()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:302: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::adjust(DateTime const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:289: multiple definition of `RTC_DS1307::adjust(DateTime const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:289: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::isrunning()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:279: multiple definition of `RTC_DS1307::isrunning()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:279: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS3231::writeSqwPinMode(Ds3231SqwPinMode)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:574: multiple definition of `RTC_DS3231::writeSqwPinMode(Ds3231SqwPinMode)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:574: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS3231::adjust(DateTime const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:526: multiple definition of `RTC_DS3231::adjust(DateTime const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:526: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS3231::lostPower()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:522: multiple definition of `RTC_DS3231::lostPower()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:522: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS3231::readSqwPinMode()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:560: multiple definition of `RTC_DS3231::readSqwPinMode()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:560: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_PCF8523::readSqwPinMode()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:479: multiple definition of `RTC_PCF8523::readSqwPinMode()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:479: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::readnvram(unsigned char*, unsigned char, unsigned char)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:340: multiple definition of `RTC_DS1307::readnvram(unsigned char*, unsigned char, unsigned char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:340: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::readnvram(unsigned char)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:362: multiple definition of `RTC_DS1307::readnvram(unsigned char)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:362: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::readSqwPinMode()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:319: multiple definition of `RTC_DS1307::readSqwPinMode()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:319: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS3231::begin()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:517: multiple definition of `RTC_DS3231::begin()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:517: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_PCF8523::begin()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:428: multiple definition of `RTC_PCF8523::begin()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:428: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_DS1307::begin()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:274: multiple definition of `RTC_DS1307::begin()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:274: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_Micros::now()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:418: multiple definition of `RTC_Micros::now()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:418: first defined here
SmartLCD\RTClib.cpp.o:(.bss._ZN10RTC_Micros10lastMicrosE+0x0): multiple definition of `RTC_Micros::lastMicros'
RTClib\RTClib.cpp.o:(.bss._ZN10RTC_Micros10lastMicrosE+0x0): first defined here
SmartLCD\RTClib.cpp.o:(.bss._ZN10RTC_Micros8lastUnixE+0x0): multiple definition of `RTC_Micros::lastUnix'
RTClib\RTClib.cpp.o:(.bss._ZN10RTC_Micros8lastUnixE+0x0): first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_Micros::adjust(DateTime const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:408: multiple definition of `RTC_Micros::adjust(DateTime const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:408: first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_Millis::now()':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:390: multiple definition of `RTC_Millis::now()'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:390: first defined here
SmartLCD\RTClib.cpp.o:(.bss._ZN10RTC_Millis10lastMillisE+0x0): multiple definition of `RTC_Millis::lastMillis'
RTClib\RTClib.cpp.o:(.bss._ZN10RTC_Millis10lastMillisE+0x0): first defined here
SmartLCD\RTClib.cpp.o:(.bss._ZN10RTC_Millis8lastUnixE+0x0): multiple definition of `RTC_Millis::lastUnix'
RTClib\RTClib.cpp.o:(.bss._ZN10RTC_Millis8lastUnixE+0x0): first defined here
SmartLCD\RTClib.cpp.o: In function `RTC_Millis::adjust(DateTime const&)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:383: multiple definition of `RTC_Millis::adjust(DateTime const&)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:383: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime::timestamp(DateTime::timestampOpt)':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:225: multiple definition of `DateTime::timestamp(DateTime::timestampOpt)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:225: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:160: multiple definition of `DateTime::DateTime(__FlashStringHelper const*, __FlashStringHelper const*)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:160: first defined here
SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:160: multiple definition of `DateTime::DateTime(__FlashStringHelper const*, __FlashStringHelper const*)'
RTClib\RTClib.cpp.o:C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\RTClib/RTClib.cpp:160: first defined here


Unfortunately needing to use RTClib as it is the only place with Temperature already built-in. Fully appreciative of your comments regarding if main libraries change/update but in my case I need to get Temp' from somewhere and somehow. With the errors above this is not a case that 'attrib' ( or any other DOS command ) can sort out.

andrew
Site Admin
Posts: 1381
Joined: Sun Aug 05, 2012 4:15 pm

Re: Hobby Components 1602 SmartLCD (HCMODU0122)

Post by andrew » Thu Mar 17, 2022 3:08 pm

Your example sketch compiles fine if you remove the include for the RTClib so the problem appears to be related to the RTC library.

What are you reading the temperature from? Do you have an RTC module that includes a temperature sensor? Have you checked that the RTClib library compiles fine on it's own sice you made modifications to it?

BTW as this issue is nothing to do with the SmartLCD it's off topic here so I will need move these posts to the general discussion area.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

RetroBoy
Posts: 73
Joined: Sat Feb 26, 2022 11:29 am
Location: U.K.

Re: Hobby Components 1602 SmartLCD (HCMODU0122)

Post by RetroBoy » Thu Mar 17, 2022 7:02 pm

Hi Andrew.

Agree in moving to General Topics. The ' include ' statements are the full .h files - I have not changed any of those.
So anything happening is from RTClib & HCRTC. Agreed if I dont include RTClib it works fine ... that is what I am using at present, the issue was HOW TO GET THE TEMPERATURE from a DS3231 to display if I am only using the HCRTC files. As HCRTC does not include any TEMPERATURE access, only really for DS1307, then I had/have not choice but to use RTClib. That's when all the issues started.

This is my current code :-

// -----------------------------------------------------
// With many thanks to the HC FORUM for the
// work put in to get this off the ground.
// The "SmartLCD" and "HCRTC" libraries
// do all the work - not me ! In time maybe
// at present NO .............
// -----------------------------------------------------
#include "Wire.h"
#include "SmartLCDI2C.h"
#include <HCRTC.h>

#define I2CDS3231Add 0x68 // DS3231 RTC ADDRESS
#define SMARTLCD_I2C_ADD 0x27 // LCD ADDRESS

// -----------------------------------------------------
// Set the TEMPERATURE Address of DS3231
// If using DS1307 RTC comment this line out as no Temp
// -----------------------------------------------------
#define DS3231_TEMPERATUREREG 0x11

HCRTC HCRTC;
SmartLCD SmartLCD(SMARTLCD_I2C_ADD);

void setup()
{
// Make sure we can TALK to the LCD
// Make sure LCD is CLEARED of ****
SmartLCD.init();
SmartLCD.Clear();
// Dim the Backlight
// 0 = OFF --- 10 = FULL
SmartLCD.Backlight(2);
// Adjust the Contrast
// Do Not want BLACK SQUARES
// 0 = FULL --- 255 NONE
SmartLCD.Contrast(75);
// Make sure Cursor NOT Blinking
// 0 = OFF --- 1 = ON
SmartLCD.CursorBlink(0);
// Print STATIC TEXT to Display. Do not want
// to keep printing what never changes.
// Remember this is for a 4 line LCD so
// ROWS are numbered 0 to 3 & Char Position
// Char Position is 0 to 19 i.e. 4 x 20
SmartLCD.CurPos(1,1);
SmartLCD.Print( "SAE" );
SmartLCD.CurPos(1,16);
SmartLCD.Print( "RTC" );
SmartLCD.CurPos(2,1);
SmartLCD.Print( "RTC" );
SmartLCD.CurPos(2,16);
SmartLCD.Print( "SAE" );
// Now lets print the DATE and Time

}

void loop()
{
while (1)
{

// Read the current DATE from the RTC module
// Output to the SmartLCD
HCRTC.RTCRead(I2CDS3231Add);
HCRTC.RTCRead(I2CDS3231Add);
// At some point include WDAY(array1)(array2)
// to show ACTUAL DAY. HCRTC.GetWeekday()
// gives the pointer to (array1) but may need to add
// int var to deduct 1 eg: int WDAY HCRTC.GetWeekday
// WDAY -- take 1 away ! Need to check this and my code
SmartLCD.CurPos(1,6);
SmartLCD.Print( HCRTC.GetDatestring());
// Read the current TIME from the RTC module
// Output to the SmartLCD
HCRTC.RTCRead(I2CDS3231Add);
SmartLCD.CurPos(2,6);
SmartLCD.Print(HCRTC.GetTimestring());
// Wait 1/10 of a second before reading again
// Using 1/10th Sec as At somepoint will include
// Temperature and Humidity on 2004 LCD

delay(100);

}
}

Then as I said as soon as I simply include RTClib to get the TEMP all the above errors in previous post occur.

andrew
Site Admin
Posts: 1381
Joined: Sun Aug 05, 2012 4:15 pm

Re: SmartLCD and RTC

Post by andrew » Fri Mar 18, 2022 11:15 am

Looking at the error messages you've posted it looks like you have more than one copy of the RTClib library in your arduino\libraries folder. For example you seem to have a copy of it within the SmartLCD library folder....

SmartLCD\RTClib.cpp.o: In function `DateTime':
C:\Documents and Settings\Pc-User\My Documents\Arduino\libraries\libraries\SmartLCD/RTClib.cpp:80: multiple definition of `DateTime::DateTime(unsigned long)'

You can only have one copy of each library within the Arduinos library folder otherwise you'll get the multiple definitions errors you're seeing. So have a look for extra copies of the RTClib and remove them, or at least move them out of the arduino libraries folder.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

Post Reply

Return to “General Discussion”