added restapi

This commit is contained in:
2026-11-02 16:46:20 +03:00
parent 9d74d06ce3
commit 588c2e0135
74 changed files with 7253 additions and 129 deletions
+15
View File
@@ -6,12 +6,14 @@ import unittest
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from protocol import ( # noqa: E402
charge_percent,
pack_interval_min,
pack_report,
pack_slot_config,
unpack_interval_min,
unpack_report,
unpack_slot_config,
voltage_v,
)
@@ -53,6 +55,19 @@ class ProtocolTests(unittest.TestCase):
self.assertEqual(raw2[1], 0x12)
self.assertEqual(unpack_interval_min(raw2), 0x1234)
def test_voltage_is_tenths(self):
self.assertIsNone(voltage_v(255))
self.assertAlmostEqual(voltage_v(32), 3.2)
self.assertAlmostEqual(voltage_v(17), 1.7)
self.assertEqual(charge_percent(voltage_v(32)), 100)
self.assertEqual(charge_percent(1.5), 0)
self.assertEqual(charge_percent(1.7), 0)
self.assertEqual(charge_percent(2.0), 8)
self.assertEqual(charge_percent(2.3), 28)
self.assertEqual(charge_percent(3.0), 90)
self.assertEqual(charge_percent(3.2), 100)
self.assertEqual(charge_percent(3.4), 100)
def test_interval_min_bad_length(self):
self.assertIsNone(unpack_interval_min(b""))
self.assertIsNone(unpack_interval_min(b"\x00"))