Command Reference
This content is for the 1.0.0 version. Switch to the latest version for up-to-date documentation.
pcu-cli is the command-line tool for reading and configuring In-CarPC vehicle PCs. This page lists every command that ships in the release build, with the exact output each one produces. For flags, JSON output, and scripting, see Scripting and Automation.
Running pcu-cli
Section titled “Running pcu-cli”Run a command as pcu-cli <command>. Hardware commands need elevated access:
-
Windows: run
status,ign, anddiofrom an elevated (Administrator) terminal.help,version, anddriverwork without elevation. Without Administrator rights, a hardware command stops with a terse error:Terminal window ERROR: This program must be run as Administrator.Hardware access requires elevated privileges (PawnIO kernel driver). -
Linux: run with
sudo, or set up unprivileged access once withpcu-setup.sh. See Install on Linux. SMBus platforms (CQ20) use thei2cgroup; port-I/O platforms (CQ40) needCAP_SYS_RAWIO.
Run with no arguments to open an interactive numbered menu, which is handy when launching by double-click:
$ pcu-cliCommands: [1] Status All available readings [2] Ignition Timer configuration [3] Digital I/O DI/DO read and control [4] Driver PawnIO driver management [h] Help Show CLI usage [0] Exit
Select:A short banner is printed above the menu. The [4] Driver entry appears on Windows only. Passing flags but no command (for example pcu-cli --json) runs status.
status
Section titled “status”Read-only overview of the connected hardware. On a CQ20 this includes the MCU identity and the ignition timer summary.
| Command | Description |
|---|---|
pcu-cli status | Show platform, MCU identity, and all current hardware readings. |
$ pcu-cli statuspcu v1.0.0 - In-CarPC CQ20 Status---------------------------------------- Platform : In-CarPC CQ20 (Intel Atom x6425E) MCU Identity : CQ20 MCU Hardware Rev : DTB-IGN-MCU VER:10 Firmware : 12
MCU Firmware : 12 Ignition Mode : On Anti-Crank Delay : 6s anti-crank filter before DC power Boot Delay : 4s DC rails stable before power button Shutdown Delay : 5m IGN off to ACPI shutdown command Force Off Timeout : 2m hard power cut if OS hangsThe firmware version appears twice: once in the platform block and again in the MCU readings. That is expected.
Read and write the four ignition power-sequencing timers. Available on the CQ20 only.
| Command | Description |
|---|---|
pcu-cli ign | Show all ignition timer values. |
pcu-cli ign get <timer> | Read one timer. Shorthand: pcu-cli ign <timer>. |
pcu-cli ign set <timer> <seconds> | Write one timer (asks to confirm). |
The timer names are ign-on-delay, sw-on-delay, sw-off-delay, and pw-off-delay. See Ignition Timers for each timer’s range, default, and what it controls.
$ pcu-cli ignpcu v1.0.0 - In-CarPC CQ20 Ignition---------------------------------------- MCU Firmware : 12 Ignition Mode : On Anti-Crank Delay : 6s IGN on to DC power Boot Delay : 4s DC on to power button Shutdown Delay : 300s (5m) IGN off to ACPI shutdown Force Off Timeout : 120s (2m) Hard power cut if OS hangsRead one timer. The get keyword is optional, so pcu-cli ign sw-off-delay reads the same value:
$ pcu-cli ign get sw-off-delay Shutdown Delay: 300s (5m)Writing a timer asks for confirmation, then reads the value back and reports it as verified:
$ pcu-cli ign set sw-off-delay 120Write Shutdown Delay = 120s (2m)? [y/N] y Shutdown Delay: 120s (2m) - verifiedA value outside the timer’s range is rejected before anything is written, and the tool shows the default and recommended range (exit code 1):
$ pcu-cli ign set sw-off-delay 9000ERROR: Shutdown Delay must be 3-7200s. Got: 9000 Default: 300s (5m) | Recommended: 30-300sOn a platform without ignition timers (for example a CQ40), the command reports that the feature is unavailable and exits with code 2:
$ pcu-cli ignERROR: Ignition timers are not available on In-CarPC CQ40 series.Monitor digital inputs and the ignition line, and switch digital outputs. Available on the CQ40 series only.
| Channel | Direction | Description |
|---|---|---|
di1, di2 | Input (read-only) | Digital inputs. |
do1, do2 | Output (read/write) | Digital outputs. |
ign | Input (read-only) | Ignition / accessory sense line. |
| Command | Description |
|---|---|
pcu-cli dio | Show all digital inputs, outputs, and the ignition line. |
pcu-cli dio get <channel> | Read one channel. Shorthand: pcu-cli dio di1. |
| `pcu-cli dio set <do#> <0 | 1>` |
$ pcu-cli diopcu v1.0.0 - In-CarPC CQ40 series Digital I/O---------------------------------------- DI1 : Low DI2 : Low DO1 : Low DO2 : Low Ignition (IGN) : On
Note: outputs reset to off on reboot or power loss; the state is not saved.Read one channel. The channel keyword is optional, so pcu-cli dio di1 reads the same value:
$ pcu-cli dio get di1 DI1: LowSetting an output warns that outputs drive real hardware, asks to confirm, then reads the state back:
$ pcu-cli dio set do1 1WARNING: digital outputs drive connected hardware (relays / switches / lamps).Set DO1 = High? [y/N] y DO1: High - verifiedOn a platform without digital I/O (for example a CQ20), the command reports that the feature is unavailable and exits with code 2:
$ pcu-cli dioERROR: Digital I/O is not available on In-CarPC CQ20.driver
Section titled “driver”Manage the PawnIO kernel driver. Windows only. See Install on Windows for the full driver setup.
| Command | Description |
|---|---|
pcu-cli driver [status|install|uninstall] | Check, install, or remove the PawnIO driver. |
With no sub-command, pcu-cli driver shows status:
$ pcu-cli driver status PawnIO driver: v2.2.0 (2026-03-15) SmbusI801 module: 2025-05-05 Status: InstalledOn Linux there is no PawnIO driver; the kernel i2c-dev module is used instead, so the command exits with code 2:
$ pcu-cli driver statusPawnIO is a Windows-only driver. Linux uses the kernel i2c-dev module.The --json and --quiet flags have no effect on driver; its output is always the text form shown above.
version and help
Section titled “version and help”| Command | Description |
|---|---|
pcu-cli version | Show version, driver, and supported platforms. |
pcu-cli --version, pcu-cli -V | Same as version. Runs without elevation. |
pcu-cli help | Show command help, timer ranges, flags, and exit codes. |
version prints the tool version and build stamp, the driver and module versions (Windows), and the supported-platform list with validated configurations. Add --json for a machine-readable form; see Scripting and Automation. help prints the full command reference, including each timer’s range, default, and recommended range.
Confirmation prompts
Section titled “Confirmation prompts”Commands that change hardware ask before writing:
pcu-cli ign set <timer> <seconds>promptsWrite <timer> = <value>? [y/N].pcu-cli dio set <do#> <0|1>warns about connected hardware, then promptsSet <channel> = <High|Low>? [y/N].pcu-cli driver install/uninstallprompt before running the installer.
Answering anything other than y aborts with exit code 1. Prompts are printed to stderr, so they never mix into piped output. For ign set and dio set, a prompt is skipped when you pass --yes (or -y), when you pass --quiet, or when input is redirected from a pipe or file. For driver install / uninstall, only --yes (or -y) or redirected input skips the prompt; --quiet has no effect on driver. See the redirected-input caution on the scripting page before automating writes.
Exit codes
Section titled “Exit codes”| Code | Meaning |
|---|---|
| 0 | Success. |
| 1 | Error, including a rejected value, an aborted confirmation, or a write that did not read back as expected. |
| 2 | Feature not available on this platform or build. |
