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

もとのページに戻る

2024-05-17 現在

TWELITE Wings API / MWings for Python

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

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-受信データへ適用するタイムゾーン

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進数表記の文字列(小文字)

1.2 - mwings.parsers モジュール

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

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_*()

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_*()

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_*()

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_*()

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_*()

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_*()

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_*()

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_*()

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_*()

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_*()

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_*()

1.3 - mwings.serializers モジュール

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

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_*()

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_*()

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_*()

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_*()

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_*()

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_*()

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送信する文字列

戻り値

なし