diff --git a/VarTable.py b/VarTable.py
new file mode 100644
index 0000000000000000000000000000000000000000..3f3ff2fd8ecb0cf46b65668517316844da3b1711
--- /dev/null
+++ b/VarTable.py
@@ -0,0 +1,34 @@
+import yamlconfig as yc
+
+RW={'ro':'_R','rw':'_R/_RW','variable':'_RW'}
+
+Y=yc.yamlconfig('RECVTR')
+sep='\t'
+#Sort alphabetically
+names=[(v['name']).upper() for v in Y.getvars()]
+SI=sorted(range(len(names)), key=lambda k: names[k])
+print("Name"+sep+"Dimension"+sep+"Type"+sep+"R/W"+sep+"Mask"+sep+"Monitored"+sep+"Description")
+for i0 in SI:
+    v=Y.getvar1(i0)
+#for v in Y.getvars():
+    if v.get("debug",False): continue;
+    S=v['name']+sep
+    S+=str(v['dim'])+sep
+    S+=str(v['dtype'])+sep
+    S+=RW[v['rw']]+sep
+    S+=v.get('mask','')+sep
+    S+=str(v.get('monitor',''))+sep
+    S+=str(v.get('description',''))+sep
+    print(S)
+print()
+print("Name"+sep+"Mask"+sep+"Description")
+for v in Y.conf['methods']:
+    if v.get("debug",False): continue;
+    S=v['name']+sep
+#    S+=str(v['dim'])+sep
+#    S+=str(v['dtype'])+sep
+#    S+=RW[v['rw']]+sep
+    S+=v.get('mask','')+sep
+#    S+=str(v.get('monitor',''))+sep
+    S+=str(v.get('description',''))+sep
+    print(S)
diff --git a/config/RECVTR.yaml b/config/RECVTR.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..aadfa01476486a62afe442dfa8d757b944e1eb6f
--- /dev/null
+++ b/config/RECVTR.yaml
@@ -0,0 +1,739 @@
+version: "1.0"
+description: "1234"
+
+drivers:
+ - name: I2C1 #TCA9548
+   type: i2c_switch
+   devreg: [0x70]
+   parameters: [1] #I2C port number
+ - name: I2C_RCU 
+   type: i2c_array #An array of similar devices connected to an I2C switch
+   parent: I2C1
+   parameters: [0,31,14] #start,number of RCUs, error count to disable I2C
+   status: RCU_I2C_STATUS
+ - name: I2C_HBAT
+   type: hba1 #Special driver to manage HBAT1s.
+   parent: I2C_RCU
+   devreg: [0x40.0x10] #I2C broadcast register
+   parameters: [15] #PPS GPIO pin
+ - name: I2Cbb1 
+   type: i2cbitbang1 #I2C bitbang via GPIO expander
+   devreg: [IO3.GPIO2,IO3.GPIO2,IO3.CONF2]
+   parameters: [5,6,6] #pins
+   parent: I2C_RCU
+ - name: I2Cbb2
+   type: i2cbitbang1
+   devreg: [IO3.GPIO2,IO3.GPIO2,IO3.CONF2]
+   parameters: [4,6,6]
+   parent: I2C_RCU
+ - name: I2Cbb3
+   type: i2cbitbang1
+   devreg: [IO3.GPIO2,IO3.GPIO2,IO3.CONF2]
+   parameters: [3,6,6]
+   parent: I2C_RCU
+ - name: SPIbb1 
+   type: spibitbang1 #SPI bitbang via GPIO expander: CLK, SDIO, SDIOdir,CS
+   devreg: [IO3.GPIO1,IO3.GPIO1,IO3.CONF1,IO3.GPIO2]
+   parameters: [1,0,0,0]
+   parent: I2C_RCU
+ - name: SPIbb2
+   type: spibitbang1
+   devreg: [IO3.GPIO1,IO3.GPIO1,IO3.CONF1,IO3.GPIO2]
+   parameters: [3,2,2,1]
+   parent: I2C_RCU
+ - name: SPIbb3
+   type: spibitbang1
+   devreg: [IO3.GPIO1,IO3.GPIO1,IO3.CONF1,IO3.GPIO2]
+   parameters: [5,4,4,2]
+   parent: I2C_RCU
+# - name: HBA_trigger
+#   type: gpio_hba_trigger
+#   parameters: [15] #PPS GPIO pin
+#   devreg: [0x40.0x10] #I2C broadcast register
+#   parent: I2C_RCU
+
+#This is the I2C devices in the RCU
+device_registers:
+ - name: IO
+   dim: 3
+   description: [IO-Expander for filter selection,IO-Expander for ON/OFF, Band, BUFx2,IO-Expander for ADC control]
+   address: [0x75,0x76,0x20]
+   device: [TCA9539,TCA9539,TCA6416]
+   driver: I2C1
+   registers:
+   - name: CONF1
+     description: Direction of port1
+     address: 6
+     store: True
+   - name: CONF2
+     description: Direction of port2
+     address: 7
+     store: True
+   - name: GPIO1
+     description: Input/Ouput port 1
+     address: [0,2]  #Read / Write address different
+     store: True
+   - name: GPIO2
+     description: Input/Ouput port 2
+     address: [1,3]
+     store: True
+
+ - name: ROM
+   description: IO-Expander for filter selection
+   address: 0x50
+   driver: I2C1
+   registers:
+   - name: ID
+     description: Random
+     address: 0xfc
+   - name: Version
+     description: Set in production
+     address: 0
+ 
+ - name: AN
+   description: Monitor ADC on RCU
+   address: 0x74 #was 0x14 on RCU2-DIG PCBs
+   device: LTC2495
+   driver: I2C1
+   registers:
+   - name: V_1v8
+     address: 0xB080
+   - name: V_2v5
+     address: 0xB880
+   - name: V_3v3
+     address: 0xB180
+   - name: I_Ant0
+     address: 0xB980
+   - name: I_Ant1
+     address: 0xB280
+   - name: I_Ant2
+     address: 0xBA80
+   - name: V_Ant_I0
+     address: 0xB380
+   - name: V_Ant_O0
+     address: 0xBB80
+   - name: V_Ant_I1
+     address: 0xB480
+   - name: V_Ant_O1
+     address: 0xBC80
+   - name: V_Ant_I2
+     address: 0xB580
+   - name: V_Ant_O2
+     address: 0xBD80
+   - name: Temp
+     address: 0xA0C0
+
+#This 'special' devices that uses I2C
+
+ - name: HB_UC
+   description: RCU microcontroller 
+   address: 0x40
+   driver: I2C1
+   registers:
+   - name: ID
+     description: Device ID
+     address: 0
+
+ - name: HB_UC_update
+   description: RCU microcontroller 
+   address: 0x40
+   driver: HBA_trigger
+   registers:
+   - name: wait_pps
+     address: 10
+
+ - name: HBAT
+   dim: 3
+   address: [0x41,0x42,0x43]
+   description: Virtual HBAT0 interface
+   driver: I2C_HBAT
+   registers:
+   - name: XY
+     address: 0x10
+     description: XY delay register
+     store: True
+   - name: Version
+     address: 127
+     description: HBAT server version
+
+ - name: ADC
+   dim: 3
+   description:  ADC SPI control
+   device: AD9683
+   driver: [SPIbb1,SPIbb2,SPIbb3]
+   registers:
+    - name: PLL_stat
+      description: PLL locked status
+      address: 0x0A
+    - name: JESD_control1
+      description: JESD link control
+      address: 0x5F
+    - name: SYNC_control
+      address: 0x3A
+    - name: CML_level
+      description: CML output adjust
+      address: 0x15
+    - name: Update
+      description: Global device uptate
+      address: 0xFF
+
+ - name: DTH
+   dim: 3
+   description: CW dither source
+   device: SI4012
+   driver: [I2Cbb1,I2Cbb1,I2Cbb1]
+   address: 0x70
+   registers:
+    - name: Freq
+      description: Frequency
+      address: [0x1240,0x1140]
+    - name: Property
+      description: Properties
+      address: [0x12,0x11]
+    - name: State
+      address: [0x61,0x60]
+    - name: Start
+      description: Start CW
+      address: [0x62,0x62]
+    - name: Stop
+      description: Stop CW
+      address: [0x67,0x67]
+    - name: Rev
+      address: 0x10
+    - name: Tune
+      address: [0x1221,0x1121]
+    - name: CONF
+      address: [0x1210,0x1110]
+
+variables:
+   - name: RCU_ANT_mask
+     description: Only masked RF chains are updated
+     driver: I2C_RCU
+     rw:  variable #server RW variable, not linked to IO
+     dtype: boolean
+     dim: 96
+
+   - name: RCU_mask
+     description: Only masked RCUs are updated
+     driver: I2C_RCU
+     rw:  variable #server RW variable, not linked to IO
+     dtype: boolean
+     dim: 32
+
+   - name: RCU_I2C_STATUS
+     description: 0=Good, >0 communication error
+     driver: I2C_RCU
+     rw:  ro #server RW variable, not linked to IO
+     dtype: uint8
+     mask: RCU_mask
+     dim: 32
+
+#   - name: RCU_state
+#     description: State of RCUs 0=unknown, 1=ready, 2=busy, 3= wait PPS, 4=error
+#     driver: I2C_RCU
+#     rw:  ro #server variable, not linked to IO
+#     dtype: uint8
+#     dim: 1
+
+   - name: RECVTR_busy
+     description: True when I2C line is busy
+     rw:  ro #server variable, not linked to IO
+     dtype: boolean
+     dim: 1
+
+   - name: RCU_attenuator
+     description: RCU Attenuation (dB)
+     driver: I2C_RCU
+     devreg:  [IO1.GPIO1,IO1.GPIO2,IO2.GPIO1]
+     bitoffset: [0,0,0]
+     width: 6
+     rw:  rw
+     dtype: uint8
+     dim: 96
+     mask: RCU_ANT_mask
+
+   - name: RCU_band
+     description: Band select 1=10MHz,2=30MHz
+     driver: I2C_RCU
+     devreg:  [IO2.GPIO2,IO2.GPIO2,IO2.GPIO2]
+     bitoffset: [0,2,4]
+     width: 2
+     rw:  rw
+     dtype: uint8
+     dim: 96
+     mask: RCU_ANT_mask
+
+   - name: [RCU_IO1_GPIO1,RCU_IO1_GPIO2,RCU_IO2_GPIO1,RCU_IO2_GPIO2,RCU_IO3_GPIO1,RCU_IO3_GPIO2]
+     driver: I2C_RCU
+     devreg:  [IO1.GPIO1,IO1.GPIO2,IO2.GPIO1,IO2.GPIO2,IO3.GPIO1,IO3.GPIO2]
+     width: 8
+     rw:  ro
+     dtype: uint8
+     dim: 32
+     mask: RCU_mask
+     debug: True
+
+   - name: RCU_LED0
+     driver: I2C_RCU
+     description: LED 1
+     devreg:  IO2.GPIO2
+     bitoffset: 6
+     width: 1
+     rw:  rw
+     dtype: boolean
+     dim: 32
+     mask: RCU_mask
+
+   - name: RCU_LED1
+     driver: I2C_RCU
+     description: LED 2
+     devreg:  IO2.GPIO2
+     bitoffset: 7
+     width: 1
+     rw:  rw
+     dtype: boolean
+     dim: 32
+     mask: RCU_mask
+
+   - name: RCU_temperature
+     description: RCU Temperature (Kelvin)
+     driver: I2C_RCU
+     devreg:  AN.Temp
+     width: 23
+     scale: 4.21e-3
+     rw:  ro
+     dtype: double
+     dim: 32
+     monitor: true
+     mask: RCU_I2C_STATUS
+
+   - name: RCU_3V3
+     description: RCU 3.3V voltage (V)
+     driver: I2C_RCU
+     devreg:  AN.V_3v3
+     width: 23
+     scale: 1.463e-6
+     rw:  ro
+     dtype: double
+     dim: 32
+     monitor: true
+     mask: RCU_I2C_STATUS
+
+   - name: RCU_1V8
+     description: RCU 1.8V voltage (V)
+     driver: I2C_RCU
+     devreg:  AN.V_1v8
+     width: 23
+     scale: 7.1526e-7
+     rw:  ro
+     dtype: double
+     dim: 32
+     monitor: true
+     mask: RCU_I2C_STATUS
+
+   - name: RCU_2V5
+     description: RCU 2.5V voltage (V)
+     driver: I2C_RCU
+     devreg:  AN.V_2v5
+     width: 23
+     scale: 7.1526e-7
+     rw:  ro
+     dtype: double
+     dim: 32
+     monitor: true
+     mask: RCU_I2C_STATUS
+
+   - name: RCU_V_ANT
+     description: RCU antenna voltage (V)
+     driver: I2C_RCU
+     devreg:  [AN.V_Ant_O0,AN.V_Ant_O1,AN.V_Ant_O2]
+     width: 23
+     scale: 2.7895e-6
+     rw:  ro
+     dtype: double
+     dim: 96
+     monitor: true
+     mask: RCU_I2C_STATUS
+
+   - name: RCU_ANT_V
+     description: Voltage on antenna output of RCU (V). Controlled by ANT_PWR_ON.
+     driver: I2C_RCU
+     devreg:  [AN.V_Ant_I0,AN.V_Ant_I1,AN.V_Ant_I2]
+     width: 23
+     scale: 2.7895e-6
+     rw:  ro
+     dtype: double
+     dim: 96
+     monitor: true
+     mask: RCU_I2C_STATUS
+
+   - name: RCU_ANT_I
+     description: Current drawn on antenna output of RCU (A)
+     driver: I2C_RCU
+     devreg:  [AN.I_Ant0,AN.I_Ant1,AN.I_Ant2]
+     width: 23
+     scale: 7.1526e-8
+     rw:  ro
+     dtype: double
+     dim: 96
+     monitor: true
+     mask: RCU_I2C_STATUS
+
+   - name: RCU_PWR_DIGITAL_ON
+     description: RCU digital power enable. Controlled by calling RCU_on/RCU_off
+     driver: I2C_RCU
+     devreg:  IO2.GPIO1
+     width: 1
+     bitoffset: 6
+     rw:  ro
+     dtype: boolean
+     dim: 32
+     mask: RCU_mask
+
+   - name: RCU_PWR_GOOD
+     description: Status of RCU power given by LDOs.
+     driver: I2C_RCU
+     devreg:  IO2.GPIO1
+     width: 1
+     bitoffset: 7
+     rw:  ro
+     dtype: boolean
+     dim: 32
+     monitor: true
+     mask: RCU_I2C_STATUS
+
+   - name: RCU_PWR_ANALOG_ON
+     description: RCU analog power enable. Controlled by RCU_on/off
+     driver: I2C_RCU
+     devreg:  IO1.GPIO2
+     width: 1
+     bitoffset: 7
+     rw:  ro
+     dtype: boolean
+     dim: 32
+     mask: RCU_mask
+
+   - name: RCU_DTH_SHUTDOWN
+     description: False means dither source powered on. Controlled by TBD
+     driver: I2C_RCU
+     devreg:  [IO3.GPIO1,IO3.GPIO1,IO3.GPIO2]
+     width: 1
+     bitoffset: [7,6,7]
+     rw:  ro
+     dtype: boolean
+     dim: 96
+     mask: RCU_ANT_mask
+
+   - name: RCU_ANT_PWR_ON
+     description: Antenna power output ON/OFF control. Monitored by Ant_V.
+     driver: I2C_RCU
+     devreg:  [IO1.GPIO1,IO1.GPIO1,IO1.GPIO2]
+     width: 1
+     bitoffset: [6,7,6]
+     rw:  rw
+     dtype: boolean
+     dim: 96
+     mask: RCU_ANT_mask
+
+   - name: HBAT_beamformer_delays
+     description: HBAT1 frontend delays (0.5ns steps)
+     driver: I2C_HBAT
+     devreg:  [HBAT1.XY,HBAT2.XY,HBAT3.XY]
+     bitoffset: [2,2,2]
+     width: 5
+     rw:  rw
+     dtype: uint8
+     dim: 3072
+     mask: RCU_ANT_mask
+     wait: 100 #ms
+
+   - name: [HBAT_LED_on,HBAT_PWR_on,HBAT_PWR_LNA_on]
+     description: HBA frontend control
+     driver: I2C_HBAT
+     devreg:  [HBAT1.XY,HBAT2.XY,HBAT3.XY]
+     bitoffset: [0,7,1]
+     width: 1
+     rw:  rw
+     dtype: boolean
+     dim: 3072
+     mask: RCU_ANT_mask
+     wait: 100 #ms
+
+   - name: RCU_ID
+     description: Unique PCB ID
+     driver: I2C_RCU
+     devreg:  ROM.ID
+     width: 32
+     rw:  ro
+     dtype: uint32
+     dim: 32
+     mask: RCU_mask
+
+   - name: RCU_version
+     description: RCU version number
+     driver: I2C_RCU
+     devreg:  ROM.Version
+     width: 80  #10 characters
+     rw:  ro
+     dtype: string
+     dim: 32
+     mask: RCU_mask
+     
+   - name: RCU_ADC_lock
+     description: RCU ADC lock status, 0x81=locked
+     driver: I2C_RCU
+     devreg:  [ADC1.PLL_stat,ADC2.PLL_stat,ADC3.PLL_stat]
+     width: 8
+     rw:  ro
+     dtype: uint8
+     dim: 96
+     monitor: true
+
+   - name: RCU_ADC_sync
+     driver: I2C_RCU
+     devreg:  [ADC1.SYNC_control,ADC2.SYNC_control,ADC3.SYNC_control]
+     width: 8
+     rw:  ro
+     dtype: uint8
+     dim: 96
+     debug: true
+
+   - name: RCU_ADC_JESD
+     driver: I2C_RCU
+     devreg:  [ADC1.JESD_control1,ADC2.JESD_control1,ADC3.JESD_control1]
+     width: 8
+     rw:  ro
+     dtype: uint8
+     dim: 96
+     debug: true
+
+   - name: RCU_ADC_CML_level
+     driver: I2C_RCU
+     devreg:  [ADC1.CML_level,ADC2.CML_level,ADC3.CML_level]
+     width: 8
+     rw:  ro
+     dtype: uint8
+     dim: 96
+     debug: true
+
+   - name: RCU_DTH_freq
+     description: RCU Dither source frequency (Hz)
+     driver: I2C_RCU
+     devreg:  [DTH1.Freq,DTH2.Freq,DTH3.Freq]
+     width: 32
+     rw:  rw
+     dtype: uint32
+     dim: 96
+     mask: RCU_ANT_mask
+
+   - name: RCU_DTH_tune
+     driver: I2C_RCU
+     devreg:  [DTH1.Tune,DTH2.Tune,DTH3.Tune]
+     width: 16
+     rw:  rw
+     dtype: uint32
+     dim: 96
+     mask: RCU_ANT_mask
+     debug: true
+
+   - name: RCU_DTH_config
+     driver: I2C_RCU
+     devreg:  [DTH1.CONF,DTH2.CONF,DTH3.CONF]
+     width: 8
+     rw:  rw
+     dtype: uint32
+     dim: 96
+     mask: RCU_ANT_mask
+     debug: true
+
+   - name: RCU_DTH_ON
+     description: RCU Dither on. Controlled by RCU_DTH_on/off
+     driver: I2C_RCU
+     devreg:  [DTH1.State,DTH2.State,DTH3.State]
+     width: 1 #read only first of 2 bytes
+     bitoffset: [1,1,1]
+     rw:  ro
+     dtype: boolean
+     dim: 96
+     mask: RCU_ANT_mask
+
+   - name: RCU_DTH_Rev
+     driver: I2C_RCU
+     devreg:  [DTH1.Rev,DTH2.Rev,DTH3.Rev]
+     width: 88
+     rw:  rw
+     dtype: uint32
+     dim: 96
+     mask: RCU_ANT_mask
+     debug: true
+
+methods:
+  - name: RCU_Init #Called after startup to load. Should have all stored registers  
+    driver: I2C_RCU
+    debug: True
+    instructions:   
+    - RCU_IO1_GPIO1: Update
+    - RCU_IO1_GPIO2: Update
+    - RCU_IO2_GPIO1: Update
+    - RCU_IO2_GPIO2: Update
+    - RCU_IO3_GPIO1: Update
+    - RCU_IO3_GPIO2: Update
+#    - IO1.GPIO2: Update
+#    - IO2.GPIO1: Update
+#    - IO2.GPIO2: Update
+#    - IO3.GPIO1: Update
+#    - IO3.GPIO2: Update
+    - IO3.CONF1: Update
+    - RCU_update: 0
+
+  - name: RCU_on
+    description: Initialize RCU and it in the ON state
+    driver: I2C_RCU
+    mask: RCU_mask
+    instructions:
+     - RCU_I2C_STATUS: 0
+     - IO2.CONF1: 0x80 #Pgood on 0x80
+     - IO2.GPIO1: 0x4A #0x40 Dig on, 0x0a =10dB att
+     - IO2.GPIO2: 0x55 #0x15 #Band0 (or 0x2a band 1)  #LEDS=on=low
+     - IO3.GPIO1: 0x15 #ADC_SDIO=high, clk=low, DTH_EN=low
+     - IO3.GPIO2: 0x47 #ADC SC=high, DTH_SDA=high
+     - IO1.GPIO1: 0x0A #0x0a = 10dB att
+     - IO1.GPIO2: 0x8A #0x80 Analog on, 0x0a=10dB att
+     - IO2.CONF2: 0
+     - IO3.CONF1: 0
+     - IO3.CONF2: 0
+     - IO1.CONF1: 0
+     - IO1.CONF2: 0
+#     - RCU_GPIO1: Update
+#     - RCU_GPIO2: Update
+#     - RCU_attenuator: [10,10,10]  #Set OPC-UA variable
+     - WAIT: 500         #ms to wait
+     - ADC1_on: 0        #call another opc-ua method
+     - ADC2_on: 0
+     - ADC3_on: 0
+     - WAIT: 500         #ms to wait
+     - RCU_update: 0
+
+  - name: RCU_update
+    driver: I2C_RCU
+    mask: RCU_mask
+    debug: True
+    instructions:
+      - RCU_PWR_DIGITAL_ON: Update  #Read value and update the OPC-UA variable
+      - RCU_PWR_ANALOG_ON: Update 
+      - ANT_PWR_ON: Update 
+      - RCU_ID: Update
+      - RCU_version: Update
+      - RCU_LED0: Update
+      - RCU_LED1: Update
+      - RCU_attenuator: Update
+      - RCU_band: Update
+      - RCU_ADC_lock: Update
+      - RCU_ADC_sync: Update
+      - RCU_DTH_SHUTDOWN: Update
+      - RCU_DTH_freq: Update
+      - RCU_DTH_ON: Update
+
+  - name: ADC1_on
+    driver: I2C_RCU
+    debug: True
+#    rw: hidden
+    instructions:
+     - ADC1.JESD_control1 : 0x14
+     - ADC1.SYNC_control: 1  #Setup ADCs
+     - ADC1.CML_level: 0x7
+     - ADC1.Update: 1       #Needed to update ADC registers
+     
+  - name: ADC2_on
+    driver: I2C_RCU
+    debug: True
+#    rw: hidden
+    instructions:
+     - ADC2.JESD_control1 : 0x14
+     - ADC2.SYNC_control: 1  #Setup ADCs
+     - ADC2.CML_level: 0x7
+     - ADC2.Update: 1       #Needed to update ADC registers
+
+  - name: ADC3_on
+    driver: I2C_RCU
+    debug: True
+#    rw: hidden
+    instructions:
+     - ADC3.JESD_control1 : 0x14
+     - ADC3.SYNC_control: 1  #Setup ADCs
+     - ADC3.CML_level: 0x7
+     - ADC3.Update: 1       #Needed to update ADC registers
+
+  - name: RCU_off
+    description: Put RCU in low-power state
+    driver: I2C_RCU
+    mask: RCU_mask
+    instructions:
+     - RCU_I2C_STATUS: 0
+     - RCU_PWR_ANALOG_ON: 0 #Switch power off
+     - RCU_PWR_DIGITAL_ON: 0 #Switch power off
+     - IO2.GPIO1: 0
+     - IO2.GPIO2: 0
+     - IO3.GPIO1: 0
+     - IO3.GPIO2: 0
+     - IO1.GPIO1: 0
+     - IO1.GPIO2: 0
+     - RCU_update: 0
+     #todo, also make all GPIO pins (except power enables) inputs to remove all power from devices.
+
+  - name: RCU_HBAT_WAIT_PPS
+    driver: I2C_RCU
+    mask: RCU_mask
+    debug: True
+    instructions:
+     - RCU_state: 3
+     - HB_UC_update.wait_pps : 1
+     - RCU_state: 1
+
+
+  - name: RCU_DTH_on
+    description: Switch dither source on
+    driver: I2C_RCU
+    mask: RCU_mask
+#    rw: hidden
+    instructions:
+#     - RCU_DTH_SHUTDOWN : 0
+     - RCU_DTH_config : [0,0,0]
+#     - RCU_DTH_tune :   [0,0,0,0,0,0]
+#     - DTH1.CONF : 0 
+#     - DTH1.Tune :    [0,0] #no tuning
+#     - WAIT: 10
+#     - DTH1.Start :    [1,0,0,0,1,0x55]
+     - DTH1.Start :    [0,1,0,0,1]
+#     - DTH1.0x60: #PA_config...
+#     - DTH2.CONF : 0 
+#     - WAIT: 10
+#     - DTH2.Tune :    [0,0] #no tuning
+#     - WAIT: 10
+     - DTH2.Start :    [0,1,0,0,1]
+#     - DTH3.CONF : 0
+#     - WAIT: 10
+#     - DTH3.Tune :    [0,0] #no tuning
+#     - WAIT: 10
+     - DTH3.Start :    [0,1,0,0,1]
+     - RCU_DTH_ON : Update
+     - RCU_DTH_config: Update #debug
+     - RCU_DTH_tune: Update #debug
+
+  - name: RCU_DTH_off
+    description: Switch dither source off
+    driver: I2C_RCU
+    mask: RCU_mask
+#    rw: hidden
+    instructions:
+#     - RCU_DTH_SHUTDOWN : [1,1,1]
+#     - WAIT: 100
+#     - RCU_DTH_SHUTDOWN : [0,0,0]
+#     - RCU_DTH_SHUTDOWN : 1
+     - DTH1.Stop :    [0,0]
+     - DTH2.Stop :    [0,0]
+     - DTH3.Stop :    [0,0]
+#     - DTH1.State :    [0,0]
+#     - DTH2.State :    [0,0]
+#     - DTH3.State :    [0,0]
+     - RCU_DTH_ON: Update