Skip to main content

STM32向けシリアル通信ターミナル。ST-Link自動検出・リアルタイムCSVグラフ化・ROS2対応。

Project description

STTerm

STM32のマイコンとのシリアル通信用のターミナルソフト!! 自動で接続されているSTM32を検出して通信を開始します!! CSV形式で送られてくる数値をリアルタイムでグラフ化もできます!! テラタームより便利!! Mac、Windows、Linuxに対応!!(多分!!Macは動作確認してない!!) ROS2環境がある場合、シリアル通信の他にROS2の通信もできます!! ROS2のトピックをリアルタイムで表示し、こちらもお手軽にグラフ化できます!!

セットアップ

このプロジェクトは uv というPythonのパッケージマネージャを用いて依存関係を管理しています。

1. uv のインストール

uvをインストールしていない場合は次のコマンドでインストールしてください。

  • Linux / macOS:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • Windows (PowerShell):
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    

2. 依存関係のインストール

リポジトリをクローンしてきたら、ルートディレクトリで以下のコマンドを実行してください。 依存関係をuvが解決します。

uv sync

3. コマンドとして登録する

どこからでも stterm と打つだけで起動できるように、設定ファイルに追記します。

  • Linux (~/.bashrc) / macOS (~/.zshrc):
    function stterm() {
        (STTERM_CWD="$(pwd)" cd "{このスクリプトがあるディレクトリ}" && uv run python stterm.py "$@")
    }
    
  • Windows (PowerShell: $PROFILE): notepad $PROFILE で開き、以下を追記します。
      function stterm {
          # カレントディレクトリを一時的に変更して実行する(実行後に元の場所に戻る)
          $env:STTERM_CWD = (Get-Location).Path
          Push-Location "C:\path\to\your\directory"
          try {
              uv run python stterm.py $args
          }
          finally {
              Pop-Location
              Remove-Item Env:\STTERM_CWD -ErrorAction SilentlyContinue
          }
      }
    

使い方

登録したコマンドを実行します。

stterm

起動すると自動でST-Linkを探して接続されます。 文字を入力してEnterを押すとマイコンに送信され、マイコンからのメッセージはターミナルに表示されます。

オプション

stterm
  -p <port>     : シリアルポートを指定する。指定しない場合は自動で探索する。
  -b <baudrate> : ボーレートを指定する(デフォルト:115200)
  -e <ending>   : 送信時の改行コードを指定する(lf or crlf or none)(デフォルト:lf)
  --plot term   : ターミナル上にグラフを表示する(デフォルト:なし)
  --plot gui    : matplotlibのウィンドウでグラフを表示する(デフォルト:なし)
  --plot-type line : 折れ線グラフを表示する(デフォルト:line)
  --plot-type bar  : 棒グラフを表示する
  --ymin <ymin> : グラフの最小値を固定する(デフォルト:自動調整)
  --ymax <ymax> : グラフの最大値を指定する(デフォルト:自動調整)
  --source-code : ソースコードを表示する
  --help        : ヘルプを表示する

グラフ描画モードでは送られてくるメッセージをcsvとして解釈し、グラフを表示する

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kikaiken_stterm-1.3.0.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kikaiken_stterm-1.3.0-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file kikaiken_stterm-1.3.0.tar.gz.

File metadata

  • Download URL: kikaiken_stterm-1.3.0.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kikaiken_stterm-1.3.0.tar.gz
Algorithm Hash digest
SHA256 b0a8f053f6958c48eacf43f78177a63d099e788b15a90332cd620fa2bf8820c7
MD5 9424b593e5070c42f4d35f71b487aa18
BLAKE2b-256 ad846d5f7a0c3f7bd594d4f15219e03a1a63a5d4a899d10196a4d12e9f441b83

See more details on using hashes here.

File details

Details for the file kikaiken_stterm-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: kikaiken_stterm-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kikaiken_stterm-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f38ad65ac49753c62a7a57acdd3d1ba4004403224769a7b1635b59b6931cc17b
MD5 b173042a4c9a2854069f80b6321a56c5
BLAKE2b-256 736b1b0fcee26b5666810b6012b52e07cea1a425cfff97a6d792c8e1becf8837

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page