Module rpps.coding.serial

Modulation de-serialization helpers

Functions

def generate(t_str)
Expand source code
def generate(t_str):
    """Generate coding matrixes"""
    return getattr(types, f"generate_{t_str}")

Generate coding matrixes

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

Identify available coding types

def init(name: str, obj: dict) ‑> Coding
Expand source code
def init(name: str, obj: dict) -> coding.Coding:
    """Initialize coding"""
    if obj["base"] == "blk":
        return coding.Block.load(name, obj)
    elif obj["base"] == "cnv":
        return coding.Convolutional.load(name, obj)
    raise NotImplementedError(f"Unknown coding: {name}, {obj}")

Initialize coding

def load(folder: str, name: str) ‑> Coding
Expand source code
def load(folder: str, name: str) -> coding.Coding:
    """Load a coding from a file name"""
    code = json.loads((config().PATH_CONFIG / "coding" / folder / f"{name.lower()}.json").read_text())  # type: ignore

    if "." in name:
        name = name.split(".")[0]
    return init(name, code)

Load a coding from a file name