plip: optional auto story-ring (off by default) #46

Merged
electron merged 1 commits from feat/plip-optional-auto-ring into main 2026-06-21 05:52:36 +00:00
Owner

Phone rings on its own every 15-30 min (when idle); pickup launches a random audio story (no menu); bell stops after 1 min unanswered. Gated behind CONFIG_PLIP_AUTO_RING (default n).

Phone rings on its own every 15-30 min (when idle); pickup launches a random audio story (no menu); bell stops after 1 min unanswered. Gated behind CONFIG_PLIP_AUTO_RING (default n).
electron added 1 commit 2026-06-20 19:09:00 +00:00
plip: optional auto story-ring (off by default)
CI / platformio (pull_request) Failing after 3m46s
CI / platformio (push) Failing after 4m1s
b203f0e4de
Escape-room mechanic: the retro phone can call the players on its own
and tell them a story when they pick up.

Approach: a story_ring_task rings at a random 15-30 min interval (only
when the line is idle and a story pack is on the SD). Picking up routes
through enter_story_from_ring(), which silences the bell and launches a
random story via plip_gamebook_begin_random() straight into the gamebook
state — no menu. If nobody answers within 1 min the bell stops and the
next ring is rescheduled; hanging up mid-ring also silences it.

The whole feature is gated behind CONFIG_PLIP_AUTO_RING (default n), so
the phone stays silent unless explicitly enabled in menuconfig. The hook
pickup paths (raw SLIC poll + debounced edge) mirror the existing NPC
incoming-call handling, which is unreliable while the bell rings.
electron merged commit b203f0e4de into main 2026-06-21 05:52:36 +00:00
Sign in to join this conversation.