ドックコネクタ(Appleアクセサリプロトコルを使用している可能性が高い)からコマンドを送信するドッキングステーション(iPod用)にiPod touch(4G、jailbroken、iOS 5.0) iPod、例えば再生を開始/停止します。 iPodがjailbrokenされているので、次のように私がiPodに接続しているときにコマンドが入力されるのを見ることができます(ここではドッキングステーションの再生/一時停止ボタンを繰り返し押して、各行はボタンプレスに等しい)。外部デバイスからの予期しない入力 - iOS
iPod Touch:~ mobile$ od /dev/tty.iap
0000000 102000 177020 004017 000360 004017 000360 144204 004317
0000020 000340 002020 000376 004017 177430 002010 000376 000440
0000040 147730 160010 004377 147740 160010 020000 154001 102000
0000060 177020 020400 177000 102000 177710 160010 007400 014010
0000100 000377 004417 177430 007400 014011 000377 002020 020400
0000120 177000 004000 000300 140010 004377 000340 000440 000344
ここでの入力が常に異なる理由はわかりません。同じボタンを押すと、入力の各行が同じであることが期待されます(最初はオフセットマーカーを明示的に無視しています)。そうしないと、再生/一時停止ボタンが正常に動作します(このod
コマンドが実行されていない場合)。
私の質問は:od
または私が要求を正しく見ることができるように使用できる別のユーティリティを呼び出すより良い方法はありますか?またはボーレートなどを変更する必要がありますか?
EDIT: 1つではなく、1つのボタンを押すたびに2行の入力が表示されます。それは整列/バッファリングの問題でしょうか?
'stty -F /dev/tty.iap 19200'は、コマンドラインからシリアル速度を設定する方法です。現在の設定を表示するには、 'stty -F/dev/tty.iap'を実行し、stty:' stty --help'の詳細を確認してください。 –
私にとってはうまくいかないようです。私の質問をここに見てください:http://unix.stackexchange.com/q/37972/18401 – newenglander
本当にうまくいくはずです。しかし、他のいくつかのプロセスがそれを元に戻しているようです。私はシステムメッセージを次のように見ています:「シリアルポートiapを放棄」し、「シリアルポートiapを再取得」したので、変更を継続するとttyを閉じてから元の設定を元に戻すまで続きます。 –