30 lines
834 B
Python
30 lines
834 B
Python
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
|
||
|
|
)
|