セクションの複数ページをまとめています。 印刷またはPDF形式で保存...

もとのページに戻る

2024-11-14 現在

TWELITE Wings API / MWings

TWELITE の親機を接続した端末で利用するライブラリ
MWings は、親機・中継機アプリ(Ap_Wings)を書き込んだ TWELITE を接続した端末で利用するライブラリです。App_Wings が出力する書式文字列を解釈し、親機が受信したデータを端末へ提供します。また、App_Wings へのコマンドを構成し、子機を操作します。

1 - TWELITE Wings API / MWings for 32-bit Arduinos

32ビット Arduino ボードのための MWings
32ビット Arduino ボードのための TWELITE Wings API です。

1.1 - TWELITE Wings API / MWings for 32-bit Arduinos

最新版
32ビット Arduino ボードのための TWELITE Wings API です。

1.1.1 - データ型と手続きの一覧

32ビット Arduino ボードのための MWings 個別のデータ型と手続きの一覧
個別のデータ型と手続きの一覧です。クラスの一覧はこちら

構造体

BarePacket

親機が子機から受信したパケットの電文情報から得た素のデータを格納します。

MWings_Common.h

データ

名称内容
uint8_t*u8Payloadバイナリ変換したペイロードデータ(:とチェックサム、CRLFを除く)
uint16_tu16PayloadSize上記データのバイト数
uint8_tu8Checksum上記データのチェックサム

手続き

型と名称内容
uint8_t* u8From(int)指定位置以降のペイロードデータを取得する
uint8_t u8At(int)指定位置のペイロードデータを8ビット非不整数として取得する
int8_t i8At(int)指定位置のペイロードデータを8ビット整数として取得する
uint16_t u16At(int)指定位置のペイロードデータを16ビット非不整数として取得する
int16_t i16At(int)指定位置のペイロードデータを16ビット整数として取得する
uint32_t u32At(int)指定位置のペイロードデータを32ビット非不整数として取得する
int32_t i32At(int)指定位置のペイロードデータを32ビット整数として取得する

mwings::ParsedPacketBase

親機が子機から受信したパース済みデータを格納する構造体の抽象型です。

MWings_Common.h

データ

名称内容
uint32_tu32SourceSerialId送信元のシリアルID
uint8_tu8SourceLogicalId送信元の論理デバイスID
uint16_tu16SequenceNumberシーケンス番号
uint8_tu8LqiLQI
uint16_tu16SupplyVoltage電源電圧 (mV)

ParsedAppTwelitePacket

mwings::ParsedPacketBase から派生

親機が超簡単!標準アプリの子機から受信したデータを格納する構造体です。

AppTwelitePacketParser.h

データ

名称内容
uint8_tu8DestinationLogicalId送信先の論理デバイスID
uint8_tu8RelayCount中継回数
boolbPeriodic定期送信パケットならtrue
bool[4]bDiChanged各 DI1-4 が変化したならtrue
bool[4]bDiState各 DI1-4 が Low 状態ならtrue
uint16_t[4]u16AiVoltage各 AI1-4 の入力電圧 (mV)

ParsedAppIoPacket

mwings::ParsedPacketBase から派生

親機がリモコンアプリの子機から受信したデータを格納する構造体です。

AppIoPacketParser.h

データ

名称内容
uint8_tu8RelayCount中継回数
bool[12]bDiState各 DI が Low 状態ならtrue
bool[12]bDiValid各 DI が有効ならtrue
bool[12]bDiInterrupt各 DI が割り込みにより変化したならtrue

ParsedAppAriaPacket

mwings::ParsedPacketBase から派生

親機がアリアアプリの子機(TWELITE ARIA モード)から受信したデータを格納する構造体です。

AppAriaPacketParser.h

データ

名称内容
int16_ti16Temp100x100倍された温度(摂氏)
uint16_tu16Humid100x100倍された相対湿度 (%)
uint8_tu8MagnetState磁気イベントID
boolbMagnetStateChanged磁気センサの状態が変化したならtrue
磁気イベントID
ID内容
0x00近くに磁石がない
0x01N極が近くにある
0x02S極が近くにある

ParsedAppCuePacket

mwings::ParsedPacketBase から派生

親機がキューアプリの子機(TWELITE CUE モード)から受信したデータを格納する構造体です。

AppCuePacketParser.h

データ

名称内容
int16_t[10]i16SamplesX各サンプルの X 軸加速度 (mG)
int16_t[10]i16SamplesY各サンプルの Y 軸加速度 (mG)
int16_t[10]i16SamplesZ各サンプルの Z 軸加速度 (mG)
uint8_tu8SampleCountサンプル数
boolbHasAccelEvent加速度イベントがあるならtrue
uint8_tu8AccelEvent加速度イベントID
uint8_tu8MagnetState磁気イベントID
boolbMagnetStateChanged磁気センサの状態が変化したならtrue
加速度イベントID
ID内容
0x01~0x06サイコロ
0x08シェイク
0x10ムーブ
磁気イベントID
ID内容
0x00近くに磁石がない
0x01N極が近くにある
0x02S極が近くにある

ParsedAppPalAmbPacket

mwings::ParsedPacketBase から派生

親機がパルアプリの子機(環境センサーパル)から受信したデータを格納する構造体です。

AppPalAmbPacketParser.h

データ

名称内容
uint16_tu16Ai1VoltageAI1 の入力電圧 (mV)
int16_ti16Temp100x100倍された温度(摂氏)
uint16_tu16Humid100x100倍された相対湿度 (%)
uint32_tu32Illuminance照度(ルクス)

ParsedAppPalMotPacket

mwings::ParsedPacketBase から派生

親機がパルアプリの子機(動作センサーパル)から受信したデータを格納する構造体です。

AppPalMotPacketParser.h

データ

名称内容
uint16_tu16Ai1VoltageAI1 の入力電圧 (mV)
int16_t[16]i16SamplesX各サンプルの X 軸加速度 (mG)
int16_t[16]i16SamplesY各サンプルの Y 軸加速度 (mG)
int16_t[16]i16SamplesZ各サンプルの Z 軸加速度 (mG)
uint8_tu8SampleCountサンプル数
uint16_tu16SamplingFrequencyサンプリング周波数 (Hz)

ParsedAppPalOpenClosePacket

mwings::ParsedPacketBase から派生

親機がパルアプリの子機(開閉センサーパル)から受信したデータを格納する構造体です。

AppPalOpenClosePacketParser.h

データ

名称内容
uint16_tu16Ai1VoltageAI1 の入力電圧 (mV)
uint8_tu8MagnetState磁気イベントID
boolbMagnetStateChanged磁気センサの状態が変化したならtrue
磁気イベントID
ID内容
0x00近くに磁石がない
0x01N極が近くにある
0x02S極が近くにある

ParsedAppUartAsciiPacket

mwings::ParsedPacketBase から派生

親機がシリアル通信アプリの子機(Aモード)から受信したデータ(簡易形式)を格納する構造体です。

AppUartAsciiPacketParser.h

データ

名称内容
uint8_tu8CommandIdコマンド種別(応答ID)
uint8_t*u8Dataデータ
uint16_tu16DataSizeデータ長

ParsedAppUartAsciiExtendedPacket

mwings::ParsedPacketBase から派生

親機がシリアル通信アプリの子機(Aモード)から受信したデータ(拡張形式)を格納する構造体です。

