Issue #5 (requested by @TerryFrench): the OLED dim/off tiers are no longer hardcoded at 2/15 min. Two new Config_body fields screen_dim_timeout / screen_off_timeout (minutes, 0 = tier disabled, range [0,250]) are editable on the Settings screen (ScrDim/ScrOff) and persist to flash; defaults preserve the 2/15 ladder and upgraders read those via the config_valid clamp. The idle timer moved from time_us_32() to 64-bit µs so the full 250-min range is representable without the ~71-min wrap. Issue #6: new "trig fold" Diagnostics counter — trigger-bearing 0x02 host reports that arrived while the speaker stream was active and were folded into the 0x36 audio frames (via state[]) rather than sent as a standalone 0x31. Makes trig_allow == to_bt(trig share) + fold visible, confirming the apparent trig/tx gap is audio-path folding, not dropped reports. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
585a385219
commit
c65e0c9802
@@ -33,6 +33,12 @@ struct __attribute__((packed)) Config_body {
|
||||
uint8_t lb_fav_r[4];
|
||||
uint8_t lb_fav_g[4];
|
||||
uint8_t lb_fav_b[4];
|
||||
// OLED idle power-ladder thresholds, in minutes. 0 = that tier disabled.
|
||||
// Defaults preserve the original hardcoded ladder (2 min dim, 15 min off).
|
||||
// Range [0,250] (0xFF erased flash → default via config_valid clamp). The
|
||||
// idle timer is 64-bit µs so the full range is representable. Issue #5.
|
||||
uint8_t screen_dim_timeout;
|
||||
uint8_t screen_off_timeout;
|
||||
};
|
||||
|
||||
struct __attribute__((packed)) Config {
|
||||
|
||||
Reference in New Issue
Block a user