v1.1.0 (2025-10-27)#
このリリースは、Serial Threshold Scanning機能の完全実装と、CLIオプション体系の統一化を実現したアップデートです。データ取得(DAQ)から閾値設定、スキャン操作まで、すべてのコマンドで統一された設定管理とロギング機能が利用可能になりました。
✨ v1.1.0 での改善点#
このマイルストーンは、以下を実現します。
Serial Threshold Scanning: ハードウェアとの直接通信による閾値スキャン機能の完全実装
統一されたCLIオプション: すべてのサブコマンドで共通オプション(ロギング、デバイス設定)の統一
包括的なデバッグ機能: Serial操作の詳細なログ出力と検証機能
設定管理の改善: ConfigLoader統合による優先度制御の強化
🚀 Serial Threshold Scanning の実装#
単一チャンネルスキャン#
threshold scan: 指定チャンネルの閾値自動探索指定範囲内で段階的に閾値を変更
各閾値でのイベントカウント記録
タイムスタンプ、チャンネル、閾値、イベント数を記録
CSVフォーマットで結果出力
マルチチャンネルスキャン#
並行スキャン対応: 複数チャンネルの同時スキャン(
--centersオプション)チャンネル別設定: センサー別の開始値、終了値、ステップサイズ指定
監査ログ: すべてのスキャン操作を記録(タイムスタンプ付き)
データモデルの強化#
ScanDataPoint NamedTuple: スキャン結果の型安全な表現
timestamp: スキャン実行時刻(Pendulum)channel: センサーチャンネル(1-3)threshold: テスト対象の閾値event_count: カウント結果
結果CSV形式: 時系列データとして分析しやすい形式に統一
🛠️ CLIオプス体系の統一化#
ロギングオプション統合#
LoggerOptions クラス: 全コマンド共通のロギング設定
--verbose: デバッグレベルの詳細出力--log-file: ログファイル出力パス指定すべてのサブコマンド(daq, threshold, scan)で利用可能
共通オプションモジュール#
CommonOptions: 重複排除(DRY原則)の実装
DeviceOptions(ポート、ボーレート)
OutputOptions(出力ディレクトリ)
TestingOptions(Mock/RandomMocker対応)
すべてのコマンドで統一インターフェース
コマンド別オプション拡張#
configコマンド: ロギング、テスト用オプション追加preprocessコマンド: ロギング、出力オプション統一mockコマンド: テストデータ取得オプション統一
📊 データ処理の改善#
スキャン結果の再編成#
CSV形式の統一:
timestamp,channel,threshold,event_count時系列分析対応: タイムスタンプを最初のカラムに配置
データの可追跡性: 各測定点の時刻情報を完全記録
デバッグログの充実#
Serial操作ログ: ボーレート、ポート設定の詳細出力
スキャン進捗: 各チャンネル、各ステップの実行状況ログ
エラー情報: タイムアウト、通信エラーの詳細記録
🔧 内部実装の改善#
NamedTuple データモデル統合#
ScanDataPoint: スキャンデータの型安全な表現
イベントモデル: RawEvent、ProcessedEventとの整合性
Pendulum統合: タイムゾーン対応の時刻管理
設定管理の統一#
ScanOptions クラス: スキャン固有の設定クラス
ConfigLoader統合: TOML設定ファイルからの自動読み込み
オプション優先度: CLIオプション > 設定ファイル > デフォルト値
🐛 バグ修正#
CLI実装の改善#
未定義変数の削除:
daq_label変数参照エラーを修正
テスト整備#
バイト文字列比較の統一
Mocker APIの変更に対応
インポートエラーの修正
📦 インストール#
pip install haniwers==1.1.0
または最新版:
pip install --upgrade haniwers
🔗 関連リンク#
リリース担当: shotakaha リリース日: 2025-10-27