セクションの複数ページをまとめています。 印刷またはPDF形式で保存...
TWELITE Wings API / MWings
- 1: TWELITE Wings API / MWings for 32-bit Arduinos
- 1.1: TWELITE Wings API / MWings for 32-bit Arduinos
- 1.1.1: データ型と手続きの一覧
- 1.1.2: クラスの一覧
- 1.1.2.1: mwings::MWings クラス
- 2: TWELITE Wings API / MWings for Python
- 2.1: TWELITE Wings API / MWings for Python
- 2.1.1: mwings モジュール
- 2.1.1.1: mwings.common モジュール
- 2.1.1.2: mwings.parsers モジュール
- 2.1.1.2.1: mwings.parsers.app_twelite モジュール
- 2.1.1.2.2: mwings.parsers.app_io モジュール
- 2.1.1.2.3: mwings.parsers.app_aria モジュール
- 2.1.1.2.4: mwings.parsers.app_cue モジュール
- 2.1.1.2.5: mwings.parsers.app_cue_pal_event モジュール
- 2.1.1.2.6: mwings.parsers.app_pal_openclose モジュール
- 2.1.1.2.7: mwings.parsers.app_pal_amb モジュール
- 2.1.1.2.8: mwings.parsers.app_pal_mot モジュール
- 2.1.1.2.9: mwings.parsers.app_uart_ascii モジュール
- 2.1.1.2.10: mwings.parsers.app_uart_ascii_extended モジュール
- 2.1.1.2.11: mwings.parsers.act モジュール
- 2.1.1.3: mwings.serializers モジュール
- 2.1.1.3.1: mwings.serializers.app_twelite モジュール
- 2.1.1.3.2: mwings.serializers.app_io モジュール
- 2.1.1.3.3: mwings.serializers.app_pal_notice モジュール
- 2.1.1.3.4: mwings.serializers.app_pal_notice_detailed モジュール
- 2.1.1.3.5: mwings.serializers.app_pal_notice_event モジュール
- 2.1.1.3.6: mwings.serializers.app_uart_ascii モジュール
- 2.1.1.4: mwings.utils モジュール
1 - TWELITE Wings API / MWings for 32-bit Arduinos
1.1 - TWELITE Wings API / MWings for 32-bit Arduinos
1.1.1 - データ型と手続きの一覧
構造体
BarePacket
親機が子機から受信したパケットの電文情報から得た素のデータを格納します。
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t* | u8Payload | バイナリ変換したペイロードデータ(: とチェックサム、CRLF を除く) |
uint16_t | u16PayloadSize | 上記データのバイト数 |
uint8_t | u8Checksum | 上記データのチェックサム |
手続き
型と名称 | 内容 |
---|---|
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
親機が子機から受信したパース済みデータを格納する構造体の抽象型です。
データ
型 | 名称 | 内容 |
---|---|---|
uint32_t | u32SourceSerialId | 送信元のシリアルID |
uint8_t | u8SourceLogicalId | 送信元の論理デバイスID |
uint16_t | u16SequenceNumber | シーケンス番号 |
uint8_t | u8Lqi | LQI |
uint16_t | u16SupplyVoltage | 電源電圧 (mV) |
この抽象型には、共通して利用されるデータを記述しています。
この抽象型から派生した構造体(例:ParsedAppTwelitePacket
)では、この抽象型のデータを併せて利用できます。
ParsedAppTwelitePacket
親機が超簡単!標準アプリの子機から受信したデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t | u8DestinationLogicalId | 送信先の論理デバイスID |
uint8_t | u8RelayCount | 中継回数 |
bool | bPeriodic | 定期送信パケットならtrue |
bool[4] | bDiChanged | 各 DI1-4 が変化したならtrue |
bool[4] | bDiState | 各 DI1-4 が Low 状態ならtrue |
uint16_t[4] | u16AiVoltage | 各 AI1-4 の入力電圧 (mV) |
ParsedAppIoPacket
親機がリモコンアプリの子機から受信したデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t | u8RelayCount | 中継回数 |
bool[12] | bDiState | 各 DI が Low 状態ならtrue |
bool[12] | bDiValid | 各 DI が有効ならtrue |
bool[12] | bDiInterrupt | 各 DI が割り込みにより変化したならtrue |
ParsedAppAriaPacket
親機がアリアアプリの子機(TWELITE ARIA モード)から受信したデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
int16_t | i16Temp100x | 100倍された温度(摂氏) |
uint16_t | u16Humid100x | 100倍された相対湿度 (%) |
uint8_t | u8MagnetState | 磁気イベントID |
bool | bMagnetStateChanged | 磁気センサの状態が変化したならtrue |
磁気イベントID
ID | 内容 |
---|---|
0x00 | 近くに磁石がない |
0x01 | N極が近くにある |
0x02 | S極が近くにある |
ParsedAppCuePacket
親機がキューアプリの子機(TWELITE CUE モード)から受信したデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
int16_t[10] | i16SamplesX | 各サンプルの X 軸加速度 (mG) |
int16_t[10] | i16SamplesY | 各サンプルの Y 軸加速度 (mG) |
int16_t[10] | i16SamplesZ | 各サンプルの Z 軸加速度 (mG) |
uint8_t | u8SampleCount | サンプル数 |
bool | bHasAccelEvent | 加速度イベントがあるならtrue |
uint8_t | u8AccelEvent | 加速度イベントID |
uint8_t | u8MagnetState | 磁気イベントID |
bool | bMagnetStateChanged | 磁気センサの状態が変化したならtrue |
加速度イベントID
ID | 内容 |
---|---|
0x01 ~0x06 | サイコロ |
0x08 | シェイク |
0x10 | ムーブ |
磁気イベントID
ID | 内容 |
---|---|
0x00 | 近くに磁石がない |
0x01 | N極が近くにある |
0x02 | S極が近くにある |
ParsedAppPalAmbPacket
親機がパルアプリの子機(環境センサーパル)から受信したデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
uint16_t | u16Ai1Voltage | AI1 の入力電圧 (mV) |
int16_t | i16Temp100x | 100倍された温度(摂氏) |
uint16_t | u16Humid100x | 100倍された相対湿度 (%) |
uint32_t | u32Illuminance | 照度(ルクス) |
ParsedAppPalMotPacket
親機がパルアプリの子機(動作センサーパル)から受信したデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
uint16_t | u16Ai1Voltage | AI1 の入力電圧 (mV) |
int16_t[16] | i16SamplesX | 各サンプルの X 軸加速度 (mG) |
int16_t[16] | i16SamplesY | 各サンプルの Y 軸加速度 (mG) |
int16_t[16] | i16SamplesZ | 各サンプルの Z 軸加速度 (mG) |
uint8_t | u8SampleCount | サンプル数 |
uint16_t | u16SamplingFrequency | サンプリング周波数 (Hz) |
ParsedAppPalOpenClosePacket
親機がパルアプリの子機(開閉センサーパル)から受信したデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
uint16_t | u16Ai1Voltage | AI1 の入力電圧 (mV) |
uint8_t | u8MagnetState | 磁気イベントID |
bool | bMagnetStateChanged | 磁気センサの状態が変化したならtrue |
磁気イベントID
ID | 内容 |
---|---|
0x00 | 近くに磁石がない |
0x01 | N極が近くにある |
0x02 | S極が近くにある |
ParsedAppUartAsciiPacket
親機がシリアル通信アプリの子機(Aモード)から受信したデータ(簡易形式)を格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t | u8CommandId | コマンド種別(応答ID) |
uint8_t* | u8Data | データ |
uint16_t | u16DataSize | データ長 |
ParsedAppUartAsciiExtendedPacket
親機がシリアル通信アプリの子機(Aモード)から受信したデータ(拡張形式)を格納する構造体です。
AppUartAsciiExtendedPacketParser.h
データ
型 | 名称 | 内容 |
---|---|---|
uint32_t | u32DestinationSerialId | 送信先のシリアルID |
uint8_t | u8CommandId | コマンド種別(応答ID) |
uint8_t* | u8Data | データ |
uint16_t | u16DataSize | データ長 |
ParsedActPacket
親機がactの子機から受信したデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t | u8CommandId | コマンド種別(応答ID) |
uint8_t* | u8Data | データ |
uint16_t | u16DataSize | データ長 |
mwings::CommandBase
親機から子機に送信するコマンドデータを格納する構造体の抽象型です。
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t | u8DestinationLogicalId | 送信先の論理デバイスID |
手続き
型と名称 | 内容 |
---|---|
bool isValid() | データが正常ならtrue を返す(純粋仮想関数) |
この抽象型には、共通して利用されるデータや手続きを記述しています。
この抽象型から派生した構造体(例:AppTweliteCommand
)では、この抽象型のデータや手続きを併せて利用できます。
AppTweliteCommand
mwings::CommandBase
から派生
親機から超簡単!標準アプリの子機へ送信するコマンドデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
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
から派生
親機から超簡単!標準アプリの子機へ送信するコマンドデータを格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
bool[12] | bDiToChange | 各 O1-12 の状態を変更する場合はtrue |
bool[12] | bDiState | 各 O1-12 を Low 状態にする場合はtrue |
AppPalNoticeCommand
mwings::CommandBase
から派生
親機からパルアプリ(通知パル)の子機へ送信するコマンドデータを格納する構造体です。
AppPalNoticeCommandSerializer.h
データ
型 | 名称 | 内容 |
---|---|---|
AppPalNoticeColor | eColor | 点灯色 |
AppPalNoticeBlinkSpeed | eBlinkSpeed | 点滅速度 |
uint8_t | u8Brightness | 明るさ (0-15) |
uint16_t | u16DurationInSec | 点灯時間(秒) |
AppPalNoticeDetailedCommand
mwings::CommandBase
から派生
親機からパルアプリ(通知パル)の子機へ送信するコマンドデータを格納する構造体です(詳細形式)。
AppPalNoticeDetailedCommandSerializer.h
データ
型 | 名称 | 内容 |
---|---|---|
AppPalNoticeRGBWColor | sRGBWColor | 点灯色 (RGBW) |
uint8_t | u8BlinkDutyPercentage | 点灯時間の割合 (%) |
float | fBlinkPeriodInSec | 点滅周期(秒) |
uint16_t | u16DurationInSec | 点灯時間(秒) |
AppPalNoticeEventCommand
mwings::CommandBase
から派生
親機からパルアプリ(通知パル)の子機へ送信するコマンドデータ(詳細形式)を格納する構造体です。
AppPalNoticeEventCommandSerializer.h
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t | u8EventId | イベントID (0x00-0x10) |
AppUartAsciiCommand
mwings::CommandBase
から派生
親機からシリアル通信アプリ(Aモード)の子機へ送信するコマンドデータ(簡易形式)を格納する構造体です。
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t | u8CommandId | コマンド種別(応答ID) |
uint8_t* | u8Data | データ |
uint16_t | u16DataSize | データ長 |
AppUartAsciiCommand
で表される簡易形式のコマンドデータは、シリアライズする必要がありません。
下記のようにして、Twelite.send()
を直接呼び出してください。
Twelite.send(command.u8DestinationLogicalId, command.u8CommandId,
command.u8Data, command.u16DataSize);
AppPalNoticeRGBWColor
AppPalNoticeDetailedCommand
で使用する点灯色(RGBW)を定義した構造体です。
AppPalNoticeDetailedCommandSerializer.h
データ
型 | 名称 | 内容 |
---|---|---|
uint8_t | red | R (0-15) |
uint8_t | green | G (0-15) |
uint8_t | blue | B (0-15) |
uint8_t | white | W (0-15) |
手続き
型と名称 | 内容 |
---|---|
bool isValid() | データが正常ならtrue を返す |
uint16_t u16() | LSB から RGBW の順に4ビットずつ並べた16ビット非不整数を返す |
列挙型
AppPalNoticeColor
uint8_t
ベースの enum class
?
AppPalNoticeCommand
で使用する点灯色を定義した列挙型です。
AppPalNoticeCommandSerializer.h
識別子 | 値 | 内容 |
---|---|---|
AppPalNoticeColor::RED | 0 | 赤 |
AppPalNoticeColor::GREEN | 1 | 緑 |
AppPalNoticeColor::BLUE | 2 | 青 |
AppPalNoticeColor::YELLOW | 3 | 黄色 |
AppPalNoticeColor::PURPLE | 4 | 紫 |
AppPalNoticeColor::LIGHT_BLUE | 5 | 水色 |
AppPalNoticeColor::WHITE | 6 | 白 |
AppPalNoticeColor::WARM_WHITE | 7 | 暖かい白 |
AppPalNoticeBlinkSpeed
uint8_t
ベースの enum class
AppPalNoticeCommand
で使用する点滅速度を定義した列挙型です。
AppPalNoticeCommandSerializer.h
識別子 | 値 | 内容 |
---|---|---|
AppPalNoticeBlinkSpeed::ALWAYS_ON | 0 | 常時点灯 |
AppPalNoticeBlinkSpeed::SLOW | 1 | おちついた点滅 |
AppPalNoticeBlinkSpeed::MEDIUM | 2 | ほどほどの点滅 |
AppPalNoticeBlinkSpeed::FAST | 3 | せわしない点滅 |
その他のデータ型
手続き
GetAppTweliteSerializedCommandPayloadSize()
constexpr
関数 ?
AppTweliteCommand
をシリアライズしたあとの固定長データのペイロードサイズを返す関数です。
型と名称 | 内容 |
---|---|
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 - クラスの一覧
1.1.2.1 - mwings::MWings クラス
mwings::MWings
クラスの解説です。Twelite
オブジェクトは、mwings::MWings
クラスのインスタンスです。mwings::MWings
クラスをスケッチ内でインスタンス化する必要はありません。自動的に初期化される Twelite
オブジェクトを使用してください。コンストラクタ
MWings()
コンストラクタです。内部変数を初期化します。
MWings()
引数
なし
デストラクタ
~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);
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
HardwareSerial& | serial | TWELITE と通信するポート | ||
int | indicatorPin | ステータスLEDを接続したピン | 🆗 | -1 で省略可 |
int | resetPin | TWELITE の RST ピン | 🆗 | -1 で省略可 |
int | programPin | TWELITE の PRGピン | 🆗 | -1 で省略可 |
uint8_t | channel | 周波数チャネル | 🆗 | 省略時は0x67720102 |
uint32_t | appId | アプリケーション ID | 🆗 | 省略時は18 |
uint8_t | retryCount | 再送回数 | 🆗 | 0-9 |
uint8_t | txPower | 送信出力 | 🆗 | 0-3 |
int | rxBufferSize | パケット受信バッファのサイズ | 🆗 | バイナリベース |
int | timeout | 各パケットのタイムアウト時間 | 🆗 | 受信完了まで |
HardwareSerial* | debugSerial | デバッグ出力ポート | 🆗 |
戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
end()
すべての内部変数を初期化します。
inline void end()
引数
なし
戻り値
なし
update()
シリアル受信バッファを読み出し、親機から送られた ModBus ASCII 形式のデータをパースします。
void update();
引数
なし
戻り値
なし
on()
<BarePacket
>
すべての子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const BarePacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(BarePacket&) | callback | イベントハンドラ |
BarePacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppTwelitePacket
>
超簡単!標準アプリの子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppTwelitePacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppTwelitePacket&) | callback | イベントハンドラ |
ParsedAppTwelitePacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppIoPacket
>
リモコンアプリの子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppIoPacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppIoPacket&) | callback | イベントハンドラ |
ParsedAppIoPacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppAriaPacket
>
アリアアプリ(TWELITE ARIA モード)の子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppAriaPacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppAriaPacket&) | callback | イベントハンドラ |
ParsedAppAriaPacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppCuePacket
>
キューアプリ(TWELITE CUE モード)の子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppCuePacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppCuePacket&) | callback | イベントハンドラ |
ParsedAppCuePacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppPalOpenClosePacket
>
パルアプリ(開閉センサーパル)の子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppPalOpenClosePacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppPalOpenClosePacket&) | callback | イベントハンドラ |
ParsedAppPalOpenClosePacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppPalAmbPacket
>
パルアプリ(環境センサーパル)の子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppPalAmbPacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppPalAmbPacket&) | callback | イベントハンドラ |
ParsedAppPalAmbPacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppPalMotPacket
>
パルアプリ(動作センサーパル)の子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppPalMotPacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppPalMotPacket&) | callback | イベントハンドラ |
ParsedAppPalMotPacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppUartAsciiPacket
>
シリアル通信アプリ(Aモード)の子機から送られたデータ(簡易形式)に対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppUartAsciiPacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppUartAsciiPacket&) | callback | イベントハンドラ |
ParsedAppUartAsciiPacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedAppUartAsciiExtendedPacket
>
シリアル通信アプリ(Aモード)の子機から送られたデータ(拡張形式)に対して行う処理を登録します。
inline void on(void (*callback)(const ParsedAppUartAsciiExtendedPacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedAppUartAsciiExtendedPacket&) | callback | イベントハンドラ |
ParsedAppUartAsciiExtendedPacket
の詳細は データと手続き をご覧ください。戻り値
なし
on()
<ParsedActPacket
>
act の子機から送られたデータに対して行う処理を登録します。
inline void on(void (*callback)(const ParsedActPacket& packet))
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
void (*)(ParsedActPacket&) | callback | イベントハンドラ |
ParsedActPacket
の詳細は データと手続き をご覧ください。戻り値
なし
send()
<uint8_t*, int, uint8_t
>
任意のコマンド(ModBus ASCII 形式)を親機に送信します。
inline bool send(const uint8_t* const payload,
const int payloadSize,
const uint8_t checksum)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
uint8_t* | payload | ペイロード | : と LRC の間 | |
int | payloadSize | ペイロードのサイズ | ||
uint8_t | checksum | チェックサム | ペイロードの LRC |
戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
send()
<uint8_t*, int
>
任意のコマンド(ModBus ASCII 形式)を親機に送信します(チェックサム自動付与)。
inline bool send(const uint8_t* const payload,
const int payloadSize)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
uint8_t* | payload | ペイロード | : と LRC の間 | |
int | payloadSize | ペイロードのサイズ |
戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
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)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
uint8_t | logicalId | 宛先の論理デバイス ID | ||
uint8_t | commandId | コマンド種別 | ||
uint8_t* | payload | ペイロード | : と LRC の間 | |
int | payloadSize | ペイロードのサイズ | ||
uint8_t | checksum | チェックサム | ペイロードの LRC |
戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
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)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
uint8_t | logicalId | 宛先の論理デバイス ID | ||
uint8_t | commandId | コマンド種別 | ||
uint8_t* | payload | ペイロード | : と LRC の間 | |
int | payloadSize | ペイロードのサイズ |
戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
send()
<AppTweliteCommand
>
超簡単!標準アプリの端末を操作するためのコマンドを親機に送信します。
inline bool send(AppTweliteCommand& command)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
AppTweliteCommand | command | コマンドデータ |
AppTweliteCommand
の詳細は データと手続き をご覧ください。戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
send()
<AppIoCommand
>
リモコンアプリの端末を操作するためのコマンドを親機に送信します。
inline bool send(AppIoCommand& command)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
AppIoCommand | command | コマンドデータ |
AppIoCommand
の詳細は データと手続き をご覧ください。戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
send()
<AppPalNoticeCommand
>
パルアプリ(通知パル)の端末を操作するためのコマンドを親機に送信します。
inline bool send(AppPalNoticeCommand& command)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
AppPalNoticeCommand | command | コマンドデータ |
AppPalNoticeCommand
の詳細は データと手続き をご覧ください。戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
send()
<AppPalNoticeDetailedCommand
>
パルアプリ(通知パル)の端末を操作するためのコマンド(詳細形式)を親機に送信します。
inline bool send(AppPalNoticeDetailedCommand& command)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
AppPalNoticeDetailedCommand | command | コマンドデータ |
AppPalNoticeDetailedCommand
の詳細は データと手続き をご覧ください。戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
send()
<AppPalNoticeEventCommand
>
パルアプリ(通知パル)の端末を操作するためのコマンド(イベント)を親機に送信します。
inline bool send(AppPalNoticeEventCommand& command)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
AppPalNoticeEventCommand | command | コマンドデータ |
AppPalNoticeEventCommand
の詳細は データと手続き をご覧ください。戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
send()
<AppPalUartAsciiCommand
>
シリアル通信アプリ(Aモード)の端末を操作するためのコマンド(簡易形式)を親機に送信します。
inline bool send(AppPalUartAsciiCommand& command)
引数
型 | 名称 | 内容 | 省略 | 備考 |
---|---|---|---|---|
AppPalUartAsciiCommand | command | コマンドデータ |
AppPalUartAsciiCommand
の詳細は データと手続き をご覧ください。戻り値
型 | 値 | 内容 | 備考 |
---|---|---|---|
bool | true | 成功 | |
false | エラー |
2 - TWELITE Wings API / MWings for Python
2.1 - TWELITE Wings API / MWings for Python
2.1.1 - mwings モジュール
mwings
直接利用することの多い、トップレベルのモジュールです。
Twelite
TWELITE のインタフェース
Twelite()
Twelite(port=None, rx_buffer_size=1024, timeout=100, tz=None, debugging=False)
引数
名称 | 型 | 内容 |
---|---|---|
port | optional str | シリアルポート名:None で無効 |
rx_buffer_size | int | 受信バッファのサイズ:バイト数 |
timeout | int | 受信パケット間のタイムアウト(ms) |
tz | optional tzinfo | 受信データへ適用するイムゾーン:None でUTC |
debugging | bool | デバッグ出力:True で有効 |
例外
IOError
シリアルポートが存在しないかビジー状態
add_listener()
@overload
add_listener(event, handler)
add_listener(event, handler)
受信ハンドラを登録します。
引数
名称 | 型 | 内容 |
---|---|---|
event | common.PacketType | 受信イベントの識別子 |
handler | Callable[[common.BarePacket], None] | 受信イベントのハンドラ(素のデータ) |
Callable[[common.SomeCallable], None] | 受信イベントのハンドラ(パースしたデータ) |
戻り値
なし
on()
on(event)
受信ハンドラを登録します(デコレータ版)。
引数
名称 | 型 | 内容 |
---|---|---|
event | common.PacketType | 受信イベント識別子 |
戻り値
型 | 値 | 内容 |
---|---|---|
Callable[[common.SomeCallable], common.SomeCallable] | - | デコレートされた関数 |
parse()
@overload
parse(character, use_lf=False)
parse(character, use_lf=False)
parse(character, use_lf=False)
与えられた受信データを解釈します。
引数
名称 | 型 | 内容 |
---|---|---|
character | str | 受信データの文字:長さ1の文字列 |
bytes | 受信データの文字:長さ1のバイト列 | |
int | 受信データの文字:ASCIIコード | |
use_lf | bool | 改行文字の種別:True のとき LF |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.PacketType | common.PacketType | 解釈したパケットの種別 |
None | 解釈したパケットなし |
例外
RuntimeError
シリアルポートを指定してしまっているValueError
不正な文字データを検出
parse_line()
parse_line(line, use_lf=True)
一行の文字列として表現された受信データを解釈します。
引数
名称 | 型 | 内容 |
---|---|---|
line | str | 受信データの文字列:一行の文字列 |
use_lf | bool | 改行文字の種別:True のとき LF |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.PacketType | common.PacketType | 解釈したパケットの種別 |
None | 解釈したパケットなし |
例外
RuntimeError
シリアルポートを指定してしまっている
receive()
receive()
シリアルポートに届いたデータを解釈します。一つのパケットの解釈が終わるまで待機します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
common.PacketType | - | 解釈したパケットの種別 |
例外
RuntimeError
シリアルポートを指定していない
run()
run()
受信を行うサブスレッドを走らせます。threading.Thread.run()
をオーバーライドしています。
start()
を使用すると自動的に呼び出されます。引数
なし
戻り値
なし
send()
@overload
send(data)
send(data)
シリアルポートからコマンドを送信します。
引数
名称 | 型 | 内容 |
---|---|---|
data | common.SomeCommand | 各種コマンドデータ |
common.BarePacket | 素のコマンドデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 成功 |
False | 失敗 |
例外
RuntimeError
シリアルポートを指定していない
set_timezone()
set_timezone(tz)
受信データへ適用するタイムゾーンを設定します。
引数
名称 | 型 | 内容 |
---|---|---|
tz | tzinfo | 任意のタイムゾーン:ZoneInfo |
None | UTC |
戻り値
なし
start()
start()
受信を行うサブスレッドを開始します。threading.Thread.start()
をオーバーライドしています。
引数
なし
戻り値
なし
例外
RuntimeError
シリアルポートを指定していない
stop()
stop()
受信を行うサブスレッドを終了します。残りの受信データに対するハンドラの呼び出しを終えるまで待機します。これには数秒かかる場合があります。
引数
なし
戻り値
なし
例外
RuntimeError
シリアルポートを指定していない
update()
update()
シリアルポートへ届いたデータを解釈します。受信バッファのすべてのデータを処理したら、すぐに処理を抜けます。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.PacketType | common.PacketType | 解釈したパケットの種別 |
None | 解釈したパケットなし |
例外
RuntimeError
シリアルポートを指定していない
timezone
@property
update()
戻り値
型 | 値 | 内容 |
---|---|---|
tzinfo | - | 受信データへ適用するタイムゾーン |
2.1.1.1 - mwings.common モジュール
mwings.common
ライブラリ全体で使用するデータや手続きを格納しています。
AccelEvent
加速度イベントの識別子
継承:
enum.IntEnum
DICE_1
サイコロ:1DICE_2
サイコロ:2DICE_3
サイコロ:3DICE_4
サイコロ:4DICE_5
サイコロ:5DICE_6
サイコロ:6SHAKE
シェイク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による点灯色のデータ
AppPalNoticeRGBWColor()
AppPalNoticeRGBWColor(*, red=0, green=0, blue=0, white=15)
引数
名称 | 型 | 内容 |
---|---|---|
red | common.UInt8 | 赤:0 -0xF |
green | common.UInt8 | 緑:0 -0xF |
blue | common.UInt8 | 青:0 -0xF |
white | common.UInt8 | 白:0 -0xF |
**
で unpack した辞書を渡すことができます。
u16()
u16()
RGBWの16ビット表現を取得します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
common.UInt16 | - | RGBWの16ビット表現 |
BarePacket
素のパケットデータ
BarePacket()
BarePacket(payload, checksum=None, logical_and_command_id=None)
引数
名称 | 型 | 内容 |
---|---|---|
payload | bytes | ペイロードのバイナリデータ |
checksum | optional common.UInt8 | LRC8:None で自動計算 |
logical_and_command_id | optional tuple(common.UInt8, common.UInt8) | 論理デバイスIDとコマンドID |
第3引数を指定する場合は、ペイロードの冒頭を省略します。
i16_at()
i16_at(index)
指定した位置の符号あり16ビット整数を取得します。
引数
名称 | 型 | 内容 |
---|---|---|
index | int | ペイロードにおける位置 |
戻り値
型 | 値 | 内容 |
---|---|---|
common.Int16 | - | 数値データ |
i32_at()
i32_at(index)
指定した位置の符号あり32ビット整数を取得します。
引数
名称 | 型 | 内容 |
---|---|---|
index | int | ペイロードにおける位置 |
戻り値
型 | 値 | 内容 |
---|---|---|
common.Int32 | - | 数値データ |
i8_at()
i8_at(index)
指定した位置の符号あり8ビット整数を取得します。
引数
名称 | 型 | 内容 |
---|---|---|
index | int | ペイロードにおける位置 |
戻り値
型 | 値 | 内容 |
---|---|---|
common.Int8 | - | 数値データ |
u16_at()
u16_at(index)
指定した位置の符号なし16ビット整数を取得します。
引数
名称 | 型 | 内容 |
---|---|---|
index | int | ペイロードにおける位置 |
戻り値
型 | 値 | 内容 |
---|---|---|
common.UInt16 | - | 数値データ |
u32_at()
u32_at(index)
指定した位置の符号なし32ビット整数を取得します。
引数
名称 | 型 | 内容 |
---|---|---|
index | int | ペイロードにおける位置 |
戻り値
型 | 値 | 内容 |
---|---|---|
common.UInt32 | - | 数値データ |
u8_at()
u8_at(index)
指定した位置の符号なし8ビット整数を取得します。
引数
名称 | 型 | 内容 |
---|---|---|
index | int | ペイロードにおける位置 |
戻り値
型 | 値 | 内容 |
---|---|---|
common.UInt8 | - | 数値データ |
u8_from()
u8_from(index)
指定した位置に続くバイト列を取得します。
引数
名称 | 型 | 内容 |
---|---|---|
index | int | ペイロードにおける先頭の位置 |
戻り値
型 | 値 | 内容 |
---|---|---|
optional bytes | bytes | 部分的なバイト列 |
None | 指定位置が無効 |
CommandBase
コマンドの抽象基底クラス
CommandBase()
CommandBase(*, destination_logical_id=120)
引数
名称 | 型 | 内容 |
---|---|---|
destination_logical_id | common.UInt8 | 送信先の論理デバイスID |
**
で unpack した辞書を渡すことができます。
is_valid()
is_valid()
コマンドデータが有効であるか否かを確認します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効 |
False | 無効 |
CommandSerializerBase
コマンドシリアライザの静的抽象基底クラス
継承:
ABC
serialize()
serialize(command)
与えられたコマンドを素のパケットのバイト列へ展開します。
引数
名称 | 型 | 内容 |
---|---|---|
command | common.SomeCommand | 何らかのコマンドデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.BarePacket | common.BarePacket | 展開したデータ |
None | 無効なコマンドデータである |
CrossSectional[T]
特定の時刻における横断的なデータ列を格納するためのタプルに相当するクラス
CrossSectional[T]()
CrossSectional[T](length, elements)
引数
名称 | 型 | 内容 |
---|---|---|
T | common.T | 要素の型 |
length | int | 要素の数 |
elements | Iterable[T] | 要素 |
例外
ValueError
要素の数が不正
DtypedDecimal
pandas の dtype
属性を保持する数値型のための抽象基底クラス
get_dtype()
get_dtype()
pandas の dtype
識別子を取得します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | dtype 識別子 |
FixedList[T]
固定長リストに相当するクラス
FixedList[T]()
FixedList[T](length, initial_elements)
引数
名称 | 型 | 内容 |
---|---|---|
T | common.T | 要素の型 |
length | int | 要素の数 |
initial_elements | Iterable[T] | 初期の要素 |
例外
ValueError
要素の数が不正
insert()
insert(index, value)
指定した位置へ要素を配置します。
引数
名称 | 型 | 内容 |
---|---|---|
index | int | 配置する位置 |
value | common.T | 配置する要素 |
戻り値
なし
例外
IndexError
位置が不正
FixedTuple[T]
固定長タプルに相当するクラス
継承:
Sequence[T]
FixedTuple[T]()
FixedTuple[T](length, elements)
引数
名称 | 型 | 内容 |
---|---|---|
T | common.T | 要素の型 |
length | int | 要素の数 |
elements | Iterable[T] | 要素 |
例外
ValueError
要素の数が不正
Float32
32ビット浮動小数点数を格納するクラス
継承:
float
,common.DtypedDecimal
Float32()
Float32(value=None)
引数
名称 | 型 | 内容 |
---|---|---|
value | optional float | 初期の値 |
例外
ValueError
範囲外の値
Float64
64ビット浮動小数点数を格納するクラス
継承:
float
,common.DtypedDecimal
Float64()
Float64(value=None)
引数
名称 | 型 | 内容 |
---|---|---|
value | optional float | 初期の値 |
例外
ValueError
範囲外の値
Int16
16ビット整数を格納するクラス
継承:
int
,common.DtypedDecimal
Int16()
Int16(value=None)
引数
名称 | 型 | 内容 |
---|---|---|
value | optional int | 初期の値 |
例外
ValueError
範囲外の値
hex()
hex()
16進数表記の文字列を取得します。
Python 組み込み関数の hex()
は int
のサブクラスを受け付けません。float
に対する組み込みメソッド hex()
と同じように扱えるようにしています。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 16進数表記の文字列(小文字) |
Int32
32ビット整数を格納するクラス
継承:
int
,common.DtypedDecimal
Int32()
Int32(value=None)
引数
名称 | 型 | 内容 |
---|---|---|
value | optional int | 初期の値 |
例外
ValueError
範囲外の値
hex()
hex()
16進数表記の文字列を取得します。
Python 組み込み関数の hex()
は int
のサブクラスを受け付けません。float
に対する組み込みメソッド hex()
と同じように扱えるようにしています。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 16進数表記の文字列(小文字) |
Int8
8ビット整数を格納するクラス
継承:
int
,common.DtypedDecimal
Int8()
Int8(value=None)
引数
名称 | 型 | 内容 |
---|---|---|
value | optional 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_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.ParsedPacketBase | common.ParsedPacketBase を基底クラスにもつデータ | パースしたデータ |
None | パース不可 |
PacketType
パケット種別の識別子
継承:
enum.StrEnum
BARE
素のパケット(未パース)ACT
actAPP_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
パース済みパケットの抽象基底クラス
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 電源電圧(mV) |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
mwingslite
の場合、pandas
が導入されていない場合はEnvironmentError
を発します。引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
spread
を設定すると、common.CrossSectional[T]
型のデータを分割します。例えば、超簡単!標準アプリのdi_state[4]
をdi_state_1
/di_state_2
/di_state_3
/di_state_4
へ分割します。common.TimeSeries[T]
型の時系列データは分割しません。戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
spread
を設定すると、common.CrossSectional[T]
型のデータを分割します。例えば、超簡単!標準アプリのdi_state[4]
をdi_state_1
/di_state_2
/di_state_3
/di_state_4
へ分割します。common.TimeSeries[T]
型の時系列データは分割しません。戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
SomeCallable
TypeVar("SomeCallable", bound=Callable[..., Any])
各種ハンドラを表す型
SomeCommand
TypeVar(‘SomeCommand’, bound=CommandBase)
各種コマンドデータを表す型
SomeParsedPacket
TypeVar(‘SomeParsedPacket’, bound=ParsedPacketBase)
各種パケットデータを表す型
T
TypeVar("T")
ジェネリクスで利用する型
TimeSeries[T]
時系列データを格納するためのタプルに相当するクラス
TimeSeries[T]()
TimeSeries[T](length, elements)
引数
名称 | 型 | 内容 |
---|---|---|
T | common.T | 要素の型 |
length | int | 要素の数 |
elements | Iterable[T] | 要素 |
例外
ValueError
要素の数が不正
Timezone
全体へ適用するtzinfo
UInt16
16ビット非不整数を格納するクラス
継承:
int
,common.DtypedDecimal
UInt16()
UInt16(value=None)
引数
名称 | 型 | 内容 |
---|---|---|
value | optional int | 初期の値 |
例外
ValueError
範囲外の値
hex()
hex()
16進数表記の文字列を取得します。
Python 組み込み関数の hex()
は int
のサブクラスを受け付けません。float
に対する組み込みメソッド hex()
と同じように扱えるようにしています。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 16進数表記の文字列(小文字) |
UInt32
32ビット非不整数を格納するクラス
継承:
int
,common.DtypedDecimal
UInt32()
UInt32(value=None)
引数
名称 | 型 | 内容 |
---|---|---|
value | optional int | 初期の値 |
例外
ValueError
範囲外の値
hex()
hex()
16進数表記の文字列を取得します。
Python 組み込み関数の hex()
は int
のサブクラスを受け付けません。float
に対する組み込みメソッド hex()
と同じように扱えるようにしています。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 16進数表記の文字列(小文字) |
UInt8
8ビット非不整数を格納するクラス
継承:
int
,common.DtypedDecimal
UInt8()
UInt8(value=None)
引数
名称 | 型 | 内容 |
---|---|---|
value | optional 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
超簡単!標準アプリから送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
超簡単!標準アプリから送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
超簡単!標準アプリから送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 電源電圧(mV) |
destination_logical_id | common.UInt8 | 送信先の論理デバイスID |
relay_count | common.UInt8 | 中継回数 |
periodic | bool | 定期送信か否か |
di_changed | common.CrossSectional[bool](4) | デジタルインタフェースの変化の有無 |
di_state | common.CrossSectional[bool](4) | デジタルインタフェースの状態 |
ai_voltage | common.CrossSectional[common.UInt16](4) | アナログインタフェースの電圧 |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
ai_voltage
:値の範囲を自動的に検証しますcheck_ai_voltage(aiv)
destination_logical_id
:値の範囲を自動的に検証しますcheck_destination_logical_id(lid)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
spread
を設定すると、common.CrossSectional[T]
型のデータを分割します。戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
spread
を設定すると、common.CrossSectional[T]
型のデータを分割します。戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.2 - mwings.parsers.app_io モジュール
mwings.parsers.app_io
リモコンアプリから送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
リモコンアプリから送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
リモコンアプリから送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | ADCを使わないため常にNone |
relay_count | common.UInt8 | 中継回数 |
di_changed | common.CrossSectional[bool](12) | デジタルインタフェースの変化の有無 |
di_state | common.CrossSectional[bool](12) | デジタルインタフェースの状態 |
di_interrupt | common.CrossSectional[bool](12) | デジタルインタフェースの割り込みの有無 |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
spread
を設定すると、common.CrossSectional[T]
型のデータを分割します。戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
spread
を設定すると、common.CrossSectional[T]
型のデータを分割します。戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.3 - mwings.parsers.app_aria モジュール
mwings.parsers.app_aria
アリアアプリから送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
アリアアプリから送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
アリアアプリから送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 電源電圧(mV) |
temp_100x | common.Int16 | 100倍された温度(セ氏) |
humid_100x | common.UInt16 | 100倍された相対湿度 |
magnet_state | common.MagnetState | 磁石の状態 |
magnet_state_changed | bool | 磁石の状態の変化の有無 |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
magnet_state
:列挙子の名前をそのままJSON等に適用しますserialize_magnet_state(magnet_state)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.4 - mwings.parsers.app_cue モジュール
mwings.parsers.app_cue
キューアプリ(TWELITE CUEモード)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
キューアプリ(TWELITE CUEモード)から送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
キューアプリ(TWELITE CUEモード)から送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 電源電圧(mV) |
sample_count | common.UInt8 | 各軸の加速度サンプルの数 |
samples_x | common.TimeSeries[common.Int16] | X軸の加速度サンプル |
samples_y | common.TimeSeries[common.Int16] | Y軸の加速度サンプル |
samples_z | common.TimeSeries[common.Int16] | Z軸の加速度サンプル |
has_accel_event | bool | 加速度イベントの有無 |
accel_event | common.AccelEvent | 加速度イベント |
magnet_state | common.MagnetState | 磁石の状態 |
magnet_state_changed | bool | 磁石の状態の変化の有無 |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
accel_event
:列挙子の名前をそのままJSON等に適用しますserialize_accel_event(accel_event)
magnet_state
:列挙子の名前をそのままJSON等に適用しますserialize_magnet_state(magnet_state)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
spread
を設定しても、common.TimeSeries[T]
型の時系列データは分割しません。戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
spread
を設定しても、common.TimeSeries[T]
型の時系列データは分割しません。戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.5 - mwings.parsers.app_cue_pal_event モジュール
mwings.parsers.app_cue_pal_event
キューアプリ(動作パルモード:ダイス/ムーブモード)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
キューアプリ(動作パルモード:ダイス/ムーブモード)から送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
キューアプリ(動作パルモード:ダイス/ムーブモード)から送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 電源電圧(mV) |
ai1_voltage | common.UInt16 | AI1 の電圧(mV) |
accel_event | common.AccelEvent | 加速度イベント |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
accel_event
:列挙子の名前をそのままJSON等に適用しますserialize_accel_event(accel_event)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.6 - mwings.parsers.app_pal_openclose モジュール
mwings.parsers.app_pal_openclose
パルアプリ(開閉パル)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
パルアプリ(開閉パル)から送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
パルアプリ(開閉パル)から送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 電源電圧(mV) |
ai1_voltage | common.UInt16 | AI1 の電圧(mV) |
magnet_state | common.MagnetState | 磁石の状態 |
magnet_state_changed | bool | 磁石の状態の変化の有無 |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
magnet_state
:列挙子の名前をそのままJSON等に適用しますserialize_magnet_state(magnet_state)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.7 - mwings.parsers.app_pal_amb モジュール
mwings.parsers.app_pal_amb
パルアプリ(環境パル)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
パルアプリ(環境パル)から送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
パルアプリ(環境パル)から送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 電源電圧(mV) |
ai1_voltage | common.UInt16 | AI1 の電圧(mV) |
temp_100x | common.Int16 | 100倍された温度(セ氏) |
humid_100x | common.UInt16 | 100倍された相対湿度 |
illuminance | common.UInt32 | 照度(lx) |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.8 - mwings.parsers.app_pal_mot モジュール
mwings.parsers.app_pal_mot
パルアプリ(動作パル)やキューアプリ(動作パルモード:加速度計測)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
パルアプリ(動作パル)やキューアプリ(動作パルモード:加速度計測)から送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
パルアプリ(動作パル)やキューアプリ(動作パルモード:加速度計測)から送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | シーケンス番号 |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 電源電圧(mV) |
ai1_voltage | common.UInt16 | AI1 の電圧(mV) |
sample_count | common.UInt8 | 各軸の加速度サンプルの数 |
samples_x | common.TimeSeries[common.Int16] | X軸の加速度サンプル |
samples_y | common.TimeSeries[common.Int16] | Y軸の加速度サンプル |
samples_z | common.TimeSeries[common.Int16] | Z軸の加速度サンプル |
sampling_frequency | common.UInt16 | 加速度サンプリング周波数 |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
sampling_frequency
:値を検証しますcheck_sampling_frequency(freq)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
spread
を設定しても、common.TimeSeries[T]
型の時系列データは分割しません。戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
spread
を設定しても、common.TimeSeries[T]
型の時系列データは分割しません。戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.9 - mwings.parsers.app_uart_ascii モジュール
mwings.parsers.app_uart_ascii
シリアル通信アプリ(書式モード:簡易形式)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
シリアル通信アプリ(書式モード:簡易形式)から送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
シリアル通信アプリ(書式モード:簡易形式)から送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | 取得不可、常にNone |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 取得不可、常にNone |
supply_voltage | optional common.UInt16 | 取得不可、常にNone |
commnad_id | common.UInt8 | コマンドID |
data | bytes | データ |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
data_base64 | str | データのBase64表記 |
data_hexstr | str | データの16進数表記 |
data
はJSON等に含まれません。data_base64
やdata_hexstr
を利用してください。適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
sampling_frequency
:値を検証しますcheck_sampling_frequency(freq)
data
:長さを自動的に検証しますcheck_data(data)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
- ``
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.10 - mwings.parsers.app_uart_ascii_extended モジュール
mwings.parsers.app_uart_ascii_extended
シリアル通信アプリ(書式モード:拡張形式)から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
シリアル通信アプリ(書式モード:拡張形式)から送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
シリアル通信アプリ(書式モード:拡張形式)から送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | 取得不可、常にNone |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 取得不可、常にNone |
destination_serial_id | common.UInt32 | 送信先のシリアルID |
commnad_id | common.UInt8 | コマンドID |
data | bytes | データ |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
data_base64 | str | データのBase64表記 |
data_hexstr | str | データの16進数表記 |
data
はJSON等に含まれません。data_base64
やdata_hexstr
を利用してください。適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
sampling_frequency
:値を検証しますcheck_sampling_frequency(freq)
data
:長さを自動的に検証しますcheck_data(data)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
- ``
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.2.11 - mwings.parsers.act モジュール
mwings.parsers.act
act から送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。
PacketParser
act から送信されたデータを表すパケットを解釈するパーサの静的クラス
is_valid()
is_valid(bare_packet)
与えられた素のパケットが有効であるか否かを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効、パース可 |
False | 無効、パース不可 |
parse()
parse(bare_packet)
与えられた素のパケットをパースします。
引数
名称 | 型 | 内容 |
---|---|---|
bare_packet | common.BarePacket | 素のパケットデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional ParsedPacket | ParsedPacket の型をもつデータ | パースしたデータ |
None | パース不可 |
ParsedPacket
act から送信されたデータを表すパケットを解釈した結果を格納するための構造体
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_parsed | optional AwareDatetime | パース時刻 |
packet_type | common.PacketType | パケット種別 |
sequence_number | optional common.UInt16 | 取得不可、常にNone |
source_serial_id | common.UInt32 | 送信元のシリアルID |
source_logical_id | common.UInt8 | 送信元の論理デバイスID |
lqi | optional common.UInt8 | 電波通信品質 |
supply_voltage | optional common.UInt16 | 取得不可、常にNone |
commnad_id | common.UInt8 | コマンドID |
data | bytes | データ |
**
で unpack した辞書を渡すことができます。
コンストラクタの引数へ指定する変数に加えて、次の @computed_field
を持ちます。
名称 | 型 | 内容 |
---|---|---|
mwings_implementation | str | MWings の実装("python" のみ) |
mwings_version | str | MWings のバージョン(PEP440形式) |
hostname | str | ホストマシン名 |
system_type | str | システム種別("Linux" など) |
data_base64 | str | データのBase64表記 |
data_hexstr | str | データの16進数表記 |
data
はJSON等に含まれません。data_base64
やdata_hexstr
を利用してください。適用される field_validator
source_logical_id
:値の範囲を自動的に検証しますcheck_source_logical_id(lid)
time_parsed
:タイムゾーンが付与されているかを自動的に検証しますdatetime_must_be_clear(dt)
sampling_frequency
:値を検証しますcheck_sampling_frequency(freq)
適用される field_serializer
packet_type
:列挙子の名前をそのままJSON等に適用しますserialize_packet_type(packet_type)
source_serial_id
:16進表記の文字列をJSON等に適用しますserialize_source_serial_id(source_serial_id)
time_parsed
:ISO 8601形式の文字列をJSON等に適用しますserialize_time_parsed(dt)
- ``
to_df()
to_df(include=None, exclude=None, verbose=True)
パースしたデータを pandas のデータフレーム形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | データフレームへ含めるカラム(メンバ)の集合 |
exclude | optional set[str] | データフレームへ含めないカラム(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
戻り値
型 | 値 | 内容 |
---|---|---|
pd.DataFrame | - | 変換したデータフレーム |
例外
EnvironmentError
pandas のない場合
to_dict()
to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)
パースしたデータを辞書形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | 辞書へ含めるキー(メンバ)の集合 |
exclude | optional set[str] | 辞書へ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
dict[str, Any] | - | 変換した辞書 |
to_json()
to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)
パースしたデータをJSON形式へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
include | optional set[str] | JSONへ含めるキー(メンバ)の集合 |
exclude | optional set[str] | JSONへ含めないキー(メンバ)の集合 |
verbose | bool | システム情報の有無(他の引数がNone の場合のみ) |
spread | bool | 時系列でないlist-likeデータの分割の有無 |
indent | optional int | インデントの数(None で改行なし) |
sort_keys | bool | キーによるソートの有無 |
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 変換したJSON文字列 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.3 - mwings.serializers モジュール
mwings.serializers
2.1.1.3.1 - mwings.serializers.app_twelite モジュール
mwings.serializers.app_twelite
超簡単!標準アプリへ送信するパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。
CommandSerializer
超簡単!標準アプリへ送信するパケットを表すコマンドを生成するシリアライザの静的クラス
serialize()
serialize(command)
与えられたコマンドを素のパケットのバイト列へ展開します。
引数
名称 | 型 | 内容 |
---|---|---|
command | Command | コマンドデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.BarePacket | common.BarePacket | 展開したデータ |
None | 無効なコマンドデータである |
Command
超簡単!標準アプリへ送信するパケットを表すコマンドを生成する際に用意するデータを格納するための構造体
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_id | common.UInt8 | 送信先の論理デバイスID |
di_to_change | common.FixedList[bool](4) | 変更するデジタルインタフェース |
di_state | common.FixedList[bool](4) | 変更後のデジタルインタフェースの状態 |
pwm_to_change | common.FixedList[bool](4) | 変更する PWM インタフェース |
pwm_duty | common.FixedList[int](4) | 変更後の PWM インタフェースのデューティ |
**
で unpack した辞書を渡すことができます。
pwm_to_change
の値は、0
-1024
の範囲を指定します。0xFFFF
指定時は無効となります。is_valid()
is_valid()
コマンドデータが有効であるか否かを確認します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効 |
False | 無効 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.3.2 - mwings.serializers.app_io モジュール
mwings.serializers.app_io
リモコンアプリへ送信するパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。
CommandSerializer
リモコンアプリへ送信するパケットを表すコマンドを生成するシリアライザの静的クラス
serialize()
serialize(command)
与えられたコマンドを素のパケットのバイト列へ展開します。
引数
名称 | 型 | 内容 |
---|---|---|
command | Command | コマンドデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.BarePacket | common.BarePacket | 展開したデータ |
None | 無効なコマンドデータである |
Command
リモコンアプリへ送信するパケットを表すコマンドを生成する際に用意するデータを格納するための構造体
Command()
Command(*, destination_logical_id=120, di_to_change=<mwings.common.FixedList object>, di_state=<mwings.common.FixedList object>)
引数
名称 | 型 | 内容 |
---|---|---|
destination_logical_id | common.UInt8 | 送信先の論理デバイスID |
di_to_change | common.FixedList[bool](12) | 変更するデジタルインタフェース |
di_state | common.FixedList[bool](12) | 変更後のデジタルインタフェースの状態 |
**
で unpack した辞書を渡すことができます。
is_valid()
is_valid()
コマンドデータが有効であるか否かを確認します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効 |
False | 無効 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.3.3 - mwings.serializers.app_pal_notice モジュール
mwings.serializers.app_pal_notice
パルアプリ(通知パル)へ送信するパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。
CommandSerializer
パルアプリ(通知パル)へ送信するパケットを表すコマンドを生成するシリアライザの静的クラス
serialize()
serialize(command)
与えられたコマンドを素のパケットのバイト列へ展開します。
引数
名称 | 型 | 内容 |
---|---|---|
command | Command | コマンドデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.BarePacket | common.BarePacket | 展開したデータ |
None | 無効なコマンドデータである |
Command
パルアプリ(通知パル)へ送信するパケットを表すコマンドを生成する際に用意するデータを格納するための構造体
Command()
Command(*, destination_logical_id=120, color=AppPalNoticeColor.WHITE, blink_speed=AppPalNoticeBlinkSpeed.ALWAYS_ON, brightness=8, duration_in_sec=5)
引数
名称 | 型 | 内容 |
---|---|---|
destination_logical_id | common.UInt8 | 送信先の論理デバイスID |
color | common.AppPalNoticeColor | 点灯色の名称 |
blink_speed | common.AppPalNoticeBlinkSpeed | 点滅の速度 |
brightness | common.UInt8 | 明るさ |
duration_in_sec | common.UInt8 | 点灯(点滅)の合計時間(秒) |
**
で unpack した辞書を渡すことができます。
is_valid()
is_valid()
コマンドデータが有効であるか否かを確認します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効 |
False | 無効 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.3.4 - mwings.serializers.app_pal_notice_detailed モジュール
mwings.serializers.app_pal_notice_detailed
パルアプリ(通知パル)へ送信する詳細なパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。
CommandSerializer
パルアプリ(通知パル)へ送信する詳細なパケットを表すコマンドを生成するシリアライザの静的クラス
serialize()
serialize(command)
与えられたコマンドを素のパケットのバイト列へ展開します。
引数
名称 | 型 | 内容 |
---|---|---|
command | Command | コマンドデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.BarePacket | common.BarePacket | 展開したデータ |
None | 無効なコマンドデータである |
Command
パルアプリ(通知パル)へ送信する詳細なパケットを表すコマンドを生成する際に用意するデータを格納するための構造体
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_id | common.UInt8 | 送信先の論理デバイスID |
color | common.AppPalNoticeRGBWColor | 点灯色のRGBW値 |
blink_duty_percentage | common.UInt8 | 点灯時間の割合(%) |
blink_period_in_sec | common.Float64 | 点滅の周期(秒) |
duration_in_sec | common.UInt8 | 点灯(点滅)の合計時間 |
**
で unpack した辞書を渡すことができます。
is_valid()
is_valid()
コマンドデータが有効であるか否かを確認します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効 |
False | 無効 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.3.5 - mwings.serializers.app_pal_notice_event モジュール
mwings.serializers.app_pal_notice_event
パルアプリ(通知パル)へ送信するイベントデータのパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。
CommandSerializer
パルアプリ(通知パル)へ送信するイベントデータのパケットを表すコマンドを生成するシリアライザの静的クラス
serialize()
serialize(command)
与えられたコマンドを素のパケットのバイト列へ展開します。
引数
名称 | 型 | 内容 |
---|---|---|
command | Command | コマンドデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.BarePacket | common.BarePacket | 展開したデータ |
None | 無効なコマンドデータである |
Command
パルアプリ(通知パル)へ送信するイベントデータのパケットを表すコマンドを生成する際に用意するデータを格納するための構造体
Command()
Command(*, destination_logical_id=120, event_id=0)
引数
名称 | 型 | 内容 |
---|---|---|
destination_logical_id | common.UInt8 | 送信先の論理デバイスID |
event_id | common.UInt8 | イベントID |
**
で unpack した辞書を渡すことができます。
is_valid()
is_valid()
コマンドデータが有効であるか否かを確認します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効 |
False | 無効 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.3.6 - mwings.serializers.app_uart_ascii モジュール
mwings.serializers.app_uart_ascii
シリアル通信アプリへ送信するデータ(書式モード:簡易形式)のパケットを表すコマンドを生成するシリアライザと、そのデータを扱います。
CommandSerializer
シリアル通信アプリへ送信するデータ(書式モード:簡易形式)のパケットを表すコマンドを生成するシリアライザの静的クラス
serialize()
serialize(command)
与えられたコマンドを素のパケットのバイト列へ展開します。
引数
名称 | 型 | 内容 |
---|---|---|
command | Command | コマンドデータ |
戻り値
型 | 値 | 内容 |
---|---|---|
optional common.BarePacket | common.BarePacket | 展開したデータ |
None | 無効なコマンドデータである |
Command
シリアル通信アプリへ送信するデータ(書式モード:簡易形式)のパケットを表すコマンドを生成する際に用意するデータを格納するための構造体
Command()
Command(*, destination_logical_id=120, command_id=0, data)
引数
名称 | 型 | 内容 |
---|---|---|
destination_logical_id | common.UInt8 | 送信先の論理デバイスID |
command_id | common.UInt8 | コマンドID |
data | bytes | データ |
**
で unpack した辞書を渡すことができます。
is_valid()
is_valid()
コマンドデータが有効であるか否かを確認します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 有効 |
False | 無効 |
model_*()
pydantic.BaseModel
の各メソッドを利用できます。2.1.1.4 - mwings.utils モジュール
mwings.utils
汎用的なユーティリティ関数を格納しています。
ask_user()
ask_user(prompt, regex, on_error, ex_verifier=None, max_attempts=None)
コンソールでユーザからの入力を得ます。
引数
名称 | 型 | 内容 |
---|---|---|
prompt | str | プロンプトへ表示するメッセージ |
regex | str | ユーザの入力を検証する正規表現 |
on_error | str | ユーザの入力が不正であった場合のメッセージ |
ex_verifier | optional Callable[[str], bool] | 正規表現に加えて入力文字列を検証する関数 |
max_attempts | optional int | リトライ回数。None なら無限 |
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 検証済みのユーザによる入力文字列 |
ask_user_for_port()
ask_user_for_port()
ユーザへ使用するポートを選択させます。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
str | - | 指定されたポート名 |
byte_count_from()
byte_count_from(character_count)
アスキー文字列で表現されたバイト列の長さをバイナリ表現の長さへ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
character_count | int | アスキー表現のバイト列の長さ |
戻り値
型 | 値 | 内容 |
---|---|---|
int | - | バイナリ表現のバイト列の長さ |
character_from()
character_from(hexvalue)
0x0
-0xF
の数値を16進数表記の文字へ変換します。
引数
名称 | 型 | 内容 |
---|---|---|
hexvalue | int | 数値 |
戻り値
型 | 値 | 内容 |
---|---|---|
int | - | 文字のアスキーコード |
find_ascii()
find_ascii(port, data, timeout, debugging=False)
指定されたアスキー文字列の受信を待機します。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
data | str | アスキー文字列 |
timeout | int | タイムアウト(秒) |
debuggign | bool | デバッグ出力 |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 受信を確認 |
bool | False | 受信を確認できず |
find_binary()
find_binary(port, data, timeout, debugging=False)
指定されたバイト列の受信を待機します。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
data | str | バイト列 |
with_terminal | bool | 終端データ使用の有無 |
terminal | int | 終端として扱うデータ |
timeout | int | タイムアウト(秒) |
debuggign | bool | デバッグ出力 |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 受信を確認 |
bool | False | 受信を確認できず |
flush_rx_buffer()
flush_rx_buffer(port)
受信バッファをクリアします。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
戻り値
なし
flush_tx_buffer()
flush_tx_buffer(port)
送信バッファをクリアします。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
戻り値
なし
get_ports()
get_ports()
使用できるシリアルポートの一覧を取得します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
list[str] | - | ポート名のリスト |
hex_from()
hex_from(character)
16進数を表すアスキー文字を数値へ変換します。0
-9
,A
-F
以外の数値を入力した場合の値は不定です。
引数
名称 | 型 | 内容 |
---|---|---|
character | int | 文字のアスキーコード |
戻り値
型 | 値 | 内容 |
---|---|---|
int | - | 数値 |
is_initialized()
is_initialized(port)
シリアルポートが初期化されているかどうかを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 初期化済み |
False | 未初期化 |
is_readable()
is_readable(port)
シリアルポートからデータを取得できるかどうかを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 受信バッファにデータあり |
False | 受信不可 |
is_there_some_ports()
is_there_some_ports()
使用できるシリアルポートが存在するかどうかを確認します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | シリアルポートあり |
False | なし |
is_writable()
is_writable(port)
シリアルポートへデータを送信できるかどうかを確認します。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
戻り値
型 | 値 | 内容 |
---|---|---|
bool | True | 送信可 |
False | 送信不可 |
lrc8()
lrc8(data)
8ビットのLRCを計算します。
引数
名称 | 型 | 内容 |
---|---|---|
data | bytes | 計算対象のバイト列 |
戻り値
型 | 値 | 内容 |
---|---|---|
int | - | LRC8 |
millis()
millis()
現在のシステム時間をミリ秒単位で取得します。
引数
なし
戻り値
型 | 値 | 内容 |
---|---|---|
int | - | システム時間 |
open_on_system()
open_on_system(path)
指定されたパスのファイルをシステムの既定のアプリケーションで開きます。
引数
名称 | 型 | 内容 |
---|---|---|
path | Path | ファイルパス |
戻り値
なし
write_binary()
write_binary(port, data)
バイト列をシリアルポートへ送信します。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
data | int | 送信するデータ |
bytes | 送信するデータ列 |
戻り値
なし
write_in_ascii()
write_in_ascii(port, data)
アスキー表現のバイト列をシリアルポートへ送信します。
引数
名称 | 型 | 内容 |
---|---|---|
port | serial.Serial | シリアルポート |
data | int | 送信する文字 |
bytes | 送信する文字列 |
戻り値
なし