pretty display for messages, send range request, etc
This commit is contained in:
parent
502e251b54
commit
7dc745c1f0
4 changed files with 44 additions and 8 deletions
|
@ -209,6 +209,16 @@ class VarArrayFormat(BaseVarFormat):
|
|||
result.append(item)
|
||||
return result, data
|
||||
|
||||
def fromjson(self, data):
|
||||
return [
|
||||
self.child_type.fromjson(item) for item in data
|
||||
]
|
||||
|
||||
def tojson(self, data):
|
||||
return [
|
||||
item.tojson(item) for item in data
|
||||
]
|
||||
|
||||
def get_c_parts(self):
|
||||
pre, post = self.child_type.get_c_parts()
|
||||
return super().get_num_c_code() + "\n" + pre, "[0]" + post
|
||||
|
|
|
@ -262,6 +262,10 @@ class ConfigPositionMessageForm(MeshMessageForm):
|
|||
z_pos = forms.IntegerField(min_value=0, max_value=2 ** 16 - 1, label=_('Z'))
|
||||
|
||||
|
||||
class LocateRequestRangeMessageForm(MeshMessageForm):
|
||||
msg_type = MeshMessageType.LOCATE_REQUEST_RANGE
|
||||
|
||||
|
||||
class MeshNodeForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = MeshNode
|
||||
|
|
|
@ -340,4 +340,4 @@ class LocateRequestRangeMessage(MeshMessage, msg_type=MeshMessageType.LOCATE_REQ
|
|||
@dataclass
|
||||
class LocateRangeResults(MeshMessage, msg_type=MeshMessageType.LOCATE_RANGE_RESULTS):
|
||||
""" reports distance to given nodes """
|
||||
ranges: dict[str, int] = field(metadata={"format": VarArrayFormat(RangeItemType)})
|
||||
ranges: list[RangeItemType] = field(metadata={"format": VarArrayFormat(RangeItemType)})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue