Pinscape Pico Config Tool > Output Hardware Tester

Output Hardware Tester

This window lets you test the physical output ports directly, bypassing all of the software layers used for the logical ports. Computed outputs (source formulas in the JSON configuration) and flipper logic are disabled in this view. DOF and other PC software programs are also blocked while this window is open. This lets you test the hardware ports in isolation, without any interference from DOF or any of the Pinscape subsystems that can normally access output ports.

This direct port access view is mostly useful for troubleshooting problems with ports, since it removes all outside influences on the ports, including both PC-side software and the higher-level Pinscape software layers. This allows you to exercise the hardware ports directly through the GPIO or peripheral chip interfaces. If a port doesn't work correctly in this window, you can be sure that the problem has nothing to do with your DOF configuration or any of the more complex Pinscape JSON settings for the logical output port layout. Any port problems that persist in this view must lie in either the device-level JSON configuration, or in the physical hardware (such as a malfunctioning peripheral chip, or a wiring problem). It's also always possible that the problem is in the Pinscape software itself, but this view helps isolate those sorts of problems, too, since it bypasses the Pinscape "output manager" subsystem and writes directly to the device driver interfaces.

The separate Logical Output Port Tester window lets you view and test the software ports that DOF and other game programs on the PC use. DOF (and other PC software) can't access the hardware ports you see in the Output Hardware Tester view directly; DOF can only see the "logical" ports shown in the Output Ports window. Your JSON configuration determines how the logical ports relate to the physical device outputs.

Warning! Flipper Logic timers are disabled when this view is active. Exercise caution with devices that could overheat if activated for long intervals, since the normal protective timers can't intervene in this mode. When you activate a device port in this mode, it will remain activated until you manually turn it back off.

This mode shows a list of all of the physical output devices, with a slider control for each port that's enabled as an output.

Devices and ports

The window shows the Pico's own GPIO ports, plus all of the external peripheral chips that you've configured that can act as output devices. This includes PWM controller chips (TLC5940, TLC59116, PCA9685), shift register chips (74HC595), and GPIO port extender chips (PCA9555).

Each Pico GPIO pin and each peripheral chip output pin is shown with a slider control. You can use the sliders to control the current output level on each port, to test its effect on any attached devices. The sliders use the native PWM range for the chip. Some PWM chips have 8-bit ranges (0-255), and some have 12-bit ranges (0-4095). Non-PWM chips that can only act as simple on/off switches still present as slider controls, but the range is just 0 to 1, corresponding to OFF and ON.

All of the controls in this view are direct hardware controls. None of the logical output port modifiers apply, since this view bypasses all of that. No time limiters are applied, nor are features like gamma correction or active high/low polarity inversions.

Disabled ports

Some types of devices have bidirectional ports, meaning that the ports can be individually configured as inputs or outputs. That includes the Pico's GPIO ports as well as ports on GPIO extender chips, such as PCA9555. The window shows ports for all of the devices that are capable of being assigned as logical output ports, but ports that aren't actually used as outputs will be shown as disabled.

Pico GPIO ports are only enabled in this view when they're assigned to logical output ports in the configuration. This avoids accidentally interfering with GPIO ports that are used for other purposes, such as for logic signal connections to peripheral chips.