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

jandelgado / jled / 29275640606
98%
master: 98%

Build:
Build:
LAST BUILD BRANCH: group_documentation_update
DEFAULT BRANCH: master
Ran 13 Jul 2026 06:45PM UTC
Jobs 1
Files 10
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

13 Jul 2026 06:43PM UTC coverage: 97.976% (+0.3%) from 97.717%
29275640606

Pull #174

github

jandelgado
feature: TJLedGroup lifecycle events (kStart/kDone/kRepeatStart/kElementChanged)

Add GroupUpdateResult, returned by TJLedGroup::Update()/Update(t) instead of
plain bool, reporting group-level lifecycle events for both JLedGroup and
JLedRefGroup: IsStarted()/IsDone()/IsRepeatStarted()/IsElementChanged(), with
matching OnStart()/OnDone()/OnRepeatStart()/OnElementChanged() callbacks.

kStart/kDone fire once per run; kDone is latched (not diffed) since Stop()
mutates is_running_ outside of Update(). kRepeatStart fires once per
repetition, including the first, mode-independently, and composes correctly
under nesting. kElementChanged fires for Sequential groups when the active
element changes, mid-run or on wraparound to a new repetition; it never
fires in Parallel mode, for a single-element sequence, and it does not see
into nested subgroups (a nested group's own element transitions are opaque
to its parent).

Also fixes a duplicate-tick bug uncovered while adding kRepeatStart:
TJLedGroup had no tick-deduplication of its own (unlike TJLed). At a
repetition boundary, ResetLeds() puts every element back in ST_INIT, which
bypasses that element's own per-tick guard, so a second Update() call at the
same t could silently consume an extra repetition. TJLedGroup now has its
own last_update_time_ guard mirroring TJLed's.

Per-element event forwarding from individual TJLed instances through
TJLedRefGroup (with element identity) is deferred to a separate PR.
Pull Request #174: feature: TJLedGroup lifecycle events (kStart/kDone/kRepeatStart/kElementChanged)

164 of 178 branches covered (92.13%)

Branch coverage included in aggregate %.

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

562 of 563 relevant lines covered (99.82%)

794.55 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29275640606.1 13 Jul 2026 06:45PM UTC 10
97.98
GitHub Action Run
Source Files on build 29275640606
  • Tree
  • List 10
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29275640606
  • Pull Request #174
  • PR Base - master (#29204952844)
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