mirror of
https://github.com/ALLFATHER-BV/wadamesh.git
synced 2026-10-24 01:52:30 +00:00
jrote1 is fitting a battery-backed DS3231 to the T-Deck's I2C bus so the device keeps time across a full power-off without needing GPS or Wi-Fi. The RTC adapter already had the hard parts, refusing an untrustworthy read and revalidating every write, so this teaches it a third chip rather than adding a second path. Three things differ from the soldered PCF parts and all three are handled by normalising into the existing decoder rather than duplicating its rules: - It lives at 0x68 rather than 0x51. That is also what makes it safe to add: it cannot be mistaken for either chip an existing board carries. - Day-of-week and day-of-month are swapped in its calendar block. - It reports "my time is not trustworthy" as OSF in a status register instead of in bit 7 of seconds, so that bit is folded into the one the decoder already refuses on. A module whose backup cell went flat is therefore rejected the same way a powered-off M9 is, rather than having its frozen calendar believed. 0x68 is a busy address, so identification requires a positive DS3231 trait rather than an ACK: its temperature register pair, whose low byte is a quarter degree in the top two bits and zero elsewhere, with a high byte in a range a working chip could be at. A module that has never been set by us can also arrive in 12-hour mode, which is converted rather than decoded as if it were 24-hour. Transparent when no module is fitted, which is nearly every T-Deck: reads come from the software clock, writes stop there, and the probe logs that nothing answered. CAP_HARDWARE_RTC stays 0 for the board, since this is an aftermarket addition rather than something a T-Deck has, so the cold-boot network time sync stays on offer for everyone else. Unverified on hardware: neither of us has the module wired yet. The host tests for the shared decoder still pass. Built on all nine S3 envs and both ESP32-P4 targets. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>