Fix PERIPH Simple Protocol mapping (#24) - #25
Merged
Merged
Conversation
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| BestPractice | 2 medium |
| CodeStyle | 4 minor |
🟢 Metrics 34 complexity · 0 duplication
Metric Results Complexity 34 Duplication 0
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
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.
Summary
Fixes the PERIPH command mapping for TWN4 readers using the stock Simple Protocol firmware.
Issue #24 correctly identified a regression: the current implementation mixed TWN4 App/API
SYSFUNCnumbering with Simple Protocol command IDs. The original PERIPH implementation from January 2024 used the correct Simple Protocol mapping (API_PERIPH = 0x04,Beep = 0x0407), but the current implementation had subsequently diverged from that map.Changes
API_PERIPHto0x04BeepAsyncto send[0407][Volume][Frequency][OnTime][OffTime]SYSFUNCwrappers as obsolete and returnNotSupportedExceptioninstead of sending misleading Simple Protocol framesBeepAsync->LedInitAsync->LedBlinkAsync->PlayMelodyMissingSimpleProtocolCommands.mdinventory as stale; it contained additional outdated mappings and should be regenerated separately from the current source treeThe sample compatibility test verifies that the public example API compiles against the current library and that
PlayMelodyagain emits valid0x0407Beep frames. The historical melody timing calculation is intentionally left unchanged in this bugfix.GPIO outputs still need to be configured as outputs before set/clear/toggle operations, as required by the Simple Protocol. This is separate from the Beep command and does not affect
BeepAsync.DESFire implementations are intentionally out of scope and no DESFire source files are modified by this PR.
Fixes #24