You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Session Handoff [rv3028-eeprom]: meshcore-dev/MeshCore#3421 description now tracks liquidraver/ZephCore#106; boot-recovery facts sent to Zephyr #24
#3421 is converged at 0f038054, and the RV3028 position stays FROZEN. Change code only if a maintainer requires it or a test fails, and park every other finding for Pieter. Any code change re-runs the full acceptance matrix A-H on the exact commit before it is pushed. After that, ask Pieter in a dialog to re-request Copilot in the web UI, with the URL.
New this round: in every MeshCore version, an RV3028 that doesn't ACK at boot is never probed again until a reboot. This came up while answering the Zephyr session; see step 6. No change under the freeze.
Cross-project boot-recovery rule (Pieter deciding). The Zephyr session is documenting Zephyr's init-failure behaviour (-ENODEV until reboot) in a draft issue on Pieter's Zephyr fork, issue 36. Pieter is weighing a "self-healing" rule for all three projects: config failures stay pending, and no time is taken or written until Control 2 reads back 24-hour with RESET=0. MeshCore's facts have been sent (see What the last round did). MeshCore acts only if Pieter adopts a rule that needs it.
Cleanup stays deferred ("Watch only"). Keep the hardware builds and worktrees until a PR merges or is declined.
Copilot re-request: after any upstream push it still needs Pieter in the web UI. Ask in a dialog, with the PR URL and the "Reviewers" sidebar location.
Pieter: whether there will be a cross-project boot-recovery rule (step 6).
Checking a posted description by cmp against the --jq .body file always reports one extra trailing newline on the round trip. Compare with diff, or strip trailing whitespace, before calling it a mismatch.
New learnings
None that aren't already recorded. The boot-recovery comparison lives in the Zephyr session's draft issue and in step 6 above.
Next steps, in priority order
updatedAtafter 2026-10-08T14:34Z is new; the 14:33Z update on Read and write the RV3028 clock atomically, and reject switchover-garbled transfers 🤖🤖 meshcore-dev/MeshCore#3421 is our own description edit. Done means each maintainer comment is answered, or put to Pieter as a dialog.0f038054, and the RV3028 position stays FROZEN. Change code only if a maintainer requires it or a test fails, and park every other finding for Pieter. Any code change re-runs the full acceptance matrix A-H on the exact commit before it is pushed. After that, ask Pieter in a dialog to re-request Copilot in the web UI, with the URL.AutoDiscoverRTCClock::begin(), though each merges cleanly ontodev.rtc_rv3028.set24HourMode()inbegin(). That's Melopero's unchecked read-modify-write: a failed read writes FDh back to Control 2, RESET bit included. Read and write the RV3028 clock atomically, and reject switchover-garbled transfers 🤖🤖 meshcore-dev/MeshCore#3421 removed it on purpose, so the rebase must keep it removed.owner/repo#Nreferences, and tell the peer session afterwards.now()ignores the 12-hour flag. Revisit after the RTC PRs land.-ENODEVuntil reboot) in a draft issue on Pieter's Zephyr fork, issue 36. Pieter is weighing a "self-healing" rule for all three projects: config failures stay pending, and no time is taken or written until Control 2 reads back 24-hour with RESET=0. MeshCore's facts have been sent (see What the last round did). MeshCore acts only if Pieter adopts a rule that needs it.External blockers
sensor liststart index 🤖🤖 meshcore-dev/MeshCore#3433 and PassTELEM_RAK12500_ADDRESSto the RAK12500 I2C probe 🤖🤖 meshcore-dev/MeshCore#3434, plus Do not feed an invalid GPS time into the RTC 🤖🤖 meshcore-dev/MeshCore#3422, Make GPS status reporting say what was actually checked 🤖🤖 meshcore-dev/MeshCore#3423 and Treat the GPS enable pin as a pin number, not a truth value 🤖🤖 meshcore-dev/MeshCore#3425 (draft). Nothing is owed from our side.Internal dependencies
State
Re-derive all of this; it was true at 2026-10-08T15:00Z.
fix/rv3028-atomic-read@0f038054(8ba3aaca)fix/rtc-probe-identity@9d0d5e31fix/rv3028-eeprom-config@23b23b24fix/rx8130ce-week-onehot@8c9c9772sensor listfix/sensor-list-paging@bbacf47afix/rak12500-i2c-address@85f016bedevis at2dbd463e. ItsAutoDiscoverRTCClock.cppis unchanged since3e3150c8, and all six fix branches still merge onto it cleanly.db69172; the ZephCore session confirmed it.9b68b7e, split year write, 2000-2099) and rtc: clear the RV3028 12-hour bit at boot liquidraver/ZephCore#106 (db69172, 12-hour clear at boot; takes no time if the clear fails) are both MERGED. rtc: write the RV3028 time with an A0h year mark, and only 2000-2099 liquidraver/ZephCore#103 and rtc: select 24-hour mode before a time write, and take no time in 12-hour mode liquidraver/ZephCore#104 are closed.82e160257ccand drivers: rv3028: disable backup switchover during EEPROM access zephyrproject-rtos/zephyr#121252 at751beb04cba, both open.local/hw-accept(src/ identical to0f038054).main.The parked decision queue
0 parked: the fork has no open
decisionissue. This round's one decision (edit the meshcore-dev#3421 sentence) was asked as a dialog and answered.What the last round did
0f038054. Checked against rtc: clear the RV3028 12-hour bit at boot liquidraver/ZephCore#106's own description first, read back after posting, and confirmed by the ZephCore session.devand Read and write the RV3028 clock atomically, and reject switchover-garbled transfers 🤖🤖 meshcore-dev/MeshCore#3421, Store RV3028 backup switchover and trickle charger config in EEPROM 🤖🤖 meshcore-dev/MeshCore#3545 and Adopt an RTC only if its time registers read like that chip 🤖🤖 meshcore-dev/MeshCore#3544:dev's uncheckedset24HourMode()can write FDh to Control 2.What not to repeat
cmpagainst the--jq .bodyfile always reports one extra trailing newline on the round trip. Compare withdiff, or strip trailing whitespace, before calling it a mismatch.New learnings