# task-21 bench leg: IEC 60870-5-104 setpoint criteria on the 77779d49 image
# image        : fw build: Oct 26 2026 16:27:01 suite=NONE dstr=off (built in a read-only detached
#                worktree at 77779d49; the main tree held another lane's in-flight doc edits)
# device       : 192.168.1.100:2404  (PC side: wired NIC 192.168.1.2/24, ping 3/3 before the leg)
# tooling      : test/host/iec104_master.py imported as a library by a scratch driver kept OUTSIDE the
#                repo (D:/Code/DTU Code/_wt/.state/bench21_104.py) -- the repo was not modified.
# addressing   : item table read from the HEAD blobs (git show 77779d49:App/algo/prot_set.[ch]),
#                not from the working tree. 40 items total = 27 with comm_addr != 0 + 13 local items
#                with comm_addr == 0. The 13 local items are structurally NOT addressable by C_SE/C_RD
#                and are therefore EXCLUDED from criterion 3 by design (listed in block [A] NOTE line).
# protection   : protection is in the "uncalibrated interlock" state (ADC_CAL_F_VALID not set). Per the
#                acceptance note on task-21, C_SE writes MUST still be accepted in that state
#                (interlock != write-inhibit) -- block [A] SAMPLE checks prove they are.
#
# BLOCK [A] pre-reset run: 27-item C_RD sweep at factory defaults + unmapped-address control
#                         + 2 out-of-range writes + 3 in-range writes with C_RD read-back.
#           The 3 "FAIL sweep_pre_*" lines are EXPECTED and are the persistence evidence: that block
#           re-ran after the reset (a driver argv bug -- my scratch file, since fixed), so its sweep
#           compared live values against factory defaults and correctly reported the 3 written items
#           as still non-default: 0x8858=7.500 / 0x885D=1234.000 / 0x8820=11000.000.
# BLOCK [B] post-reset run (reset only, no reflash): PERSIST 3/3 + YX31 not latched + restore defaults.
# BLOCK [C] final sweep after the restore was saved and the box reset again: 27/27 back at defaults.
#


####################################################################################################
### [A] pre-reset run (also serves as post-reset persistence read)
####################################################################################################
[    0.028s] TX  STARTDT act  68 04 07 00 00 00
[    0.168s] RX  U  STARTDT con
-- connected, STARTDT con ok
[    1.179s] TX  I  C_IC act (pre)  68 0E 00 00 00 00 64 01 06 00 01 00 00 00 00 14
[    1.269s] RX  I  type=100 cot=7 body=00 00 00 14
[    1.269s] TX  S  N(R)=1  68 04 01 00 02 00
[    1.270s] TX  S  N(R)=2  68 04 01 00 04 00
[    1.271s] RX  I  M_SP ioa=15 val=0 iv=0 cot=4  [N(R)=1]
[    1.271s] RX  I  M_SP ioa=16 val=0 iv=0 cot=4  [N(R)=1]
[    1.271s] RX  I  M_SP ioa=17 val=0 iv=0 cot=4  [N(R)=1]
[    1.271s] RX  I  M_SP ioa=18 val=0 iv=0 cot=4  [N(R)=1]
[    1.271s] RX  I  M_SP ioa=23 val=0 iv=0 cot=4  [N(R)=1]
[    1.271s] RX  I  M_SP ioa=31 val=0 iv=0 cot=4  [N(R)=1]
[    1.271s] TX  S  N(R)=3  68 04 01 00 06 00
[    1.273s] TX  S  N(R)=4  68 04 01 00 08 00
[    1.274s] TX  S  N(R)=5  68 04 01 00 0A 00
[    1.374s] RX  I  type=100 cot=8 body=00 00 00 14
[    1.374s] TX  S  N(R)=6  68 04 01 00 0C 00
[    2.387s] CHECK gi_actterm_pre               PASS
PASS gi_actterm_pre                     checks=1

