Repository navigation
docs(load): address #104 review nits on oracle #48 alignment and NACK-with-forwarding - #124
Merged
Merged
Conversation
…-with-forwarding
fedem95
approved these changes
Oct 16, 2026
fedem95
left a comment
Contributor
There was a problem hiding this comment.
The oracle alignment and the NACK-with-forwarding behavior are now documented and covered across all seven bt_energia gateways. No blocking issues found
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.
Addresses the two non-blocking follow-up notes from @fedem95's approval review on #104 (the description of #104 has also been updated to match):
No one-row lag in the
own-firmware-oracle#48fixture (OWNd/message/load.py,tests/test_who3_load_control.py):F453AV,F454,H4684, andMH200Nlag one row behindF459andMH202. With the synced oracle fixture onmaster(test(oracle): sync firmware_oracle.json (509 inputs, 15 gateways, MH200 020102) #117 /own-firmware-oracle#48), all sevenbt_energiagateways (F453AV,F454,F459,H4684,MH200,MH200N,MH202) agree across all 15 WHO 3 inputs with zero row lag, and six of them (all exceptF454) echo*3*2*#N##on the event session.ALIGNED_GATEWAYShelper intests/test_who3_load_control.pywith direct assertions across all 7BT_ENERGIA_GATEWAYS, and asserts the full 8-register sequence on dimension 0 (registers[LOAD_DIMENSION_ALL] == others).energy-ts10.casespermalink line range from#L56-L65to#L69-L86.NACK on the command session while forwarding
*#3*#N##and*#3*10*D##(OWNd/message/load.py,tests/test_who3_load_control.py):OWNd/message/load.py(module docstring andOWNLoadCommanddocstring) andtests/test_who3_load_control.pythat while*3*2*#N##is ACKed,*#3*#N##($03AA001614) and*#3*10*D##(D 0–4,$03AA0016xx) replyNACK(*#*0##) on the command session in the oracle fixture while still transmitting the register-read telegrams on the SCS bus — the opposite of the specification's "ACK if command is sent to Bus" (WHO_3.pdfp. 6; inbt_energia,0x00b140waits up to 4.0 s inselect()for an F421 reply before sending ACK at0x00b030, and sends NACK at0x009cf8when no F421 answers), so a client will see a NACK when no F421 responds.test_status_and_measurement_requests_reply_nack_while_forwarding_to_busintests/test_who3_load_control.pyto pinreply == "nack",verdict == "out", and the exact bus telegram list across all 7bt_energiagateways for*#3*#1##,*#3*#2##, and*#3*10*0##..*#3*10*4##.