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

kaidokert / rm32-private
64%
tmps: 63%

Build:
Build:
LAST BUILD BRANCH: bisect_init_changes
DEFAULT BRANCH: tmps
Repo Added 10 May 2026 04:42PM UTC
Token GLcOscfSVqHEgZlKtcJ5EvQO4MhM8tTho regen
Build 25 Last
Files 35
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

LAST BUILD ON BRANCH bisect_init_changes
branch: bisect_init_changes
CHANGE BRANCH
x
Reset
Sync Branches
  • bisect_init_changes
  • main
  • priv_bringup
  • tmps

16 May 2026 10:09PM UTC coverage: 64.342%. First build
25974450342

push

github

kaidokert
Report: COMP IRQ unmask leak — latent since the port, exposed by NVIC fix

Standalone report for the porting agent and future audit.

rm32 leaves EXTI.IMR1[22] (COMP2 interrupt-enable) unmasked anytime
the motor is Armed, Disarmed, or transitioning through stop paths
(stuck rotor, desync, signal_timeout). AM32 explicitly calls
maskPhaseInterrupts() at every stop/timeout site — ~15 sites in
main.c. rm32 only masks on the LVC / IsrAction::AllOff path.

Latent while NVIC priorities were misconfigured (all collapsed to
level 0 due to a separate cortex-m-vs-CMSIS shift bug), because
Cortex-M same-priority IRQs tail-chain and don't preempt — so
comparator noise on undriven BEMF pins couldn't starve TIM6.

Surfaces immediately once NVIC priorities are honored (COMP=0
preempting TIM6=3): comparator output bouncing on noise storms
COMP_IRQ, freezes firmware in seconds. dbg_isr_tick stops advancing
at ~13 s uptime on the L431 bench.

Same latent bug exists in G071/F051/G431 COMP ISR wrappers. When
porting the NVIC priority fix to those targets, the COMP mask must
be applied at the same time — they are a single unit.

Report covers: evidence in AM32 (the 15 call sites) and rm32 (the
4 stop paths and which one masks), hardware observation at the
freeze, the fix applied to mcu_l431/interrupts.rs, three reasons
testing missed it (no hardware fault injection, no typestate, NVIC
bug hid the symptom), three recommended improvements (mask-on-stop
HAL invariant test, typestate refactor, hardware fault-injection
in harness).

4143 of 6439 relevant lines covered (64.34%)

911.08 hits per line

Relevant lines Covered
Build:
Build:
6439 RELEVANT LINES 4143 COVERED LINES
911.08 HITS PER LINE
Source Files on bisect_init_changes
  • Tree
  • List 35
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25974450342 bisect_init_changes Report: COMP IRQ unmask leak — latent since the port, exposed by NVIC fix Standalone report for the porting agent and future audit. rm32 leaves EXTI.IMR1[22] (COMP2 interrupt-enable) unmasked anytime the motor is Armed, Disarmed, or transitionin... push 16 May 2026 10:20PM UTC kaidokert github
64.34
See All Builds (25)

Badge your Repo: rm32-private

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc