Skip to content

docs(load): address #104 review nits on oracle #48 alignment and NACK-with-forwarding - #124

Merged
GreenGrassBlueOcean merged 1 commit into
masterfrom
fix/who3-oracle-review-nits
Oct 16, 2026
Merged

GreenGrassBlueOcean merged 1 commit into
masterfrom
fix/who3-oracle-review-nits

Conversation

@GreenGrassBlueOcean

Copy link
Copy Markdown
Contributor

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):

  1. No one-row lag in the own-firmware-oracle#48 fixture (OWNd/message/load.py, tests/test_who3_load_control.py):

    • Removes the outdated note that F453AV, F454, H4684, and MH200N lag one row behind F459 and MH202. With the synced oracle fixture on master (test(oracle): sync firmware_oracle.json (509 inputs, 15 gateways, MH200 020102) #117 / own-firmware-oracle#48), all seven bt_energia gateways (F453AV, F454, F459, H4684, MH200, MH200N, MH202) agree across all 15 WHO 3 inputs with zero row lag, and six of them (all except F454) echo *3*2*#N## on the event session.
    • Replaces the old lag-filtering ALIGNED_GATEWAYS helper in tests/test_who3_load_control.py with direct assertions across all 7 BT_ENERGIA_GATEWAYS, and asserts the full 8-register sequence on dimension 0 (registers[LOAD_DIMENSION_ALL] == others).
    • Updates the energy-ts10.cases permalink line range from #L56-L65 to #L69-L86.
  2. NACK on the command session while forwarding *#3*#N## and *#3*10*D## (OWNd/message/load.py, tests/test_who3_load_control.py):

    • Documents in OWNd/message/load.py (module docstring and OWNLoadCommand docstring) and tests/test_who3_load_control.py that while *3*2*#N## is ACKed, *#3*#N## ($03AA001614) and *#3*10*D## (D 0–4, $03AA0016xx) reply NACK (*#*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.pdf p. 6; in bt_energia, 0x00b140 waits up to 4.0 s in select() for an F421 reply before sending ACK at 0x00b030, and sends NACK at 0x009cf8 when no F421 answers), so a client will see a NACK when no F421 responds.
    • Adds test_status_and_measurement_requests_reply_nack_while_forwarding_to_bus in tests/test_who3_load_control.py to pin reply == "nack", verdict == "out", and the exact bus telegram list across all 7 bt_energia gateways for *#3*#1##, *#3*#2##, and *#3*10*0##..*#3*10*4##.

@fedem95 fedem95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle alignment and the NACK-with-forwarding behavior are now documented and covered across all seven bt_energia gateways. No blocking issues found

@GreenGrassBlueOcean
GreenGrassBlueOcean merged commit 01bc9b3 into master Oct 16, 2026
16 checks passed
@GreenGrassBlueOcean
GreenGrassBlueOcean deleted the fix/who3-oracle-review-nits branch October 16, 2026 21:54
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.

2 participants