• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dangernoodle-io / breadboard / 30729600680
97%

Build:
DEFAULT BRANCH: main
Ran 02 Aug 2026 02:54AM UTC
Jobs 1
Files 214
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Aug 2026 02:51AM UTC coverage: 96.795% (+0.01%) from 96.781%
30729600680

push

github

web-flow
feat: bb_wdt core-claim mechanism (B1-1364 PR1) (#1192)

Adds bb_wdt_claim_core()/bb_wdt_release_core() so composition can declare that a core is pinned by a CPU-bound task and have the Task WDT idle-check mask derived from that declaration, instead of hand-flipping CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPUn per board.

- Claims accumulate into a bitmask; claiming an already-claimed core is idempotent, never a conflict (idle-check suppression is not an exclusive resource).
- Every reconfigure derives the applied idle mask as kconfig_default_mask | claimed_mask -- OR, never override. A claim only ever adds an excused core, never removes one the board owner asked for via Kconfig.
- Prevents a latent clobber: bb_wdt_set_timeout() previously would have re-derived the idle mask from Kconfig alone on every call, so any later call (including the bb_wdt_extend_begin()/extend_end() pair) would silently drop a live claim. Both the timeout path and claim/release now share one do_reconfigure() helper (per platform) that always unions in the current claimed mask via the shared bb_wdt_derive_idle_mask() primitive.
- claim/release each trigger their own reconfigure immediately -- no observable declared-but-not-applied window.
- Adds bb_wdt_steer_core(), a pure evaluator that steers an unaffinitized worker away from a core claimed by exactly one pinned task, unchanged for explicit pins, both-or-zero-claimed, and unicore targets.
- Adds bb_wdt_clamp_idle_mask(), a pure evaluator that clamps the derived idle mask to the target's real core count before it reaches esp_task_wdt_reconfigure() -- ESP-IDF rejects (ESP_ERR_INVALID_ARG) any idle_core_mask bit at or above CONFIG_FREERTOS_NUMBER_OF_CORES, so an unclamped mask from a claim on a nonexistent core (e.g. bb_wdt_claim_core(1) on a 1-core esp32-s2/-c3 target) would otherwise silently reject every subsequent reconfigure, including unrelated timeout changes, until the offending claim is released. Claiming itself still book... (continued)

8149 of 8722 branches covered (93.43%)

Branch coverage included in aggregate %.

68 of 68 new or added lines in 2 files covered. (100.0%)

13836 of 13991 relevant lines covered (98.89%)

2617.3 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30729600680.1 02 Aug 2026 02:54AM UTC 214
96.79
GitHub Action Run
Source Files on build 30729600680
  • Tree
  • List 214
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30729600680
  • cc3cbd13 on github
  • Prev Build on main (#30729327660)
  • Next Build on main (#30729871719)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc