Documentation
¶
Overview ¶
Package eas decodes EAS / SAME (Specific Area Message Encoding) headers — the AFSK digital header that prefixes every Emergency Alert System and NOAA Weather Radio alert (the ZCZC… burst at 520.83 baud on 162 MHz / broadcast EAS). Demodulators such as multimon-ng / rtl_fm recover the raw header string; this package interprets its fields — who issued the alert, what kind, for which areas, and when — which is the useful part for RF monitoring / broadcast forensics.
Wrap-vs-native judgement ¶
Native. A SAME header is a fixed, fully-public ASCII structure (NWS NWSI 10-1712 / FCC 47 CFR 11.31): ZCZC-ORG-EEE-PSSCCC-PSSCCC…+TTTT-JJJHHMM-LLLLLLLL- . Decoding it is deterministic string parsing plus three documented lookup tables (originator codes, event codes, state FIPS codes). No DSP (the demodulation to the ZCZC string is upstream), no crypto, no new dependency — the field interpretation that multimon-ng leaves to the operator is implemented here directly.
What this covers ¶
- Originator (ORG): PEP / CIV / WXR / EAS / EAN with meanings.
- Event (EEE): the FCC/NWS event-code table (tests, weather warnings / watches / statements, civil/non-weather events), with the standard suffix fallback for unrecognised codes (…W = Warning, …A = Watch, …E = Emergency, …S = Statement, …T = Test).
- Location codes (PSSCCC): the part-of-county digit, the state FIPS code (→ state/territory name) and the county FIPS code.
- Purge / valid time (TTTT, hhmm duration) and the issue time (JJJHHMM: ordinal day-of-year + UTC hh:mm).
- The 8-character originator callsign.
Deliberately deferred ¶
County FIPS → county-name resolution (a ~3200-entry table) is not included — the state name and the raw 5-digit FIPS are surfaced. The calendar date is not derived from the ordinal day because the SAME header carries no year. The message audio / EOM (NNNN) framing is upstream of the header string.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Location ¶
type Location struct {
Raw string `json:"raw"`
PartCode int `json:"part_code"`
PartName string `json:"part_name"`
StateFIPS int `json:"state_fips"`
StateName string `json:"state_name"`
CountyFIPS int `json:"county_fips"`
}
Location is one decoded PSSCCC location code.
type Result ¶
type Result struct {
Originator string `json:"originator"`
OriginatorName string `json:"originator_name"`
Event string `json:"event"`
EventName string `json:"event_name"`
Locations []Location `json:"locations"`
ValidMinutes int `json:"valid_minutes"`
ValidDuration string `json:"valid_duration"`
IssueDayOfYear int `json:"issue_day_of_year"`
IssueTimeUTC string `json:"issue_time_utc"`
Callsign string `json:"callsign"`
Notes []string `json:"notes,omitempty"`
}
Result is the decoded SAME header.
Click to show internal directories.
Click to hide internal directories.