AppUartAsciiExtendedPacketParser.h

データ

名称内容
uint32_tu32DestinationSerialId送信先のシリアルID
uint8_tu8CommandIdコマンド種別(応答ID)
uint8_t*u8Dataデータ
uint16_tu16DataSizeデータ長

ParsedActPacket

mwings::ParsedPacketBase から派生

親機がactの子機から受信したデータを格納する構造体です。

ActPacketParser.h

データ

名称内容
uint8_tu8CommandIdコマンド種別(応答ID)
uint8_t*u8Dataデータ
uint16_tu16DataSizeデータ長

mwings::CommandBase

親機から子機に送信するコマンドデータを格納する構造体の抽象型です。

MWings_Common.h

データ

名称内容
uint8_tu8DestinationLogicalId送信先の論理デバイスID

手続き

型と名称内容
bool isValid()データが正常ならtrueを返す(純粋仮想関数)

AppTweliteCommand

mwings::CommandBase から派生

親機から超簡単!標準アプリの子機へ送信するコマンドデータを格納する構造体です。

AppTweliteCommandSerializer.h

データ

名称内容
bool[4]bDiToChange各 DO1-4 の状態を変更する場合はtrue
bool[4]bDiState各 DO1-4 を Low 状態にする場合はtrue
bool[4]bPwmToChange各 PWM1-4 の状態を変更する場合はtrue
uint16_t[4]u16PwmDuty各 PWM1-4 のデューティ比 (0-1024)

AppIoCommand

mwings::CommandBase から派生

親機から超簡単!標準アプリの子機へ送信するコマンドデータを格納する構造体です。

AppIoCommandSerializer.h

データ

名称内容
bool[12]bDiToChange各 O1-12 の状態を変更する場合はtrue
bool[12]bDiState各 O1-12 を Low 状態にする場合はtrue

AppPalNoticeCommand

mwings::CommandBase から派生

親機からパルアプリ(通知パル)の子機へ送信するコマンドデータを格納する構造体です。

AppPalNoticeCommandSerializer.h

データ

名称内容
AppPalNoticeColoreColor点灯色
AppPalNoticeBlinkSpeedeBlinkSpeed点滅速度
uint8_tu8Brightness明るさ (0-15)
uint16_tu16DurationInSec点灯時間(秒)

AppPalNoticeDetailedCommand

mwings::CommandBase から派生

親機からパルアプリ(通知パル)の子機へ送信するコマンドデータを格納する構造体です(詳細形式)。

AppPalNoticeDetailedCommandSerializer.h

データ

名称内容
AppPalNoticeRGBWColorsRGBWColor点灯色 (RGBW)
uint8_tu8BlinkDutyPercentage点灯時間の割合 (%)
floatfBlinkPeriodInSec点滅周期(秒)
uint16_tu16DurationInSec点灯時間(秒)

AppPalNoticeEventCommand

mwings::CommandBase から派生

親機からパルアプリ(通知パル)の子機へ送信するコマンドデータ(詳細形式)を格納する構造体です。

AppPalNoticeEventCommandSerializer.h

データ

名称内容
uint8_tu8EventIdイベントID (0x00-0x10)

AppUartAsciiCommand

mwings::CommandBase から派生

親機からシリアル通信アプリ(Aモード)の子機へ送信するコマンドデータ(簡易形式)を格納する構造体です。

AppUartAsciiCommand.h

データ

名称内容
uint8_tu8CommandIdコマンド種別(応答ID)
uint8_t*u8Dataデータ
uint16_tu16DataSizeデータ長

AppPalNoticeRGBWColor

AppPalNoticeDetailedCommand で使用する点灯色(RGBW)を定義した構造体です。

AppPalNoticeDetailedCommandSerializer.h

データ

名称内容
uint8_tredR (0-15)
uint8_tgreenG (0-15)
uint8_tblueB (0-15)
uint8_twhiteW (0-15)

手続き

型と名称内容
bool isValid()データが正常ならtrueを返す
uint16_t u16()LSB から RGBW の順に4ビットずつ並べた16ビット非不整数を返す

列挙型

AppPalNoticeColor

uint8_t ベースの enum class ?

AppPalNoticeCommand で使用する点灯色を定義した列挙型です。

AppPalNoticeCommandSerializer.h

識別子内容
AppPalNoticeColor::RED0
AppPalNoticeColor::GREEN1
AppPalNoticeColor::BLUE2
AppPalNoticeColor::YELLOW3黄色
AppPalNoticeColor::PURPLE4
AppPalNoticeColor::LIGHT_BLUE5水色
AppPalNoticeColor::WHITE6
AppPalNoticeColor::WARM_WHITE7暖かい白

AppPalNoticeBlinkSpeed

uint8_t ベースの enum class

AppPalNoticeCommand で使用する点滅速度を定義した列挙型です。

AppPalNoticeCommandSerializer.h

識別子内容
AppPalNoticeBlinkSpeed::ALWAYS_ON0常時点灯
AppPalNoticeBlinkSpeed::SLOW1おちついた点滅
AppPalNoticeBlinkSpeed::MEDIUM2ほどほどの点滅
AppPalNoticeBlinkSpeed::FAST3せわしない点滅

その他のデータ型

手続き

GetAppTweliteSerializedCommandPayloadSize()

constexpr 関数 ?

AppTweliteCommand をシリアライズしたあとの固定長データのペイロードサイズを返す関数です。

AppTweliteCommandSerializer.h

型と名称内容
int GetAppTweliteSerializedCommandPayloadSize()バイト数を返します

GetAppAppPalNoticeSerializedCommandPayloadSize()

constexpr 関数

AppPalNoticeCommand をシリアライズしたあとの固定長データのペイロードサイズを返す関数です。

AppPalNoticeCommandSerializer.h

型と名称内容
int GetAppPalNoticeSerializedCommandPayloadSize()バイト数を返します

GetAppAppPalNoticeDetailedSerializedCommandPayloadSize()

constexpr 関数

AppPalNoticeDetailedCommand をシリアライズしたあとの固定長データのペイロードサイズを返す関数です。

AppPalNoticeDetailedCommandSerializer.h

型と名称内容
int GetAppPalNoticeDetailedSerializedCommandPayloadSize()バイト数を返します

GetAppAppPalNoticeEventSerializedCommandPayloadSize()

constexpr 関数

AppPalNoticeEventCommand をシリアライズしたあとの固定長データのペイロードサイズを返す関数です。

AppPalNoticeEventCommandSerializer.h

型と名称内容
int GetAppPalNoticeEventSerializedCommandPayloadSize()バイト数を返します

1.1.2 - クラスの一覧

32ビット Arduino ボードのための MWings クラスの一覧
クラスの一覧です。

1.1.2.1 - mwings::MWings クラス

32ビット Arduino ボードのための MWings メインクラス
mwings::MWings クラスの解説です。

コンストラクタ

MWings()

コンストラクタです。内部変数を初期化します。

MWings()

MWings.h

引数

なし

デストラクタ

~MWings()

デストラクタです。確保したバッファを開放します。

~MWings()

公開メンバ関数

begin()

TWELITE を初期化し、指定した設定で起動します。

    bool begin(HardwareSerial& serial,
                   const int indicatorPin = -1,
                   const int resetPin = -1,
                   const int programPin = -1,
                   const uint8_t channel = 18,
                   const uint32_t appId = 0x67720102,
                   const uint8_t retryCount = 2,
                   const uint8_t txPower = 3,
                   const int rxBufferSize = 1024,
                   const int timeout = 100,
                   HardwareSerial* debugSerial = nullptr);

MWings.cpp

引数

名称内容省略備考
HardwareSerial&serialTWELITE と通信するポート
intindicatorPinステータスLEDを接続したピン🆗-1で省略可
intresetPinTWELITE の RST ピン🆗-1で省略可
intprogramPinTWELITE の PRGピン🆗-1で省略可
uint8_tchannel周波数チャネル🆗省略時は0x67720102
uint32_tappIdアプリケーション ID🆗省略時は18
uint8_tretryCount再送回数🆗0-9
uint8_ttxPower送信出力🆗0-3
intrxBufferSizeパケット受信バッファのサイズ🆗バイナリベース
inttimeout各パケットのタイムアウト時間🆗受信完了まで
HardwareSerial*debugSerialデバッグ出力ポート🆗

戻り値

内容備考
booltrue成功
falseエラー

end()

すべての内部変数を初期化します。

inline void end()

MWings.h

引数

なし

戻り値

なし

update()

シリアル受信バッファを読み出し、親機から送られた ModBus ASCII 形式のデータをパースします。

void update();

MWings.h

引数

なし

戻り値

なし

on() <BarePacket>

すべての子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const BarePacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(BarePacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppTwelitePacket>

超簡単!標準アプリの子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppTwelitePacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppTwelitePacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppIoPacket>

リモコンアプリの子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppIoPacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppIoPacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppAriaPacket>

アリアアプリ(TWELITE ARIA モード)の子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppAriaPacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppAriaPacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppCuePacket>

キューアプリ(TWELITE CUE モード)の子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppCuePacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppCuePacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppPalOpenClosePacket>

パルアプリ(開閉センサーパル)の子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppPalOpenClosePacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppPalOpenClosePacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppPalAmbPacket>

パルアプリ(環境センサーパル)の子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppPalAmbPacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppPalAmbPacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppPalMotPacket>

パルアプリ(動作センサーパル)の子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppPalMotPacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppPalMotPacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppUartAsciiPacket>

シリアル通信アプリ(Aモード)の子機から送られたデータ(簡易形式)に対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppUartAsciiPacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppUartAsciiPacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedAppUartAsciiExtendedPacket>

シリアル通信アプリ(Aモード)の子機から送られたデータ(拡張形式)に対して行う処理を登録します。

inline void on(void (*callback)(const ParsedAppUartAsciiExtendedPacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedAppUartAsciiExtendedPacket&)callbackイベントハンドラ

戻り値

なし

on() <ParsedActPacket>

act の子機から送られたデータに対して行う処理を登録します。

inline void on(void (*callback)(const ParsedActPacket& packet))

MWings.h

引数

名称内容省略備考
void (*)(ParsedActPacket&)callbackイベントハンドラ

戻り値

なし

send() <uint8_t*, int, uint8_t>

任意のコマンド(ModBus ASCII 形式)を親機に送信します。

inline bool send(const uint8_t* const payload,
                     const int payloadSize,
                     const uint8_t checksum)

MWings.h

引数

名称内容省略備考
uint8_t*payloadペイロード:と LRC の間
intpayloadSizeペイロードのサイズ
uint8_tchecksumチェックサムペイロードの LRC

戻り値

内容備考
booltrue成功
falseエラー

send() <uint8_t*, int>

任意のコマンド(ModBus ASCII 形式)を親機に送信します(チェックサム自動付与)。

inline bool send(const uint8_t* const payload,
                     const int payloadSize)

MWings.h

引数

名称内容省略備考
uint8_t*payloadペイロード:と LRC の間
intpayloadSizeペイロードのサイズ

戻り値

内容備考
booltrue成功
falseエラー

send() <uint8_t, uint8_t, uint8_t* int, uint8_t>

任意のコマンド(ModBus ASCII 形式)を親機に送信します。

inline bool send(const uint8_t logicalId,
                     const uint8_t commandId,
                     const uint8_t* const payload,
                     const int payloadSize,
                     const uint8_t checksum)

MWings.h

引数

名称内容省略備考
uint8_tlogicalId宛先の論理デバイス ID
uint8_tcommandIdコマンド種別
uint8_t*payloadペイロード:と LRC の間
intpayloadSizeペイロードのサイズ
uint8_tchecksumチェックサムペイロードの LRC

戻り値

内容備考
booltrue成功
falseエラー

send() <uint8_t, uint8_t, uint8_t* int>

任意のコマンド(ModBus ASCII 形式)を親機に送信します(チェックサム自動付与)。

inline bool send(const uint8_t logicalId,
                     const uint8_t commandId,
                     const uint8_t* const payload,
                     const int payloadSize)

MWings.h

引数

名称内容省略備考
uint8_tlogicalId宛先の論理デバイス ID
uint8_tcommandIdコマンド種別
uint8_t*payloadペイロード:と LRC の間
intpayloadSizeペイロードのサイズ

戻り値

内容備考
booltrue成功
falseエラー

send() <AppTweliteCommand>

超簡単!標準アプリの端末を操作するためのコマンドを親機に送信します。

inline bool send(AppTweliteCommand& command)

MWings.h

引数

名称内容省略備考
AppTweliteCommandcommandコマンドデータ

戻り値

内容備考
booltrue成功
falseエラー

send() <AppIoCommand>

リモコンアプリの端末を操作するためのコマンドを親機に送信します。

inline bool send(AppIoCommand& command)

MWings.h

引数

名称内容省略備考
AppIoCommandcommandコマンドデータ

戻り値

内容備考
booltrue成功
falseエラー

send() <AppPalNoticeCommand>

パルアプリ(通知パル)の端末を操作するためのコマンドを親機に送信します。

inline bool send(AppPalNoticeCommand& command)

MWings.h

引数

名称内容省略備考
AppPalNoticeCommandcommandコマンドデータ

戻り値

内容備考
booltrue成功
falseエラー

send() <AppPalNoticeDetailedCommand>

パルアプリ(通知パル)の端末を操作するためのコマンド(詳細形式)を親機に送信します。

inline bool send(AppPalNoticeDetailedCommand& command)

MWings.h

引数

名称内容省略備考
AppPalNoticeDetailedCommandcommandコマンドデータ

戻り値

内容備考
booltrue成功
falseエラー

send() <AppPalNoticeEventCommand>

パルアプリ(通知パル)の端末を操作するためのコマンド(イベント)を親機に送信します。

inline bool send(AppPalNoticeEventCommand& command)

MWings.h

引数

名称内容省略備考
AppPalNoticeEventCommandcommandコマンドデータ

戻り値

内容備考
booltrue成功
falseエラー

send() <AppPalUartAsciiCommand>

シリアル通信アプリ(Aモード)の端末を操作するためのコマンド(簡易形式)を親機に送信します。

inline bool send(AppPalUartAsciiCommand& command)

MWings.h

引数

名称内容省略備考
AppPalUartAsciiCommandcommandコマンドデータ

戻り値

内容備考
booltrue成功
falseエラー

2 - TWELITE Wings API / MWings for Python

モダン Python のための MWings
モダン Python のための TWELITE Wings API です。

2.1 - TWELITE Wings API / MWings for Python

最新版
モダン Python のための TWELITE Wings API です。

2.1.1 - mwings モジュール

mwings

直接利用することの多い、トップレベルのモジュールです。

src/mwings/__init__.py

Twelite

TWELITE のインタフェース

継承:threading.Thread

Twelite()

Twelite(port=None, rx_buffer_size=1024, timeout=100, tz=None, debugging=False)

引数

名称内容
portoptional strシリアルポート名:Noneで無効
rx_buffer_sizeint受信バッファのサイズ:バイト数
timeoutint受信パケット間のタイムアウト(ms)
tzoptional tzinfo受信データへ適用するイムゾーン:NoneでUTC
debuggingboolデバッグ出力:Trueで有効

例外

  • IOError シリアルポートが存在しないかビジー状態

add_listener()

@overload
add_listener(event, handler)
add_listener(event, handler)

受信ハンドラを登録します。

引数

名称内容
eventcommon.PacketType受信イベントの識別子
handlerCallable[[common.BarePacket], None]受信イベントのハンドラ(素のデータ)
Callable[[common.SomeCallable], None]受信イベントのハンドラ(パースしたデータ)

戻り値

なし

on()

on(event)

受信ハンドラを登録します(デコレータ版)。

引数

名称内容
eventcommon.PacketType受信イベント識別子

戻り値

内容
Callable[[common.SomeCallable], common.SomeCallable]-デコレートされた関数

parse()

@overload
parse(character, use_lf=False)
parse(character, use_lf=False)
parse(character, use_lf=False)

与えられた受信データを解釈します。

引数

名称内容
characterstr受信データの文字:長さ1の文字列
bytes受信データの文字:長さ1のバイト列
int受信データの文字:ASCIIコード
use_lfbool改行文字の種別:Trueのとき LF

戻り値

内容
optional common.PacketTypecommon.PacketType解釈したパケットの種別
None解釈したパケットなし

例外

  • RuntimeError シリアルポートを指定してしまっている
  • ValueError 不正な文字データを検出

parse_line()

parse_line(line, use_lf=True)

一行の文字列として表現された受信データを解釈します。

引数

名称内容
linestr受信データの文字列:一行の文字列
use_lfbool改行文字の種別:Trueのとき LF

戻り値

内容
optional common.PacketTypecommon.PacketType解釈したパケットの種別
None解釈したパケットなし

例外

  • RuntimeError シリアルポートを指定してしまっている

receive()

receive()

シリアルポートに届いたデータを解釈します。一つのパケットの解釈が終わるまで待機します。

引数

なし

戻り値

内容
common.PacketType-解釈したパケットの種別

例外

  • RuntimeError シリアルポートを指定していない

run()

run()

受信を行うサブスレッドを走らせます。threading.Thread.run() をオーバーライドしています。

引数

なし

戻り値

なし

send()

@overload
send(data)
send(data)

シリアルポートからコマンドを送信します。

引数

名称内容
datacommon.SomeCommand各種コマンドデータ
common.BarePacket素のコマンドデータ

戻り値

内容
boolTrue成功
False失敗

例外

  • RuntimeError シリアルポートを指定していない

set_timezone()

set_timezone(tz)

受信データへ適用するタイムゾーンを設定します。

引数

名称内容
tztzinfo任意のタイムゾーン:ZoneInfo
NoneUTC

戻り値

なし

start()

start()

受信を行うサブスレッドを開始します。threading.Thread.start() をオーバーライドしています。

引数

なし

戻り値

なし

例外

  • RuntimeError シリアルポートを指定していない

stop()

stop()

受信を行うサブスレッドを終了します。残りの受信データに対するハンドラの呼び出しを終えるまで待機します。これには数秒かかる場合があります。

引数

なし

戻り値

なし

例外

  • RuntimeError シリアルポートを指定していない

update()

update()

シリアルポートへ届いたデータを解釈します。受信バッファのすべてのデータを処理したら、すぐに処理を抜けます。

引数

なし

戻り値

内容
optional common.PacketTypecommon.PacketType解釈したパケットの種別
None解釈したパケットなし

例外

  • RuntimeError シリアルポートを指定していない

timezone

@property
update()

戻り値

内容
tzinfo-受信データへ適用するタイムゾーン

2.1.1.1 - mwings.common モジュール

mwings.common

ライブラリ全体で使用するデータや手続きを格納しています。

src/mwings/common.py

AccelEvent

加速度イベントの識別子

継承:enum.IntEnum

  • DICE_1 サイコロ:1
  • DICE_2 サイコロ:2
  • DICE_3 サイコロ:3
  • DICE_4 サイコロ:4
  • DICE_5 サイコロ:5
  • DICE_6 サイコロ:6
  • SHAKE シェイク
  • MOVE ムーブ
  • NONE イベントなし

AppPalNoticeBlinkSpeed

通知パル/点滅速度の識別子

継承:enum.IntEnum

  • ALWAYS_ON 常時点灯
  • SLOW おちついた点滅
  • MEDIUM ほどほどの点滅
  • FAST せわしない点滅

AppPalNoticeColor

通知パル/点灯色の識別子

継承:enum.IntEnum

  • RED
  • GREEN
  • BLUE
  • YELLOW
  • PURPLE
  • LIGHT_BLUE 水色
  • WHITE
  • WARM_WHITE 暖かな白

AppPalNoticeRGBWColor

通知パル/RGBWによる点灯色のデータ

継承:pydantic.BaseModel

AppPalNoticeRGBWColor()

AppPalNoticeRGBWColor(*, red=0, green=0, blue=0, white=15)

引数

名称内容
redcommon.UInt8赤:0-0xF
greencommon.UInt8緑:0-0xF
bluecommon.UInt8青:0-0xF
whitecommon.UInt8白:0-0xF

** で unpack した辞書を渡すことができます。

u16()

u16()

RGBWの16ビット表現を取得します。

引数

なし

戻り値

内容
common.UInt16-RGBWの16ビット表現

BarePacket

素のパケットデータ

継承:pydantic.BaseModel

BarePacket()

BarePacket(payload, checksum=None, logical_and_command_id=None)

引数

名称内容
payloadbytesペイロードのバイナリデータ
checksumoptional common.UInt8LRC8:Noneで自動計算
logical_and_command_idoptional tuple(common.UInt8, common.UInt8)論理デバイスIDとコマンドID

第3引数を指定する場合は、ペイロードの冒頭を省略します。

i16_at()

i16_at(index)

指定した位置の符号あり16ビット整数を取得します。

引数

名称内容
indexintペイロードにおける位置

戻り値

内容
common.Int16-数値データ

i32_at()

i32_at(index)

指定した位置の符号あり32ビット整数を取得します。

引数

名称内容
indexintペイロードにおける位置

戻り値

内容
common.Int32-数値データ

i8_at()

i8_at(index)

指定した位置の符号あり8ビット整数を取得します。

引数

名称内容
indexintペイロードにおける位置

戻り値

内容
common.Int8-数値データ

u16_at()

u16_at(index)

指定した位置の符号なし16ビット整数を取得します。

引数

名称内容
indexintペイロードにおける位置

戻り値

内容
common.UInt16-数値データ

u32_at()

u32_at(index)

指定した位置の符号なし32ビット整数を取得します。

引数

名称内容
indexintペイロードにおける位置

戻り値

内容
common.UInt32-数値データ

u8_at()

u8_at(index)

指定した位置の符号なし8ビット整数を取得します。

引数

名称内容
indexintペイロードにおける位置

戻り値

内容
common.UInt8-数値データ

u8_from()

u8_from(index)

指定した位置に続くバイト列を取得します。

引数

名称内容
indexintペイロードにおける先頭の位置

戻り値

内容
optional bytesbytes部分的なバイト列
None指定位置が無効

CommandBase

コマンドの抽象基底クラス

継承:ABC, pydantic.BaseModel

CommandBase()

CommandBase(*, destination_logical_id=120)

引数

名称内容
destination_logical_idcommon.UInt8送信先の論理デバイスID

** で unpack した辞書を渡すことができます。

is_valid()

is_valid()

コマンドデータが有効であるか否かを確認します。

引数

なし

戻り値

内容
boolTrue有効
False無効

CommandSerializerBase

コマンドシリアライザの静的抽象基底クラス

継承:ABC

serialize()

serialize(command)

与えられたコマンドを素のパケットのバイト列へ展開します。

引数

名称内容
commandcommon.SomeCommand何らかのコマンドデータ

戻り値

内容
optional common.BarePacketcommon.BarePacket展開したデータ
None無効なコマンドデータである

CrossSectional[T]

特定の時刻における横断的なデータ列を格納するためのタプルに相当するクラス

継承:common.FixedTuple[T]

CrossSectional[T]()

CrossSectional[T](length, elements)

引数

名称内容
Tcommon.T要素の型
lengthint要素の数
elementsIterable[T]要素

例外

  • ValueError 要素の数が不正

DtypedDecimal

pandas の dtype 属性を保持する数値型のための抽象基底クラス

get_dtype()

get_dtype()

pandas の dtype 識別子を取得します。

引数

なし

戻り値

内容
str-dtype 識別子

FixedList[T]

固定長リストに相当するクラス

継承:MutableSequence[T]

FixedList[T]()

FixedList[T](length, initial_elements)

引数

名称内容
Tcommon.T要素の型
lengthint要素の数
initial_elementsIterable[T]初期の要素

例外

  • ValueError 要素の数が不正

insert()

insert(index, value)

指定した位置へ要素を配置します。

引数

名称内容
indexint配置する位置
valuecommon.T配置する要素

戻り値

なし

例外

  • IndexError 位置が不正

FixedTuple[T]

固定長タプルに相当するクラス

継承:Sequence[T]

FixedTuple[T]()

FixedTuple[T](length, elements)

引数

名称内容
Tcommon.T要素の型
lengthint要素の数
elementsIterable[T]要素

例外

  • ValueError 要素の数が不正

Float32

32ビット浮動小数点数を格納するクラス

継承:float, common.DtypedDecimal

Float32()

Float32(value=None)

引数

名称内容
valueoptional float初期の値

例外

  • ValueError 範囲外の値

Float64

64ビット浮動小数点数を格納するクラス

継承:float, common.DtypedDecimal

Float64()

Float64(value=None)

引数

名称内容
valueoptional float初期の値

例外

  • ValueError 範囲外の値

Int16

16ビット整数を格納するクラス

継承:int, common.DtypedDecimal

Int16()

Int16(value=None)

引数

名称内容
valueoptional int初期の値

例外

  • ValueError 範囲外の値

hex()

hex()

16進数表記の文字列を取得します。

Python 組み込み関数の hex()int のサブクラスを受け付けません。float に対する組み込みメソッド hex() と同じように扱えるようにしています。

引数

なし

戻り値

内容
str-16進数表記の文字列(小文字)

Int32

32ビット整数を格納するクラス

継承:int, common.DtypedDecimal

Int32()

Int32(value=None)

引数

名称内容
valueoptional int初期の値

例外

  • ValueError 範囲外の値

hex()

hex()

16進数表記の文字列を取得します。

Python 組み込み関数の hex()int のサブクラスを受け付けません。float に対する組み込みメソッド hex() と同じように扱えるようにしています。

引数

なし

戻り値

内容
str-16進数表記の文字列(小文字)

Int8

8ビット整数を格納するクラス

継承:int, common.DtypedDecimal

Int8()

Int8(value=None)

引数

名称内容
valueoptional int初期の値

例外

  • ValueError 範囲外の値

hex()

hex()

16進数表記の文字列を取得します。

Python 組み込み関数の hex()int のサブクラスを受け付けません。float に対する組み込みメソッド hex() と同じように扱えるようにしています。

引数

なし

戻り値

内容
str-16進数表記の文字列(小文字)

MagnetState

磁石イベントの識別子

継承:enum.IntEnum

  • NOT_DETECTED 磁石なし
  • N_POLE_IS_CLOSE N極が近くにある
  • S_POLE_IS_CLOSE S極が近くにある

PacketParserBase

パケットパーサの静的抽象基底クラス

継承:ABC

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional common.ParsedPacketBasecommon.ParsedPacketBaseを基底クラスにもつデータパースしたデータ
Noneパース不可

PacketType

パケット種別の識別子

継承:enum.StrEnum

  • BARE 素のパケット(未パース)
  • ACT act
  • APP_TWELITE 超簡単!標準アプリ
  • APP_IO リモコンアプリ
  • APP_ARIA アリアアプリ
  • APP_CUE キューアプリ(TWELITE CUE モード)
  • APP_CUE_PAL_EVENT キューアプリ(動作パルモード:ダイス/ムーブモード)
  • APP_PAL_OPENCLOSE パルアプリ(開閉パル)
  • APP_PAL_AMB パルアプリ(環境パル)
  • APP_PAL_MOT パルアプリ(動作パル)/キューアプリ(動作パルモード:加速度計測)
  • APP_UART_ASCII シリアル通信アプリ(書式モード:簡易形式)/超簡単!標準アプリ/リモコンアプリ
  • APP_UART_ASCII_EXTENDED シリアル通信アプリ(書式モード:拡張形式)

ParsedPacketBase

パース済みパケットの抽象基底クラス

継承:ABC, pydantic.BaseModel

ParsedPacketBase()

ParsedPacketBase(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None)

引数

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqicommon.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

SomeCallable

TypeVar("SomeCallable", bound=Callable[..., Any])

各種ハンドラを表す型

SomeCommand

TypeVar(SomeCommand, bound=CommandBase)

各種コマンドデータを表す型

SomeParsedPacket

TypeVar(SomeParsedPacket, bound=ParsedPacketBase)

各種パケットデータを表す型

T

TypeVar("T")

ジェネリクスで利用する型

TimeSeries[T]

時系列データを格納するためのタプルに相当するクラス

継承:common.FixedTuple[T]

TimeSeries[T]()

TimeSeries[T](length, elements)

引数

名称内容
Tcommon.T要素の型
lengthint要素の数
elementsIterable[T]要素

例外

  • ValueError 要素の数が不正

Timezone

全体へ適用するtzinfo

UInt16

16ビット非不整数を格納するクラス

継承:int, common.DtypedDecimal

UInt16()

UInt16(value=None)

引数

名称内容
valueoptional int初期の値

例外

  • ValueError 範囲外の値

hex()

hex()

16進数表記の文字列を取得します。

Python 組み込み関数の hex()int のサブクラスを受け付けません。float に対する組み込みメソッド hex() と同じように扱えるようにしています。

引数

なし

戻り値

内容
str-16進数表記の文字列(小文字)

UInt32

32ビット非不整数を格納するクラス

継承:int, common.DtypedDecimal

UInt32()

UInt32(value=None)

引数

名称内容
valueoptional int初期の値

例外

  • ValueError 範囲外の値

hex()

hex()

16進数表記の文字列を取得します。

Python 組み込み関数の hex()int のサブクラスを受け付けません。float に対する組み込みメソッド hex() と同じように扱えるようにしています。

引数

なし

戻り値

内容
str-16進数表記の文字列(小文字)

UInt8

8ビット非不整数を格納するクラス

継承:int, common.DtypedDecimal

UInt8()

UInt8(value=None)

引数

名称内容
valueoptional int初期の値

例外

  • ValueError 範囲外の値

hex()

hex()

16進数表記の文字列を取得します。

Python 組み込み関数の hex()int のサブクラスを受け付けません。float に対する組み込みメソッド hex() と同じように扱えるようにしています。

引数

なし

戻り値

内容
str-16進数表記の文字列(小文字)

2.1.1.2 - mwings.parsers モジュール

mwings.parsers
パケットを解釈するパーサと、そのデータを扱います。

2.1.1.2.1 - mwings.parsers.app_twelite モジュール

mwings.parsers.app_twelite

超簡単!標準アプリから送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_twelite.py

PacketParser

超簡単!標準アプリから送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

超簡単!標準アプリから送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, destination_logical_id=120, relay_count=0, periodic=False, di_changed=<mwings.common.CrossSectional object>, di_state=<mwings.common.CrossSectional object>, ai_voltage=<mwings.common.CrossSectional object>)

引数

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)
destination_logical_idcommon.UInt8送信先の論理デバイスID
relay_countcommon.UInt8中継回数
periodicbool定期送信か否か
di_changedcommon.CrossSectional[bool](4)デジタルインタフェースの変化の有無
di_statecommon.CrossSectional[bool](4)デジタルインタフェースの状態
ai_voltagecommon.CrossSectional[common.UInt16](4)アナログインタフェースの電圧

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.2 - mwings.parsers.app_io モジュール