=== SWEEP pre : C_RD over 27 addressable items ===
[    2.387s] TX  C_RD 0x8027  68 0D 02 00 0C 00 66 01 05 00 01 00 27 80 00
[    2.475s] RX  I  M_ME_NC ioa=0x8027 val=20.000 qds=0x00 cot=5
[    2.475s] TX  S  N(R)=7  68 04 01 00 0E 00
PASS sweep_pre_0x8027                   read=20.000 want(default)=20.000  PS_UV_VOL
[    3.488s] TX  C_RD 0x8028  68 0D 04 00 0E 00 66 01 05 00 01 00 28 80 00
[    3.576s] RX  I  M_ME_NC ioa=0x8028 val=10000.000 qds=0x00 cot=5
[    3.576s] TX  S  N(R)=8  68 04 01 00 10 00
PASS sweep_pre_0x8028                   read=10000.000 want(default)=10000.000  PS_UV_DLY
[    4.590s] TX  C_RD 0x8029  68 0D 06 00 10 00 66 01 05 00 01 00 29 80 00
[    4.677s] RX  I  M_ME_NC ioa=0x8029 val=120.000 qds=0x00 cot=5
[    4.677s] TX  S  N(R)=9  68 04 01 00 12 00
PASS sweep_pre_0x8029                   read=120.000 want(default)=120.000  PS_OV_VOL
[    5.679s] TX  C_RD 0x802A  68 0D 08 00 12 00 66 01 05 00 01 00 2A 80 00
[    5.778s] RX  I  M_ME_NC ioa=0x802A val=10000.000 qds=0x00 cot=5
[    5.778s] TX  S  N(R)=10  68 04 01 00 14 00
PASS sweep_pre_0x802A                   read=10000.000 want(default)=10000.000  PS_OV_DLY
[    6.785s] TX  C_RD 0x8820  68 0D 0A 00 14 00 66 01 05 00 01 00 20 88 00
[    6.879s] RX  I  M_ME_NC ioa=0x8820 val=10000.000 qds=0x00 cot=5
[    6.879s] TX  S  N(R)=11  68 04 01 00 16 00
PASS sweep_pre_0x8820                   read=10000.000 want(default)=10000.000  PS_PT_PRI
[    7.883s] TX  C_RD 0x8821  68 0D 0C 00 16 00 66 01 05 00 01 00 21 88 00
[    7.979s] RX  I  M_ME_NC ioa=0x8821 val=100.000 qds=0x00 cot=5
[    7.979s] TX  S  N(R)=12  68 04 01 00 18 00
PASS sweep_pre_0x8821                   read=100.000 want(default)=100.000  PS_PT_SEC
[    8.990s] TX  C_RD 0x8825  68 0D 0E 00 18 00 66 01 05 00 01 00 25 88 00
[    9.080s] RX  I  M_ME_NC ioa=0x8825 val=100.000 qds=0x00 cot=5
[    9.080s] TX  S  N(R)=13  68 04 01 00 1A 00
[    9.082s] RX  S  N(R)=8
PASS sweep_pre_0x8825                   read=100.000 want(default)=100.000  PS_CT_PRI
[   10.097s] TX  C_RD 0x8826  68 0D 10 00 1A 00 66 01 05 00 01 00 26 88 00
[   10.183s] RX  I  M_ME_NC ioa=0x8826 val=5.000 qds=0x00 cot=5
[   10.183s] TX  S  N(R)=14  68 04 01 00 1C 00
PASS sweep_pre_0x8826                   read=5.000 want(default)=5.000  PS_CT_SEC
[   11.193s] TX  C_RD 0x8856  68 0D 12 00 1C 00 66 01 05 00 01 00 56 88 00
[   11.284s] RX  I  M_ME_NC ioa=0x8856 val=1.000 qds=0x00 cot=5
[   11.284s] TX  S  N(R)=15  68 04 01 00 1E 00
PASS sweep_pre_0x8856                   read=1.000 want(default)=1.000  PS_OC1_EN
[   12.295s] TX  C_RD 0x8857  68 0D 14 00 1E 00 66 01 05 00 01 00 57 88 00
[   12.385s] RX  I  M_ME_NC ioa=0x8857 val=1.000 qds=0x00 cot=5
[   12.385s] TX  S  N(R)=16  68 04 01 00 20 00
PASS sweep_pre_0x8857                   read=1.000 want(default)=1.000  PS_OC1_TRIP
[   13.390s] TX  C_RD 0x8858  68 0D 16 00 20 00 66 01 05 00 01 00 58 88 00
[   13.486s] RX  I  M_ME_NC ioa=0x8858 val=10.000 qds=0x00 cot=5
[   13.486s] TX  S  N(R)=17  68 04 01 00 22 00
PASS sweep_pre_0x8858                   read=10.000 want(default)=10.000  PS_OC1_CUR
[   14.495s] TX  C_RD 0x8859  68 0D 18 00 22 00 66 01 05 00 01 00 59 88 00
[   14.587s] RX  I  M_ME_NC ioa=0x8859 val=0.000 qds=0x00 cot=5
[   14.587s] TX  S  N(R)=18  68 04 01 00 24 00
PASS sweep_pre_0x8859                   read=0.000 want(default)=0.000  PS_OC1_DLY
[   15.592s] TX  C_RD 0x885A  68 0D 1A 00 24 00 66 01 05 00 01 00 5A 88 00
[   15.688s] RX  I  M_ME_NC ioa=0x885A val=1.000 qds=0x00 cot=5
[   15.688s] TX  S  N(R)=19  68 04 01 00 26 00
PASS sweep_pre_0x885A                   read=1.000 want(default)=1.000  PS_OC2_EN
[   16.688s] TX  C_RD 0x885B  68 0D 1C 00 26 00 66 01 05 00 01 00 5B 88 00
[   16.789s] RX  I  M_ME_NC ioa=0x885B val=1.000 qds=0x00 cot=5
[   16.789s] TX  S  N(R)=20  68 04 01 00 28 00
PASS sweep_pre_0x885B                   read=1.000 want(default)=1.000  PS_OC2_TRIP
[   17.794s] TX  C_RD 0x885C  68 0D 1E 00 28 00 66 01 05 00 01 00 5C 88 00
[   17.890s] RX  I  M_ME_NC ioa=0x885C val=5.000 qds=0x00 cot=5
[   17.890s] TX  S  N(R)=21  68 04 01 00 2A 00
[   17.891s] RX  S  N(R)=16
PASS sweep_pre_0x885C                   read=5.000 want(default)=5.000  PS_OC2_CUR
[   18.902s] TX  C_RD 0x885D  68 0D 20 00 2A 00 66 01 05 00 01 00 5D 88 00
[   18.992s] RX  I  M_ME_NC ioa=0x885D val=500.000 qds=0x00 cot=5
[   18.992s] TX  S  N(R)=22  68 04 01 00 2C 00
PASS sweep_pre_0x885D                   read=500.000 want(default)=500.000  PS_OC2_DLY
[   20.004s] TX  C_RD 0x885E  68 0D 22 00 2C 00 66 01 05 00 01 00 5E 88 00
[   20.093s] RX  I  M_ME_NC ioa=0x885E val=1.000 qds=0x00 cot=5
[   20.093s] TX  S  N(R)=23  68 04 01 00 2E 00
PASS sweep_pre_0x885E                   read=1.000 want(default)=1.000  PS_OC3_EN
[   21.101s] TX  C_RD 0x885F  68 0D 24 00 2E 00 66 01 05 00 01 00 5F 88 00
[   21.193s] RX  I  M_ME_NC ioa=0x885F val=0.000 qds=0x00 cot=5
[   21.193s] TX  S  N(R)=24  68 04 01 00 30 00
PASS sweep_pre_0x885F                   read=0.000 want(default)=0.000  PS_OC3_TRIP
[   22.207s] TX  C_RD 0x8860  68 0D 26 00 30 00 66 01 05 00 01 00 60 88 00
[   22.295s] RX  I  M_ME_NC ioa=0x8860 val=2.000 qds=0x00 cot=5
[   22.295s] TX  S  N(R)=25  68 04 01 00 32 00
PASS sweep_pre_0x8860                   read=2.000 want(default)=2.000  PS_OC3_CUR
[   23.305s] TX  C_RD 0x8861  68 0D 28 00 32 00 66 01 05 00 01 00 61 88 00
[   23.394s] RX  I  M_ME_NC ioa=0x8861 val=3000.000 qds=0x00 cot=5
[   23.394s] TX  S  N(R)=26  68 04 01 00 34 00
PASS sweep_pre_0x8861                   read=3000.000 want(default)=3000.000  PS_OC3_DLY
[   24.395s] TX  C_RD 0x8871  68 0D 2A 00 34 00 66 01 05 00 01 00 71 88 00
[   24.496s] RX  I  M_ME_NC ioa=0x8871 val=1.000 qds=0x00 cot=5
[   24.496s] TX  S  N(R)=27  68 04 01 00 36 00
PASS sweep_pre_0x8871                   read=1.000 want(default)=1.000  PS_OL_EN
[   25.501s] TX  C_RD 0x8872  68 0D 2C 00 36 00 66 01 05 00 01 00 72 88 00
[   25.597s] RX  I  M_ME_NC ioa=0x8872 val=0.000 qds=0x00 cot=5
[   25.597s] TX  S  N(R)=28  68 04 01 00 38 00
PASS sweep_pre_0x8872                   read=0.000 want(default)=0.000  PS_OL_TRIP
[   26.599s] TX  C_RD 0x8873  68 0D 2E 00 38 00 66 01 05 00 01 00 73 88 00
[   26.703s] RX  I  M_ME_NC ioa=0x8873 val=1.000 qds=0x00 cot=5
[   26.703s] TX  S  N(R)=29  68 04 01 00 3A 00
[   26.704s] RX  S  N(R)=24
PASS sweep_pre_0x8873                   read=1.000 want(default)=1.000  PS_OL_CUR
[   27.709s] TX  C_RD 0x8874  68 0D 30 00 3A 00 66 01 05 00 01 00 74 88 00
[   27.804s] RX  I  M_ME_NC ioa=0x8874 val=10000.000 qds=0x00 cot=5
[   27.804s] TX  S  N(R)=30  68 04 01 00 3C 00
PASS sweep_pre_0x8874                   read=10000.000 want(default)=10000.000  PS_OL_DLY
[   28.817s] TX  C_RD 0x888E  68 0D 32 00 3C 00 66 01 05 00 01 00 8E 88 00
[   28.906s] RX  I  M_ME_NC ioa=0x888E val=1.000 qds=0x00 cot=5
[   28.906s] TX  S  N(R)=31  68 04 01 00 3E 00
PASS sweep_pre_0x888E                   read=1.000 want(default)=1.000  PS_3U0_EN
[   29.921s] TX  C_RD 0x888F  68 0D 34 00 3E 00 66 01 05 00 01 00 8F 88 00
[   30.006s] RX  I  M_ME_NC ioa=0x888F val=15.000 qds=0x00 cot=5
[   30.006s] TX  S  N(R)=32  68 04 01 00 40 00
PASS sweep_pre_0x888F                   read=15.000 want(default)=15.000  PS_3U0_VOL
[   31.007s] TX  C_RD 0x8890  68 0D 36 00 40 00 66 01 05 00 01 00 90 88 00
[   31.108s] RX  I  M_ME_NC ioa=0x8890 val=5000.000 qds=0x00 cot=5
[   31.108s] TX  S  N(R)=33  68 04 01 00 42 00
PASS sweep_pre_0x8890                   read=5000.000 want(default)=5000.000  PS_3U0_DLY

