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

Alan-Jowett / sonde / 24787419019
82%

Build:
DEFAULT BRANCH: main
Ran 22 Apr 2026 03:57PM UTC
Jobs 1
Files 113
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

22 Apr 2026 03:35PM UTC coverage: 80.844% (+0.1%) from 80.729%
24787419019

push

github

web-flow
feat(modem): emit BUTTONSHORT and BUTTONLONG events (GPIO active-low on 1-Wire line) (#782)

* feat(modem): emit BUTTONSHORT and BUTTONLONG events via GPIO polling

Add button press detection on the 1-Wire data line (GPIO2 / XIAO D1)
to the modem firmware. The modem debounces input (30 ms), classifies
presses as BUTTON_SHORT (< 1 s) or BUTTON_LONG (≥ 1 s) on release,
and emits \EVENT_BUTTON\ (type \

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* style: run cargo fmt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* refactor(modem): inject deterministic clock into ButtonScanner, fix review comments

Address PR #782 review feedback:

- Inject deterministic time via \poll_at(now, pressed)\ method on
  \ButtonScanner\, eliminating \	hread::sleep()\ from 7 of 8 tests.
  Tests now run in ~0.27s (was ~2.2s) and are immune to CI timing jitter.
- Test exact 999ms/1000ms boundary (T-0803) with deterministic clock
  instead of using 1100ms to avoid jitter.
- Check GPIO setup return values with \sp!()\ + \xpect()\ to fail fast
  on misconfigured pins instead of silently running with bad GPIO state.
- Align MD-0600 spec text with implementation: internal pull-up is always
  enabled (safe alongside external pull-up; parallel pull-ups simply
  lower effective resistance).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* fix(modem): gate EVENT_BUTTON log on send success, use MockButtonPoll in integration test

- Check send_msg return value before logging EVENT_BUTTON; log a
  warning when USB-CDC write fails (consistent with ESP-NOW RX path).
- Replace the last sleep-based test with a deterministic MockButtonPoll
  that fires on a chosen poll count. All 8 button tests now run in 0.00s.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Alan Jowett <alan.jowett@micro... (continued)

251 of 267 new or added lines in 3 files covered. (94.01%)

2 existing lines in 2 files now uncovered.

24706 of 30560 relevant lines covered (80.84%)

201.68 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
92.21
0.06% crates/sonde-modem/src/bridge.rs
1
77.69
-0.1% crates/sonde-gateway/src/modem.rs

Coverage Regressions

Lines Coverage ∆ File
1
77.69
-0.1% crates/sonde-gateway/src/modem.rs
1
92.21
0.06% crates/sonde-modem/src/bridge.rs
Jobs
ID Job ID Ran Files Coverage
1 24787419019.1 22 Apr 2026 03:57PM UTC 113
80.84
GitHub Action Run
Source Files on build 24787419019
  • Tree
  • List 113
  • Changed 4
  • Source Changed 4
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24787419019
  • acbd55d1 on github
  • Prev Build on main (#24787411114)
  • Next Build on main (#24790692412)
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