mwings.parsers.app_io

リモコンアプリから送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_io.py

PacketParser

リモコンアプリから送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

リモコンアプリから送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, relay_count=0, di_state=<mwings.common.CrossSectional object>, di_valid=<mwings.common.CrossSectional object>, di_interrupt=<mwings.common.CrossSectional object>)

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16ADCを使わないため常にNone
relay_countcommon.UInt8中継回数
di_changedcommon.CrossSectional[bool](12)デジタルインタフェースの変化の有無
di_statecommon.CrossSectional[bool](12)デジタルインタフェースの状態
di_interruptcommon.CrossSectional[bool](12)デジタルインタフェースの割り込みの有無

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.3 - mwings.parsers.app_aria モジュール

mwings.parsers.app_aria

アリアアプリから送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_aria.py

PacketParser

アリアアプリから送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

アリアアプリから送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, temp_100x=0, humid_100x=0, magnet_state=MagnetState.NOT_DETECTED, magnet_state_changed=False)

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)
temp_100xcommon.Int16100倍された温度(セ氏)
humid_100xcommon.UInt16100倍された相対湿度
magnet_statecommon.MagnetState磁石の状態
magnet_state_changedbool磁石の状態の変化の有無

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.4 - mwings.parsers.app_cue モジュール

mwings.parsers.app_cue

