RTC_NXP_Arduino 0.5.2
LED driver device operation sample code for Arduino
Loading...
Searching...
No Matches
RTC_NXP.h
1
8#ifndef ARDUINO_LED_DRIVER_NXP_ARD_H
9#define ARDUINO_LED_DRIVER_NXP_ARD_H
10
11#include <Arduino.h>
12#include <stdint.h>
13#include <time.h>
14
15#include <I2C_device.h>
16#include <SPI.h>
17
27{
28public:
30 enum board {
31 NONE,
32 ARDUINO_SHIELD,
33 };
36 SECOND,
37 MINUTE,
38 HOUR,
39 DAY,
40 WEEKDAY,
41 };
42
44 RTC_NXP();
45
47 virtual ~RTC_NXP();
48
50 virtual void begin( void ) = 0;
51
59 time_t time( time_t* tp );
60
65 virtual void set( struct tm* now_tm ) = 0;
66
71 virtual bool oscillator_stop( void ) = 0;
72
78 virtual void alarm( alarm_setting digit, int val ) = 0;
79
82 virtual void alarm_clear( void ) = 0;
83
86 virtual void alarm_disable( void ) = 0;
87
90 virtual uint8_t int_clear( void ) = 0;
91
92protected:
97 virtual time_t rtc_time( void ) = 0;
98
104 static uint8_t bcd2dec( uint8_t v );
105
111 static uint8_t dec2bcd( uint8_t v );
112};
113
114
123class PCF2131_base : public RTC_NXP
124{
125public:
127 enum reg_num {
128 Control_1, Control_2, Control_3, Control_4, Control_5,
129 SR_Reset,
130 _100th_Seconds, Seconds, Minutes,Hours, Days, Weekdays, Months, Years,
131 Second_alarm, Minute_alarm, Hour_alarm, Day_alarm, Weekday_alarm,
132 CLKOUT_ctl,
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,
137 Aging_offset,
138 INT_A_MASK1, INT_A_MASK2, INT_B_MASK1, INT_B_MASK2,
139 Watchdg_tim_ctl, Watchdg_tim_val
140 };
143 DISABLE,
144 EVERY_SECOND,
145 EVERY_MINUTE,
146 };
149 LAST,
150 FIRST,
151 };
152
154 PCF2131_base();
155
157 virtual ~PCF2131_base();
158
162 void begin( void );
163
168 bool oscillator_stop( void );
169
174 time_t rtc_time( void );
175
180 void set( struct tm* now_tm );
181
182
188 void alarm( alarm_setting digit, int val );
189
196 void alarm( alarm_setting digit, int val, int int_sel );
197
200 void alarm_clear( void );
201
204 void alarm_disable( void );
205
212 void timestamp( int num, timestanp_setting ts_setting, int int_sel = 0 );
213
219 time_t timestamp( int num );
220
223 uint8_t int_clear( void );
224
227 uint8_t int_clear( uint8_t* state_p );
228
234 void periodic_interrupt_enable( periodic_int_select sel, int int_sel = 0 );
235
236protected:
238 virtual void _reg_w( uint8_t reg, uint8_t *vp, int len ) = 0;
239
241 virtual void _reg_r( uint8_t reg, uint8_t *vp, int len ) = 0;
242
244 virtual void _reg_w( uint8_t reg, uint8_t val ) = 0;
245
247 virtual uint8_t _reg_r( uint8_t reg ) = 0;
248
250 virtual void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val ) = 0;
251
252private:
253 const int int_mask_reg[ 2 ][ 2 ] = {
254 { INT_A_MASK1, INT_A_MASK2, },
255 { INT_B_MASK1, INT_B_MASK2, },
256 };
257};
258
259
267class PCF2131_I2C : public PCF2131_base, public I2C_device
268{
269public:
274 PCF2131_I2C( uint8_t i2c_address = (0xA6 >> 1) );
275
281 PCF2131_I2C( TwoWire& wire, uint8_t i2c_address = (0xA6 >> 1) );
282
284 virtual ~PCF2131_I2C();
285
286#if DOXYGEN_ONLY
288 enum reg_num {
289 Control_1, Control_2, Control_3, Control_4, Control_5,
290 SR_Reset,
291 _100th_Seconds, Seconds, Minutes,Hours, Days, Weekdays, Months, Years,
292 Second_alarm, Minute_alarm, Hour_alarm, Day_alarm, Weekday_alarm,
293 CLKOUT_ctl,
294 Timestp_ctl1, Sec_timestp1, Min_timestp1, Hour_timestp1, Day_timestp1, Mon_timestp1, Year_timestp1,
295 Timestp_ctl2, Sec_timestp2, Min_timestp2, Hour_timestp2, Day_timestp2, Mon_timestp2, Year_timestp2,
296 Timestp_ctl3, Sec_timestp3, Min_timestp3, Hour_timestp3, Day_timestp3, Mon_timestp3, Year_timestp3,
297 Timestp_ctl4, Sec_timestp4, Min_timestp4, Hour_timestp4, Day_timestp4, Mon_timestp4, Year_timestp4,
298 Aging_offset,
299 INT_A_MASK1, INT_A_MASK2, INT_B_MASK1, INT_B_MASK2,
300 Watchdg_tim_ctl, Watchdg_tim_val
301 };
304 DISABLE,
305 EVERY_SECOND,
306 EVERY_MINUTE,
307 };
310 LAST,
311 FIRST,
312 };
313
321 time_t time( time_t* tp );
322
326 void begin( void );
327
332 bool oscillator_stop( void );
333
338 time_t rtc_time( void );
339
344 void set( struct tm* now_tm );
345
346
352 void alarm( alarm_setting digit, int val );
353
360 void alarm( alarm_setting digit, int val, int int_sel );
361
364 void alarm_clear( void );
365
368 void alarm_disable( void );
369
376 void timestamp( int num, timestanp_setting ts_setting, int int_sel = 0 );
377
383 time_t timestamp( int num );
384
387 uint8_t int_clear( void );
388
391 uint8_t int_clear( uint8_t* state_p );
392
398 void periodic_interrupt_enable( periodic_int_select sel, int int_sel = 0 );
399
407 void reg_w( uint8_t reg_adr, uint8_t *data, int size );
408
416 void reg_w( uint8_t reg_adr, uint8_t data );
417
425 void reg_r( uint8_t reg_adr, uint8_t *data, int size );
426
432 uint8_t reg_r( uint8_t reg_adr );
433
439 void write_r8( uint8_t reg, uint8_t val );
440
446 uint8_t read_r8( uint8_t reg );
447
456 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
457
458#endif // DOXYGEN_ONLY
459
460private:
462 void _reg_w( uint8_t reg, uint8_t *vp, int len );
463
465 void _reg_r( uint8_t reg, uint8_t *vp, int len );
466
468 void _reg_w( uint8_t reg, uint8_t val );
469
471 uint8_t _reg_r( uint8_t reg );
472
474 void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val );
475};
476
477
486{
487public:
495 void txrx( uint8_t *data, int size );
496
504 void reg_w( uint8_t reg_adr, uint8_t *data, int size );
505
513 void reg_w( uint8_t reg_adr, uint8_t data );
514
522 void reg_r( uint8_t reg_adr, uint8_t *data, int size );
523
529 uint8_t reg_r( uint8_t reg_adr );
530
536 void write_r8( uint8_t reg, uint8_t val );
537
543 uint8_t read_r8( uint8_t reg );
544
553 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
554};
555
564{
565public:
567 PCF2131_SPI();
568
570 virtual ~PCF2131_SPI();
571
572#if DOXYGEN_ONLY
574 enum reg_num {
575 Control_1, Control_2, Control_3, Control_4, Control_5,
576 SR_Reset,
577 _100th_Seconds, Seconds, Minutes,Hours, Days, Weekdays, Months, Years,
578 Second_alarm, Minute_alarm, Hour_alarm, Day_alarm, Weekday_alarm,
579 CLKOUT_ctl,
580 Timestp_ctl1, Sec_timestp1, Min_timestp1, Hour_timestp1, Day_timestp1, Mon_timestp1, Year_timestp1,
581 Timestp_ctl2, Sec_timestp2, Min_timestp2, Hour_timestp2, Day_timestp2, Mon_timestp2, Year_timestp2,
582 Timestp_ctl3, Sec_timestp3, Min_timestp3, Hour_timestp3, Day_timestp3, Mon_timestp3, Year_timestp3,
583 Timestp_ctl4, Sec_timestp4, Min_timestp4, Hour_timestp4, Day_timestp4, Mon_timestp4, Year_timestp4,
584 Aging_offset,
585 INT_A_MASK1, INT_A_MASK2, INT_B_MASK1, INT_B_MASK2,
586 Watchdg_tim_ctl, Watchdg_tim_val
587 };
590 DISABLE,
591 EVERY_SECOND,
592 EVERY_MINUTE,
593 };
596 LAST,
597 FIRST,
598 };
599
607 time_t time( time_t* tp );
608
612 void begin( void );
613
618 bool oscillator_stop( void );
619
624 time_t rtc_time( void );
625
630 void set( struct tm* now_tm );
631
632
638 void alarm( alarm_setting digit, int val );
639
646 void alarm( alarm_setting digit, int val, int int_sel );
647
650 void alarm_clear( void );
651
654 void alarm_disable( void );
655
662 void timestamp( int num, timestanp_setting ts_setting, int int_sel = 0 );
663
669 time_t timestamp( int num );
670
673 uint8_t int_clear( void );
674
677 uint8_t int_clear( uint8_t* state_p );
678
684 void periodic_interrupt_enable( periodic_int_select sel, int int_sel = 0 );
685
686#endif // DOXYGEN_ONLY
687
688private:
689// void txrx( uint8_t *data, uint16_t size );
690
692 void _reg_w( uint8_t reg, uint8_t *vp, int len );
693
695 void _reg_r( uint8_t reg, uint8_t *vp, int len );
696
698 void _reg_w( uint8_t reg, uint8_t val );
699
701 uint8_t _reg_r( uint8_t reg );
702
704 void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val );
705};
706
714class PCF85063_base : public RTC_NXP
715{
716public:
718 enum reg_num {
719 Control_1, Control_2,
720 Offset,
721 RAM_byte,
722 Seconds, Minutes, Hours, Days, Weekdays, Months, Years,
723 Second_alarm, Minute_alarm, Hour_alarm, Day_alarm, Weekday_alarm,
724 Timer_value, Timer_mode
725 };
726
729
731 virtual ~PCF85063_base();
732
736 void begin( void );
737
742 void set( struct tm* now_tm );
743
748 bool oscillator_stop( void );
749
755 void alarm( alarm_setting digit, int val );
756
759 void alarm_clear( void );
760
763 void alarm_disable( void );
764
767 uint8_t int_clear( void );
768
769
775 float timer( float period );
776
777protected:
782 time_t rtc_time( void );
783
785 virtual void _reg_w( uint8_t reg, uint8_t *vp, int len ) = 0;
786
788 virtual void _reg_r( uint8_t reg, uint8_t *vp, int len ) = 0;
789
791 virtual void _reg_w( uint8_t reg, uint8_t val ) = 0;
792
794 virtual uint8_t _reg_r( uint8_t reg ) = 0;
795
797 virtual void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val ) = 0;
798};
799
800class PCF85063A : public PCF85063_base, public I2C_device
801{
802public:
807 PCF85063A( uint8_t i2c_address = (0xA2 >> 1) );
808
814 PCF85063A( TwoWire& wire, uint8_t i2c_address = (0xA2 >> 1) );
815
817 virtual ~PCF85063A();
818
819#if DOXYGEN_ONLY
821 enum reg_num {
822 Control_1, Control_2,
823 Offset,
824 RAM_byte,
825 Seconds, Minutes, Hours, Days, Weekdays, Months, Years,
826 Second_alarm, Minute_alarm, Hour_alarm, Day_alarm, Weekday_alarm,
827 Timer_value, Timer_mode
828 };
829
837 time_t time( time_t* tp );
838
842 void begin( void );
843
848 void set( struct tm* now_tm );
849
854 bool oscillator_stop( void );
855
861 void alarm( alarm_setting digit, int val );
862
865 void alarm_clear( void );
866
869 void alarm_disable( void );
870
873 uint8_t int_clear( void );
874
875
881 float timer( float period );
882
890 void reg_w( uint8_t reg_adr, uint8_t *data, int size );
891
899 void reg_w( uint8_t reg_adr, uint8_t data );
900
908 void reg_r( uint8_t reg_adr, uint8_t *data, int size );
909
915 uint8_t reg_r( uint8_t reg_adr );
916
922 void write_r8( uint8_t reg, uint8_t val );
923
929 uint8_t read_r8( uint8_t reg );
930
939 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
940
941#endif // DOXYGEN_ONLY
942
943private:
945 void _reg_w( uint8_t reg, uint8_t *vp, int len );
946
948 void _reg_r( uint8_t reg, uint8_t *vp, int len );
949
951 void _reg_w( uint8_t reg, uint8_t val );
952
954 uint8_t _reg_r( uint8_t reg );
955
957 void _bit_op8( uint8_t reg, uint8_t mask, uint8_t val );
958};
959
960class PCF85063TP : public PCF85063A
961{
962public:
967 PCF85063TP( uint8_t i2c_address = (0xA2 >> 1) );
968
974 PCF85063TP( TwoWire& wire, uint8_t i2c_address = (0xA2 >> 1) );
975
977 virtual ~PCF85063TP();
978
979#if DOXYGEN_ONLY
981 enum reg_num {
982 Control_1, Control_2,
983 Offset,
984 RAM_byte,
985 Seconds, Minutes, Hours, Days, Weekdays, Months, Years,
986 };
994 time_t time( time_t* tp );
995
999 void begin( void );
1000
1005 void set( struct tm* now_tm );
1006
1011 bool oscillator_stop( void );
1012
1020 void reg_w( uint8_t reg_adr, uint8_t *data, int size );
1021
1029 void reg_w( uint8_t reg_adr, uint8_t data );
1030
1038 void reg_r( uint8_t reg_adr, uint8_t *data, int size );
1039
1045 uint8_t reg_r( uint8_t reg_adr );
1046
1052 void write_r8( uint8_t reg, uint8_t val );
1053
1059 uint8_t read_r8( uint8_t reg );
1060
1069 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
1070
1071#endif // DOXYGEN_ONLY
1072
1073};
1074
1075class PCF85263A : public RTC_NXP, public I2C_device
1076{
1077public:
1079 enum reg_num {
1080 _100th_seconds, Seconds, Minutes, Hours, Days, Weekdays, Months, Years,
1081 Second_alarm1, Minute_alarm1, Hour_alarm1, Day_alarm1, Month_alarm1,
1082 Minute_alarm2, Hour_alarm2, Weekday_alarm2,
1083 Alarm_enables,
1084 TSR1_seconds, TSR1_minutes, TSR1_hours, TSR1_days, TSR1_months, TSR1_years,
1085 TSR2_seconds, TSR2_minutes, TSR2_hours, TSR2_days, TSR2_months, TSR2_years,
1086 TSR3_seconds, TSR3_minutes, TSR3_hours, TSR3_days, TSR3_months, TSR3_years,
1087 TSR_mode,
1088 Offset, Oscillator, Battery_switch, Pin_IO, Function,
1089 INTA_enable, INTB_enable, Flags,
1090 RAM_byte, WatchDog, Stop_enable, Resets,
1091
1092 Hours_xx_xx_00 = 0x03, Hours_xx_00_xx, Hours_00_xx_xx, Reserved0, Reserved1,
1093 Second_alm1, Minute_alm1, Hr_xx_xx_00_alm1, Hr_xx_00_xx_alm1, Hr_00_xx_xx_alm1,
1094 Minute_alm2, Hr_xx_00_alm2, Hr_00_xx_alm2,
1095 TSR1_hr_xx_xx_00 = 0x13, TSR1_hr_xx_00_xx, TSR1_hr_00_xx_xx, Reserved2,
1096 TSR2_hr_xx_xx_00 = 0x19, TSR2_hr_xx_00_xx, TSR2_hr_00_xx_xx, Reserved3,
1097 TSR3_hr_xx_xx_00 = 0x1F, TSR3_hr_xx_00_xx, TSR3_hr_00_xx_xx, Reserved4,
1098 };
1099
1102 SECOND,
1103 MINUTE,
1104 HOUR,
1105 DAY,
1106 MONTH,
1107 MINUTE2,
1108 HOUR2,
1109 WEEKDAY2,
1110 };
1111
1114 DISABLE,
1115 EVERY_SECOND,
1116 EVERY_MINUTE,
1117 };
1118
1120 enum inta {
1121 INTA_CLKOUT,
1122 INTA_BATTERY_MODE_INDICATION,
1123 INTA_INTTERRUPT,
1124 INTA_HIGH_Z,
1125 };
1126
1128 enum intb {
1129 INTB_DISABLE,
1130 INTB_INTTERRUPT,
1131 INTB_CLKOUT,
1132 INTB_INPUT_MODE,
1133 };
1134
1136 enum ts_in {
1137 TS_PULLUP_80K = 0x00,
1138 TS_PULLUP_40K = 0x40,
1139 TSL_ACTIVE_HIGH = 0x00,
1140 TSL_ACTIVE_LOW = 0x20,
1141 TSIM_CMOS = 0x00,
1142 TSIM_MECHANICAL = 0x10,
1143 };
1144
1150 PCF85263A( uint8_t i2c_address = (0xA2 >> 1) );
1151
1157 PCF85263A( TwoWire& wire, uint8_t i2c_address = (0xA2 >> 1) );
1158
1160 virtual ~PCF85263A();
1161
1165 void begin( void );
1166
1171 void set( struct tm* now_tm );
1172
1177 bool oscillator_stop( void );
1178
1184 void alarm( alarm_setting digit, int val );
1185
1192 void alarm( alarm_setting digit, int val, int int_sel );
1193
1199 void alarm( alarm_setting_85263A digit, int val, int int_sel = 0 );
1200
1203 void alarm_clear( void );
1204
1207 void alarm_disable( void );
1208
1211 uint8_t int_clear( void );
1212
1217 time_t rtc_time( void );
1218
1223 void periodic_interrupt_enable( periodic_int_select sel, int int_sel = 0 );
1224
1230 void pin_congfig(inta cfg_a, intb cfg_b);
1231
1236 void ts_congfig(int setting);
1237
1242 time_t timestamp( int num );
1243
1244#if DOXYGEN_ONLY
1252 time_t time( time_t* tp );
1253
1261 void reg_w( uint8_t reg_adr, uint8_t *data, int size );
1262
1270 void reg_w( uint8_t reg_adr, uint8_t data );
1271
1279 void reg_r( uint8_t reg_adr, uint8_t *data, int size );
1280
1286 uint8_t reg_r( uint8_t reg_adr );
1287
1293 void write_r8( uint8_t reg, uint8_t val );
1294
1300 uint8_t read_r8( uint8_t reg );
1301
1310 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
1311
1312#endif // DOXYGEN_ONLY
1313
1314private:
1315 void set_alarm( int digit, int val, int int_sel );
1316};
1317
1318class ForFutureExtention : public RTC_NXP, public I2C_device
1319{
1320public:
1323
1326
1330 void begin( void );
1331
1336 void set( struct tm* now_tm );
1337
1342 bool oscillator_stop( void );
1343
1348 void alarm( alarm_setting digit, int val );
1349
1352 void alarm_clear( void );
1353
1356 void alarm_disable( void );
1357
1360 uint8_t int_clear( void );
1361
1362
1363#if DOXYGEN_ONLY
1371 time_t time( time_t* tp );
1372
1380 void reg_w( uint8_t reg_adr, uint8_t *data, int size );
1381
1389 void reg_w( uint8_t reg_adr, uint8_t data );
1390
1398 void reg_r( uint8_t reg_adr, uint8_t *data, int size );
1399
1405 uint8_t reg_r( uint8_t reg_adr );
1406
1412 void write_r8( uint8_t reg, uint8_t val );
1413
1419 uint8_t read_r8( uint8_t reg );
1420
1429 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
1430
1431#endif // DOXYGEN_ONLY
1432
1433protected:
1438 time_t rtc_time( void );
1439};
1440
1441
1442#endif // ARDUINO_LED_DRIVER_NXP_ARD_H
void alarm(alarm_setting digit, int val)
void alarm_clear(void)
time_t time(time_t *tp)
void reg_w(uint8_t reg_adr, uint8_t data)
uint8_t reg_r(uint8_t reg_adr)
virtual ~ForFutureExtention()
time_t rtc_time(void)
uint8_t int_clear(void)
void reg_w(uint8_t reg_adr, uint8_t *data, int size)
bool oscillator_stop(void)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
void alarm_disable(void)
void reg_r(uint8_t reg_adr, uint8_t *data, int size)
void write_r8(uint8_t reg, uint8_t val)
void set(struct tm *now_tm)
uint8_t read_r8(uint8_t reg)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
void write_r8(uint8_t reg, uint8_t val)
void set(struct tm *now_tm)
uint8_t int_clear(uint8_t *state_p)
time_t rtc_time(void)
bool oscillator_stop(void)
void periodic_interrupt_enable(periodic_int_select sel, int int_sel=0)
void alarm(alarm_setting digit, int val)
void alarm(alarm_setting digit, int val, int int_sel)
void reg_w(uint8_t reg_adr, uint8_t data)
void alarm_disable(void)
uint8_t read_r8(uint8_t reg)
uint8_t int_clear(void)
time_t time(time_t *tp)
time_t timestamp(int num)
periodic_int_select
Definition RTC_NXP.h:303
uint8_t reg_r(uint8_t reg_adr)
void begin(void)
virtual ~PCF2131_I2C()
void alarm_clear(void)
void reg_r(uint8_t reg_adr, uint8_t *data, int size)
void timestamp(int num, timestanp_setting ts_setting, int int_sel=0)
void reg_w(uint8_t reg_adr, uint8_t *data, int size)
uint8_t int_clear(void)
time_t rtc_time(void)
void begin(void)
void alarm_clear(void)
time_t time(time_t *tp)
void alarm(alarm_setting digit, int val)
time_t timestamp(int num)
virtual ~PCF2131_SPI()
uint8_t int_clear(uint8_t *state_p)
void alarm(alarm_setting digit, int val, int int_sel)
void timestamp(int num, timestanp_setting ts_setting, int int_sel=0)
periodic_int_select
Definition RTC_NXP.h:589
bool oscillator_stop(void)
void periodic_interrupt_enable(periodic_int_select sel, int int_sel=0)
void set(struct tm *now_tm)
void alarm_disable(void)
void timestamp(int num, timestanp_setting ts_setting, int int_sel=0)
void begin(void)
virtual uint8_t _reg_r(uint8_t reg)=0
void set(struct tm *now_tm)
uint8_t int_clear(void)
void alarm_clear(void)
time_t rtc_time(void)
void periodic_interrupt_enable(periodic_int_select sel, int int_sel=0)
virtual ~PCF2131_base()
void alarm_disable(void)
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)
Definition PCF85063A.cpp:15
virtual void _bit_op8(uint8_t reg, uint8_t mask, uint8_t val)=0
bool oscillator_stop(void)
Definition PCF85063A.cpp:38
uint8_t int_clear(void)
Definition PCF85063A.cpp:60
void alarm_disable(void)
Definition PCF85063A.cpp:55
void alarm(alarm_setting digit, int val)
Definition PCF85063A.cpp:43
virtual void _reg_w(uint8_t reg, uint8_t val)=0
float timer(float period)
Definition PCF85063A.cpp:68
virtual void _reg_w(uint8_t reg, uint8_t *vp, int len)=0
void begin(void)
Definition PCF85063A.cpp:11
virtual uint8_t _reg_r(uint8_t reg)=0
virtual void _reg_r(uint8_t reg, uint8_t *vp, int len)=0
virtual ~PCF85063_base()
Definition PCF85063A.cpp:7
void alarm_clear(void)
Definition PCF85063A.cpp:50
time_t rtc_time(void)
time_t time(time_t *tp)
void begin(void)
void alarm(alarm_setting digit, int val)
uint8_t int_clear(void)
float timer(float period)
uint8_t read_r8(uint8_t reg)
void reg_r(uint8_t reg_adr, uint8_t *data, int size)
uint8_t reg_r(uint8_t reg_adr)
void set(struct tm *now_tm)
void reg_w(uint8_t reg_adr, uint8_t data)
void alarm_clear(void)
void alarm_disable(void)
bool oscillator_stop(void)
void reg_w(uint8_t reg_adr, uint8_t *data, int size)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
void write_r8(uint8_t reg, uint8_t val)
virtual ~PCF85063A()
void reg_w(uint8_t reg_adr, uint8_t *data, int size)
void begin(void)
void write_r8(uint8_t reg, uint8_t val)
uint8_t reg_r(uint8_t reg_adr)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
virtual ~PCF85063TP()
uint8_t read_r8(uint8_t reg)
void set(struct tm *now_tm)
void reg_r(uint8_t reg_adr, uint8_t *data, int size)
void reg_w(uint8_t reg_adr, uint8_t data)
bool oscillator_stop(void)
time_t time(time_t *tp)
void pin_congfig(inta cfg_a, intb cfg_b)
void alarm_disable(void)
Definition PCF85263A.cpp:88
void ts_congfig(int setting)
void alarm(alarm_setting digit, int val)
Definition PCF85263A.cpp:50
void periodic_interrupt_enable(periodic_int_select sel, int int_sel=0)
uint8_t int_clear(void)
Definition PCF85263A.cpp:94
virtual ~PCF85263A()
Definition PCF85263A.cpp:11
uint8_t reg_r(uint8_t reg_adr)
time_t timestamp(int num)
void begin(void)
Definition PCF85263A.cpp:15
uint8_t read_r8(uint8_t reg)
alarm_setting_85263A
Definition RTC_NXP.h:1101
void reg_w(uint8_t reg_adr, uint8_t data)
void reg_r(uint8_t reg_adr, uint8_t *data, int size)
bool oscillator_stop(void)
Definition PCF85263A.cpp:45
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
void alarm_clear(void)
Definition PCF85263A.cpp:83
void reg_w(uint8_t reg_adr, uint8_t *data, int size)
periodic_int_select
Definition RTC_NXP.h:1113
time_t rtc_time(void)
void write_r8(uint8_t reg, uint8_t val)
void set(struct tm *now_tm)
Definition PCF85263A.cpp:19
time_t time(time_t *tp)
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
RTC_NXP()
Definition RTC_NXP.cpp:3
virtual void alarm_disable(void)=0
virtual bool oscillator_stop(void)=0
alarm_setting
Definition RTC_NXP.h:35
static uint8_t dec2bcd(uint8_t v)
Definition RTC_NXP.cpp:24
static uint8_t bcd2dec(uint8_t v)
Definition RTC_NXP.cpp:19
virtual ~RTC_NXP()
Definition RTC_NXP.cpp:7
virtual void alarm_clear(void)=0
virtual void alarm(alarm_setting digit, int val)=0
time_t time(time_t *tp)
Definition RTC_NXP.cpp:11
uint8_t read_r8(uint8_t reg)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
void reg_w(uint8_t reg_adr, uint8_t *data, int size)
void txrx(uint8_t *data, int size)
void write_r8(uint8_t reg, uint8_t val)
void reg_r(uint8_t reg_adr, uint8_t *data, int size)