# DSP 100-100-001
Transitional Radio Standards "As Built"
## GPN (Goon-Style)
* `s_addr` - Sender address
* `d_addr` - Destination Address
## ATMO-ECOM (ATMOspheric Equipment COMmunication)
Only universally supported fields. See Feature Flags for equipment specific fields.
* `tag`
* Addressing tag. Seems Map Editor exclusive?
* `power`
* SET power
* `power_toggle`
* TOGGLE power
* `status`
* If exists, broadcast status
* `[As of PR 550 use of this field preempts any other control fields.]`
* `sigtype`
* `command` - See ATMO-ECOM Feature Fields for control fields.
### ATMO-ECOM - Feature Fields
These are described as a set of Feature Flags, it's the least awful way to document the mess.
* Equipment
* Gas Pumps: `OUTP`
* Passive Gate: `OUTP`
* DP Vent Pump: `OUTP SETI SETD SETE CHKS`
* Air Injector Monitored: `SETV ACON`
* Pressure Valve: `OUTP`
* Vent Scrubber: `SUCC SCRUB`
* Vent Pump: `MPRG MSTB CHKS CHKT VNTD SETI RSTI ADJI SETE RSTE ADJE`
* Gas Sensor: `ACON`
* Feature Flags
* `OUTP` / `set_output_pressure`
* Output rate in kPa.
* `SETI` /`set_input_pressure`
* Input rate in kPa.
* `RSTI` / `reset_internal_pressure`
* Value Discarded. Equivalent to SETI=0
* `ADJI` / `adjust_internal_pressure`
* Value is added to existing internal pressure.
* `SETE` / `set_external_pressure`
* External check pressure in kPa.
* `RSTE` / `reset_external_pressure`
* Value discarded. Equivalent to SETE=101.3
* `ADJE` / `adjust_external_pressure`
* Value is added to existing external pressure
* `SETR` / `set_transfer_rate`
* Transfer Volume in Litres.
* `SETV` / `set_volume_rate`
* Volume Rate (unit unknown)
* `SETD` / `set_direction`
* TODO
* `VNTD` / `direction`
* Why are you like this vent pumps.
* `CHKS` / `checks`
* TODO
* `CHKT` / `checks_toggle`
* Yeah. This is separate for some reason?
* `MPRG` / `purge`
* Set Purge Mode - Definition is Device Specific
* `MSTB` / `stabilize`
* Set Stabilize Mode - Definition is Device Specific
* `ACON`
* Supports ACON-ECOM
* `SUCC` / `quicksucc` `toggle_quicksucc`
* High Volume. I didn't name these.
* `SCRB` / `scrubbing` `toggle_scrubbing`
* Toggle scrubbing? Not sure what the alternative action is??
* `FILT` / `set_filters` `toggle_filter`
* ??? - Obviously related to gas filter settings.
* ~~`INIT` / `init`~~
* ~~Sets the device name based on the contents of this field~~
* `[Flag removed as of PR 550]`
### ACON-ECOM (Atmos CONtrol Equipment COMmunication)
ACON-ECOM is an extension of ATMOS-ECON used specifically
for atmospheric bulk gas storage, reporting, and transfer equipment.
Support for this standard is denoated by the `ACON` feature flag
* `tag`
* This is a seprate format, because the tag system is awful. All names MUST be in the format of `[CHAMBER]_[ROLE]`, valid roles are `[sensor,in,out]`, This is usually taken care of by initialize code, as there is no way to set tags on existing equipment. I want this rewritten anyways.
* `sigtype`
* As extensions to the standard set.
* `destroyed`
* I hate this. This is used to prop up lazy coding practices and is bad behaviour.
* `timestamp`
## AIRLOCK-ECOM (AIRLOCK Equiment Communication)
* `tag` - Airlock ID tag
* {CODERNOTE: There is no way to set this outside the map editor. Consider bay's really old Door Control Tool as new engineering equipment?}
* command - ENUM
* `secure_close` - Unbolt, Close, Bolt
* `secure_open` - Unbolt, Open, Bolt
* `open`
* `close`
* `unlock`
* `lock`
## ATMOS-ACOM (ATMOSpheric Alarm Communication)
* `zone`
* Area Name
* `alert`
* Severity. One of
* `severe`
* `minor`
## SPARKGAP - (Signaller/Anomaly)
* `code` - Channel code. This stuff sucks.
## STATD - (STATus Display)
* `command`
* `blank`
* `shuttle`
* Model Dependent. Usually shows escape shuttle ETA
* `message`
* see `msg1` and `msg2`
* `alert`
* Sets the image based on `picture_state` field.
* `friendcomputer`
* Magic related to AI display logic. Do Not Document.
* `msg1`
* Message Line 1 - Upper
* `msg2`
* Message Line 2 - Lower'
* `picture_state`
* TODO - Probably just the alert level as an IDX?