==========================================================================
TGXL RELAY EXERCISE REPORT
==========================================================================

Tool             tgxl_relay_exercise.py version 1.0.0 (N7HQ Labs)
Run started      2026-09-10 19:14:32
Duration         1m 23s
Command          tgxl_relay_exercise.py 192.168.0.32

Tuner            Tuner Genius XL
  Address        192.168.0.32 port 9010
  Serial         241132-1
  Firmware       1.2.17
  Variant        SO2R
  Protocol       1.2.17

==========================================================================
RESULT:  PASS -- every relay was operated and every command was confirmed
==========================================================================

Cycles completed     1 of 1
Relay steps sent     2434
  confirmed          2434 (100.0%)
  not taken          0
Relays operated      24 of 24

--------------------------------------------------------------------------
BANK NUMBERING, PROVED ON THIS UNIT
--------------------------------------------------------------------------
  4O3A's published API numbers the tuning banks 1/2/3 and the
  firmware numbers them 0/1/2, and the tuner answers OK either
  way.  So before walking anything this run stepped each bank
  once and watched which position actually changed.

  C1  OK    the command for C1 moves relayC1, and back
  L   OK    the command for L moves relayL, and back
  C2  OK    the command for C2 moves relayC2, and back

--------------------------------------------------------------------------
THE TUNING NETWORK -- 24 RELAYS
--------------------------------------------------------------------------
  Each bank is a binary ladder of eight relays.  Stepping the bank
  by one count changes a binary word, so one step can operate
  several relays at once; the counts below are of this relay's own
  contacts moving.

  RELAY                                OPERATED  NOT TAKEN  VERDICT
  C1 bit 0 (RL8, 10 pF)                     798          0  ok
  C1 bit 1 (RL7, 20 pF)                     404          0  ok
  C1 bit 2 (RL6, 40 pF)                     208          0  ok
  C1 bit 3 (RL5, 78 pF)                     110          0  ok
  C1 bit 4 (RL4, 164 pF)                     60          0  ok
  C1 bit 5 (RL3, 300 pF)                     36          0  ok
  C1 bit 6 (RL2, 660 pF)                     24          0  ok
  C1 bit 7 (RL1, 1320 pF)                    18          0  ok

  L bit 0 (47 nH)                           814          0  ok
  L bit 1 (95 nH)                           412          0  ok
  L bit 2 (195 nH)                          212          0  ok
  L bit 3 (400 nH)                          112          0  ok
  L bit 4 (800 nH)                           62          0  ok
  L bit 5 (1600 nH)                          36          0  ok
  L bit 6 (3200 nH)                          24          0  ok
  L bit 7 (6800 nH)                          18          0  ok

  C2 bit 0 (RL16, 10 pF)                    822          0  ok
  C2 bit 1 (RL15, 20 pF)                    416          0  ok
  C2 bit 2 (RL14, 40 pF)                    214          0  ok
  C2 bit 3 (RL13, 78 pF)                    112          0  ok
  C2 bit 4 (RL12, 164 pF)                    62          0  ok
  C2 bit 5 (RL11, 300 pF)                    36          0  ok
  C2 bit 6 (RL10, 660 pF)                    24          0  ok
  C2 bit 7 (RL9, 1320 pF)                    18          0  ok

--------------------------------------------------------------------------
THE ANTENNA SWITCH MODULE
--------------------------------------------------------------------------
  POSITION    COMMANDED  CONFIRMED     FAILED  LINK LOST
  A                   1          1          0          0
  B                   1          1          0          0

--------------------------------------------------------------------------
THE STATE RELAYS
--------------------------------------------------------------------------
  STATE       COMMANDED  CONFIRMED     FAILED NOT REPORTED
  OPERATE             1          1          0            0
  BYPASS              1          1          0            0
  STANDBY             1          1          0            0

--------------------------------------------------------------------------
HOW THE TUNER WAS LEFT
--------------------------------------------------------------------------
  Found in         OPERATE, A selected, C1/L/C2 at 8/16/20
  Put back         C1/L/C2 back to 8/16/20, A selected, back in OPERATE

  The tuner saves every accepted step as the tuning memory for
  the band it was on, so the stored solution for that band has
  been overwritten and the tuner will tune again next time you
  use it.  Nothing else about the tuner was changed.

WHAT THIS RUN PROVES, AND WHAT IT DOES NOT

  The Tuner Genius XL has no position sense line.  The relay positions in
  its status are the firmware's record of the word it sent to the relay
  drivers, not a measurement of where the contacts went, and the tuner
  answers OK to a tune command whether or not anything moved.

  So a clean run here proves the control path end to end -- the network
  link, the tuner's control logic, and its own account of every relay
  driver word across the full range of all three banks -- and it energises
  every relay coil, which is what exercising relays means and is what
  frees a contact that has sat in one position for years.

  What this means for you:  a clean run says the tuner accepted and
  adopted every position it has, and every relay in it has been operated.
  It does NOT say each relay's RF contacts actually closed.  A relay whose
  coil pulls in but whose contacts are burnt or open reads exactly the
  same here.  Proving the contacts needs an RF measurement with a vector
  network analyser -- that is a service-bench job, and it is what to ask
  for if the tuner still misbehaves after a clean run.

WHAT THE WORDS IN THIS REPORT MEAN

  OPERATED     The tuner accepted the command and then reported the relay
               in its new position.
               What this means for you:  the relay was driven, in and out,
               as many times as the count says.

  NOT TAKEN    The tuner did not report the new position within a second
               of being told to move.  It refused the command, it was
               already at the end of its range, or it stopped answering.
               What this means for you:  this is a control fault, not
               proof of a bad relay -- the tuner never claimed to move it.
               The count of these matters more than any single one.

  LINK LOST    The connection dropped while a command was in flight, so
               whether the relay moved is unknown.  These are kept out of
               every count rather than being guessed at either way.
               What this means for you:  a few of these mean the network
               or the tuner's TCP stack hiccuped, not that anything is
               wrong with the relays.  Many of them mean the run could not
               see enough to be worth much -- run it again on a quieter
               network, with nothing else connected to the tuner.

  NOT REPORTED The firmware acknowledged a state change but does not tell
               this tool what state it is in.
               What this means for you:  older firmware; nothing is wrong,
               but the state relays could not be confirmed on this unit.

==========================================================================
Send this file to your dealer or to N7HQ Labs with a note about
what the tuner is doing.  It is plain text; nothing in it is
private beyond the tuner's serial number and address.
==========================================================================
