mirror of
https://github.com/meshcore-dev/meshcore_py.git
synced 2026-11-01 10:12:03 +00:00
Merge pull request #111 from johnterickson/special-carnival
Fix direction LPP values being encoded as lists
This commit is contained in:
@@ -25,7 +25,7 @@ my_lpp_types = {
|
|||||||
128: ("power", []),
|
128: ("power", []),
|
||||||
130: ("distance", []),
|
130: ("distance", []),
|
||||||
131: ("energy", []),
|
131: ("energy", []),
|
||||||
132: ("direction", None),
|
132: ("direction", []),
|
||||||
133: ("time", []),
|
133: ("time", []),
|
||||||
134: ("gyrometer", None),
|
134: ("gyrometer", None),
|
||||||
135: ("colour", ["red", "green", "blue"]),
|
135: ("colour", ["red", "green", "blue"]),
|
||||||
|
|||||||
@@ -37,3 +37,20 @@ class TestLppCurrentParsing:
|
|||||||
lpp = json.loads(json.dumps(LppFrame([lppdata]), default=lpp_json_encoder))
|
lpp = json.loads(json.dumps(LppFrame([lppdata]), default=lpp_json_encoder))
|
||||||
|
|
||||||
assert lpp[0]['value'] == 0.5
|
assert lpp[0]['value'] == 0.5
|
||||||
|
|
||||||
|
|
||||||
|
class TestLppDirectionParsing:
|
||||||
|
"""Tests to verify LPP direction values are encoded as scalars."""
|
||||||
|
|
||||||
|
def test_direction_value_is_scalar(self):
|
||||||
|
"""A direction value should not be serialized as a one-item list."""
|
||||||
|
from meshcore.lpp_json_encoder import lpp_json_encoder
|
||||||
|
|
||||||
|
# Channel 2, Type 132 (direction), 90 degrees = 0x00 0x5A.
|
||||||
|
raw_bytes = bytes([2, 132, 0x00, 0x5A])
|
||||||
|
lppdata = LppData.from_bytes(raw_bytes)
|
||||||
|
|
||||||
|
lpp = json.loads(json.dumps(LppFrame([lppdata]), default=lpp_json_encoder))
|
||||||
|
|
||||||
|
assert lpp[0]['type'] == 'direction'
|
||||||
|
assert lpp[0]['value'] == 90.0
|
||||||
|
|||||||
Reference in New Issue
Block a user