=== UNMAPPED: C_RD on addresses outside the table (13 local items have comm_addr=0) ===
[   32.112s] TX  C_RD 0x8854  68 0D 38 00 42 00 66 01 05 00 01 00 54 88 00
[   32.208s] RX  I  type=102 cot=14 body=54 88 00
[   32.208s] TX  S  N(R)=34  68 04 01 00 44 00
PASS unmapped_no_answer_0x8854          read=None (expect no response: not in comm table)
[   35.243s] TX  C_RD 0x8855  68 0D 3A 00 44 00 66 01 05 00 01 00 55 88 00
[   35.310s] RX  I  type=102 cot=14 body=55 88 00
[   35.310s] TX  S  N(R)=35  68 04 01 00 46 00
[   37.810s] RX  S  N(R)=30
PASS unmapped_no_answer_0x8855          read=None (expect no response: not in comm table)
[   38.820s] TX  C_RD 0x8862  68 0D 3C 00 46 00 66 01 05 00 01 00 62 88 00
[   38.911s] RX  I  type=102 cot=14 body=62 88 00
[   38.911s] TX  S  N(R)=36  68 04 01 00 48 00
PASS unmapped_no_answer_0x8862          read=None (expect no response: not in comm table)
   NOTE: 13 local items (comm_addr=0) are structurally NOT addressable by C_RD, hence excluded from this criterion: PS_OV_EN,PS_UV_EN,PS_RET_OVER,PS_RET_UNDER,PS_GLOBAL_EN,PS_OF_EN,PS_OF_HZ,PS_OF_DLY,PS_UF_EN,PS_UF_HZ,PS_UF_DLY,PS_RET_OF,PS_RET_UF

=== OOB: out-of-range must be refused, value unchanged ===
[   41.932s] TX  C_RD 0x8858  68 0D 3E 00 48 00 66 01 05 00 01 00 58 88 00
[   42.012s] RX  I  M_ME_NC ioa=0x8858 val=10.000 qds=0x00 cot=5
[   42.012s] TX  S  N(R)=37  68 04 01 00 4A 00
[   43.022s] TX  C_SE sel 0x8858 = 500.000  68 12 40 00 4A 00 32 01 06 00 01 00 58 88 00 00 00 FA 43 80
[   43.113s] RX  I  type=50 cot=7 PN body=58 88 00 00 00 FA 43 80
[   43.113s] TX  S  N(R)=38  68 04 01 00 4C 00
[   44.122s] TX  C_SE exe 0x8858 = 500.000  68 12 42 00 4C 00 32 01 06 00 01 00 58 88 00 00 00 FA 43 00
[   44.214s] RX  I  type=50 cot=7 PN body=58 88 00 00 00 FA 43 00
[   44.214s] TX  S  N(R)=39  68 04 01 00 4E 00
PASS oob_refused_0x8858                 sel_any=True sel_pn=True exe_any=True exe_pn=True  PS_OC1_CUR (above max 100)
[   45.218s] TX  C_RD 0x8858  68 0D 44 00 4E 00 66 01 05 00 01 00 58 88 00
[   45.314s] RX  I  M_ME_NC ioa=0x8858 val=10.000 qds=0x00 cot=5
[   45.314s] TX  S  N(R)=40  68 04 01 00 50 00
PASS oob_value_unchanged_0x8858         before=10.000 after=10.000 (refused write must not land)
[   46.326s] TX  C_RD 0x8821  68 0D 46 00 50 00 66 01 05 00 01 00 21 88 00
[   46.416s] RX  I  M_ME_NC ioa=0x8821 val=100.000 qds=0x00 cot=5
[   46.416s] TX  S  N(R)=41  68 04 01 00 52 00
[   47.431s] TX  C_SE sel 0x8821 = 0.500  68 12 48 00 52 00 32 01 06 00 01 00 21 88 00 00 00 00 3F 80
[   47.517s] RX  I  type=50 cot=7 PN body=21 88 00 00 00 00 3F 80
[   47.517s] TX  S  N(R)=42  68 04 01 00 54 00
[   48.521s] TX  C_SE exe 0x8821 = 0.500  68 12 4A 00 54 00 32 01 06 00 01 00 21 88 00 00 00 00 3F 00
[   48.617s] RX  I  type=50 cot=7 PN body=21 88 00 00 00 00 3F 00
[   48.617s] TX  S  N(R)=43  68 04 01 00 56 00
[   48.619s] RX  S  N(R)=38
PASS oob_refused_0x8821                 sel_any=True sel_pn=True exe_any=True exe_pn=True  PS_PT_SEC (below min 1.0)
[   49.630s] TX  C_RD 0x8821  68 0D 4C 00 56 00 66 01 05 00 01 00 21 88 00
[   49.724s] RX  I  M_ME_NC ioa=0x8821 val=100.000 qds=0x00 cot=5
[   49.724s] TX  S  N(R)=44  68 04 01 00 58 00
PASS oob_value_unchanged_0x8821         before=100.000 after=100.000 (refused write must not land)

=== SAMPLE: 3 in-range C_SE writes then C_RD ===
[   50.739s] TX  C_SE sel 0x8858 = 7.500  68 12 4E 00 58 00 32 01 06 00 01 00 58 88 00 00 00 F0 40 80
[   50.828s] RX  I  type=50 cot=7 body=58 88 00 00 00 F0 40 80
[   50.828s] TX  S  N(R)=45  68 04 01 00 5A 00
[   51.835s] TX  C_SE exe 0x8858 = 7.500  68 12 50 00 5A 00 32 01 06 00 01 00 58 88 00 00 00 F0 40 00
[   51.929s] RX  I  type=50 cot=7 body=58 88 00 00 00 F0 40 00
[   51.929s] TX  S  N(R)=46  68 04 01 00 5C 00
PASS se_accept_0x8858                   sel=True/False exe=True/False (want actcon, pn=False)  PS_OC1_CUR -> 7.500
[   52.944s] TX  C_RD 0x8858  68 0D 52 00 5C 00 66 01 05 00 01 00 58 88 00
[   53.035s] RX  I  M_ME_NC ioa=0x8858 val=7.500 qds=0x00 cot=5
[   53.035s] TX  S  N(R)=47  68 04 01 00 5E 00
PASS rd_after_se_0x8858                 read=7.500 want=7.500
[   54.040s] TX  C_SE sel 0x885D = 1234.000  68 12 54 00 5E 00 32 01 06 00 01 00 5D 88 00 00 40 9A 44 80
[   54.136s] RX  I  type=50 cot=7 body=5D 88 00 00 40 9A 44 80
[   54.136s] TX  S  N(R)=48  68 04 01 00 60 00
[   55.138s] TX  C_SE exe 0x885D = 1234.000  68 12 56 00 60 00 32 01 06 00 01 00 5D 88 00 00 40 9A 44 00
[   55.237s] RX  I  type=50 cot=7 body=5D 88 00 00 40 9A 44 00
[   55.237s] TX  S  N(R)=49  68 04 01 00 62 00
PASS se_accept_0x885D                   sel=True/False exe=True/False (want actcon, pn=False)  PS_OC2_DLY -> 1234.000
[   56.240s] TX  C_RD 0x885D  68 0D 58 00 62 00 66 01 05 00 01 00 5D 88 00
[   56.343s] RX  I  M_ME_NC ioa=0x885D val=1234.000 qds=0x00 cot=5
[   56.343s] TX  S  N(R)=50  68 04 01 00 64 00
PASS rd_after_se_0x885D                 read=1234.000 want=1234.000
[   57.347s] TX  C_SE sel 0x8820 = 11000.000  68 12 5A 00 64 00 32 01 06 00 01 00 20 88 00 00 E0 2B 46 80
[   57.444s] RX  I  type=50 cot=7 body=20 88 00 00 E0 2B 46 80
[   57.444s] TX  S  N(R)=51  68 04 01 00 66 00
[   57.445s] RX  S  N(R)=46
[   58.454s] TX  C_SE exe 0x8820 = 11000.000  68 12 5C 00 66 00 32 01 06 00 01 00 20 88 00 00 E0 2B 46 00
[   58.546s] RX  I  type=50 cot=7 body=20 88 00 00 E0 2B 46 00
[   58.546s] TX  S  N(R)=52  68 04 01 00 68 00
PASS se_accept_0x8820                   sel=True/False exe=True/False (want actcon, pn=False)  PS_PT_PRI -> 11000.000
[   59.558s] TX  C_RD 0x8820  68 0D 5E 00 68 00 66 01 05 00 01 00 20 88 00
[   59.650s] RX  I  M_ME_NC ioa=0x8820 val=11000.000 qds=0x00 cot=5
[   59.650s] TX  S  N(R)=53  68 04 01 00 6A 00
[   60.150s] RX  I  M_ME_NC ioa=0x4011 val=0.000 qds=0x00 cot=1
[   60.150s] RX  I  M_ME_NC ioa=0x4012 val=0.000 qds=0x80 cot=1
[   60.150s] RX  I  M_ME_NC ioa=0x4013 val=0.000 qds=0x80 cot=1
[   60.150s] RX  I  M_ME_NC ioa=0x4014 val=0.000 qds=0x00 cot=1
[   60.150s] RX  I  M_ME_NC ioa=0x4015 val=0.000 qds=0x00 cot=1
[   60.150s] RX  I  M_ME_NC ioa=0x4016 val=0.000 qds=0x80 cot=1
[   60.150s] RX  I  M_ME_NC ioa=0x4017 val=0.000 qds=0x80 cot=1
[   60.150s] RX  I  M_ME_NC ioa=0x4018 val=0.000 qds=0x80 cot=1
[   60.150s] TX  S  N(R)=54  68 04 01 00 6C 00
[   60.151s] RX  I  M_ME_NC ioa=0x401D val=0.000 qds=0x80 cot=1
[   60.151s] TX  S  N(R)=55  68 04 01 00 6E 00
PASS rd_after_se_0x8820                 read=11000.000 want=11000.000

-- letting dirty setpoints flush to /prot_set.bin (5 s)

==== PRE: 41/41 checks PASS ====
json -> D:\\Code\\DTU Code\\_wt\\.state\\i104_pre.json


####################################################################################################
### [B] post-reset run: persist + YX31 + restore
####################################################################################################
[    0.026s] TX  STARTDT act  68 04 07 00 00 00
[    0.137s] RX  U  STARTDT con
-- connected, STARTDT con ok

=== PERSIST after reset: written values must survive ===
[    1.140s] TX  C_RD 0x8858  68 0D 00 00 00 00 66 01 05 00 01 00 58 88 00
[    1.238s] RX  I  M_ME_NC ioa=0x8858 val=7.500 qds=0x00 cot=5
[    1.238s] TX  S  N(R)=1  68 04 01 00 02 00
PASS persist_0x8858                     read=7.500 want=7.500  PS_OC1_CUR
[    2.252s] TX  C_RD 0x885D  68 0D 02 00 02 00 66 01 05 00 01 00 5D 88 00
[    2.339s] RX  I  M_ME_NC ioa=0x885D val=1234.000 qds=0x00 cot=5
[    2.339s] TX  S  N(R)=2  68 04 01 00 04 00
PASS persist_0x885D                     read=1234.000 want=1234.000  PS_OC2_DLY
[    3.343s] TX  C_RD 0x8820  68 0D 04 00 04 00 66 01 05 00 01 00 20 88 00
[    3.439s] RX  I  M_ME_NC ioa=0x8820 val=11000.000 qds=0x00 cot=5
[    3.439s] TX  S  N(R)=3  68 04 01 00 06 00
PASS persist_0x8820                     read=11000.000 want=11000.000  PS_PT_PRI
[    4.447s] TX  I  C_IC act (persist)  68 0E 06 00 06 00 64 01 06 00 01 00 00 00 00 14
[    4.540s] RX  I  type=100 cot=7 body=00 00 00 14
[    4.540s] TX  S  N(R)=4  68 04 01 00 08 00
[    4.541s] TX  S  N(R)=5  68 04 01 00 0A 00
[    4.543s] RX  I  M_SP ioa=15 val=0 iv=0 cot=4  [N(R)=4]
[    4.543s] RX  I  M_SP ioa=16 val=0 iv=0 cot=4  [N(R)=4]
[    4.543s] RX  I  M_SP ioa=17 val=0 iv=0 cot=4  [N(R)=4]
[    4.543s] RX  I  M_SP ioa=18 val=0 iv=0 cot=4  [N(R)=4]
[    4.543s] RX  I  M_SP ioa=23 val=0 iv=0 cot=4  [N(R)=4]
[    4.543s] RX  I  M_SP ioa=31 val=0 iv=0 cot=4  [N(R)=4]
[    4.543s] TX  S  N(R)=6  68 04 01 00 0C 00
[    4.543s] TX  S  N(R)=7  68 04 01 00 0E 00
[    4.544s] TX  S  N(R)=8  68 04 01 00 10 00
[    4.645s] RX  I  type=100 cot=8 body=00 00 00 14
[    4.645s] TX  S  N(R)=9  68 04 01 00 12 00
PASS yx31_prot_block_off                yx31=(0, False) (L5-1 checksum selfcheck must not latch)

=== RESTORE factory defaults ===
[    5.649s] TX  C_SE sel 0x8858 = 10.000  68 12 08 00 12 00 32 01 06 00 01 00 58 88 00 00 00 20 41 80
[    5.746s] RX  I  type=50 cot=7 body=58 88 00 00 00 20 41 80
[    5.746s] TX  S  N(R)=10  68 04 01 00 14 00
[    6.759s] TX  C_SE exe 0x8858 = 10.000  68 12 0A 00 14 00 32 01 06 00 01 00 58 88 00 00 00 20 41 00
[    6.848s] RX  I  type=50 cot=7 body=58 88 00 00 00 20 41 00
[    6.848s] TX  S  N(R)=11  68 04 01 00 16 00
[    7.863s] TX  C_RD 0x8858  68 0D 0C 00 16 00 66 01 05 00 01 00 58 88 00
[    7.956s] RX  I  M_ME_NC ioa=0x8858 val=10.000 qds=0x00 cot=5
[    7.956s] TX  S  N(R)=12  68 04 01 00 18 00
PASS restore_0x8858                     read=10.000 want(default)=10.000
[    8.959s] TX  C_SE sel 0x885D = 500.000  68 12 0E 00 18 00 32 01 06 00 01 00 5D 88 00 00 00 FA 43 80
[    9.058s] RX  I  type=50 cot=7 body=5D 88 00 00 00 FA 43 80
[    9.058s] TX  S  N(R)=13  68 04 01 00 1A 00
[    9.058s] RX  S  N(R)=8
[   10.068s] TX  C_SE exe 0x885D = 500.000  68 12 10 00 1A 00 32 01 06 00 01 00 5D 88 00 00 00 FA 43 00
[   10.160s] RX  I  type=50 cot=7 body=5D 88 00 00 00 FA 43 00
[   10.160s] TX  S  N(R)=14  68 04 01 00 1C 00
[   11.160s] TX  C_RD 0x885D  68 0D 12 00 1C 00 66 01 05 00 01 00 5D 88 00
[   11.169s] RX  I  M_ME_NC ioa=0x885D val=500.000 qds=0x00 cot=5
[   11.169s] TX  S  N(R)=15  68 04 01 00 1E 00
PASS restore_0x885D                     read=500.000 want(default)=500.000
[   12.178s] TX  C_SE sel 0x8820 = 10000.000  68 12 14 00 1E 00 32 01 06 00 01 00 20 88 00 00 40 1C 46 80
[   12.274s] RX  I  type=50 cot=7 body=20 88 00 00 40 1C 46 80
[   12.274s] TX  S  N(R)=16  68 04 01 00 20 00
[   13.288s] TX  C_SE exe 0x8820 = 10000.000  68 12 16 00 20 00 32 01 06 00 01 00 20 88 00 00 40 1C 46 00
[   13.375s] RX  I  type=50 cot=7 body=20 88 00 00 40 1C 46 00
[   13.375s] TX  S  N(R)=17  68 04 01 00 22 00
[   14.378s] TX  C_RD 0x8820  68 0D 18 00 22 00 66 01 05 00 01 00 20 88 00
[   14.481s] RX  I  M_ME_NC ioa=0x8820 val=10000.000 qds=0x00 cot=5
[   14.481s] TX  S  N(R)=18  68 04 01 00 24 00
PASS restore_0x8820                     read=10000.000 want(default)=10000.000
PROTOCOL ERROR: ValueError('too many values to unpack (expected 2)')
json -> D:\\Code\\DTU Code\\_wt\\.state\\i104_post.json


####################################################################################################
### [C] final sweep: 27/27 at factory defaults after a second reset
####################################################################################################
[    0.029s] TX  STARTDT act  68 04 07 00 00 00
[    0.113s] RX  U  STARTDT con
-- connected, STARTDT con ok

=== SWEEP default : C_RD over 27 addressable items ===
[    1.118s] TX  C_RD 0x8027  68 0D 00 00 00 00 66 01 05 00 01 00 27 80 00
[    1.213s] RX  I  M_ME_NC ioa=0x8027 val=20.000 qds=0x00 cot=5
[    1.213s] TX  S  N(R)=1  68 04 01 00 02 00
PASS sweep_default_0x8027               read=20.000 want(default)=20.000  PS_UV_VOL
[    2.215s] TX  C_RD 0x8028  68 0D 02 00 02 00 66 01 05 00 01 00 28 80 00
[    2.221s] RX  I  M_ME_NC ioa=0x8028 val=10000.000 qds=0x00 cot=5
[    2.221s] TX  S  N(R)=2  68 04 01 00 04 00
PASS sweep_default_0x8028               read=10000.000 want(default)=10000.000  PS_UV_DLY
[    3.225s] TX  C_RD 0x8029  68 0D 04 00 04 00 66 01 05 00 01 00 29 80 00
[    3.321s] RX  I  M_ME_NC ioa=0x8029 val=120.000 qds=0x00 cot=5
[    3.321s] TX  S  N(R)=3  68 04 01 00 06 00
PASS sweep_default_0x8029               read=120.000 want(default)=120.000  PS_OV_VOL
[    4.329s] TX  C_RD 0x802A  68 0D 06 00 06 00 66 01 05 00 01 00 2A 80 00
[    4.423s] RX  I  M_ME_NC ioa=0x802A val=10000.000 qds=0x00 cot=5
[    4.423s] TX  S  N(R)=4  68 04 01 00 08 00
PASS sweep_default_0x802A               read=10000.000 want(default)=10000.000  PS_OV_DLY
[    5.423s] TX  C_RD 0x8820  68 0D 08 00 08 00 66 01 05 00 01 00 20 88 00
[    5.523s] RX  I  M_ME_NC ioa=0x8820 val=10000.000 qds=0x00 cot=5
[    5.523s] TX  S  N(R)=5  68 04 01 00 0A 00
PASS sweep_default_0x8820               read=10000.000 want(default)=10000.000  PS_PT_PRI
[    6.526s] TX  C_RD 0x8821  68 0D 0A 00 0A 00 66 01 05 00 01 00 21 88 00
[    6.625s] RX  I  M_ME_NC ioa=0x8821 val=100.000 qds=0x00 cot=5
[    6.625s] TX  S  N(R)=6  68 04 01 00 0C 00
PASS sweep_default_0x8821               read=100.000 want(default)=100.000  PS_PT_SEC
[    7.625s] TX  C_RD 0x8825  68 0D 0C 00 0C 00 66 01 05 00 01 00 25 88 00
[    7.725s] RX  I  M_ME_NC ioa=0x8825 val=100.000 qds=0x00 cot=5
[    7.725s] TX  S  N(R)=7  68 04 01 00 0E 00
PASS sweep_default_0x8825               read=100.000 want(default)=100.000  PS_CT_PRI
[    8.727s] TX  C_RD 0x8826  68 0D 0E 00 0E 00 66 01 05 00 01 00 26 88 00
[    8.826s] RX  I  M_ME_NC ioa=0x8826 val=5.000 qds=0x00 cot=5
[    8.826s] TX  S  N(R)=8  68 04 01 00 10 00
[    8.827s] RX  S  N(R)=8
PASS sweep_default_0x8826               read=5.000 want(default)=5.000  PS_CT_SEC
[    9.827s] TX  C_RD 0x8856  68 0D 10 00 10 00 66 01 05 00 01 00 56 88 00
[    9.929s] RX  I  M_ME_NC ioa=0x8856 val=1.000 qds=0x00 cot=5
[    9.929s] TX  S  N(R)=9  68 04 01 00 12 00
PASS sweep_default_0x8856               read=1.000 want(default)=1.000  PS_OC1_EN
[   10.933s] TX  C_RD 0x8857  68 0D 12 00 12 00 66 01 05 00 01 00 57 88 00
[   11.029s] RX  I  M_ME_NC ioa=0x8857 val=1.000 qds=0x00 cot=5
[   11.029s] TX  S  N(R)=10  68 04 01 00 14 00
PASS sweep_default_0x8857               read=1.000 want(default)=1.000  PS_OC1_TRIP
[   12.032s] TX  C_RD 0x8858  68 0D 14 00 14 00 66 01 05 00 01 00 58 88 00
[   12.131s] RX  I  M_ME_NC ioa=0x8858 val=10.000 qds=0x00 cot=5
[   12.131s] TX  S  N(R)=11  68 04 01 00 16 00
PASS sweep_default_0x8858               read=10.000 want(default)=10.000  PS_OC1_CUR
[   13.143s] TX  C_RD 0x8859  68 0D 16 00 16 00 66 01 05 00 01 00 59 88 00
[   13.231s] RX  I  M_ME_NC ioa=0x8859 val=0.000 qds=0x00 cot=5
[   13.231s] TX  S  N(R)=12  68 04 01 00 18 00
PASS sweep_default_0x8859               read=0.000 want(default)=0.000  PS_OC1_DLY
[   14.232s] TX  C_RD 0x885A  68 0D 18 00 18 00 66 01 05 00 01 00 5A 88 00
[   14.332s] RX  I  M_ME_NC ioa=0x885A val=1.000 qds=0x00 cot=5
[   14.332s] TX  S  N(R)=13  68 04 01 00 1A 00
PASS sweep_default_0x885A               read=1.000 want(default)=1.000  PS_OC2_EN
[   15.334s] TX  C_RD 0x885B  68 0D 1A 00 1A 00 66 01 05 00 01 00 5B 88 00
[   15.433s] RX  I  M_ME_NC ioa=0x885B val=1.000 qds=0x00 cot=5
[   15.433s] TX  S  N(R)=14  68 04 01 00 1C 00
PASS sweep_default_0x885B               read=1.000 want(default)=1.000  PS_OC2_TRIP
[   16.445s] TX  C_RD 0x885C  68 0D 1C 00 1C 00 66 01 05 00 01 00 5C 88 00
[   16.534s] RX  I  M_ME_NC ioa=0x885C val=5.000 qds=0x00 cot=5
[   16.534s] TX  S  N(R)=15  68 04 01 00 1E 00
PASS sweep_default_0x885C               read=5.000 want(default)=5.000  PS_OC2_CUR
[   17.546s] TX  C_RD 0x885D  68 0D 1E 00 1E 00 66 01 05 00 01 00 5D 88 00
[   17.635s] RX  I  M_ME_NC ioa=0x885D val=500.000 qds=0x00 cot=5
[   17.635s] TX  S  N(R)=16  68 04 01 00 20 00
[   17.637s] RX  S  N(R)=16
PASS sweep_default_0x885D               read=500.000 want(default)=500.000  PS_OC2_DLY
[   18.642s] TX  C_RD 0x885E  68 0D 20 00 20 00 66 01 05 00 01 00 5E 88 00
[   18.737s] RX  I  M_ME_NC ioa=0x885E val=1.000 qds=0x00 cot=5
[   18.737s] TX  S  N(R)=17  68 04 01 00 22 00
PASS sweep_default_0x885E               read=1.000 want(default)=1.000  PS_OC3_EN
[   19.744s] TX  C_RD 0x885F  68 0D 22 00 22 00 66 01 05 00 01 00 5F 88 00
[   19.838s] RX  I  M_ME_NC ioa=0x885F val=0.000 qds=0x00 cot=5
[   19.838s] TX  S  N(R)=18  68 04 01 00 24 00
PASS sweep_default_0x885F               read=0.000 want(default)=0.000  PS_OC3_TRIP
[   20.850s] TX  C_RD 0x8860  68 0D 24 00 24 00 66 01 05 00 01 00 60 88 00
[   20.940s] RX  I  M_ME_NC ioa=0x8860 val=2.000 qds=0x00 cot=5
[   20.940s] TX  S  N(R)=19  68 04 01 00 26 00
PASS sweep_default_0x8860               read=2.000 want(default)=2.000  PS_OC3_CUR
[   21.942s] TX  C_RD 0x8861  68 0D 26 00 26 00 66 01 05 00 01 00 61 88 00
[   22.041s] RX  I  M_ME_NC ioa=0x8861 val=3000.000 qds=0x00 cot=5
[   22.041s] TX  S  N(R)=20  68 04 01 00 28 00
PASS sweep_default_0x8861               read=3000.000 want(default)=3000.000  PS_OC3_DLY
[   23.045s] TX  C_RD 0x8871  68 0D 28 00 28 00 66 01 05 00 01 00 71 88 00
[   23.141s] RX  I  M_ME_NC ioa=0x8871 val=1.000 qds=0x00 cot=5
[   23.141s] TX  S  N(R)=21  68 04 01 00 2A 00
PASS sweep_default_0x8871               read=1.000 want(default)=1.000  PS_OL_EN
[   24.142s] TX  C_RD 0x8872  68 0D 2A 00 2A 00 66 01 05 00 01 00 72 88 00
[   24.242s] RX  I  M_ME_NC ioa=0x8872 val=0.000 qds=0x00 cot=5
[   24.242s] TX  S  N(R)=22  68 04 01 00 2C 00
PASS sweep_default_0x8872               read=0.000 want(default)=0.000  PS_OL_TRIP
[   25.243s] TX  C_RD 0x8873  68 0D 2C 00 2C 00 66 01 05 00 01 00 73 88 00
[   25.342s] RX  I  M_ME_NC ioa=0x8873 val=1.000 qds=0x00 cot=5
[   25.342s] TX  S  N(R)=23  68 04 01 00 2E 00
PASS sweep_default_0x8873               read=1.000 want(default)=1.000  PS_OL_CUR
[   26.352s] TX  C_RD 0x8874  68 0D 2E 00 2E 00 66 01 05 00 01 00 74 88 00
[   26.444s] RX  I  M_ME_NC ioa=0x8874 val=10000.000 qds=0x00 cot=5
[   26.444s] TX  S  N(R)=24  68 04 01 00 30 00
[   26.445s] RX  S  N(R)=24
PASS sweep_default_0x8874               read=10000.000 want(default)=10000.000  PS_OL_DLY
[   27.449s] TX  C_RD 0x888E  68 0D 30 00 30 00 66 01 05 00 01 00 8E 88 00
[   27.546s] RX  I  M_ME_NC ioa=0x888E val=1.000 qds=0x00 cot=5
[   27.546s] TX  S  N(R)=25  68 04 01 00 32 00
PASS sweep_default_0x888E               read=1.000 want(default)=1.000  PS_3U0_EN
[   28.549s] TX  C_RD 0x888F  68 0D 32 00 32 00 66 01 05 00 01 00 8F 88 00
[   28.647s] RX  I  M_ME_NC ioa=0x888F val=15.000 qds=0x00 cot=5
[   28.647s] TX  S  N(R)=26  68 04 01 00 34 00
PASS sweep_default_0x888F               read=15.000 want(default)=15.000  PS_3U0_VOL
[   29.649s] TX  C_RD 0x8890  68 0D 34 00 34 00 66 01 05 00 01 00 90 88 00
[   29.748s] RX  I  M_ME_NC ioa=0x8890 val=5000.000 qds=0x00 cot=5
[   29.748s] TX  S  N(R)=27  68 04 01 00 36 00
PASS sweep_default_0x8890               read=5000.000 want(default)=5000.000  PS_3U0_DLY

==== SWEEP: 27/27 checks PASS ====
json -> D:\\Code\\DTU Code\\_wt\\.state\\i104_sweep.json
