RTC_NXP_Arduino 1.1.1
RTC driver device operation sample code for Arduino
Loading...
Searching...
No Matches
PCF2131_I2C Class Reference

#include <RTC_NXP.h>

Inheritance diagram for PCF2131_I2C:
PCF2131_base RTC_NXP

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 }
 
- Public Types inherited from PCF2131_base
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
}
 
- Public Types inherited from RTC_NXP
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)
 
- Public Member Functions inherited from PCF2131_base
 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 ()
 
- Public Member Functions inherited from RTC_NXP
 RTC_NXP ()
 
virtual ~RTC_NXP ()
 
time_t time (time_t *tp)
 

Additional Inherited Members

- Protected Member Functions inherited from PCF2131_base
- Protected Member Functions inherited from RTC_NXP
- Static Protected Member Functions inherited from RTC_NXP
static uint8_t bcd2dec (uint8_t v)
 
static uint8_t dec2bcd (uint8_t v)
 

Detailed Description

PCF2131_I2C class

PCF2131 class driver using I2C interface

Definition at line 293 of file RTC_NXP.h.

Member Enumeration Documentation

◆ periodic_int_select

Periodic interrupt selection descriptor

Definition at line 329 of file RTC_NXP.h.

◆ reg_num

Name of the PCF2131 registers

Definition at line 314 of file RTC_NXP.h.

◆ timestamp_setting

Timestamp setting descriptor

Definition at line 335 of file RTC_NXP.h.

Constructor & Destructor Documentation

◆ PCF2131_I2C() [1/2]

PCF2131_I2C::PCF2131_I2C ( uint8_t i2c_address = (0xA6 >> 1))

Create a PCF2131_I2C instance specified address

Parameters
i2c_addressI2C-bus address (default: (0xBC>>1))

Definition at line 3 of file PCF2131_I2C.cpp.

◆ PCF2131_I2C() [2/2]

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

Parameters
wireTwoWire instance
i2c_addressI2C-bus address (default: (0xBC>>1))

Definition at line 7 of file PCF2131_I2C.cpp.

◆ ~PCF2131_I2C()

PCF2131_I2C::~PCF2131_I2C ( )
virtual

Destructor

Definition at line 11 of file PCF2131_I2C.cpp.

Member Function Documentation

◆ alarm() [1/2]

void PCF2131_I2C::alarm ( alarm_setting digit,
int val )
virtual

Alarm setting

Parameters
digitto specify which parameter to set: SECOND, MINUTE, HOUR, DAY, WEEKDAY in 'enum alarm_setting'
valSetting value. Set 0x80 to disabling

Reimplemented from PCF2131_base.

◆ alarm() [2/2]

void PCF2131_I2C::alarm ( alarm_setting digit,
int val,
int int_sel )

Alarm setting

Parameters
digitto specify which parameter to set: SECOND, MINUTE, HOUR, DAY, WEEKDAY in 'enum alarm_setting'
valSetting value. Set 0x80 to disabling
int_selInterrupt output selector. ) for INT_A, 1 for INT_B

◆ alarm_clear()

void PCF2131_I2C::alarm_clear ( void )
virtual

Alarm interrupt disable

Reimplemented from PCF2131_base.

◆ alarm_disable()

void PCF2131_I2C::alarm_disable ( void )
virtual

Interrupt clear

Reimplemented from PCF2131_base.

◆ begin()

void PCF2131_I2C::begin ( void )
virtual

Initializer Just clears penginf interrupt

Reimplemented from PCF2131_base.

◆ bit_op8()

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

Parameters
regregister index/address/pointer
maskbit-mask to protect overwriting
valuevalue to overwrite

◆ int_clear() [1/2]

uint8_t PCF2131_I2C::int_clear ( uint8_t * state_p)

Interrupt clear

◆ int_clear() [2/2]

uint8_t PCF2131_I2C::int_clear ( void )
virtual

Interrupt clear

Reimplemented from PCF2131_base.

◆ oscillator_stop()

bool PCF2131_I2C::oscillator_stop ( void )
virtual

Detector for oscillation stop

Returns
true, if the OSF (Oscillator Stop Flag) is set

Reimplemented from PCF2131_base.

◆ periodic_interrupt_enable()

void PCF2131_I2C::periodic_interrupt_enable ( periodic_int_select sel,
int int_sel = 0 )

Enabling every second/minute interrupt

Parameters
selchoose DISABLE, EVERY_SECOND or EVERY_MINUTE in 'enum periodic_int_select'
int_selInterrupt output selector. ) for INT_A, 1 for INT_B

◆ read_r8()

uint8_t PCF2131_I2C::read_r8 ( uint8_t reg)

Register read, 8 bit

Parameters
regregister index/address/pointer
Returns
data value

◆ reg_r() [1/2]

uint8_t PCF2131_I2C::reg_r ( uint8_t reg_adr)

Single register read

Parameters
regregister index/address/pointer
Returns
read data

◆ reg_r() [2/2]

void PCF2131_I2C::reg_r ( uint8_t reg_adr,
uint8_t * data,
int size )

Multiple register read

Parameters
regregister index/address/pointer
datapointer to data buffer
sizedata size
Returns
transferred data size

◆ reg_w() [1/2]

void PCF2131_I2C::reg_w ( uint8_t reg_adr,
uint8_t * data,
int size )

Multiple register write

Parameters
regregister index/address/pointer
datapointer to data buffer
sizedata size
Returns
transferred data size

◆ reg_w() [2/2]

void PCF2131_I2C::reg_w ( uint8_t reg_adr,
uint8_t data )

Single register write

Parameters
regregister index/address/pointer
datapointer to data buffer
sizedata size
Returns
transferred data size

◆ rtc_time()

time_t PCF2131_I2C::rtc_time ( void )
virtual

time

Returns
time_t value of current time

Reimplemented from PCF2131_base.

◆ set()

void PCF2131_I2C::set ( struct tm * now_tm)
virtual

set

Parameters
now_tmstruct to set calendar and time in RTC

Reimplemented from PCF2131_base.

◆ time()

time_t PCF2131_I2C::time ( time_t * tp)

time

"time()" in "time.h" compatible method for RTC

Parameters
tppointer to time_t variable
Returns
time_t value of current time

◆ timestamp() [1/2]

time_t PCF2131_I2C::timestamp ( int num)

Getting timestamp info

Parameters
numtimestamp number: 1~4
Returns
time_t

◆ timestamp() [2/2]

void PCF2131_I2C::timestamp ( int num,
timestamp_setting ts_setting,
int int_sel = 0 )

Timestamp setting

Parameters
numtimestamp number: 1~4
ts_settingevent recording option. Choose LAST or FIRST in 'enum timestamp_setting'
int_selInterrupt output selector. ) for INT_A, 1 for INT_B

◆ write_r8()

void PCF2131_I2C::write_r8 ( uint8_t reg,
uint8_t val )

Register write, 8 bit

Parameters
regregister index/address/pointer
valdata value

The documentation for this class was generated from the following files: