Defining messages from protobuf
This commit is contained in:
@@ -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
|
||||||
|
)
|
||||||
@@ -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
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user