キューアプリ(TWELITE CUEモード)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_cue.py

PacketParser

キューアプリ(TWELITE CUEモード)から送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

キューアプリ(TWELITE CUEモード)から送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, sample_count=10, samples_x=<mwings.common.TimeSeries object>, samples_y=<mwings.common.TimeSeries object>, samples_z=<mwings.common.TimeSeries object>, has_accel_event=False, accel_event=AccelEvent.NONE, magnet_state=MagnetState.NOT_DETECTED, magnet_state_changed=False)

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)
sample_countcommon.UInt8各軸の加速度サンプルの数
samples_xcommon.TimeSeries[common.Int16]X軸の加速度サンプル
samples_ycommon.TimeSeries[common.Int16]Y軸の加速度サンプル
samples_zcommon.TimeSeries[common.Int16]Z軸の加速度サンプル
has_accel_eventbool加速度イベントの有無
accel_eventcommon.AccelEvent加速度イベント
magnet_statecommon.MagnetState磁石の状態
magnet_state_changedbool磁石の状態の変化の有無

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.5 - mwings.parsers.app_cue_pal_event モジュール

mwings.parsers.app_cue_pal_event

キューアプリ(動作パルモード:ダイス/ムーブモード)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_cue_pal_event.py

PacketParser

キューアプリ(動作パルモード:ダイス/ムーブモード)から送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

