Skip to content
Support

Ignition Timers

This content is for the 1.0.0 version. Switch to the latest version for up-to-date documentation.

The In-CarPC CQ20 controls the vehicle power sequence with an ignition MCU and four timers. The timers decide how the PC powers up when you turn the key and how it powers down when you turn it off.

All four timers are stored in the MCU’s non-volatile memory, so they persist across restarts and power loss. This is different from the CQ40 series digital outputs, which reset every time the machine reboots.

Ignition timers are a CQ20 feature. On other platforms, such as the CQ40 series, they are not available: pcu-cli ign reports ERROR: Ignition timers are not available on In-CarPC CQ40 series. and exits with code 2. See Supported Platforms for the feature comparison.

The MCU watches the vehicle’s ignition signal and steps the PC through a fixed sequence at each change.

Startup. When the ignition comes on, the MCU waits the Anti-Crank Delay before doing anything. This filters out the brief, unstable signals that happen while an engine is cranking. If the ignition signal drops during this wait, the MCU cancels the boot entirely. Once the delay passes and the ignition is still on, the MCU applies DC power, waits the Boot Delay for the supply voltages to stabilise, then presses the power button to start the PC.

Shutdown. When the ignition goes off, the MCU does not shut the PC down straight away. It waits the Shutdown Delay, which gives you time to restart the engine or finish what you are doing. If the ignition comes back on within that window, the shutdown is cancelled. Once the delay expires, the MCU sends the operating system a shutdown command. If the OS has not finished shutting down after the Force Off Timeout, the MCU cuts power anyway, so a hung shutdown cannot sit there draining the vehicle battery.

TimerLabelRangeDefaultRecommended
ign-on-delayAnti-Crank Delay1-60s6s3-10s
sw-on-delayBoot Delay1-60s4s2-5s
sw-off-delayShutdown Delay3-7200s300s (5m)30-300s
pw-off-delayForce Off Timeout10-7200s120s (2m)60-180s

How long the MCU waits after detecting the ignition signal before turning on DC power. This filters out the brief, unstable signals that happen when an engine is cranking, so the PC will not try to boot until the engine is properly running.

  • Too low: the PC may try to boot while the engine is still cranking, then lose power mid-startup.
  • Too high: the PC takes longer than necessary to start after the key is turned.

How long the MCU waits after applying DC power before pressing the power button. This gives the power supply time to stabilise, so the motherboard receives clean voltage when it starts up.

  • Too low: the power button may be pressed before voltages have stabilised.
  • Too high: adds unnecessary delay to the boot process.

How long the MCU waits after the ignition signal is removed before telling the operating system to shut down. This gives you time to restart the engine without the PC shutting down, and gives running tasks time to finish. If the ignition comes back during this window, the shutdown is cancelled.

  • Too low: brief ignition interruptions could trigger unwanted shutdowns, and the OS may not have time to save data.
  • Too high: the PC runs for a long time after the vehicle is turned off, draining the battery.

How long the MCU waits after sending the shutdown command before cutting power regardless of whether the OS has finished shutting down. This is a safety net: if the OS freezes during shutdown (a stuck update, a crashed program), the MCU cuts power to prevent the battery draining indefinitely. Under normal operation this timer should never trigger.

  • Too low: the OS may not have finished shutting down, risking data loss or file corruption.
  • Too high: if the OS is frozen, the PC sits draining the battery for too long.

You can change timers from the GUI or the CLI.

In the GUI, use the Ignition page. Each timer has a description, its recommended range and default, quick-select presets, and a custom value box. Saving asks you to confirm and then reads the value back to check the write took.

From the CLI, pcu-cli ign shows the current values:

Terminal window
$ pcu-cli ign
pcu 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 hangs

Set a timer with pcu-cli ign set <timer> <seconds>. It asks you to confirm, writes the value, and reads it back:

Terminal window
$ pcu-cli ign set sw-off-delay 120
Write Shutdown Delay = 120s (2m)? [y/N] y
Shutdown Delay: 120s (2m) - verified

A value outside the timer’s range is rejected before anything is written, and the error shows the default and the recommended range:

Terminal window
$ pcu-cli ign set sw-off-delay 9000
ERROR: Shutdown Delay must be 3-7200s. Got: 9000
Default: 300s (5m) | Recommended: 30-300s

For the full command surface, exit codes, and scripting notes, see the Command Reference.

The ignition mode decides whether the MCU runs the automatic power sequence at all. pcu shows it, but only for reading.