低レベルAPI

通常のアプリケーション開発時に直接呼び出すことは原則ありませんが、ライブラリ内部のデータシリアライズとエラーハンドリングの検証情報です。

device_notification_parser()

device_notification_parser(notification_obj)

BLEトランスポートより受領した通知オブジェクト(DeviceNotification)を展開し、各種内部Notificationオブジェクトのリストへとデシリアライズします。

内部での自動変換(カラーマップ翻訳)

公開APIにエクスポートされているこの関数は、内部の生パーサー(_raw_device_notification_parser)でバイナリを展開したのち、さらに _translate_notification_colors() を呼び足します。これにより、ファームウェア固有のカラー番号が、ブロックアプリと互換性のある「アプリ位置合わせ済みカラー定数(App-aligned LEGO colors)」へとインプレース(破壊的)で自動変換された状態でリストが返却されます。

@enforce_usage

公開関数の引数誤用による TypeError 例外をフックし、該当関数のDocstringからサンプルコードを自動抽出して例外メッセージへマージ・再送出するデコレータです。

Docstringのパース仕様

このデコレータは、Docstring内から大文字小文字を区別せず "simple example" および "more examples" というタイトルのセクション(ハッシュ記号 # やコロン : / :: で区切られたブロック)を独自のロジックで切り出します。共通のインデントや先頭・末尾の空行は自動的に除去された上で、例外メッセージに美しくインデント整形(スペース4つ分)されて埋め込まれます。