-
Notifications
You must be signed in to change notification settings - Fork 3
UI Manual Fire Page
For firing individual cues without loading a show. Useful for:
- Setup testing — confirm each cue fires before committing to a real show.
- Demonstrations — fire a single shell on demand.
- Recovery — finish a show after the schedule has stopped.
📷 Screenshot placeholder: the Manual Fire page with a grid of cue buttons per receiver, prominent safety reminders.
Manual fire requires three things to be true simultaneously:
- Manual fire switch on the dongle is engaged.
- Arming switch is in ARMED.
- Start switch is in START.
If any of those is wrong, the fire button shows the failing condition (e.g. "Arming switch is off") and refuses to act.
The daemon's handle_manual_fire enforces all three on the back end too — even if the UI is somehow tricked, the daemon refuses.
For each receiver in the global Receivers table, a card with:
- The receiver ident and label.
- A grid of cue buttons (1..
cuesAvailable). - For Bilusocn receivers: cue buttons grouped by zone.
Click a cue button to fire it. The action posts { "type": "manual_fire", "data": { "zone": "<ident>", "target": <cueNum> } } to /api/system/cmd_daemon.
- The whole page has a red border / heavy "MANUAL FIRE ACTIVE" banner when the manual fire switch is engaged.
- Cue buttons show their continuity color (red / green / blue) so you can see what you're about to fire.
- A small confirmation tap-and-hold pattern is used on the buttons by default (configurable in Settings → Show config).
- No timing. Manual fire is "right now". For sequenced firing, build a show.
-
No preload. The daemon sends each
fire <ident> <target-1>immediately when you click. Latency is the typical RF round-trip (~3–22 ms). - No bulk fire. One cue per click. (Multiple cues can be in flight simultaneously if you click fast — the daemon doesn't serialize them.)
-
host/byh_app/backyardhero/src/components/manual/ManualFiring.jsx— the page. -
host/byh_app/backyardhero/src/components/manual/ManualFirePanel.jsx— the per-receiver fire grid. -
host/pythings/pc_daemon/pc_daemon.py:handle_manual_fire— the gating + dispatch. -
host/pythings/pc_daemon/protocol_handler/BYHProtocolHandler.py:handle_manual_fire— the actualfire/433firecommand.
Getting started
- Overview
- Desktop installers (macOS / Windows)
- macOS
- Linux
- Windows
- Production vs Development
- Connecting the dongle
- Flash a receiver
- Flash a dongle
- OTA flashing
Raspberry Pi
System overview
Subsystems
Hardware
- Receiver firmware
- Dongle firmware
- RF protocol
- Contributor Portal — BOMs, schematics, and board resources
UI walkthrough
Reference
Downloads
- Firmware
- Installers
Module Build & User Guides
- Cue
- Receiver
- Dongle