Repository navigation
Series sync: version fields, common/ 3.0.0, device rename, release-asset fix (v1.0.2) - #2
Merged
Merged
Conversation
The Device object's Application_Software_Version (12) and Firmware_Revision (44) were hardcoded "1.0.0" consts that never tracked reality - the same class of bug just found and fixed in the sibling BACnetProfileExample-B-SCHUB-CPP example by someone reading a real device with CAS BACnet Explorer and noticing the reported version didn't match the running build. Application_Software_Version now reads APP_VERSION directly, the same constant --version's own banner uses, so it can't drift from reality again. Firmware_Revision is now built once at start-up in main(), right after the native library loads, from the CAS BACnet Stack's own BACnetStack_GetAPIMajorVersion/MinorVersion/PatchVersion/BuildVersion - the same four calls cas_example_helper::print_version already makes for the start-up banner - and stored in STATE.firmware_revision, following the existing once_cell-backed Mutex<DeviceState> pattern already used for other start-up-resolved fields (e.g. the Network Port's IP addressing). Firmware_Revision was never meant to be this example's own version; it names the platform underneath the app. Bumped the app to 1.0.1 (Cargo.toml + APP_VERSION) and added a CHANGELOG.md entry. Verified with a real BACnet ReadProperty (bacpypes3) against the running device: Application_Software_Version = "1.0.1", Firmware_Revision = "6.0.21.0" (matching the CAS BACnet Stack version printed in the start-up banner). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Every example in the series announced the identical Object_Name "Rainbow" for its Device object, so two examples running on the same subnet were indistinguishable by name. Renamed to "Chipkin Example B-SS" (the series' BACnet profile code) so devices are identifiable on the network; sub-object names are unchanged. docs/colour-table.md (series root, not in this repo) updated to match. APP_VERSION/crate version bumped 1.0.1 -> 1.0.2. Verified: `cargo build --release` clean, and a live run confirms "FYI: Device 389001 (\"Chipkin Example B-SS\") ready." Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… failure)
Every platform artifact carries the same docs (README.md, LICENSE,
TUTORIAL.md, ...), and the publish job handed all of them to
softprops/action-gh-release with `files: artifacts/**/*`. Uploading two
assets with the same name makes the action fail part-way ("Not Found"
updating asset metadata) and leaves a draft release behind -
BACnetProfileExample-B-SCHUB-CPP v1.1.18 hit exactly this.
The publish job now flattens the downloaded artifacts into release/,
keeping one copy of each file name, and fails loudly if two files share
a name but differ. Same asset set as before, each name once. Applied
series-wide (the release job is a shared template, checked by
tools/check-series.sh check 11).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings
mainup to v1.0.2 with the series-wide changes made locally since the last merge:Summary:
Application_Software_VersionandFirmware_Revisionnow report the real app and stack versions (C++ repos).common/synced to 3.0.0, which merges the B-BC and B-SCHUB forks (C++ repos).docs/objects.jsonand PICS are updated to match.Each rebuild was version-bumped and live-verified locally at commit time (startup banner shows the new Device name). See
CHANGELOG.md.🤖 Generated with Claude Code