Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

01.00.05 - Initial release #4

Merged
merged 1 commit into from
Mar 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
Binary file added Documents/images/Blockdiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 25 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,34 @@
![GitHub release (latest by date)](https://img.shields.io/github/v/release/akkoyun/RV3028C7) ![arduino-library-badge](https://www.ardu-badge.com/badge/RV3028C7.svg?) ![Visits Badge](https://badges.pufler.dev/visits/akkoyun/RV3028C7) ![GitHub stars](https://img.shields.io/github/stars/akkoyun/RV3028C7?style=flat&logo=github) ![Updated Badge](https://badges.pufler.dev/updated/akkoyun/RV3028C7) ![PlatformIO Registry](https://badges.registry.platformio.org/packages/akkoyun/library/RV3028C7.svg)
[![Check Arduino](https://github.com/akkoyun/RV3028C7/actions/workflows/check-arduino.yml/badge.svg)](https://github.com/akkoyun/RV3028C7/actions/workflows/check-arduino.yml) [![Compile Examples](https://github.com/akkoyun/RV3028C7/actions/workflows/compile-examples.yml/badge.svg)](https://github.com/akkoyun/RV3028C7/actions/workflows/compile-examples.yml) [![Spell Check](https://github.com/akkoyun/RV3028C7/actions/workflows/spell-check.yml/badge.svg)](https://github.com/akkoyun/RV3028C7/actions/workflows/spell-check.yml)

Build - 01.00.04
Build - 01.00.05

---

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
**Abstract**

RV-3028-C7 is a SMT Real-Time Clock Module that incorporates an integrated CMOS circuit together with an XTAL. It operates under vacuum in a hermetically sealed ceramic package with metal lid.

The RV-3028-C7 real-time clock/calendar module with an automatic backup power switchover circuit is optimized for extreme low power consumption. It provides full RTC function with programmable counters, alarm, selectable interrupt and clock output functions and also a 32-bit UNIX Time counter. The internal EEPROM memory hosts all configuration settings and allows for additional user memory. An EEPROM Offset value allows compensating the frequency deviation of the 32.768 kHz clock.

This ultra small RTC module has been specially designed for miniature and cost sensitive high volume applications.

**Features**

* Extreme low power consumption: 45 nA @ 3 V
* Wide operating voltage range: 1.1 V to 5.5 V
* Time accuracy: Factory calibrated to ±1 ppm @ 25°C
* Backup Switch and Trickle Charge
* Provides year, month, date, weekday, hours, minutes and seconds
* 32 bit UNIX time counter
* External event input detection with time stamping
* 43 bytes non-volatile user memory, 2 bytes user RAM
* I²C-bus interface: 400 kHz
* Automotive qualification according to AEC-Q200 available

**Block Diagram**

<center><img src="/Documents/images/Blockdiagram.png" width="600"></center></br>

---

Expand Down
25 changes: 24 additions & 1 deletion keywords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,35 @@
#######################################
# Datatypes (KEYWORD1)
#######################################
RTC KEYWORD1

#######################################
# Methods and Functions (KEYWORD2)
#######################################
Begin KEYWORD2
Time_Stamp KEYWORD2
Get_Second KEYWORD2
Get_Minute KEYWORD2
Get_Hour KEYWORD2
Get_Week_Day KEYWORD2
Get_Date KEYWORD2
Get_Month KEYWORD2
Get_Year KEYWORD2
Set_Time KEYWORD2
Set_Second KEYWORD2
Set_Minute KEYWORD2
Set_Hour KEYWORD2
Set_Week_Day KEYWORD2
Set_Date KEYWORD2
Set_Month KEYWORD2
Set_Year KEYWORD2
Clear_UNIX_Time KEYWORD2
Get_UNIX_Time KEYWORD2
Enable_Timer KEYWORD2
Disable_Timer KEYWORD2
Set_Timer KEYWORD2
Day_of_Week KEYWORD2

#######################################
# Constants (LITERAL1)
#######################################

13 changes: 10 additions & 3 deletions library.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "RV3028",
"version": "1.0.4",
"keywords": "<Library_Keywords>",
"description": "<Library_Description>",
"version": "1.0.5",
"keywords": "RV3028, RTC, Timer, UNIX, Clock, Alarm, Calendar, Counter, I2C",
"description": "Basic library for the RV-3028-C7 RTC",
"authors":
{
"name": "Mehmet Gunce Akkoyun",
Expand All @@ -22,6 +22,13 @@
"type": "git",
"url": "https://github.com/akkoyun/RV3028C7.git"
},
"dependencies":
[
{
"owner": "akkoyun",
"name": "I2C_Functions"
}
],
"examples": [
{
"name": "Get Day of Week",
Expand Down
9 changes: 5 additions & 4 deletions library.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
name=RV3028
version=1.0.4
version=1.0.5
author=Gunce Akkoyun <akkoyun@me.com>
maintainer=Gunce Akkoyun <akkoyun@me.com>
sentence=<Library_Sentence>
paragraph=<Library_Paragraph>
category=Communication
sentence=Basic library for the RV-3028-C7 RTC
paragraph=RV3028 is a Real time Clock with low power consumption and high accuracy.
category=Timing
url=https://github.com/akkoyun/RV3028
architectures=*
includes=RV3028.h
types=Arduino
depends=I2C_Functions
17 changes: 4 additions & 13 deletions src/RV3028.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,22 @@
#include "RV3028.h"

// Library Functions
void RV3028::Begin(uint8_t _Mux_Channel) {

// Multiplexer Set
if (_Mux_Channel != 0) {
I2C.Set_Multiplexer(I2C.TCA9548.I2C_Address, _Mux_Channel);
_I2C_Multiplexer_Channel = _Mux_Channel;
}
bool RV3028::Begin(void) {

// Ticke Charger Disable
Disable_Trickle_Charger();

// Set 24h Format
if (is_12h_Clock()) Set_24h_Clock();

// Clear UNIX Time
Clear_UNIX_Time();

}

// Get Time Variables
String RV3028::Time_Stamp(void) {

// Multiplexer Set
if (_I2C_Multiplexer_Channel != 0) I2C.Set_Multiplexer(I2C.TCA9548.I2C_Address, _I2C_Multiplexer_Channel);

// Declare Timestamp Variable
char _Time_Stamp[25]; // dd-mm-yyyy hh.mm.ss

Expand Down Expand Up @@ -333,9 +327,6 @@ void RV3028::Disable_Timer(void) {
}
void RV3028::Set_Timer(bool _Repeat, uint16_t _Frequency, uint16_t _Value, bool _Interrupt, bool _Start, bool _Clock_Output) {

// Multiplexer Set
if (_I2C_Multiplexer_Channel != 0) I2C.Set_Multiplexer(I2C.TCA9548.I2C_Address, _I2C_Multiplexer_Channel);

// Disable Timer
Disable_Timer();

Expand Down
5 changes: 1 addition & 4 deletions src/RV3028.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class RV3028 {
public:

// Library Functions
void Begin(uint8_t _Mux_Channel);
bool Begin(void);

// Get Time Functions
String Time_Stamp(void);
Expand Down Expand Up @@ -60,9 +60,6 @@ class RV3028 {

private:

// Private Variables
uint8_t _I2C_Multiplexer_Channel = 0;

//
void Set_24h_Clock(void);
void Set_12h_Clock(void);
Expand Down