pySerial を使用して Eddie にコマンドを送信しています。readline でキャリッジ リターンを指定する必要がありますが、pySerial 2.6 ではそれが削除されました...回避策はありますか?
Eddie コマンド セットは、この PDF の 2 ページ目と 3 ページ目にリストされています。PDF にアクセスできない場合のバックアップ イメージを次に示します。
一般的なコマンド形式:
Input: <cmd>[<WS><param1>...<WS><paramN>]<CR>
Response (Success): [<param1>...<WS><paramN>]<CR>
Response (Failure): ERROR[<SP>-<SP><verbose_reason>]<CR>
ご覧のとおり、すべての応答は\r
. pySerial に停止するように指示する必要があります。
私が今持っているもの:
def sendAndReceive(self, content):
logger.info('Sending {0}'.format(content))
self.ser.write(content + '\r')
self.ser.flush();
response = self.ser.readline() # Currently stops reading on timeout...
if self.isErr(response):
logger.error(response)
return None
else:
return response