mirror of
https://github.com/meshcore-dev/meshcore_py.git
synced 2026-11-01 02:02:00 +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", []),
|
||||
130: ("distance", []),
|
||||
131: ("energy", []),
|
||||
132: ("direction", None),
|
||||
132: ("direction", []),
|
||||
133: ("time", []),
|
||||
134: ("gyrometer", None),
|
||||
135: ("colour", ["red", "green", "blue"]),
|
||||
|
||||
@@ -37,3 +37,20 @@ class TestLppCurrentParsing:
|
||||
lpp = json.loads(json.dumps(LppFrame([lppdata]), default=lpp_json_encoder))
|
||||
|
||||
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