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

#include <RTC_NXP.h>

Inheritance diagram for PCF2131_base:
RTC_NXP PCF2131_I2C PCF2131_SPI

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  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_base ()
 
virtual ~PCF2131_base ()
 
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 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)
 

Protected Member Functions

virtual void _reg_w (uint8_t reg, uint8_t *vp, int len)=0
 
virtual void _reg_r (uint8_t reg, uint8_t *vp, int len)=0
 
virtual void _reg_w (uint8_t reg, uint8_t val)=0
 
virtual uint8_t _reg_r (uint8_t reg)=0
 
virtual void _bit_op8 (uint8_t reg, uint8_t mask, uint8_t val)=0
 
- Protected Member Functions inherited from RTC_NXP

Additional Inherited Members

- 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_base class

A base class for PCF2131 Implementing register operation with abstracted interface

Definition at line 123 of file RTC_NXP.h.

Member Enumeration Documentation

◆ clock_out_frequency

Clock output frequency descriptor

Definition at line 153 of file RTC_NXP.h.

◆ periodic_int_select

Periodic interrupt selection descriptor

Definition at line 142 of file RTC_NXP.h.

◆ reg_num

Name of the PCF2131 registers

Definition at line 127 of file RTC_NXP.h.

◆ timestamp_setting

Timestamp setting descriptor

Definition at line 148 of file RTC_NXP.h.

Constructor & Destructor Documentation

◆ PCF2131_base()

PCF2131_base::PCF2131_base ( )

Constructor

Definition at line 3 of file PCF2131_base.cpp.

◆ ~PCF2131_base()

PCF2131_base::~PCF2131_base ( )
virtual

Destructor

Definition at line 7 of file PCF2131_base.cpp.

Member Function Documentation

◆ _bit_op8()

virtual void PCF2131_base::_bit_op8 ( uint8_t reg,
uint8_t mask,
uint8_t val )
protectedpure virtual

Proxy method for interface (pure virtual method)

Referenced by alarm(), alarm_clear(), alarm_disable(), otp_refresh(), periodic_interrupt_enable(), set(), set_clock_out(), and timestamp().

◆ _reg_r() [1/2]

virtual uint8_t PCF2131_base::_reg_r ( uint8_t reg)
protectedpure virtual

Proxy method for interface (pure virtual method)

◆ _reg_r() [2/2]

virtual void PCF2131_base::_reg_r ( uint8_t reg,
uint8_t * vp,
int len )
protectedpure virtual

Proxy method for interface (pure virtual method)

Referenced by int_clear(), oscillator_stop(), rtc_time(), and timestamp().

◆ _reg_w() [1/2]

virtual void PCF2131_base::_reg_w ( uint8_t reg,
uint8_t * vp,
int len )
protectedpure virtual

Proxy method for interface (pure virtual method)

Referenced by alarm(), int_clear(), reset(), and set().

◆ _reg_w() [2/2]

virtual void PCF2131_base::_reg_w ( uint8_t reg,
uint8_t val )
protectedpure virtual

Proxy method for interface (pure virtual method)

◆ alarm() [1/2]

void PCF2131_base::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

Implements RTC_NXP.

Reimplemented in PCF2131_I2C, and PCF2131_SPI.

Definition at line 68 of file PCF2131_base.cpp.

Referenced by alarm().

◆ alarm() [2/2]

void PCF2131_base::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

Definition at line 73 of file PCF2131_base.cpp.

◆ alarm_clear()

void PCF2131_base::alarm_clear ( void )
virtual

Alarm interrupt disable

Implements RTC_NXP.

Reimplemented in PCF2131_I2C, and PCF2131_SPI.

Definition at line 81 of file PCF2131_base.cpp.

◆ alarm_disable()

void PCF2131_base::alarm_disable ( void )
virtual

Interrupt clear

Implements RTC_NXP.

Reimplemented in PCF2131_I2C, and PCF2131_SPI.

Definition at line 86 of file PCF2131_base.cpp.

◆ begin()

void PCF2131_base::begin ( void )
virtual

Initializer Clears penginf interrupt

Implements RTC_NXP.

Reimplemented in PCF2131_I2C, and PCF2131_SPI.

Definition at line 11 of file PCF2131_base.cpp.

◆ int_clear() [1/2]

uint8_t PCF2131_base::int_clear ( uint8_t * state_p)

Interrupt clear

Definition at line 139 of file PCF2131_base.cpp.

◆ int_clear() [2/2]

uint8_t PCF2131_base::int_clear ( void )
virtual

Interrupt clear

Implements RTC_NXP.

Reimplemented in PCF2131_I2C, and PCF2131_SPI.

Definition at line 131 of file PCF2131_base.cpp.

Referenced by begin(), and int_clear().

◆ oscillator_stop()

bool PCF2131_base::oscillator_stop ( void )
virtual

Detector for oscillation stop

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

Implements RTC_NXP.

Reimplemented in PCF2131_I2C, and PCF2131_SPI.

Definition at line 17 of file PCF2131_base.cpp.

◆ otp_refresh()

void PCF2131_base::otp_refresh ( )

Perform OTP refresh (loads factory-provided calibration data stored in EPROM)

Definition at line 180 of file PCF2131_base.cpp.

◆ periodic_interrupt_enable()

void PCF2131_base::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

Definition at line 155 of file PCF2131_base.cpp.

◆ reset()

void PCF2131_base::reset ( )

Trigger software reset

Definition at line 175 of file PCF2131_base.cpp.

◆ rtc_time()

time_t PCF2131_base::rtc_time ( void )
virtual

time

Returns
time_t value of current time

Implements RTC_NXP.

Reimplemented in PCF2131_I2C, and PCF2131_SPI.

Definition at line 22 of file PCF2131_base.cpp.

◆ set()

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

set

Parameters
now_tmstruct to set calendar and time in RTC

Implements RTC_NXP.

Reimplemented in PCF2131_I2C, and PCF2131_SPI.

Definition at line 41 of file PCF2131_base.cpp.

◆ set_clock_out()

void PCF2131_base::set_clock_out ( clock_out_frequency freq)

Set clock output (CLKOUT)

Parameters
freqchoose desired clock output (CLKOUT) frequency in 'enum clock_out_frequency'

Definition at line 170 of file PCF2131_base.cpp.

◆ timestamp() [1/2]

time_t PCF2131_base::timestamp ( int num)

Getting timestamp info

Parameters
numtimestamp number: 1~4
Returns
time_t

Definition at line 106 of file PCF2131_base.cpp.

◆ timestamp() [2/2]

void PCF2131_base::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

Definition at line 91 of file PCF2131_base.cpp.


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