diff --git a/micromesh/messages/__init__.py b/micromesh/messages/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/admin.py b/micromesh/messages/admin.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/apponly.py b/micromesh/messages/apponly.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/atak.py b/micromesh/messages/atak.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/cannedmessages.py b/micromesh/messages/cannedmessages.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/channel.py b/micromesh/messages/channel.py new file mode 100644 index 0000000..7fc07b7 --- /dev/null +++ b/micromesh/messages/channel.py @@ -0,0 +1,30 @@ +from micromesh.protobuf import Field, ProtoMessage, fields + +class Role: + DISABLED = 0 + PRIMARY = 1 + SECONDARY = 2 + +class ModuleSettings(ProtoMessage): + FIELDS = fields( + position_precision=Field(1, "uint32"), + is_muted=Field(2, "bool") + ) + +class ChannelSettings(ProtoMessage): + FIELDS = fields( + channel_num=Field(1, "uint32"), # Deprecated in favor of LoraConfig.channel_num + psk=Field(2, "bytes"), + name=Field(3, "string"), + id=Field(4, "fixed32"), + uplink_enabled=Field(5, "bool"), + downlink_enabled=Field(6, "bool"), + module_settings=Field(7, "message", ModuleSettings) + ) + +class Channel(ProtoMessage): + FIELDS = fields( + index=Field(1, "int32"), + settings=Field(2, "message", ChannelSettings), + role=Field(3) # Role + ) \ No newline at end of file diff --git a/micromesh/messages/clientonly.py b/micromesh/messages/clientonly.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/config.py b/micromesh/messages/config.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/connection_status.py b/micromesh/messages/connection_status.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/device_ui.py b/micromesh/messages/device_ui.py new file mode 100644 index 0000000..c714295 --- /dev/null +++ b/micromesh/messages/device_ui.py @@ -0,0 +1,101 @@ +from micromesh.protobuf import Field, ProtoMessage, fields + +class GpsCoordinateFormat: + DEC = 0 + DMS = 1 + UTM = 2 + MGRS = 3 + OLC = 4 + OSGR = 5 + MLS = 6 + +class CompassMode: + DYNAMIC = 0 + FIXED_RING = 1 + FREEZE_HEADING = 2 + +class Theme: + DARK = 0 + LIGHT = 1 + RED = 2 + +class Language: + ENGLISH = 0 + FRENCH = 1 + GERMAN = 2 + ITALIAN = 3 + PORTUGUESE = 4 + SPANISH = 5 + SWEDISH = 6 + FINNISH = 7 + POLISH = 8 + TURKISH = 9 + SERBIAN = 10 + RUSSIAN = 11 + DUTCH = 12 + GREEK = 13 + NORWEGIAN = 14 + SLOVENIAN = 15 + UKRAINIAN = 16 + BULGARIAN = 17 + CZECH = 18 + DANISH = 19 + SIMPLIFIED_CHINESE = 30 + TRADITIONAL_CHINESE = 31 + +class GeoPoint(ProtoMessage): + FIELDS = fields( + zoom=Field(1, "int32"), + latitude=Field(2, "int32"), + longitude=Field(3, "int32") + ) + +class Map(ProtoMessage): + FIELDS = fields( + home=Field(1, "message", GeoPoint), + style=Field(2, "string"), + follow_gps=Field(3, 'bool') + ) + +class NodeHighlight(ProtoMessage): + FIELDS = fields( + chat_switch=Field(1, "bool"), + position_switch=Field(2, "bool"), + telemetry_switch=Field(3, "bool"), + iaq_switch=Field(4, "bool"), + node_name=Field(5, "string") + ) + +class NodeFilter(ProtoMessage): + FIELDS = fields( + unknown_switch=Field(1, "bool"), + offline_switch=Field(2, "bool"), + public_key_switch=Field(3, "bool"), + hops_away=Field(4, "int32"), + position_switch=Field(5, "bool"), + node_name=Field(6, "string"), + channel=Field(7, "int32"), + ) + +class DeviceUIConfig(ProtoMessage): + FIELDS = fields( + version=Field(1, "uint32"), + screen_brightness=Field(2, "uint32"), + screen_timeout=Field(3, "uint32"), + screen_lock=Field(4, "bool"), + settings_lock=Field(5, "bool"), + pin_code=Field(6, "uint32"), + theme=Field(7), # Theme + alert_enabled=Field(8, "bool"), + banner_enabled=Field(9, "bool"), + ring_tone_id=Field(10, "uint32"), + language=Field(11), # Language + node_filter=Field(12, "message", NodeFilter), + node_highlight=Field(13, "message", NodeHighlight), + calibration_data=Field(14, "bytes"), + map_data=Field(15, "message", Map), + compass_mode=Field(16), # CompassMode + screen_rgb_color=Field(17, "uint32"), + is_clockface_analog=Field(18, "bool"), + gps_format=Field(19) # GpsCoordinateFormat + ) \ No newline at end of file diff --git a/micromesh/messages/deviceonly.py b/micromesh/messages/deviceonly.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/deviceonly_legacy.py b/micromesh/messages/deviceonly_legacy.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/interdevice.py b/micromesh/messages/interdevice.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/mesh.py b/micromesh/messages/mesh.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/mesh_beacon.py b/micromesh/messages/mesh_beacon.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/module_config.py b/micromesh/messages/module_config.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/mqtt.py b/micromesh/messages/mqtt.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/paxcount.py b/micromesh/messages/paxcount.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/portnums.py b/micromesh/messages/portnums.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/powermon.py b/micromesh/messages/powermon.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/remote_hardware.py b/micromesh/messages/remote_hardware.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/rtttl.py b/micromesh/messages/rtttl.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/serial_hal.py b/micromesh/messages/serial_hal.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/storeforward.py b/micromesh/messages/storeforward.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/telemetry.py b/micromesh/messages/telemetry.py new file mode 100644 index 0000000..e69de29 diff --git a/micromesh/messages/xmodem.py b/micromesh/messages/xmodem.py new file mode 100644 index 0000000..e69de29