キューアプリ(動作パルモード:ダイス/ムーブモード)から送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, ai1_voltage=0, accel_event=AccelEvent.NONE)

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)
ai1_voltagecommon.UInt16AI1の電圧(mV)
accel_eventcommon.AccelEvent加速度イベント

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.6 - mwings.parsers.app_pal_openclose モジュール

mwings.parsers.app_pal_openclose

パルアプリ(開閉パル)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_pal_openclose.py

PacketParser

パルアプリ(開閉パル)から送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

パルアプリ(開閉パル)から送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, ai1_voltage=0, magnet_state=MagnetState.NOT_DETECTED, magnet_state_changed=False)

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)
ai1_voltagecommon.UInt16AI1の電圧(mV)
magnet_statecommon.MagnetState磁石の状態
magnet_state_changedbool磁石の状態の変化の有無

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.7 - mwings.parsers.app_pal_amb モジュール

mwings.parsers.app_pal_amb

パルアプリ(環境パル)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_pal_amb.py

PacketParser

パルアプリ(環境パル)から送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

パルアプリ(環境パル)から送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, ai1_voltage=0, temp_100x=0, humid_100x=0, illuminance=0)

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)
ai1_voltagecommon.UInt16AI1の電圧(mV)
temp_100xcommon.Int16100倍された温度(セ氏)
humid_100xcommon.UInt16100倍された相対湿度
illuminancecommon.UInt32照度(lx)

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.8 - mwings.parsers.app_pal_mot モジュール

mwings.parsers.app_pal_mot

パルアプリ(動作パル)やキューアプリ(動作パルモード:加速度計測)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_pal_mot.py

PacketParser

パルアプリ(動作パル)やキューアプリ(動作パルモード:加速度計測)から送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

パルアプリ(動作パル)やキューアプリ(動作パルモード:加速度計測)から送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, ai1_voltage=0, sample_count=16, samples_x=<mwings.common.TimeSeries object>, samples_y=<mwings.common.TimeSeries object>, samples_z=<mwings.common.TimeSeries object>, sampling_frequency=25)

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)
ai1_voltagecommon.UInt16AI1の電圧(mV)
sample_countcommon.UInt8各軸の加速度サンプルの数
samples_xcommon.TimeSeries[common.Int16]X軸の加速度サンプル
samples_ycommon.TimeSeries[common.Int16]Y軸の加速度サンプル
samples_zcommon.TimeSeries[common.Int16]Z軸の加速度サンプル
sampling_frequencycommon.UInt16加速度サンプリング周波数

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.9 - mwings.parsers.app_uart_ascii モジュール

mwings.parsers.app_uart_ascii

シリアル通信アプリ(書式モード:簡易形式)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_uart_ascii.py

PacketParser

