Microprocessador para plotagem em tempo real RS-232 usando PySerial / Matplotlib?

Sou novo no mundo do Python e minhas habilidades de programação são bem ruins, mas estou tentando descobrir uma maneira de usar o Python para exibir a saída de um circuito EEG (usando o circuito OpenEEG).http://openeeg.sourceforge.net)

A saída analógica é amplificada e processada através de um ADC (em um microcontrolador ATmega8) e é convertida em RS232 por um MAX232.

O sinal RS232 é o seguinte:

Byte 1: valor de sincronização 0xa5
Byte 2: valor de sincronização 0x5a
Byte 3: versão
Byte 4: número do quadro
Byte 5: Byte baixo do canal 1
Byte 6: Byte alto do canal 1
Byte 7: Byte baixo do canal 2
Byte 8: Byte alto do canal 2
...
Os bytes 9 a 16 são para canais de eletrodo extras, mas os dados não são necessários, pois somente os dois primeiros
...
Byte 17: Estados do botão (b1-b4)

Eu tenho algumas funcionalidades PySerial básicas, mas eu preciso descobrir uma maneira de fazer uso dos dados recebidos armazenando em buffer e plotando os valores úteis como 2 formas de onda x-y em tempo real (tempo versus voltagem)

Atualização de pergunta:

Eu estou recebendo o código para imprimir com as poucas linhas óbvias do PySerial, mas é sem sentido. Estou tentando descartar os dados para o formato de valores que podem ser plotados. Os 17 bytes de dados estão chegando a 256 quadros por segundo. Os (dois) canais são compostos de 10 bits de dados cada (com 6 zeros para compor o restante dos 2 bytes). Eles são unsigned dando valores possíveis de 0 a 1023. Estes correspondem a valores que devem ser plotados como positivos e negativos, então um valor binário de 512 corresponde a um gráfico de zero (micro) volts ....

Como faço para ler o fluxo de entrada como binário de 8 bits (retirando os dados que eu não preciso), em seguida, combinar os dois bytes relevantes de cada canal que eu quero (possivelmente removendo o excedente de 6 zeros, se necessário)?

questionAnswers(3)

yourAnswerToTheQuestion