8#ifndef ARDUINO_LED_DRIVER_NXP_ARD_H
9#define ARDUINO_LED_DRIVER_NXP_ARD_H
15#include <I2C_device.h>
59 time_t
time( time_t* tp );
65 virtual void set(
struct tm* now_tm ) = 0;
104 static uint8_t
bcd2dec( uint8_t v );
111 static uint8_t
dec2bcd( uint8_t v );
128 Control_1, Control_2, Control_3, Control_4, Control_5,
130 _100th_Seconds, Seconds, Minutes,Hours, Days, Weekdays, Months, Years,
131 Second_alarm, Minute_alarm, Hour_alarm, Day_alarm, Weekday_alarm,
133 Timestp_ctl1, Sec_timestp1, Min_timestp1, Hour_timestp1, Day_timestp1, Mon_timestp1, Year_timestp1,
134 Timestp_ctl2, Sec_timestp2, Min_timestp2, Hour_timestp2, Day_timestp2, Mon_timestp2, Year_timestp2,
135 Timestp_ctl3, Sec_timestp3, Min_timestp3, Hour_timestp3, Day_timestp3, Mon_timestp3, Year_timestp3,
136 Timestp_ctl4, Sec_timestp4, Min_timestp4, Hour_timestp4, Day_timestp4, Mon_timestp4, Year_timestp4,
138 INT_A_MASK1, INT_A_MASK2, INT_B_MASK1, INT_B_MASK2,
139 Watchdg_tim_ctl, Watchdg_tim_val
178 void set(
struct tm* now_tm );
236 virtual void _reg_w( uint8_t reg, uint8_t *vp,
int len ) = 0;
239 virtual void _reg_r( uint8_t reg, uint8_t *vp,
int len ) = 0;
242 virtual void _reg_w( uint8_t reg, uint8_t val ) = 0;
245 virtual uint8_t
_reg_r( uint8_t reg ) = 0;
248 virtual void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val ) = 0;
251 const int int_mask_reg[ 2 ][ 2 ] = {
252 { INT_A_MASK1, INT_A_MASK2, },
253 { INT_B_MASK1, INT_B_MASK2, },
276 void _reg_w( uint8_t reg, uint8_t *vp,
int len );
279 void _reg_r( uint8_t reg, uint8_t *vp,
int len );
282 void _reg_w( uint8_t reg, uint8_t val );
285 uint8_t _reg_r( uint8_t reg );
288 void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val );
309 void txrx( uint8_t *data, uint16_t size );
318 void reg_w( uint8_t reg_adr, uint8_t *data, uint16_t size );
327 void reg_w( uint8_t reg_adr, uint8_t data );
336 void reg_r( uint8_t reg_adr, uint8_t *data, uint16_t size );
343 uint8_t
reg_r( uint8_t reg_adr );
350 void write_r8( uint8_t reg, uint8_t val );
357 uint8_t
read_r8( uint8_t reg );
367 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
390 void _reg_w( uint8_t reg, uint8_t *vp,
int len );
393 void _reg_r( uint8_t reg, uint8_t *vp,
int len );
396 void _reg_w( uint8_t reg, uint8_t val );
399 uint8_t _reg_r( uint8_t reg );
402 void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val );
416 Control_1, Control_2,
419 Seconds, Minutes, Hours, Days, Weekdays, Months, Years,
420 Second_alarm, Minute_alarm, Hour_alarm, Day_alarm, Weekday_alarm,
421 Timer_value, Timer_mode
436 void set(
struct tm* now_tm );
469 float timer(
float period );
479 virtual void _reg_w( uint8_t reg, uint8_t *vp,
int len ) = 0;
482 virtual void _reg_r( uint8_t reg, uint8_t *vp,
int len ) = 0;
485 virtual void _reg_w( uint8_t reg, uint8_t val ) = 0;
488 virtual uint8_t
_reg_r( uint8_t reg ) = 0;
491 virtual void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val ) = 0;
497 PCF85063A( uint8_t i2c_address = (0xA2 >> 1) );
504 void _reg_w( uint8_t reg, uint8_t *vp,
int len );
507 void _reg_r( uint8_t reg, uint8_t *vp,
int len );
510 void _reg_w( uint8_t reg, uint8_t val );
513 uint8_t _reg_r( uint8_t reg );
516 void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val );
522 PCF85063TP( uint8_t i2c_address = (0xA2 >> 1) );
551 float timer(
float period );
559 _100th_seconds, Seconds, Minutes, Hours, Days, Weekdays, Months, Years,
560 Second_alarm1, Minute_alarm1, Hour_alarm1, Day_alarm1, Month_alarm1,
561 Minute_alarm2, Hour_alarm2, Weekday_alarm2,
563 TSR1_seconds, TSR1_minutes, TSR1_hours, TSR1_days, TSR1_months, TSR1_years,
564 TSR2_seconds, TSR2_minutes, TSR2_hours, TSR2_days, TSR2_months, TSR2_years,
565 TSR3_seconds, TSR3_minutes, TSR3_hours, TSR3_days, TSR3_months, TSR3_years,
567 Offset, Oscillator, Battery_switch, Pin_IO, Function,
568 INTA_enable, INTB_enable, Flags,
569 RAM_byte, WatchDog, Stop_enable, Resets,
571 Hours_xx_xx_00 = 0x03, Hours_xx_00_xx, Hours_00_xx_xx, Reserved0, Reserved1,
572 Second_alm1, Minute_alm1, Hr_xx_xx_00_alm1, Hr_xx_00_xx_alm1, Hr_00_xx_xx_alm1,
573 Minute_alm2, Hr_xx_00_alm2, Hr_00_xx_alm2,
574 TSR1_hr_xx_xx_00 = 0x13, TSR1_hr_xx_00_xx, TSR1_hr_00_xx_xx, Reserved2,
575 TSR2_hr_xx_xx_00 = 0x19, TSR2_hr_xx_00_xx, TSR2_hr_00_xx_xx, Reserved3,
576 TSR3_hr_xx_xx_00 = 0x1F, TSR3_hr_xx_00_xx, TSR3_hr_00_xx_xx, Reserved4,
601 INTA_BATTERY_MODE_INDICATION,
616 TS_PULLUP_80K = 0x00,
617 TS_PULLUP_40K = 0x40,
618 TSL_ACTIVE_HIGH = 0x00,
619 TSL_ACTIVE_LOW = 0x20,
621 TSIM_MECHANICAL = 0x10,
625 PCF85263A( uint8_t i2c_address = (0xA2 >> 1) );
637 void set(
struct tm* now_tm );
711 void set_alarm(
int digit,
int val,
int int_sel );
730 void set(
struct tm* now_tm );
void alarm(alarm_setting digit, int val)
virtual ~ForFutureExtention()
bool oscillator_stop(void)
void set(struct tm *now_tm)
void timestamp(int num, timestanp_setting ts_setting, int int_sel=0)
virtual uint8_t _reg_r(uint8_t reg)=0
void set(struct tm *now_tm)
void periodic_interrupt_enable(periodic_int_select sel, int int_sel=0)
bool oscillator_stop(void)
void alarm(alarm_setting digit, int val)
virtual void _reg_r(uint8_t reg, uint8_t *vp, int len)=0
virtual void _bit_op8(uint8_t reg, uint8_t mask, uint8_t val)=0
virtual void _reg_w(uint8_t reg, uint8_t val)=0
virtual void _reg_w(uint8_t reg, uint8_t *vp, int len)=0
void set(struct tm *now_tm)
virtual void _bit_op8(uint8_t reg, uint8_t mask, uint8_t val)=0
bool oscillator_stop(void)
void alarm(alarm_setting digit, int val)
virtual void _reg_w(uint8_t reg, uint8_t val)=0
float timer(float period)
virtual void _reg_w(uint8_t reg, uint8_t *vp, int len)=0
virtual uint8_t _reg_r(uint8_t reg)=0
virtual void _reg_r(uint8_t reg, uint8_t *vp, int len)=0
void alarm(alarm_setting digit, int val)
float timer(float period)
void pin_congfig(inta cfg_a, intb cfg_b)
void ts_congfig(int setting)
void alarm(alarm_setting digit, int val)
void periodic_interrupt_enable(periodic_int_select sel, int int_sel=0)
time_t timestamp(int num)
bool oscillator_stop(void)
void set(struct tm *now_tm)
virtual void begin(void)=0
virtual uint8_t int_clear(void)=0
virtual void set(struct tm *now_tm)=0
virtual time_t rtc_time(void)=0
virtual void alarm_disable(void)=0
virtual bool oscillator_stop(void)=0
static uint8_t dec2bcd(uint8_t v)
static uint8_t bcd2dec(uint8_t v)
virtual void alarm_clear(void)=0
virtual void alarm(alarm_setting digit, int val)=0
void reg_w(uint8_t reg_adr, uint8_t *data, uint16_t size)
uint8_t read_r8(uint8_t reg)
void txrx(uint8_t *data, uint16_t size)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
void reg_r(uint8_t reg_adr, uint8_t *data, uint16_t size)
void write_r8(uint8_t reg, uint8_t val)