An emergency alarm is a high-priority signal a radio can raise on its currently affiliated talkgroup. Every other radio affiliated to that talkgroup is alerted; the control channel remembers the alarm so it can be cleared explicitly later, and dispatch consoles surface the alarm to operators.
Emergencies are central to how the script handles "radio in distress" — they survive the talker losing PTT, releasing the channel, or even powering off, and they remain visible on the talkgroup until cleared.
A user raises an emergency by pressing the radioEmergency keymap (default F6). The radio:
emergDenied flag and that the channel is not conventional. If either is true, the emergency is blocked locally.emergRevert is set on the channel, switches to that talkgroup before declaring.EMERGENCY opcode to the control channel with the affiliated talkgroup as the payload.ackEmg = true, waits for the EMERGENCY_ACK reply. No-ack within the timeout produces a local "No Ack" alert.emergHotMic, opens the mic for the configured duration so the talker is broadcast immediately.When the control channel receives an EMERGENCY:
emergencyAlarms[subscriberID] = talkgroupID.There are three ways an alarm clears:
| Action | Opcode | Effect |
|---|---|---|
| The originating radio clears its own emergency | EMERGENCY_CLEAR (with subscriber's own SUID) |
Clears the alarm for that one Subscriber ID. |
| A dispatcher force-clears the talkgroup | EMERGENCY_FORCE_CLEAR (target = talkgroup) |
Clears every alarm currently raised on that talkgroup. |
| The radio deregisters | implicit | The control channel clears the alarm before completing the deregistration. |
| Flag | Purpose |
|---|---|
emergHotMic |
After the alarm goes out, keep the mic open so the talker is heard live. |
emergDenied |
Block emergency declaration on this channel entirely. |
emergRevert |
Talkgroup ID to switch to before declaring; -1 to declare on the current talkgroup. |