RTC_NXP_Arduino 1.1.1
RTC driver device operation sample code for Arduino
|
#include <RTC_NXP.h>
Public Types | |
enum | reg_num { Control_1 , Control_2 , Control_3 , Control_4 , Control_5 , SR_Reset , _100th_Seconds , Seconds , Minutes , Hours , Days , Weekdays , Months , Years , Second_alarm , Minute_alarm , Hour_alarm , Day_alarm , Weekday_alarm , CLKOUT_ctl , Timestp_ctl1 , Sec_timestp1 , Min_timestp1 , Hour_timestp1 , Day_timestp1 , Mon_timestp1 , Year_timestp1 , Timestp_ctl2 , Sec_timestp2 , Min_timestp2 , Hour_timestp2 , Day_timestp2 , Mon_timestp2 , Year_timestp2 , Timestp_ctl3 , Sec_timestp3 , Min_timestp3 , Hour_timestp3 , Day_timestp3 , Mon_timestp3 , Year_timestp3 , Timestp_ctl4 , Sec_timestp4 , Min_timestp4 , Hour_timestp4 , Day_timestp4 , Mon_timestp4 , Year_timestp4 , Aging_offset , INT_A_MASK1 , INT_A_MASK2 , INT_B_MASK1 , INT_B_MASK2 , Watchdg_tim_ctl , Watchdg_tim_val } |
enum | periodic_int_select { DISABLE , EVERY_SECOND , EVERY_MINUTE } |
enum | timestamp_setting { LAST , FIRST } |
![]() | |
enum | reg_num { Control_1 , Control_2 , Control_3 , Control_4 , Control_5 , SR_Reset , _100th_Seconds , Seconds , Minutes , Hours , Days , Weekdays , Months , Years , Second_alarm , Minute_alarm , Hour_alarm , Day_alarm , Weekday_alarm , CLKOUT_ctl , Timestp_ctl1 , Sec_timestp1 , Min_timestp1 , Hour_timestp1 , Day_timestp1 , Mon_timestp1 , Year_timestp1 , Timestp_ctl2 , Sec_timestp2 , Min_timestp2 , Hour_timestp2 , Day_timestp2 , Mon_timestp2 , Year_timestp2 , Timestp_ctl3 , Sec_timestp3 , Min_timestp3 , Hour_timestp3 , Day_timestp3 , Mon_timestp3 , Year_timestp3 , Timestp_ctl4 , Sec_timestp4 , Min_timestp4 , Hour_timestp4 , Day_timestp4 , Mon_timestp4 , Year_timestp4 , Aging_offset , INT_A_MASK1 , INT_A_MASK2 , INT_B_MASK1 , INT_B_MASK2 , Watchdg_tim_ctl , Watchdg_tim_val } |
enum | periodic_int_select { DISABLE , EVERY_SECOND , EVERY_MINUTE } |
enum | timestamp_setting { LAST , FIRST } |
enum | clock_out_frequency { FREQ_32768_HZ , FREQ_16384_HZ , FREQ_8192_HZ , FREQ_4096_HZ , FREQ_2048_HZ , FREQ_1024_HZ , FREQ_1_HZ , FREQ_DISABLE } |
![]() | |
enum | board { NONE , ARDUINO_SHIELD } |
enum | alarm_setting { SECOND , MINUTE , HOUR , DAY , WEEKDAY } |
Public Member Functions | |
PCF2131_I2C (uint8_t i2c_address=(0xA6 > > 1)) | |
PCF2131_I2C (TwoWire &wire, uint8_t i2c_address=(0xA6 > > 1)) | |
virtual | ~PCF2131_I2C () |
time_t | time (time_t *tp) |
void | begin (void) |
bool | oscillator_stop (void) |
time_t | rtc_time (void) |
void | set (struct tm *now_tm) |
void | alarm (alarm_setting digit, int val) |
void | alarm (alarm_setting digit, int val, int int_sel) |
void | alarm_clear (void) |
void | alarm_disable (void) |
void | timestamp (int num, timestamp_setting ts_setting, int int_sel=0) |
time_t | timestamp (int num) |
uint8_t | int_clear (void) |
uint8_t | int_clear (uint8_t *state_p) |
void | periodic_interrupt_enable (periodic_int_select sel, int int_sel=0) |
void | reg_w (uint8_t reg_adr, uint8_t *data, int size) |
void | reg_w (uint8_t reg_adr, uint8_t data) |
void | reg_r (uint8_t reg_adr, uint8_t *data, int size) |
uint8_t | reg_r (uint8_t reg_adr) |
void | write_r8 (uint8_t reg, uint8_t val) |
uint8_t | read_r8 (uint8_t reg) |
void | bit_op8 (uint8_t reg, uint8_t mask, uint8_t value) |
![]() | |
PCF2131_base () | |
virtual | ~PCF2131_base () |
void | alarm (alarm_setting digit, int val, int int_sel) |
void | timestamp (int num, timestamp_setting ts_setting, int int_sel=0) |
time_t | timestamp (int num) |
uint8_t | int_clear (uint8_t *state_p) |
void | periodic_interrupt_enable (periodic_int_select sel, int int_sel=0) |
void | set_clock_out (clock_out_frequency freq) |
void | reset () |
void | otp_refresh () |
![]() | |
RTC_NXP () | |
virtual | ~RTC_NXP () |
time_t | time (time_t *tp) |
Additional Inherited Members | |
![]() | |
![]() | |
![]() | |
static uint8_t | bcd2dec (uint8_t v) |
static uint8_t | dec2bcd (uint8_t v) |
PCF2131_I2C class
PCF2131 class driver using I2C interface
enum PCF2131_I2C::reg_num |
PCF2131_I2C::PCF2131_I2C | ( | uint8_t | i2c_address = (0xA6 >> 1) | ) |
Create a PCF2131_I2C instance specified address
i2c_address | I2C-bus address (default: (0xBC>>1)) |
Definition at line 3 of file PCF2131_I2C.cpp.
PCF2131_I2C::PCF2131_I2C | ( | TwoWire & | wire, |
uint8_t | i2c_address = (0xA6 >> 1) ) |
Create a PCF2131_I2C instance connected to specified I2C pins with specified address
wire | TwoWire instance |
i2c_address | I2C-bus address (default: (0xBC>>1)) |
Definition at line 7 of file PCF2131_I2C.cpp.
|
virtual |
Destructor
Definition at line 11 of file PCF2131_I2C.cpp.
|
virtual |
Alarm setting
digit | to specify which parameter to set: SECOND, MINUTE, HOUR, DAY, WEEKDAY in 'enum alarm_setting' |
val | Setting value. Set 0x80 to disabling |
Reimplemented from PCF2131_base.
void PCF2131_I2C::alarm | ( | alarm_setting | digit, |
int | val, | ||
int | int_sel ) |
Alarm setting
digit | to specify which parameter to set: SECOND, MINUTE, HOUR, DAY, WEEKDAY in 'enum alarm_setting' |
val | Setting value. Set 0x80 to disabling |
int_sel | Interrupt output selector. ) for INT_A, 1 for INT_B |
|
virtual |
Alarm interrupt disable
Reimplemented from PCF2131_base.
|
virtual |
Interrupt clear
Reimplemented from PCF2131_base.
|
virtual |
Initializer Just clears penginf interrupt
Reimplemented from PCF2131_base.
void PCF2131_I2C::bit_op8 | ( | uint8_t | reg, |
uint8_t | mask, | ||
uint8_t | value ) |
Register overwriting with bit-mask
Register can be updated by bit level
reg | register index/address/pointer |
mask | bit-mask to protect overwriting |
value | value to overwrite |
uint8_t PCF2131_I2C::int_clear | ( | uint8_t * | state_p | ) |
Interrupt clear
|
virtual |
Interrupt clear
Reimplemented from PCF2131_base.
|
virtual |
Detector for oscillation stop
Reimplemented from PCF2131_base.
void PCF2131_I2C::periodic_interrupt_enable | ( | periodic_int_select | sel, |
int | int_sel = 0 ) |
Enabling every second/minute interrupt
sel | choose DISABLE, EVERY_SECOND or EVERY_MINUTE in 'enum periodic_int_select' |
int_sel | Interrupt output selector. ) for INT_A, 1 for INT_B |
uint8_t PCF2131_I2C::read_r8 | ( | uint8_t | reg | ) |
Register read, 8 bit
reg | register index/address/pointer |
uint8_t PCF2131_I2C::reg_r | ( | uint8_t | reg_adr | ) |
Single register read
reg | register index/address/pointer |
void PCF2131_I2C::reg_r | ( | uint8_t | reg_adr, |
uint8_t * | data, | ||
int | size ) |
Multiple register read
reg | register index/address/pointer |
data | pointer to data buffer |
size | data size |
void PCF2131_I2C::reg_w | ( | uint8_t | reg_adr, |
uint8_t * | data, | ||
int | size ) |
Multiple register write
reg | register index/address/pointer |
data | pointer to data buffer |
size | data size |
void PCF2131_I2C::reg_w | ( | uint8_t | reg_adr, |
uint8_t | data ) |
Single register write
reg | register index/address/pointer |
data | pointer to data buffer |
size | data size |
|
virtual |
|
virtual |
time_t PCF2131_I2C::time | ( | time_t * | tp | ) |
time
"time()" in "time.h" compatible method for RTC
tp | pointer to time_t variable |
time_t PCF2131_I2C::timestamp | ( | int | num | ) |
Getting timestamp info
num | timestamp number: 1~4 |
void PCF2131_I2C::timestamp | ( | int | num, |
timestamp_setting | ts_setting, | ||
int | int_sel = 0 ) |
Timestamp setting
num | timestamp number: 1~4 |
ts_setting | event recording option. Choose LAST or FIRST in 'enum timestamp_setting' |
int_sel | Interrupt output selector. ) for INT_A, 1 for INT_B |
void PCF2131_I2C::write_r8 | ( | uint8_t | reg, |
uint8_t | val ) |
Register write, 8 bit
reg | register index/address/pointer |
val | data value |