{% extends "base.html" %} {% block content %}

GPIO Hardware Tools

Bringup-time helpers for identifying pin assignments on a new custom board. Each tool briefly stops vendora-coin while it owns the GPIO chip, then restarts it on exit. Not for use during business hours — they interrupt paying customers' sessions.

← Back to System
{% if flash_msg %}
{{ flash_msg }}
{% endif %} {% if error_msg %}
{{ error_msg }}
{% endif %} {% if not license_active %} {# License gate banner — tools are diagnostic and only available on licensed devices to prevent stolen/cloned-device reverse-engineering. Forms still render normally; the server-side handlers re-check vlic.portal_status() and refuse with the same license_inactive error message if the operator clicks anyway. Same pattern as /vouchers/custom (visible but server-gated). NB: `.flash` in base.html is `display: flex`, so every child element and unwrapped text node becomes a separate flex item. Wrap the body in a single inner
so the whole sentence renders as one flex child (with `flex: 1` per the existing `.flash > div:first-child` rule), not a row of 6 mini-columns. #}
GPIO Hardware Tools are disabled. These tools require an active license. Activate this device at vendorawifi.com before using them, then check the License page for activation status.
{% endif %}

GPIO Tester

Drive any gpiochip0 line HIGH or LOW for a few seconds to identify which OPi One pin is wired to a particular signal on a new custom board. Pulse each candidate line in turn and watch the relay (or LED, or scope) until you find the one that responds.

Heads up: this temporarily stops vendora-coin so it releases its line claims. Any in-progress paying session will be interrupted. Auto-release after the duration expires — you cannot accidentally leave a line stuck driven.

Only Port A pins routed to the 40-pin header.

1–10 s. Long enough to look at the hardware; short enough not to strand the slot.

GPIO Pin Looper

Sweeps every PA header pin: HIGH for 3 s, rest, LOW for 3 s, rest, then moves on. Total runtime ≈ 1 min 45 s. Watch the slot relay — the pin label shown at the moment it clicks is your slot-power pin.

Heads up: stops vendora-coin for the duration. Driving UART2 pins (PA0/PA1) briefly garbles any attached serial console — harmless on headless setups. Pins are driven for ≤3 s with no external short; no risk of damage under normal wiring.

Pulse Pin Finder

Listens on every PA header pin simultaneously for a FALLING edge (matches CH-926's active-low pulse). Click Start, drop a single coin, and the firing pin lights up below — that's your pulse_line. Faster than sweeping: one coin drop ≈ one answer.

Heads up: stops vendora-coin while running (we need exclusive access to the GPIO chip). Each watched pin gets an internal pull-up; pins already reserved by the kernel are skipped and listed below.

{% endblock %}