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

もとのページに戻る

2024-05-17 現在

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

    戻り値

    なし