# SUServo (Sampler + Urukul)

## JSON

```json
{
  "type": "suservo",
  "sampler_ports": [<port num>, <port num>],
  "urukul0_ports": [<port num>, <port num>],
  "urukul1_ports": [<port num>, <port num>], // optional
  "clk_sel": 2
}
```

With enabled SUServo mode, you only need to add `suservo` to JSON file, with its Sampler and Urukul(s) removed.

## Setup

On bottoms of each Urukul, switch first pins 1 and 2 to `ON`, as on the picture:
![](../img/urukul_pins_suservo.jpeg)

## Testing

After running `artiq_sinara_test`:

```text
*** Testing SUServos.
Initializing modules...
suservo0
...done
Setting up SUServo channels...
suservo0_ch0
suservo0_ch1
suservo0_ch2
suservo0_ch3
suservo0_ch4
suservo0_ch5
suservo0_ch6
suservo0_ch7
...done
Enabling...
suservo0
...done
Each Sampler channel applies proportional amplitude control
on the respective Urukul0 (ADC 0-3) and Urukul1 (ADC 4-7, if
present) channels.
Frequency: 10 MHz, output power: about -9 dBm at 0 V and about -15 dBm at 1.5 V
Verify frequency and power behavior.
```

1. Connect oscilloscope to the `urukul0` port and configure with time and voltage scale and trigger threshold
   so that you'll see sine wave, like on the picture: ![](../img/urukul_suservo_output_without_battery.jpg)
2. Verify amplitude and frequency
3. Apply 1.5V (connect the AA-battery) to the `sampler0` port, as on the
   picture: ![](../img/urukul_sampler_susevo_connections.jpg)
4. You should see significant amplitude decrease, as in the picture: ![](../img/urukul_suservo_output_with_battery.jpg)
5. Verify amplitude difference, and the frequency to be unchanged
6. Repeat steps 1-5 for every available channel.
