diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index c321aee..e5d3a55 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -10,9 +10,9 @@ jobs: python-version: '3.11' - run: pip install -r requirements.txt - name: Run style checking - run: flake8 revolution + run: flake8 revolution configurations.py - name: Run static type checking - run: mypy --strict revolution + run: mypy --strict revolution configurations.py - name: Run unit tests run: python -m unittest - name: Run doctests diff --git a/configurations.py b/configurations.py index 3ee3d43..dd5fb6a 100644 --- a/configurations.py +++ b/configurations.py @@ -4,8 +4,8 @@ from iclib.mcp23s17 import MCP23S17, PortRegisterBit as PRB from iclib.mcp4161 import MCP4161 from iclib.nhd_c12864a1z_fsw_fbw_htt import NHDC12864A1ZFSWFBWHTT -from iclib.utilities import ManualCSSPI -from periphery import GPIO, PWM, LockedSPI, Serial, SPI +from iclib.utilities import LockedSPI, ManualCSSPI +from periphery import GPIO, PWM, Serial, SPI from revolution import ( Application, @@ -21,7 +21,7 @@ Power, PRBS, Settings, - # Telemetry, + Telemetry, ) APPLICATION_TYPES: tuple[type[Application], ...] = ( @@ -31,7 +31,7 @@ # Miscellaneous, Motor, Power, - # Telemetry, + Telemetry, ) CONTEXTS: Contexts = Contexts( diff --git a/requirements.txt b/requirements.txt index cc798a2..b63416a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,8 @@ +Sphinx~=8.1.3 battlib==0.0.0.dev2 build~=1.2.2.post1 coverage~=7.6.10 +databrief==0.0.1.dev2 door==0.0.4 flake8~=7.1.1 freetype-py~=2.5.1 @@ -9,5 +11,4 @@ interrogate~=1.7.0 mypy~=1.14.1 numpy~=2.2.2 python-periphery~=2.4.1 -Sphinx~=8.1.3 twine~=6.1.0 diff --git a/revolution/environment.py b/revolution/environment.py index 6bf8e42..811c40b 100644 --- a/revolution/environment.py +++ b/revolution/environment.py @@ -1,10 +1,10 @@ -from dataclasses import asdict, dataclass, field +from dataclasses import dataclass, field from enum import auto, Enum -from json import dumps from logging import getLogger from queue import Queue from typing import Any +from databrief import dump from door.threading2 import AcquirableDoor from iclib.mcp23s17 import MCP23S17, PortRegisterBit as PRB from iclib.nhd_c12864a1z_fsw_fbw_htt import NHDC12864A1ZFSWFBWHTT @@ -79,8 +79,8 @@ class Contexts: # Telemetry - def serialize(self) -> str: - return dumps(asdict(self)) + def serialize(self) -> bytes: + return dump(self) @dataclass(frozen=True) diff --git a/revolution/telemetry.py b/revolution/telemetry.py index f48aabd..b1dd207 100644 --- a/revolution/telemetry.py +++ b/revolution/telemetry.py @@ -33,9 +33,8 @@ def _telemetry(self) -> None: with self.environment.contexts() as contexts: assert hasattr(contexts, '_resource') - data = contexts._resource.serialize() + data_token = contexts._resource.serialize() - data_token = data.encode() checksum_token = md5(data_token).digest() tokens = ( self.environment.settings.telemetry_begin_token, diff --git a/revolution/tests/configurations.py b/revolution/tests/configurations.py index 620482f..07d24a6 100644 --- a/revolution/tests/configurations.py +++ b/revolution/tests/configurations.py @@ -28,7 +28,7 @@ Miscellaneous, Motor, Power, - # Telemetry, + Telemetry, ) CONTEXTS: Contexts = Contexts(