passingエンジンの第2気筒の失火カウントを調べる例を以下に示します。関数はブロックされているため、UIイベントループの危険があります。接続オブジェクトがあります。サブクラスであるため、すべての標準メソッドを継承します。スレッド更新ループを制御するためにいくつかを追加します。このループは、あなたのコマンドの値を車両と最新の状態に保ちます。すると、直ちに最新の応答が返されます。呼び出すことによって制御されます。更新ループはスレッド化されているため、ループが「停止」している間だけコマンドを「監視」することができます。valuestime.sleep(60)connection.stop()start()更新ループを開始します。stop()更新ループを停止します。ステートメント)で使用するヘルパ関数。呼び出しを簡単に保護することができます。一時停止中に更新ループが実行されていた場合は、コンテキストブロックを終了すると再起動されます。force=false)注意:この関数を呼び出すには、非同期ループを停止または一時停止する必要があります継続的に更新するコマンドを登録します。オプションのコールバックも設定することができ、新しい値を受け取ると起動されます。同じコマンドに対する複数のコールバックは大歓迎です。パラメーターを指定すると、サポートされていないコマンドが強制的に送信されます。callback=None)注意:この関数を呼び出すには、非同期ループを停止または一時停止する必要がありますコマンドの更新を取り消します。コールバックが指定されていない場合、そのコマンドのすべてのコールバックは破棄されます。コールバックが指定されている場合、そのコールバックのみが登録解除されます(他はすべてライブ状態のままです)。unwatch_all()注意:この関数を呼び出すには、非同期ループを停止または一時停止する必要がありますすべてのコマンドとコールバックの登録を解除します。Commands必要なコマンドがPython-OBDテーブルにない場合は、新しいOBDCommandオブジェクトを作成できます。コンストラクタは次の引数を受け取ります(それぞれはプロパティになります)。speedデフォルトでは、カスタムコマンドは「車両によってサポートされていません」と扱われます。これを処理する方法は2つあります。直感的ではないフィールドの詳細は次のとおりです。引数は、以下の形式の関数です。フィールドにロードされます。オブジェクトのリストが与えられます。オブジェクトがあることが必要です。プロパティがあります。コマンドで指定されたバイト数を取得する必要があります。関数をパッチとして使用できます。関数を使用してアダプタから送信された元の文字列にアクセスすることもできます。引数は、受信メッセージをフィルタリングするために使用される定数です。関係する場合があります。これにより、アダプターは受信を待つのではなく、受信した最初の応答を返すように指示します(最終的にはタイムアウトに達する)。内部コマンドで有効になります。異常なコマンドの場合は、これを無効にしておくのが最も安全です。組み込みログシステムを使用します。レベルで送信するように設定されています。モジュールのロガーは、モジュールのルートにあるロガー変数を介してアクセスできます。すべてのデバッグメッセージのコンソール印刷を有効にするには、次のスニペットを使用します。正しく動作していない場合、まずデバッグ出力を有効にする必要があります。すべてのデバッグ情報をコンソールに出力するには、接続コードの前に次の行を追加します。一般的なログとその意味は次のとおりです。アダプタとコンピュータのシリアル接続に問題がある可能性があります。ヘルパー関数を使用して、書き込み可能なポートを判別できます。アダプタと車の接続の問題です。ポート間の電気的接続は健全であることを確認してください。