Analog IO
Found under IO on the device's panel list.
Analog IO
Live view of the four analog inputs, with control over the two analog outputs, the trigger window and the programmable supply. The inputs and outputs live on CN23, the 10-pin CAN/analog header - a separate connector from the 20-pin GPIO header, so none of it is affected by the IO voltage reference selected there (see about-vref.md and gpio.md).
The screen
The plot at the top traces all four input channels in millivolts, each in its own colour. Under it, the numbers are the present reading for each channel.
Below those sits the trigger indicator, then a row of five controls:
- o0, o1 - the two analog output voltages
- tg-, tg+ - the low and high thresholds of the trigger window
- Vo - the programmable output supply
The selected control is drawn in yellow.
Controls
| Button | Action |
|---|---|
| Left / Right | Choose which of the five you are adjusting |
| Up / Down | Change it by 0.05 V |
| Slider | Drag the selected one |
| Centre | On o0 or o1, open the waveform generator for that channel |
| Gray | Capture rate: 50, 20, 10 or 5 ms (the label shows the rate) |
| Green | Input source: TLA2024, RP2350, or Both |
| Yellow | Turn the programmable supply on or off |
| Blue | Route the trigger comparator to the CPU, or release it |
| Red | Retired as the exit control; unlabelled and does nothing here |
| Cancel | This help page |
HOME leaves the screen from here, as it does everywhere else in the menu.
Outputs
o0 and o1 go straight to the AOUT pins. Full scale is 4.84 V, the 1.21 V
internal reference at 4x gain, so asking for more simply holds at 4.84 V.
Each of these two channels can generate a waveform instead of a steady voltage. Press Centre on the row to open a separate waveform-editor screen for that channel. While a waveform is configured, that row shows the shape and frequency rather than a voltage, and nudging the row with Up, Down or the slider hands the channel back to DC at the voltage shown. The waveform screen has its own dedicated OK button to return here; unlike this page, it keeps Red working as a labelled Stop control.
The trigger window
tg- and tg+ set a window on the Trig IN pin. The comparator output is high
while the input sits between them, and that signal can drive the Logic Analyzer
and Logic Player. The blue button decides whether it actually reaches the CPU.
Set the low threshold below the high one. If they cross, the output stops changing rather than triggering.
The programmable supply
Vo is a separate rail, adjustable from 1.0 V to 5.5 V and good for about 1.5 A.
The yellow button switches it on and off; the row sets the voltage. Check what
you have connected before enabling it.
This is the same physical supply that about-vref.md and gpio.md call Prog Vout, one of the sources selectable elsewhere as what feeds the 20-pin GPIO header's IO reference voltage. Turning Vo on or changing its voltage here changes what that source delivers if it is the one currently selected there.
Input source
The green button cycles what the plot and the readouts show:
- TLA2024 is the external ADC: 12-bit, single-ended against ground at its default +/-6.144 V range (3 mV per step), reading the connector directly with no attenuation ahead of the chip.
- RP2350 is the processor's own ADC: also 12-bit, read through a fixed front-end divider and scaled back in software to a 0-5.0 V range (roughly 1.2 mV per step).
Both shows the external reading large with the internal one beneath it in grey, which is useful when you want to see whether the two agree.
Gray's capture rate (50/20/10/5 ms) controls how often a new point lands in the plot, but it only actually resamples the ADC when RP2350 is feeding it. When the plot is fed from the TLA2024 instead, each point is just whatever that chip's own background scan last produced - it cycles through all four channels roughly every 40 ms (paced 10 ms per channel at its default data rate) no matter what Gray is set to.
Power
This panel requires the Analog power zone (11) - the DAC, the TLA2024 and the front-end opamps behind both ADCs all sit on it. Opening this screen switches that zone on if it was off, without asking; readings take a moment to reflect real hardware while the rail comes up. Zone 11 is on by default and is also switched from Power Devices.
Waveform Generator
Drives the DAC63204's built-in function generator on an analog output.
Reached from the Analog IO screen: select the o0 or o1 row and press
center. Only those two channels have a generator — tg- and tg+ are the
trigger-window comparator thresholds and Vo is the programmable supply.
o0 is AOUT0, pin 5 of the CN23 10-pin analog/CAN header; o1 is AOUT1, pin 3
of the same header.
Controls
| Button | Action |
|---|---|
| Up / Down | Move between parameters |
| Left / Right | Change the selected parameter |
| Slider | Drag the selected parameter |
| Green | run starts the channel; reads update once running |
| Red | stop (blank when nothing is running) |
| Ok | Leave, back to Analog IO |
Red stops the running waveform; its label goes blank when there is nothing to stop. Ok returns to the Analog IO screen; HOME leaves the menu entirely from here, as it does everywhere else.
update re-applies the settings and re-triggers the generator. You do not need
it to make an edit take effect — edits reach the hardware as you make them while
the channel is running. It is there to restart the waveform from the beginning,
which is the only way to reset a sine's phase.
Parameters
Type — triangle, sawtooth, invsawtooth, sine, or off. Setting it to
off stops the channel and hands the pin back to DC mode. There is no square
wave; the hardware does not generate one.
Freq — the frequency you want, stepped 1‑2‑5 (100, 200, 500, 1k …). The
hardware can only produce a fixed set of frequencies, so the value actually
produced is shown next to the row as act. See Why act differs below.
Low / High — the bottom and top of the waveform in volts. Full scale is 4.84 V (the 1.21 V internal reference at 4× gain), not 5 V.
For sine these two behave differently: the chip plays a fixed 24-point table,
so Low and High cannot shape it directly. They are used to pick the closest
output gain instead, giving four possible amplitudes — roughly 1.45, 1.94, 2.90
or 3.87 V peak-to-peak, always centred on mid-scale. The act line reports what
you actually got.
The detail line
Under the rows, the resolved hardware settings:
- SR — slew rate, the time the DAC spends on each step (4 µs to 5127.92 µs).
- CS — code step, how many counts it moves per step (1 to 32).
- ML / MH — the 12-bit codes for Low and High.
- gain — the output gain setting; 5 is the 4× default.
Frequency comes out of these: a triangle takes (MH−ML+1)/CS steps up and the
same back down, at SR per step. If a channel is in DC mode the line reads
channel in DC mode, and if the settings cannot be realised it says so instead
of showing numbers.
Why act differs from Freq
There are only 15 slew rates and 8 code steps, so for triangle and sawtooth the achievable frequencies are a discrete set that depends on your amplitude. The firmware picks the closest one and tells you what it picked.
Near the top of the range this gets coarse: the slew rate is already at its 4 µs minimum and only the code step can move, in 2× jumps. At 0.5–4.0 V the only frequencies available above 340 Hz are 453, 676, 679 and 1359 Hz — so asking for 1 kHz gives you 679 Hz, and nothing gets you closer.
A precise high frequency costs amplitude. A narrower Low–High span shifts the
whole achievable set upward and packs it more densely. Sine is exempt: it is
1/(24 × SR), fifteen evenly spread steps, and amplitude does not affect it.
Ranges
| Lowest | Highest | |
|---|---|---|
| Sine | 8.13 Hz (fixed) | 10.42 kHz |
| Triangle, full scale | 0.024 Hz (42 s) | 977 Hz |
| Triangle, 0.1 V span | 1.15 Hz | 62.5 kHz |
| Sawtooth | 2× the triangle floor | 2× the triangle ceiling |
Requests outside the range are clamped to the nearest achievable value, not rejected. Sine cannot go below about 8 Hz at any amplitude — use a triangle or sawtooth if you need sub-Hz.
Sharing the channel with DC
A channel is either generating a waveform or holding a DC voltage, never both.
The last thing you touch wins: setting a DC voltage on the Analog IO screen, or
with the s console command, stops any waveform on that channel. While a
waveform is configured, that screen's row shows the shape and frequency instead
of a voltage.
Console equivalents
w <channel> <waveform> <freqHz> <lowV> <highV> <phase>
x <mask>
w configures and starts one channel. x sets the run state of both channels in
a single write, so x 3 starts them on the same edge — use it when two channels
need to start together. The console also exposes phase (0, 120, 240, or 90
degrees), which this screen always leaves at 0 degrees.
Power
This screen requires the Analog power zone (11), which also feeds the TLA2024 ADC and the input opamps. Opening it switches that zone on if it was off, without asking. Zone 11 is on by default and is also switched from Power Devices.
See also: Analog In, and Analog Out & Trigger — the console/GUI commands for this panel.