SecondLF では、各灯体に関する個別の設定や操作手順を、「論理デバイスドライバ」という構造を用いて、個別のモジュールで管理しています。
drivers フォルダ内に格納されています。class light_driver:
def __init__(self, mode: list, option: dict) -> None:def reset(self) -> dict:def close(self) -> dict:def info(self) -> str:def apiver(self) -> int:def displayparam(self) -> list:def paramlist(self) -> list:def set(self, param_name: str, value: int|float, fader: int|float) -> dict:def get(self, param_name: str) -> any:[!]NOTE
パラメータリストを返す各関数について、各チャンネルに存在する
faderフィールドは、論理デバイスドライバでは現在 使用されていません。フェーダーの設定はすべて Primary ドライバによって上書きされます。互換性維持のため、このフィールドには0.0を指定してください。
def __init__(self, mode: list, option: dict) -> None:論理デバイスドライバのコンストラクタです。
mode には [DMX 開始チャンネル番号, DMX チャンネル割当の長さ] という構造のリストが、option には、config.json の option 欄に記述されたデータがそのまま、それぞれ格納されます。
def reset(self) -> dict:対象の照明をリセットします。戻り値には、{チャンネル番号: {"value": 設定値, "fade": フェーダーの設定値"}, ...} という形式の dict を格納します。
def close(self) -> dict:予約済み。
def info(self) -> str:ドライバに関する簡単な説明文を返します。
def apiver(self) -> int:論理デバイスドライバ API のバージョンを返します。
1 を返してください。
def displayparam(self) -> list:論理デバイスドライバのパラメータを、画面表示に適したフォーマットで返します。 SecondLF 上で、各色の現在の状態を表示するのに使用されています。
def paramlist(self) -> list:論理デバイスドライバのパラメータの名前一覧を格納したリストを返します。
def set(self, param_name: str, value: int|float, fader: int|float) -> dict:論理デバイスドライバにパラメータをセットします。 パラメータの変更に対して、各DMXパラメータの取る目標値が格納された dict が返されます。
def get(self, param_name: str) -> any:論理デバイスドライバの持つパラメータのうち、指定されたキーのものを返します。