diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 631a6fb..1bc9bd0 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -919,27 +919,27 @@ message Config { * Philippines 915mhz */ PH_915 = 21; - + /* * Australia / New Zealand 433MHz */ ANZ_433 = 22; - + /* * Kazakhstan 433MHz */ KZ_433 = 23; - + /* * Kazakhstan 863MHz */ KZ_863 = 24; - + /* * Nepal 865MHz */ NP_865 = 25; - + /* * Brazil 902MHz */ diff --git a/meshtastic/mesh.options b/meshtastic/mesh.options index 49dd597..a6c22da 100644 --- a/meshtastic/mesh.options +++ b/meshtastic/mesh.options @@ -31,6 +31,8 @@ *MyNodeInfo.air_period_tx max_count:8 *MyNodeInfo.air_period_rx max_count:8 +*MyNodeInfo.firmware_edition int_size:8 + # Note: the actual limit (because of header bytes) on the size of encrypted payloads is 251 bytes, but I use 256 # here because we might need to fill with zeros for padding to encryption block size (16 bytes per block) *MeshPacket.encrypted max_size:256 diff --git a/meshtastic/mesh.proto b/meshtastic/mesh.proto index d826269..19b0b0e 100644 --- a/meshtastic/mesh.proto +++ b/meshtastic/mesh.proto @@ -1627,6 +1627,47 @@ enum CriticalErrorCode { FLASH_CORRUPTION_UNRECOVERABLE = 13; } +/* + * Enum to indicate to clients whether this firmware is a special firmware build, like an event. + * The first 16 values are reserved for non-event special firmwares, like the Smart Citizen use case. + */ +enum FirmwareEdition { + /* + * Vanilla firmware + */ + VANILLA = 0; + + /* + * Firmware for use in the Smart Citizen environmental monitoring network + */ + SMART_CITIZEN = 1; + + /* + * Open Sauce, the maker conference held yearly in CA + */ + OPEN_SAUCE = 16; + + /* + * DEFCON, the yearly hacker conference + */ + DEFCON = 17; + + /* + * Burning Man, the yearly hippie gathering in the desert + */ + BURNING_MAN = 18; + + /* + * Hamvention, the Dayton amateur radio convention + */ + HAMVENTION = 19; + + /* + * Placeholder for DIY and unofficial events + */ + DIY_EDITION = 127; +} + /* * Unique local debugging info for this node * Note: we don't include position or the user info, because that will come in the @@ -1660,6 +1701,11 @@ message MyNodeInfo { * The PlatformIO environment used to build this firmware */ string pio_env = 13; + + /* + * The indicator for whether this device is running event firmware and which + */ + FirmwareEdition firmware_edition = 14; } /* diff --git a/meshtastic/telemetry.proto b/meshtastic/telemetry.proto index d65432d..3ec85b4 100644 --- a/meshtastic/telemetry.proto +++ b/meshtastic/telemetry.proto @@ -333,7 +333,7 @@ message AirQualityMetrics { * Formaldehyde sensor temperature in degrees Celsius */ optional float form_temperature = 18; - + /* * Concentration Units Standard PM4.0 in ug/m3 */