Skip to content

Commit

Permalink
Major Changes
Browse files Browse the repository at this point in the history
Added PCF8523 and lot of fixes.
  • Loading branch information
cvmanjoo committed Aug 19, 2022
1 parent 1965d83 commit e2fc67c
Show file tree
Hide file tree
Showing 27 changed files with 1,251 additions and 314 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

.vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static DS1307 RTC;

Expand Down Expand Up @@ -45,8 +45,8 @@ void setup()

Serial.println("No");
Serial.println("Setting Time");
//RTC.setHourMode(CLOCK_H12);
RTC.setHourMode(CLOCK_H24);
RTC.setHourMode(CLOCK_H12);
//RTC.setHourMode(CLOCK_H24);
RTC.setDateTime(__DATE__, __TIME__);
Serial.println("New Time Set");
Serial.print(__DATE__);
Expand Down
2 changes: 1 addition & 1 deletion examples/DS1307/DS1307_Info/DS1307_Info.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static DS1307 RTC;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static DS1307 RTC;

Expand Down
2 changes: 1 addition & 1 deletion examples/DS1307/NVRAM_String/NVRAM_String.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static NVRAM NVRAM;

Expand Down
2 changes: 1 addition & 1 deletion examples/DS1307/nvram_clear/nvram_clear.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static NVRAM NVRAM;

Expand Down
2 changes: 1 addition & 1 deletion examples/DS1307/nvram_read/nvram_read.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static NVRAM NVRAM;

Expand Down
2 changes: 1 addition & 1 deletion examples/DS1307/setOutPin/setOutPin.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

/*
LOW 0
Expand Down
2 changes: 1 addition & 1 deletion examples/DS3231/DS3231_Auto/DS3231_Auto.ino
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static DS3231 RTC;

Expand Down
2 changes: 1 addition & 1 deletion examples/DS3231/DS3231_Epoch/DS3231_Epoch.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static DS3231 RTC;

Expand Down
2 changes: 1 addition & 1 deletion examples/DS3231/DS3231_Info/DS3231_Info.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static DS3231 RTC;

Expand Down
2 changes: 1 addition & 1 deletion examples/DS3231/DS3231_Manual/DS3231_Manual.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static DS3231 RTC;

Expand Down
64 changes: 64 additions & 0 deletions examples/PCF8523/PCF8523_Auto/PCF8523_Auto.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@

#include <Wire.h>
#include <I2C_RTC.h>

static PCF8523 RTC;

void setup()
{
Serial.begin(9600);
RTC.begin();

//RTC.stopClock();

Serial.print("Is Clock Running: ");
if (RTC.isRunning())
{
Serial.println("Yes");
Serial.print(RTC.getDay());
Serial.print("-");
Serial.print(RTC.getMonth());
Serial.print("-");
Serial.print(RTC.getYear());
Serial.print(" ");
Serial.print(RTC.getHours());
Serial.print(":");
Serial.print(RTC.getMinutes());
Serial.print(":");
Serial.print(RTC.getSeconds());
Serial.print("");
if (RTC.getHourMode() == CLOCK_H12)
{
switch (RTC.getMeridiem()) {
case HOUR_AM:
Serial.print(" AM");
break;
case HOUR_PM:
Serial.print(" PM");
break;
}
}
Serial.println("");
delay(1000);
}
else
{
delay(200);

Serial.println("No");
Serial.println("Setting Time");
RTC.setHourMode(CLOCK_H12);
//RTC.setHourMode(CLOCK_H24);
RTC.setDateTime(__DATE__, __TIME__);
Serial.println("New Time Set");
Serial.print(__DATE__);
Serial.print(" ");
Serial.println(__TIME__);
RTC.startClock();
}
}

void loop()
{

}
48 changes: 48 additions & 0 deletions examples/PCF8523/PCF8523_Info/PCF8523_Info.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#include <Wire.h>
#include <I2C_RTC.h>

static PCF8523 RTC;

void setup()
{
Serial.begin(9600);
RTC.begin();

Serial.println();
Serial.println("*** RTC PCF8523 ***");
Serial.print("Is Clock Running : ");
if (RTC.isRunning())
Serial.println("Yes");
else
Serial.println("No");
/*
Serial.print("Battery Status : ");
if (RTC.isBatteryLow())
Serial.println("Low");
else
Serial.println("Good");
*/
//RTC.set

}

