/

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