シリアル通信アプリ(書式モード:簡易形式)から送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

シリアル通信アプリ(書式モード:簡易形式)から送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, command_id=0, data=b'')

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16取得不可、常にNone
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8取得不可、常にNone
supply_voltageoptional common.UInt16取得不可、常にNone
commnad_idcommon.UInt8コマンドID
databytesデータ

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.10 - mwings.parsers.app_uart_ascii_extended モジュール

mwings.parsers.app_uart_ascii_extended

シリアル通信アプリ(書式モード:拡張形式)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_uart_ascii_extended.py

PacketParser

シリアル通信アプリ(書式モード:拡張形式)から送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

シリアル通信アプリ(書式モード:拡張形式)から送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, destination_serial_id=120, command_id=0, data=b'')

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16取得不可、常にNone
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqicommon.UInt8電波通信品質
supply_voltageoptional common.UInt16取得不可、常にNone
destination_serial_idcommon.UInt32送信先のシリアルID
commnad_idcommon.UInt8コマンドID
databytesデータ

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.2.11 - mwings.parsers.act モジュール

mwings.parsers.act

act から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/act.py

PacketParser

act から送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

act から送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, command_id=0, data=b'')

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16取得不可、常にNone
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16取得不可、常にNone
commnad_idcommon.UInt8コマンドID
databytesデータ

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()

2.1.1.3 - mwings.serializers モジュール

mwings.serializers
コマンドを生成するシリアライザと、そのデータを扱います。

2.1.1.3.1 - mwings.serializers.app_twelite モジュール

mwings.serializers.app_twelite

超簡単!標準アプリへ送信するパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。

src/mwings/serializers/app_twelite.py

CommandSerializer

超簡単!標準アプリへ送信するパケットを表すコマンドを生成するシリアライザの静的クラス

継承:common.CommandSerializerBase

serialize()

serialize(command)

与えられたコマンドを素のパケットのバイト列へ展開します。

引数

名称内容
commandCommandコマンドデータ

戻り値

内容
optional common.BarePacketcommon.BarePacket展開したデータ
None無効なコマンドデータである

Command

超簡単!標準アプリへ送信するパケットを表すコマンドを生成する際に用意するデータを格納するための構造体

継承:common.CommandBase

Command()

Command(*, destination_logical_id=120, di_to_change=<mwings.common.FixedList object>, di_state=<mwings.common.FixedList object>, pwm_to_change=<mwings.common.FixedList object>, pwm_duty=<mwings.common.FixedList object>)

引数

名称内容
destination_logical_idcommon.UInt8送信先の論理デバイスID
di_to_changecommon.FixedList[bool](4)変更するデジタルインタフェース
di_statecommon.FixedList[bool](4)変更後のデジタルインタフェースの状態
pwm_to_changecommon.FixedList[bool](4)変更する PWM インタフェース
pwm_dutycommon.FixedList[int](4)変更後の PWM インタフェースのデューティ

** で unpack した辞書を渡すことができます。

is_valid()

is_valid()

コマンドデータが有効であるか否かを確認します。

引数

なし

戻り値

内容
boolTrue有効
False無効

model_*()

2.1.1.3.2 - mwings.serializers.app_io モジュール

mwings.serializers.app_io

リモコンアプリへ送信するパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。

src/mwings/serializers/app_io.py

CommandSerializer

リモコンアプリへ送信するパケットを表すコマンドを生成するシリアライザの静的クラス

継承:common.CommandSerializerBase

serialize()

serialize(command)

与えられたコマンドを素のパケットのバイト列へ展開します。

引数

名称内容
commandCommandコマンドデータ

戻り値

内容
optional common.BarePacketcommon.BarePacket展開したデータ
None無効なコマンドデータである

Command

リモコンアプリへ送信するパケットを表すコマンドを生成する際に用意するデータを格納するための構造体

継承:common.CommandBase

Command()

Command(*, destination_logical_id=120, di_to_change=<mwings.common.FixedList object>, di_state=<mwings.common.FixedList object>)

引数

名称内容
destination_logical_idcommon.UInt8送信先の論理デバイスID
di_to_changecommon.FixedList[bool](12)変更するデジタルインタフェース
di_statecommon.FixedList[bool](12)変更後のデジタルインタフェースの状態

** で unpack した辞書を渡すことができます。

is_valid()

is_valid()

コマンドデータが有効であるか否かを確認します。

引数

なし

戻り値

内容
boolTrue有効
False無効

model_*()

2.1.1.3.3 - mwings.serializers.app_pal_notice モジュール

mwings.serializers.app_pal_notice

パルアプリ(通知パル)へ送信するパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。

src/mwings/serializers/app_pal_notice.py

CommandSerializer

パルアプリ(通知パル)へ送信するパケットを表すコマンドを生成するシリアライザの静的クラス

継承:common.CommandSerializerBase

serialize()

serialize(command)

与えられたコマンドを素のパケットのバイト列へ展開します。

引数

名称内容
commandCommandコマンドデータ

戻り値

内容
optional common.BarePacketcommon.BarePacket展開したデータ
None無効なコマンドデータである

Command

パルアプリ(通知パル)へ送信するパケットを表すコマンドを生成する際に用意するデータを格納するための構造体

継承:common.CommandBase

Command()

Command(*, destination_logical_id=120, color=AppPalNoticeColor.WHITE, blink_speed=AppPalNoticeBlinkSpeed.ALWAYS_ON, brightness=8, duration_in_sec=5)

引数

名称内容
destination_logical_idcommon.UInt8送信先の論理デバイスID
colorcommon.AppPalNoticeColor点灯色の名称
blink_speedcommon.AppPalNoticeBlinkSpeed点滅の速度
brightnesscommon.UInt8明るさ
duration_in_seccommon.UInt8点灯(点滅)の合計時間(秒)

** で unpack した辞書を渡すことができます。

is_valid()

is_valid()

コマンドデータが有効であるか否かを確認します。

引数

なし

戻り値

内容
boolTrue有効
False無効

model_*()

2.1.1.3.4 - mwings.serializers.app_pal_notice_detailed モジュール

mwings.serializers.app_pal_notice_detailed

パルアプリ(通知パル)へ送信する詳細なパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。

src/mwings/serializers/app_pal_notice_detailed.py

CommandSerializer

パルアプリ(通知パル)へ送信する詳細なパケットを表すコマンドを生成するシリアライザの静的クラス

継承:common.CommandSerializerBase

serialize()

serialize(command)

与えられたコマンドを素のパケットのバイト列へ展開します。

引数

名称内容
commandCommandコマンドデータ

戻り値

内容
optional common.BarePacketcommon.BarePacket展開したデータ
None無効なコマンドデータである

Command

パルアプリ(通知パル)へ送信する詳細なパケットを表すコマンドを生成する際に用意するデータを格納するための構造体

継承:common.CommandBase

Command()

Command(*, destination_logical_id=120, color=AppPalNoticeRGBWColor(red=0, green=0, blue=0, white=15), blink_duty_percentage=100, blink_period_in_sec=1.0, duration_in_sec=1)

引数

名称内容
destination_logical_idcommon.UInt8送信先の論理デバイスID
colorcommon.AppPalNoticeRGBWColor点灯色のRGBW値
blink_duty_percentagecommon.UInt8点灯時間の割合(%)
blink_period_in_seccommon.Float64点滅の周期(秒)
duration_in_seccommon.UInt8点灯(点滅)の合計時間