void loop()
{

Serial.print(RTC.getDay());
Serial.print("-");
Serial.print(RTC.getMonth());
Serial.print("-");
Serial.print(RTC.getYear());

Serial.print(" ");

Serial.print(RTC.getHours());
Serial.print(":");
Serial.print(RTC.getMinutes());
Serial.print(":");
Serial.print(RTC.getSeconds());
Serial.println(" ");

delay(1000);
}
87 changes: 87 additions & 0 deletions examples/PCF8523/PCF8523_Manual/PCF8523_Manual.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
#include <Wire.h>
#include <RTC.h>

static PCF8523 RTC;

void setup()
{
Serial.begin(9600);
RTC.begin();

RTC.setHourMode(CLOCK_H12);
//RTC.setHourMode(CLOCK_H24);



RTC.setDay(22);
RTC.setMonth(5);
RTC.setYear(2020);

RTC.setHours(28);
RTC.setMinutes(47);
RTC.setSeconds(56);

RTC.setWeek(1);

//RTC.setDate(22,07,29);
//RTC.setTime(22,10,20);

if (RTC.getHourMode() == CLOCK_H12)
{
//RTC.setMeridiem(HOUR_AM);
}
}

void loop()
{

switch (RTC.getWeek())
{
case 1:
Serial.print("SUN");
break;
case 2:
Serial.print("MON");
break;
case 3:
Serial.print("TUE");
break;
case 4:
Serial.print("WED");
break;
case 5:
Serial.print("THU");
break;
case 6:
Serial.print("FRI");
break;
case 7:
Serial.print("SAT");
break;
}
Serial.print(" ");
Serial.print(RTC.getDay());
Serial.print("-");
Serial.print(RTC.getMonth());
Serial.print("-");
Serial.print(RTC.getYear());

Serial.print(" ");

Serial.print(RTC.getHours());
Serial.print(":");
Serial.print(RTC.getMinutes());
Serial.print(":");
Serial.print(RTC.getSeconds());
Serial.print(" ");

if (RTC.getHourMode() == CLOCK_H12)
{
if(RTC.getMeridiem() == HOUR_AM)
Serial.println(" AM");
if (RTC.getMeridiem() == HOUR_PM)
Serial.println(" PM");
}
delay(1000);

}
2 changes: 1 addition & 1 deletion examples/PCF8563/PCF8563_Auto/PCF8563_Auto.ino
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static PCF8563 RTC;

Expand Down
2 changes: 1 addition & 1 deletion examples/PCF8563/PCF8563_Epoch/PCF8563_Epoch.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static PCF8563 RTC;

Expand Down
2 changes: 1 addition & 1 deletion examples/PCF8563/PCF8563_Info/PCF8563_Info.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static PCF8563 RTC;

Expand Down
2 changes: 1 addition & 1 deletion examples/PCF8563/PCF8563_Manual/PCF8563_Manual.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static PCF8563 RTC;

Expand Down
7 changes: 5 additions & 2 deletions examples/Stop_Clock/Stop_Clock.ino
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#include <Wire.h>
#include <RTC.h>
#include <I2C_RTC.h>

static DS3231 RTC;
//static DS1307 RTC;
static DS3231 RTC;
//static PCF8563 RTC;
//static PCF8523 RTC;


void setup()
{
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ sentence=Library for I2C based RTCs (DS1307, DS3231, PCF8563).
paragraph=Enables the functionality for clock reading, clock setting, alarms and timers of I2C RTCs.
category=Timing
url=https://github.com/cvmanjoo/RTC
architectures=*
architectures=avr,mbed_nano,mbed_rp2040
Loading

0 comments on commit e2fc67c

Please sign in to comment.