Module rpps.mod.serial

Modulation de-serialization helpers

Functions

def identify()
Expand source code
def identify():
    """Identify available modulation types"""
    mods = {}
    for folder in (config().PATH_CONFIG / "mod").iterdir(): # type: ignore
        mods[folder.name] = [file.stem for file in folder.iterdir()]
    return mods

Identify available modulation types

def init(name, obj: dict) ‑> Modulation
Expand source code
def init(name, obj: dict) -> modulation.Modulation:
    """Initialize modulation"""
    return getattr(modulation, obj["base"]).load(name, obj)

Initialize modulation

def load(name: str) ‑> Modulation
Expand source code
def load(name: str) -> modulation.Modulation:
    """Load a modulation from a file name"""
    folder = name[-3:].lower()

    mod = json.loads((config().PATH_CONFIG / "mod" / folder / f"{name.lower()}.json").read_text())  # type: ignore

    return init(name, mod)

Load a modulation from a file name