build: the libavr pin advances past phase 6, and the driver takes the bus whole
The register sugar now rides the bus's own master role - device<Bus> resolves avr::i2c::device<typename Bus::master, bus_address>, so a consumer keeps handing over its declared dev::i2c<...> unchanged - and the DS3231's hardwired 0x68 is a named constant. The example's four discards became the LED's own error signal (a failed seed or a failed alarm clear holds it dark, the same word a stuck bus says), the tree is reformatted under InsertBraces, the sources are ASCII, and the README's stale Studio byte counts are replaced by the claim its check-flags gate holds. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,7 +11,7 @@ using bus = dev::i2c<{.frequency = 100_kHz}>;
|
||||
using rtc = ds3231::device<bus>;
|
||||
|
||||
auto now = rtc::read_clock(); // result<date_time>
|
||||
(void)rtc::set_alarm1({}, ds3231::alarm1_rate::once_per_second);
|
||||
auto armed = rtc::set_alarm1({}, ds3231::alarm1_rate::once_per_second);
|
||||
```
|
||||
|
||||
`example/main.cpp` is the full tour. libavr rides as the `libavr/` submodule,
|
||||
@@ -31,9 +31,9 @@ reflect). The legacy yazoalfa-based driver lives on the `master` branch.
|
||||
|
||||
`master` carries a Studio solution, so this branch does too: `ide/ds3231.atsln`
|
||||
builds `example/main.cpp` for both parts the presets cover, each to a
|
||||
**byte-identical `.text`** against the CMake build — 1242 B on the ATmega328P,
|
||||
1212 B on the ATtiny85 — with the flags mirrored by hand. CMake remains the
|
||||
build system.
|
||||
**byte-identical `.text`** against the CMake build (`check-flags.py` below is
|
||||
what holds the flag sets equal, so the sizes are the presets' own), with the
|
||||
flags mirrored by hand. CMake remains the build system.
|
||||
|
||||
`avrdevice` is a project-level property in Studio, so a part means a project, not
|
||||
a configuration: `ide/atmega328p/` and `ide/attiny85/`. They need separate
|
||||
|
||||
Reference in New Issue
Block a user