cdca5219d0
Rewrite on libavr
...
Same driver surface as the yazoalfa version — clock and alarm get/set,
alarm interrupts, flag check/clear — plus oscillator-stop detection and
die temperature. One source for tiny85 (software I2C) and mega328P (TWI),
built against libavr in both generated and reflect mode, byte-identical
.text across modes. Errors surface as std::expected instead of being
dropped; weekday-rate alarms now really set the DY bit (legacy cleared
it); multi-register access is one coherent bus transaction. Legacy stays
on master.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-18 01:09:43 +02:00
8a6170cb10
Add get alarm helper to reduce code duplication
2020-05-17 20:11:35 +02:00
21f9215bba
Implement getting alarm times
2020-05-17 20:06:13 +02:00
dfd2289aef
Reduce code duplication
2020-05-17 19:54:46 +02:00
14e608d397
Implement setting alarms
2020-05-17 19:41:53 +02:00
1bc7e66389
Move alarm rate from inside details to visible namespace
2020-05-17 19:19:28 +02:00
ff52f4f152
Implement checking and clearing alarm
2020-05-17 19:10:16 +02:00
3029c3cfe0
Add wrapper to write complete register
2020-05-17 18:59:38 +02:00
c3f9aa6a13
Automatically deduce register address by type
2020-05-17 18:59:19 +02:00
db5197b3b1
Add more flag operator overloads
2020-05-17 18:57:26 +02:00
2a90cdee18
Add time equality check operators
2020-05-17 11:49:30 +02:00
1388412d70
Change interface to only pass i2c backend driver into class
2020-05-16 19:52:22 +02:00
a946746960
Remove legacy rtc lib
2020-05-16 17:59:38 +02:00
16249914c2
Adapt to moved type submodule
2020-05-16 17:43:55 +02:00
11211be9b9
Implement setting date-time
2020-05-16 17:25:00 +02:00
8c50aa4688
Implement setting time
2020-05-16 17:19:54 +02:00
a65b30f9df
Fix partial writing to only write to a range instead of until the end
2020-05-16 17:19:25 +02:00
cd5317db5b
Implement setting RTC date
2020-05-16 17:03:30 +02:00
92096b6101
Add helper to allow writing partial register data
2020-05-16 17:02:54 +02:00
80cce4671f
Implement optional automatic setting of day of week
2020-05-16 17:01:19 +02:00
c728d99f97
Fix default value for day field in time register
2020-05-16 16:59:54 +02:00
8e653ebd44
Add default init for registers
2020-05-16 16:00:27 +02:00
54b8917705
Implement modern C++ driver base
2020-05-15 19:47:44 +02:00
2768009720
Remove twi library and switch to i2c library submodule
2020-05-15 11:50:11 +02:00
04af54e7c8
Remove C time API glue from driver
2020-05-15 10:20:56 +02:00
9303fbf5b5
Fix clock path
2020-05-15 09:40:08 +02:00
727a974504
Fix warnings
2020-05-15 09:25:48 +02:00
b3364f0b88
Add gitignore, clang-format and license file
2020-05-15 09:20:23 +02:00
22a74d0b77
Imported changes from example branch
2017-12-17 10:55:25 +01:00
8e2e18128b
Exported code as submodule
2017-12-17 10:48:59 +01:00
20e7392201
Changed RTC clock to UTC
2017-12-17 10:45:02 +01:00
9c9164c447
Renamed rtc tm and implemented DST
2017-12-16 19:48:54 +01:00
b658ebac97
Implemented setting of alarm and time and printing alarm
2017-04-27 01:04:33 +02:00
e639db5e5b
Implemented basic library and test application
2017-04-27 00:05:38 +02:00
e9e2cf2e63
Initial commit
2017-04-26 23:18:17 +02:00