** で unpack した辞書を渡すことができます。

is_valid()

is_valid()

コマンドデータが有効であるか否かを確認します。

引数

なし

戻り値

内容
boolTrue有効
False無効

model_*()

2.1.1.3.5 - mwings.serializers.app_pal_notice_event モジュール

mwings.serializers.app_pal_notice_event

パルアプリ(通知パル)へ送信するイベントデータのパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。

src/mwings/serializers/app_pal_notice_event.py

CommandSerializer

パルアプリ(通知パル)へ送信するイベントデータのパケットを表すコマンドを生成するシリアライザの静的クラス

継承:common.CommandSerializerBase

serialize()

serialize(command)

与えられたコマンドを素のパケットのバイト列へ展開します。

引数

名称内容
commandCommandコマンドデータ

戻り値

内容
optional common.BarePacketcommon.BarePacket展開したデータ
None無効なコマンドデータである

Command

パルアプリ(通知パル)へ送信するイベントデータのパケットを表すコマンドを生成する際に用意するデータを格納するための構造体

継承:common.CommandBase

Command()

Command(*, destination_logical_id=120, event_id=0)

引数

名称内容
destination_logical_idcommon.UInt8送信先の論理デバイスID
event_idcommon.UInt8イベントID

** で unpack した辞書を渡すことができます。

is_valid()

is_valid()

コマンドデータが有効であるか否かを確認します。

引数

なし

戻り値

内容
boolTrue有効
False無効

model_*()

2.1.1.3.6 - mwings.serializers.app_uart_ascii モジュール

mwings.serializers.app_uart_ascii

シリアル通信アプリへ送信するデータ(書式モード:簡易形式)のパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。

src/mwings/serializers/app_uart_ascii.py

CommandSerializer

シリアル通信アプリへ送信するデータ(書式モード:簡易形式)のパケットを表すコマンドを生成するシリアライザの静的クラス

継承:common.CommandSerializerBase

serialize()

serialize(command)

与えられたコマンドを素のパケットのバイト列へ展開します。

引数

名称内容
commandCommandコマンドデータ

戻り値

内容
optional common.BarePacketcommon.BarePacket展開したデータ
None無効なコマンドデータである

Command

シリアル通信アプリへ送信するデータ(書式モード:簡易形式)のパケットを表すコマンドを生成する際に用意するデータを格納するための構造体

継承:common.CommandBase

Command()

Command(*, destination_logical_id=120, command_id=0, data)

引数

名称内容
destination_logical_idcommon.UInt8送信先の論理デバイスID
command_idcommon.UInt8コマンドID
databytesデータ

** で unpack した辞書を渡すことができます。

is_valid()

is_valid()

コマンドデータが有効であるか否かを確認します。

引数

なし

戻り値

内容
boolTrue有効
False無効

model_*()

2.1.1.4 - mwings.utils モジュール

mwings.utils

汎用的なユーティリティ関数を格納しています。

src/mwings/utils.py

ask_user()

ask_user(prompt, regex, on_error, ex_verifier=None, max_attempts=None)

コンソールでユーザからの入力を得ます。

引数

名称内容
promptstrプロンプトへ表示するメッセージ
regexstrユーザの入力を検証する正規表現
on_errorstrユーザの入力が不正であった場合のメッセージ
ex_verifieroptional Callable[[str], bool]正規表現に加えて入力文字列を検証する関数
max_attemptsoptional intリトライ回数。Noneなら無限

戻り値

内容
str-検証済みのユーザによる入力文字列

ask_user_for_port()

ask_user_for_port()

ユーザへ使用するポートを選択させます。

引数

なし

戻り値

内容
str-指定されたポート名

byte_count_from()

byte_count_from(character_count)

アスキー文字列で表現されたバイト列の長さをバイナリ表現の長さへ変換します。

引数

名称内容
character_countintアスキー表現のバイト列の長さ

戻り値

内容
int-バイナリ表現のバイト列の長さ

character_from()

character_from(hexvalue)

0x0-0xFの数値を16進数表記の文字へ変換します。

引数

名称内容
hexvalueint数値

戻り値

内容
int-文字のアスキーコード

find_ascii()

find_ascii(port, data, timeout, debugging=False)

指定されたアスキー文字列の受信を待機します。

引数

名称内容
portserial.Serialシリアルポート
datastrアスキー文字列
timeoutintタイムアウト(秒)
debuggignboolデバッグ出力

戻り値

内容
boolTrue受信を確認
boolFalse受信を確認できず

find_binary()

find_binary(port, data, timeout, debugging=False)

指定されたバイト列の受信を待機します。

引数

名称内容
portserial.Serialシリアルポート
datastrバイト列
with_terminalbool終端データ使用の有無
terminalint終端として扱うデータ
timeoutintタイムアウト(秒)
debuggignboolデバッグ出力

戻り値

内容
boolTrue受信を確認
boolFalse受信を確認できず

flush_rx_buffer()

flush_rx_buffer(port)

受信バッファをクリアします。

引数

名称内容
portserial.Serialシリアルポート

戻り値

なし

flush_tx_buffer()

flush_tx_buffer(port)

送信バッファをクリアします。

引数

名称内容
portserial.Serialシリアルポート

戻り値

なし

get_ports()

get_ports()

使用できるシリアルポートの一覧を取得します。

引数

なし

戻り値

内容
list[str]-ポート名のリスト

hex_from()

hex_from(character)

16進数を表すアスキー文字を数値へ変換します。0-9,A-F以外の数値を入力した場合の値は不定です。

引数

名称内容
characterint文字のアスキーコード

戻り値

内容
int-数値

is_initialized()

is_initialized(port)

シリアルポートが初期化されているかどうかを確認します。

引数

名称内容
portserial.Serialシリアルポート

戻り値

内容
boolTrue初期化済み
False未初期化

is_readable()

is_readable(port)

シリアルポートからデータを取得できるかどうかを確認します。

引数

名称内容
portserial.Serialシリアルポート

戻り値

内容
boolTrue受信バッファにデータあり
False受信不可

is_there_some_ports()

is_there_some_ports()

使用できるシリアルポートが存在するかどうかを確認します。

引数

なし

戻り値

内容
boolTrueシリアルポートあり
Falseなし

is_writable()

is_writable(port)

シリアルポートへデータを送信できるかどうかを確認します。

引数

名称内容
portserial.Serialシリアルポート

戻り値

内容
boolTrue送信可
False送信不可

lrc8()

lrc8(data)

8ビットのLRCを計算します。

引数

名称内容
databytes計算対象のバイト列

戻り値

内容
int-LRC8

millis()

millis()

現在のシステム時間をミリ秒単位で取得します。

引数

なし

戻り値

内容
int-システム時間

open_on_system()

open_on_system(path)

指定されたパスのファイルをシステムの既定のアプリケーションで開きます。

引数

名称内容
pathPathファイルパス

戻り値

なし

write_binary()

write_binary(port, data)

バイト列をシリアルポートへ送信します。

引数

名称内容
portserial.Serialシリアルポート
dataint送信するデータ
bytes送信するデータ列

戻り値

なし

write_in_ascii()

write_in_ascii(port, data)

アスキー表現のバイト列をシリアルポートへ送信します。

引数

名称内容
portserial.Serialシリアルポート
dataint送信する文字
bytes送信する文字列

戻り値

なし