Skip to content

[codex] Add maintenance timer fixes and traceability notes#207

Draft
yury-g wants to merge 4 commits into
masterfrom
codex/maintenance-traceability-ci
Draft

[codex] Add maintenance timer fixes and traceability notes#207
yury-g wants to merge 4 commits into
masterfrom
codex/maintenance-traceability-ci

Conversation

@yury-g

@yury-g yury-g commented Jun 9, 2026

Copy link
Copy Markdown
Member

Purpose

This draft PR prepares a maintenance branch for branch-based testing before any merge back to master. It keeps the public version line at 2.5.1 while fixing traceability and timer issues that were found by inspection.

What changed

  • Aligns library.properties and in-code version macros with release v2.5.1.
  • Adds MAINTAINER_NOTES.md so the maintenance reasoning and follow-up areas are easy to audit later.
  • Centralizes sensor-index validation and rejects sensorIndex == SensorCount.
  • Makes sawNewSample() report hardware-timer samples as documented.
  • Fixes timer maintenance issues found by inspection:
    • nRF52 and Due pause/resume macro mismatches
    • ESP8266 timer setup shadowing/result handling
    • ESP32 timer disable result handling
    • Mega Timer2 disable mismatch
    • Renesas unavailable-timer handling
    • ATtiny 1 MHz missing semicolon
  • Adds scripts/end-user-install-test.sh and resources/EndUserInstallTesting.md to test the library as an Arduino IDE ZIP install.
  • Adds manual hardware and release handoff docs:
    • resources/ManualHardwareTestPlan.md
    • resources/ReleaseNotes-2.5.2-draft.md
    • resources/MaintenanceBranchHandoff.md

Validation already run

  • git diff --check
  • XIAO ESP32-S3 direct source-tree compile with arduino-cli
  • scripts/end-user-install-test.sh
    • creates a ZIP from the current Git commit
    • installs it into a temporary Arduino sketchbook
    • compiles from the installed library folder
  • Remote branch ZIP install test from this PR branch
  • Expanded installed-library compile pass on esp32:esp32:XIAO_ESP32S3 for:
    • GettingStartedProject
    • Getting_BPM_to_Monitor
    • PulseSensor_BPM
    • PulseSensor_Pulse_Transit_Time
    • TwoPulseSensors_On_OneArduino
    • PulseSensor_XIAO_ESP32S3_BPM

Known limitation

Local AVR and UNO R4 compiles were attempted, but this Mac's installed Arduino toolchains fail before compilation with bad CPU type in executable. The added end-user install script documents a broader board matrix that can be run on Linux or another machine with compatible Arduino toolchains.

Prepared but not pushed yet

A GitHub Actions Arduino compile matrix exists as local commit 7e5ae73 and as a patch bundle at:

/Users/narwhal2/Documents/PulseSensorPlayground-local-patches/0001-Add-Arduino-compile-smoke-workflow.patch

Pushing .github/workflows/arduino-compile.yml requires the GitHub token to have workflow scope. Once authorized, push the local branch and monitor the checks.

Release intent

After this branch is reviewed, hardware-tested, and merged, prepare a separate 2.5.2 bump branch using resources/ReleaseNotes-2.5.2-draft.md as the release-note starting point.

@yury-g yury-g force-pushed the codex/maintenance-traceability-ci branch from be9c3b3 to 02f9535 Compare June 9, 2026 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant