From 07aa4efb2d26d87320acec53b5280b6e916c4287 Mon Sep 17 00:00:00 2001 From: Alexander UR6LKW Date: Thu, 29 May 2025 16:30:25 +0300 Subject: [PATCH] 0DMRMaster version 0.5 --- README.md | 18 ++-- dmrtools/app.py | 9 +- dmrtools/auth.py | 6 +- dmrtools/call.py | 30 ++++++- dmrtools/dispatcher.py | 4 +- dmrtools/dmrproto/__init__.py | 5 +- dmrtools/dmrproto/base_fields.py | 6 +- dmrtools/dmrproto/etsi_l2.py | 47 +++++----- dmrtools/dmrproto/exceptions.py | 39 +++++++-- dmrtools/dmrproto/factory.py | 36 ++++---- dmrtools/dmrproto/lc_util.py | 144 +++++++++++++++++++++++++++++++ dmrtools/dmrproto/mmdvm_l1.py | 4 +- dmrtools/dmrproto/util.py | 68 --------------- dmrtools/network.py | 10 +-- dmrtools/peer_controller.py | 9 +- doc/dashboard-screenshot.png | Bin 0 -> 141760 bytes 16 files changed, 280 insertions(+), 155 deletions(-) create mode 100755 dmrtools/dmrproto/lc_util.py delete mode 100755 dmrtools/dmrproto/util.py create mode 100755 doc/dashboard-screenshot.png diff --git a/README.md b/README.md index 4e2c802..c3463c5 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,12 @@ # 0DMRMaster -Private DMR master server. Version 0.4. - +Private DMR master server. Version 0.5. Copyright ©2025 Alexander Mokrov, UR6LKW. +This project is currently in public alpha and is under active development. +Don't use it in production environment, interfaces may change. + + +## License This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -18,7 +22,7 @@ along with this program. If not, see . ## Overview -There is a few parts: +This project contains: 1. An implementation of homebrew dmr protocol (which is used by brandmeister and hblink). Not yet complete, but sufficient for #2 and #3. 1. Decoding UDP proxy 1. Basic private dmr master server @@ -26,9 +30,9 @@ There is a few parts: ### Installation 1. Check basic requirements: - Linux or Windows - - Python 3.13+ + - Python 3.11+ 1. Clone/download the repo. -1. Execute (linux example): +1. Create environment and install requirements (linux example): ``` $ python -m venv venv $ . venv/bin/activate @@ -50,6 +54,7 @@ The running server listens for `62031/udp` as DMR service (may be changed with ` and exposes http API/dashboard on `8000/tcp` (may be changed with `--web-port` command line argument): - API: http://YOUR-SERVER-IP:8000/api/dashboard - Web dashboard: http://YOUR-SERVER-IP:8000/dashboard/index.html +![web dashboard](https://github.com/olympy/0DMRMaster/blob/master/doc/dashboard-screenshot.png?raw=true) @@ -72,9 +77,10 @@ and exposes http API/dashboard on `8000/tcp` (may be changed with `--web-port` c - ✔️ unit call routing - ✔️ allow single peer id check - ✔️ TA support (DMRA packet) -- 🥕 dmr internal burst structure decoding (to fix rf fields and get ambe) +- ✔️ dmr internal structure decoding (get LC, voice data) - 🥕 routing (1 timeslot == 1 routing entity) - 🥕 only one call per ts for peer (per routing entity) +- 🥕 dmr internal structure encoding (set LC, generate voice data) - 🥕 apps unit call routing (routing entity for app) - 🥕 configuration - 🥕 users configuration (allowed id and passes per id) diff --git a/dmrtools/app.py b/dmrtools/app.py index d3c16f4..509bc05 100755 --- a/dmrtools/app.py +++ b/dmrtools/app.py @@ -16,14 +16,12 @@ class IAppDispatcher(ABC): Dispatcher interface for app """ @abstractmethod - def inject_packet(self, p: DMRPPacketData) -> None: - pass + def inject_packet(self, p: DMRPPacketData) -> None: ... class IAppCallInterceptor(ABC): @abstractmethod - def process_call_packet(self, call: Call, p: DMRPPacketData) -> None: - pass + def process_call_packet(self, call: Call, p: DMRPPacketData) -> None: ... class App(ABC): @@ -31,8 +29,7 @@ class App(ABC): self.dispatcher: IAppDispatcher|None = None @abstractmethod - def get_name(self) -> str: - pass + def get_name(self) -> str: ... class AppKeeper: diff --git a/dmrtools/auth.py b/dmrtools/auth.py index 6b77ff5..8337777 100755 --- a/dmrtools/auth.py +++ b/dmrtools/auth.py @@ -7,13 +7,11 @@ from .dmrproto import calc_password_hash class IPeerAuth(ABC): @abstractmethod - def allow_peer_id(self, peer_id: int) -> bool: - pass + def allow_peer_id(self, peer_id: int) -> bool: ... @abstractmethod def check_password(self, peer_id: int, salt: bytes, - pass_hash: bytes) -> bool: - pass + pass_hash: bytes) -> bool: ... class AllowAllPeerAuth(IPeerAuth): diff --git a/dmrtools/call.py b/dmrtools/call.py index 190936a..3fcc4ea 100755 --- a/dmrtools/call.py +++ b/dmrtools/call.py @@ -2,7 +2,10 @@ import logging from time import time +from .dmrproto import CallLCDecoder from .dmrproto import DMRPPacketData +from .dmrproto import LCBase, LCCall, LCLocation +from .dmrproto import CallType from .peer import Peer @@ -24,6 +27,10 @@ class Call: self.end_time: float|None = None self.packets: int = 0 self.route_to: set[Peer]|None = None + self.ta: str|None = None + self.loc: LCLocation|None = None + self.rfcall: LCCall|None = None + self._lc_decoder: CallLCDecoder = CallLCDecoder(call_id) logging.info(f"Voice call beg {str(self)}") @property @@ -56,9 +63,30 @@ class Call: def to_be_cleaned_log(self) -> bool: return self.is_ended and not self.check_timeout(self.CLEAN_LOG_TIMEOUT) - def packet_received(self) -> None: + def packet_received(self, p: DMRPPacketData|None = None) -> None: self.last_packet_time = time() self.packets += 1 + if p is not None: + lc: LCBase|None = self._lc_decoder.process_voicedata(p) + if lc is not None: + logging.debug(f"New lc: {lc}") + self._update_lc_data() + + def _update_lc_data(self) -> None: + if (self.ta is None + and (ta := self._lc_decoder.ta) is not None): + self.ta = ta + logging.info(f"Talker alias: '{ta}'") + if (self.loc is None + and (loc := self._lc_decoder.location) is not None): + self.loc = loc + logging.info(f"Location: {loc.lat} {loc.lon}") + if (self.rfcall is None + and (rfcall := self._lc_decoder.call) is not None): + self.rfcall = rfcall + dst: str = (('TG' if rfcall.call_type == CallType.GROUP else '') + + str(rfcall.dst_id)) + logging.info(f"RF call data: {rfcall.src_id}->{dst}") def check_timeout(self, timeout: float) -> bool: return time() - self.last_packet_time < timeout diff --git a/dmrtools/dispatcher.py b/dmrtools/dispatcher.py index 7cf7b44..ecb4947 100755 --- a/dmrtools/dispatcher.py +++ b/dmrtools/dispatcher.py @@ -46,7 +46,7 @@ class Dispatcher(IDatagramReceiver, IAppDispatcher, IPCDispatcher): controller.send_close() def dispatch_data_packet(self, p: DMRPPacketData, orig_addr: tuple) -> None: - logging.debug(f"Dispatching packet from {orig_addr}:\n{p}\n") + # logging.debug(f"Dispatching packet from {orig_addr}:\n{p}\n") call_id = p.stream_id @@ -61,7 +61,7 @@ class Dispatcher(IDatagramReceiver, IAppDispatcher, IPCDispatcher): if len(peers) > 0: call.route_to = peers - call.packet_received() + call.packet_received(p) if p.is_voice_term: call.end() diff --git a/dmrtools/dmrproto/__init__.py b/dmrtools/dmrproto/__init__.py index b21bd9e..58480cc 100755 --- a/dmrtools/dmrproto/__init__.py +++ b/dmrtools/dmrproto/__init__.py @@ -1,4 +1,5 @@ -from .mmdvm_l1 import * +from .enums import * from .etsi_l2 import * -from .util import * from .exceptions import * +from .lc_util import * +from .mmdvm_l1 import * diff --git a/dmrtools/dmrproto/base_fields.py b/dmrtools/dmrproto/base_fields.py index ab2afdd..74ed551 100755 --- a/dmrtools/dmrproto/base_fields.py +++ b/dmrtools/dmrproto/base_fields.py @@ -19,12 +19,10 @@ class DMRPFieldBase(ABC): obj._data[self.offset:self.eoffset] = value @abstractmethod - def __get__(self, obj, cls = None) -> Any: - pass + def __get__(self, obj, cls = None) -> Any: ... @abstractmethod - def __set__(self, obj, value: Any) -> None: - pass + def __set__(self, obj, value: Any) -> None: ... class DMRPFieldBytes(DMRPFieldBase): diff --git a/dmrtools/dmrproto/etsi_l2.py b/dmrtools/dmrproto/etsi_l2.py index d5c67d6..4344f54 100755 --- a/dmrtools/dmrproto/etsi_l2.py +++ b/dmrtools/dmrproto/etsi_l2.py @@ -12,20 +12,21 @@ from .enums import CallType from .exceptions import DMRPFieldOutOfRangeException from .exceptions import DMRPL2BadDataException from .exceptions import DMRPUnknownLCTypeException -from .factory import BaseFactory, IFactoryProduced +from .factory import AbstractFactory, IFactoryProduced class DMRPL2Base(ABC): - DataTypes = enum.StrEnum('DataTypes', [ - 'UNKNOWN', 'FULL_LC', 'VOICE_BURST' - ]) + """ + Base decoder of DMRD packet payload (layer2, 33 bytes) + """ + DataTypes = enum.StrEnum('DataTypes', ['FULL_LC', 'VOICE_BURST']) def __init__(self, data: bytes) -> None: self.set_data(data) def set_data(self, data: bytes) -> None: if len(data) != 33: - DMRPL2BadDataException("Data must be 33 bytes long") + DMRPL2BadDataException("L2 data must be 33 bytes long") self.bitdata: bitarray = bitarray(data, endian='big') @@ -33,8 +34,7 @@ class DMRPL2Base(ABC): return self.bitdata.tobytes() @abstractmethod - def get_data_type(self) -> DMRPL2Base.DataTypes: - pass + def get_data_type(self) -> DMRPL2Base.DataTypes: ... class DMRPL2FullLC(DMRPL2Base): @@ -136,18 +136,12 @@ class LCTalkerAlias(LCBase): _7BIT = 0b00 ISO8 = 0b01 UTF8 = 0b10 - UTF16BF = 0b11 - - def __init__( - self, data: bytes|None, - format: Format = Format.ISO8) -> None: - super().__init__(data) - self.__format: LCTalkerAlias.Format = format + UTF16BE = 0b11 # format - def get_format(self) -> Format: + def get_format(self) -> Format|None: if self.flco != 0x04: - return self.__format + return None return LCTalkerAlias.Format((self._data[2] & 0xC0) >> 6) def set_format(self, format: Format) -> None: @@ -158,10 +152,10 @@ class LCTalkerAlias(LCBase): format = property(get_format, set_format) # len - def get_len(self) -> int: + def get_len(self) -> int|None: if self.flco != 0x04: - return 0 - return (self._data[2] & 0x3E) >> 1 + return None + return int((self._data[2] & 0x3E) >> 1) def set_len(self, len: int) -> None: if self.flco != 0x04: @@ -174,18 +168,21 @@ class LCTalkerAlias(LCBase): len = property(get_len, set_len) @property - def ta_str(self) -> str: - # TODO: decode different fmts + def ta_data(self) -> bytes: if self.flco == 0x04: - return self._data[3:9].decode(encoding='ascii') - return self._data[2:9].decode(encoding='ascii') + if self.format == LCTalkerAlias.Format._7BIT: + data = self._data[2:9] + data[0] &= 1 + return bytes(data) + return bytes(self._data[3:9]) + return bytes(self._data[2:9]) def __str__(self) -> str: return (f"LC TA {self.flco} fmt:{self.format.name} " - f"len:{self.len} str:{self.ta_str}") + f"len:{self.len} data:{self.ta_data.hex()}") -class LCFactory(BaseFactory): +class LCFactory(AbstractFactory[LCBase]): def __init__(self) -> None: """ Initializes the lc analyzer factory with a list of all lc diff --git a/dmrtools/dmrproto/exceptions.py b/dmrtools/dmrproto/exceptions.py index 3215567..a53441c 100755 --- a/dmrtools/dmrproto/exceptions.py +++ b/dmrtools/dmrproto/exceptions.py @@ -1,3 +1,6 @@ +from abc import ABC, abstractmethod + + class DMRPFieldOutOfRangeException(Exception): """ Exception raised when a packet field value is out of the allowed or expected range. @@ -14,18 +17,17 @@ class DMRPBadPacketException(Exception): """ Exception raised when a packet is structurally invalid or corrupted """ - pass - + ... class DMRPL2BadDataException(Exception): """ Exception raised when L2 data is invalid or corrupted. """ - pass + ... class FactoryException(Exception): - pass + ... class DMRPUnknownPacketTypeException(FactoryException): @@ -33,7 +35,7 @@ class DMRPUnknownPacketTypeException(FactoryException): Exception raised when the packet factory cannot recognize the packet type from the given input data. """ - pass + ... class DMRPUnknownLCTypeException(FactoryException): @@ -41,6 +43,31 @@ class DMRPUnknownLCTypeException(FactoryException): Exception raised when the lc analyzer factory cannot recognize the lc type from the given input data. """ - pass + ... +class CustomMessageException(Exception, ABC): + @classmethod + @abstractmethod + def create_message(cls, msg: str) -> str: ... + + def __init__(self, msg: str): + super().__init__(self.__class__.create_message(msg)) + + +class EmbLCAssemblerException(CustomMessageException): + """ + Exception raised on EmbLCAssembler error + """ + @classmethod + def create_message(cls, msg: str) -> str: + return f"Embedded LC failed: {msg}" + + +class CallLCDecoderException(CustomMessageException): + """ + Exception raised on CallLCDecoder error + """ + @classmethod + def create_message(cls, msg: str) -> str: + return f"In-call LC decoder failed: {msg}" diff --git a/dmrtools/dmrproto/factory.py b/dmrtools/dmrproto/factory.py index 462016e..4c304a3 100755 --- a/dmrtools/dmrproto/factory.py +++ b/dmrtools/dmrproto/factory.py @@ -1,44 +1,48 @@ +from __future__ import annotations + from abc import ABC, abstractmethod -from typing import Self, Type, NoReturn +from typing import TypeVar, Generic, Type, ClassVar, NoReturn, Any from .exceptions import FactoryException class IFactoryProduced(ABC): @abstractmethod - def __init__(self, data: bytes) -> None: - pass + def __init__(self, data: bytes) -> None: ... @classmethod @abstractmethod - def detect_by_data(cls, data: bytes) -> bool: - pass + def detect_by_data(cls, data: bytes) -> bool: ... -class BaseFactory(ABC): - __instance: Self|None = None +TProduced = TypeVar("TProduced", bound=IFactoryProduced, covariant=True) + + +class AbstractFactory(Generic[TProduced], ABC): + _instance: ClassVar[AbstractFactory[Any]|None] = None @classmethod - def fd(cls, data: bytes) -> IFactoryProduced: + def fd(cls: Type[AbstractFactory[TProduced]], + data: bytes) -> TProduced: """ Short singleton version of from_data method """ - if cls.__instance is None: - cls.__instance = cls() - return cls.__instance.from_data(data) + if cls._instance is None: + cls._instance = cls() + return cls._instance.from_data(data) def __init__(self, - classes: list[Type[IFactoryProduced]]|None = None) -> None: - self._classes: list[Type[IFactoryProduced]] = ( + classes: list[Type[TProduced]]|None = None) -> None: + self._classes: list[Type[TProduced]] = ( classes if classes is not None else []) - def register(self, cls: Type[IFactoryProduced]) -> None: + def register(self, cls: Type[TProduced]) -> None: self._classes.append(cls) - def from_data(self, data: bytes) -> IFactoryProduced: + def from_data(self, data: bytes) -> TProduced: """ Attempts to create an instance of corresponding - IFactoryProduced-implementing class based on data + TProduced-implementing class based on data """ for cls in self._classes: if cls.detect_by_data(data): diff --git a/dmrtools/dmrproto/lc_util.py b/dmrtools/dmrproto/lc_util.py new file mode 100755 index 0000000..5db2582 --- /dev/null +++ b/dmrtools/dmrproto/lc_util.py @@ -0,0 +1,144 @@ +import logging + +from bitarray import bitarray +from dmr_utils3.bptc import decode_emblc + +from .enums import CallType, VoiceType +from .etsi_l2 import DMRPL2FullLC, DMRPL2VoiceBurst +from .etsi_l2 import LCFactory, LCBase +from .etsi_l2 import LCLocation, LCCall, LCTalkerAlias +from .exceptions import CallLCDecoderException, EmbLCAssemblerException +from .mmdvm_l1 import DMRPPacketData + + +class EmbLCAssembler: + """ + This is auxiliary class to assemble a few voice packets and + assemble embedded LC from them. + + How to use: pass DMRD packets from the same stream id to process_voicedata, if it returns true, then embedded LC can be decoded with decode() + """ + VTYPE_N_MAP: dict[VoiceType, int] = { + VoiceType.BURST_B: 0, + VoiceType.BURST_C: 1, + VoiceType.BURST_D: 2, + VoiceType.BURST_E: 3 + } + + def __init__(self) -> None: + self.reset() + + def reset(self) -> None: + self.lcs: list[bytes] = [] + self.vseq: int = 0 + + def process_voicedata(self, p: DMRPPacketData) -> bool: + if p.voice_type not in EmbLCAssembler.VTYPE_N_MAP: + return False + + burst_n = EmbLCAssembler.VTYPE_N_MAP[p.voice_type] + + # check voice sequence for next packets + if burst_n > 0 and p.vseq != (self.vseq + 1) & 0xFF: + err_msg = f"Wrong vseq ({p.vseq}, expected {self.vseq + 1})" + self.reset() + raise EmbLCAssemblerException(err_msg) + + # check, if burst sequence matches collected + if len(self.lcs) != burst_n: + err_msg = f"Wrong burst N ({burst_n}, expected {len(self.lcs)})" + self.reset() + raise EmbLCAssemblerException(err_msg) + + # try getting LC and collect + emblc = p.get_emb_lc() + if emblc is None: + self.reset() + raise EmbLCAssemblerException("Can't get data") + + self.lcs.append(emblc) + self.vseq = p.vseq + + return burst_n == 3 + + def decode(self) -> bytes|None: + if len(self.lcs) != 4: + return None + + emblc_data: bitarray = bitarray(b"".join(self.lcs), endian='big') + return decode_emblc(emblc_data) + + +class CallLCDecoder: + """ + Decode and collect both full lc and embedded lc in the same call + """ + def __init__(self, stream_id: int) -> None: + self.stream_id: int = stream_id + self.lcs: dict[int, LCBase] = {} # flco -> child(LCBase) + self._assembler: EmbLCAssembler = EmbLCAssembler() + + def process_voicedata(self, p: DMRPPacketData) -> LCBase|None: + if p.stream_id != self.stream_id: + raise CallLCDecoderException("Wrong stream_id") + + if (full_lc := p.get_full_lc()) is not None: + return self._add_lc(full_lc) + else: + try: + if (self._assembler.process_voicedata(p) + and (lc_data := self._assembler.decode()) is not None): + self._assembler.reset() + return self._add_lc(lc_data) + except Exception as e: + logging.debug(f"Exception while processing lc data: {e}") + return None + + def _add_lc(self, lc_data: bytes) -> LCBase: + lc = LCFactory.fd(lc_data) + self.lcs[lc.flco] = lc + return lc + + @property + def call(self) -> LCCall|None: + for flco in LCCall.FLCOS: + if (flco in self.lcs and + type(lc := self.lcs[flco]) is LCCall): + return lc + return None + + @property + def location(self) -> LCLocation|None: + if (LCLocation.FLCOS[0] in self.lcs and + type(lc := self.lcs[LCLocation.FLCOS[0]]) is LCLocation): + return lc + return None + + @property + def ta(self) -> str|None: + # check if all parts are collected and are instances of LCTalkerAlias + if any((flco not in self.lcs or + type(self.lcs[flco]) is not LCTalkerAlias) + for flco in LCTalkerAlias.FLCOS): + return None + + lcta0: LCTalkerAlias = self.lcs[LCTalkerAlias.FLCOS[0]] # type: ignore[assignment] + + ta_data: bytes = b"" + for flco in LCTalkerAlias.FLCOS: + if type(lc := self.lcs[flco]) is LCTalkerAlias: + ta_data += lc.ta_data + + ta_len = lcta0.len + + match lcta0.format: + case LCTalkerAlias.Format._7BIT: + return "" # Not supported; !!TODO: decode 7-bit + case LCTalkerAlias.Format.ISO8: + return ta_data.decode("iso-8859-1", errors='replace')[:ta_len] + case LCTalkerAlias.Format.UTF8: + return ta_data.decode("utf-8", errors='replace')[:ta_len] + case LCTalkerAlias.Format.UTF16BE: + return ta_data.decode("utf-16-be", errors='replace')[:ta_len] + + return None diff --git a/dmrtools/dmrproto/mmdvm_l1.py b/dmrtools/dmrproto/mmdvm_l1.py index a857716..9611414 100755 --- a/dmrtools/dmrproto/mmdvm_l1.py +++ b/dmrtools/dmrproto/mmdvm_l1.py @@ -12,7 +12,7 @@ from .etsi_l2 import DMRPL2Base, DMRPL2FullLC, DMRPL2VoiceBurst from .exceptions import DMRPBadPacketException from .exceptions import DMRPFieldOutOfRangeException from .exceptions import DMRPUnknownPacketTypeException -from .factory import BaseFactory, IFactoryProduced +from .factory import AbstractFactory, IFactoryProduced ############################# @@ -437,7 +437,7 @@ class DMRPPacketData(DMRPBasePeerPacket): f"vt:{'T' if self.is_voice_term else 'f'}") -class DMRPPacketFactory(BaseFactory): +class DMRPPacketFactory(AbstractFactory[DMRPBasePacket]): """ A factory class responsible for creating instances of DMRP packet classes based on packet data. This class supports both predefined packet types diff --git a/dmrtools/dmrproto/util.py b/dmrtools/dmrproto/util.py deleted file mode 100755 index 789b346..0000000 --- a/dmrtools/dmrproto/util.py +++ /dev/null @@ -1,68 +0,0 @@ -import logging - -from bitarray import bitarray -from dmr_utils3.bptc import decode_emblc - -from .mmdvm_l1 import DMRPPacketData - - -class EmbLCAssembler: - """ - This is auxiliary class to assemble a few voice packets and - assemble embedded LC from them. - - How to use: pass DMRD packets from the same stream id to process_voicedata, if it returns true, then embedded LC can be decoded with decode() - """ - VTYPE_N_MAP: dict[DMRPPacketData.VoiceType, int] = { - DMRPPacketData.VoiceType.BURST_B: 0, - DMRPPacketData.VoiceType.BURST_C: 1, - DMRPPacketData.VoiceType.BURST_D: 2, - DMRPPacketData.VoiceType.BURST_E: 3 - } - - def __init__(self) -> None: - self.reset() - - def reset(self) -> None: - self.lcs: list[bytes] = list() - self.vseq: int = 0 - - def process_voicedata(self, p: DMRPPacketData) -> bool: - if p.voice_type not in EmbLCAssembler.VTYPE_N_MAP: - return False - - burst_n = EmbLCAssembler.VTYPE_N_MAP[p.voice_type] - - # check voice sequence for next packets - if burst_n > 0 and p.vseq != (self.vseq + 1) % 0x100: - logging.error("Embedded LC failed: wrong vseq " - f"({p.vseq}, expected {self.vseq + 1})") - self.reset() - return False - - # check, if burst sequence matches collected - if len(self.lcs) != burst_n: - logging.error("Embedded LC failed: wrong burst N " - f"({burst_n}, expected {len(self.lcs)})") - self.reset() - return False - - # try getting LC and collect - emblc = p.get_emb_lc() - if emblc is None: - logging.error("Embedded LC failed: can't get") - self.reset() - return False - - self.lcs.append(emblc) - self.vseq = p.vseq - - # logging.debug(f"assembled emblc's: {self.lcs}") - return burst_n == 3 - - def decode(self) -> bytes|None: - if len(self.lcs) != 4: - return None - - emblc_data: bitarray = bitarray(b"".join(self.lcs), endian='big') - return decode_emblc(emblc_data) diff --git a/dmrtools/network.py b/dmrtools/network.py index c997e29..7341cb5 100755 --- a/dmrtools/network.py +++ b/dmrtools/network.py @@ -3,16 +3,12 @@ from abc import ABC, abstractmethod class IDatagramReceiver(ABC): @abstractmethod - def recv_dg(self, data: bytes, addr: tuple) -> None: - pass + def recv_dg(self, data: bytes, addr: tuple) -> None: ... class IDatagramSender(ABC): @abstractmethod - def send_dg(self, data: bytes, addr: tuple) -> None: - pass + def send_dg(self, data: bytes, addr: tuple) -> None: ... @abstractmethod - def set_receiver(self, receiver: IDatagramReceiver) -> None: - pass - + def set_receiver(self, receiver: IDatagramReceiver) -> None: ... diff --git a/dmrtools/peer_controller.py b/dmrtools/peer_controller.py index 30425a2..094813d 100755 --- a/dmrtools/peer_controller.py +++ b/dmrtools/peer_controller.py @@ -18,16 +18,13 @@ class IPCDispatcher(ABC): Dispatcher interface to pass into controller to call back """ @abstractmethod - def send_dg(self, data: bytes, addr: tuple) -> None: - pass + def send_dg(self, data: bytes, addr: tuple) -> None: ... @abstractmethod - def get_peer_keeper(self) -> PeerKeeper: - pass + def get_peer_keeper(self) -> PeerKeeper: ... @abstractmethod - def get_peer_auth(self) -> IPeerAuth: - pass + def get_peer_auth(self) -> IPeerAuth: ... class PeerController: diff --git a/doc/dashboard-screenshot.png b/doc/dashboard-screenshot.png new file mode 100755 index 0000000000000000000000000000000000000000..af9d7abf2486043f32e71aded6cfb9dc024c1baf GIT binary patch literal 141760 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

pe4X}p?3r11T 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