セクションの複数ページをまとめています。 印刷またはPDF形式で保存...
TWELITE Wings API / MWings for Python
- 1: TWELITE Wings API / MWings for Python
- 1.1: mwings モジュール
- 1.1.1: mwings.common モジュール
- 1.1.2: mwings.parsers モジュール
- 1.1.2.1: mwings.parsers.app_twelite モジュール
- 1.1.2.2: mwings.parsers.app_io モジュール
- 1.1.2.3: mwings.parsers.app_aria モジュール
- 1.1.2.4: mwings.parsers.app_cue モジュール
- 1.1.2.5: mwings.parsers.app_cue_pal_event モジュール
- 1.1.2.6: mwings.parsers.app_pal_openclose モジュール
- 1.1.2.7: mwings.parsers.app_pal_amb モジュール
- 1.1.2.8: mwings.parsers.app_pal_mot モジュール
- 1.1.2.9: mwings.parsers.app_uart_ascii モジュール
- 1.1.2.10: mwings.parsers.app_uart_ascii_extended モジュール
- 1.1.2.11: mwings.parsers.act モジュール
- 1.1.3: mwings.serializers モジュール
- 1.1.3.1: mwings.serializers.app_twelite モジュール
- 1.1.3.2: mwings.serializers.app_io モジュール
- 1.1.3.3: mwings.serializers.app_pal_notice モジュール
- 1.1.3.4: mwings.serializers.app_pal_notice_detailed モジュール
- 1.1.3.5: mwings.serializers.app_pal_notice_event モジュール
- 1.1.3.6: mwings.serializers.app_uart_ascii モジュール
- 1.1.4: mwings.utils モジュール
1 - TWELITE Wings API / MWings for Python
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 | - | 受信データへ適用するタイムゾーン |
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進数表記の文字列(小文字) |
1.1.2 - mwings.parsers モジュール
mwings.parsers
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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。1.1.3 - mwings.serializers モジュール
mwings.serializers
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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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
の各メソッドを利用できます。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 | 送信する文字列 |
戻り値
なし