jueves, 17 de mayo de 2012

Recepción de datos para visualizaciones


Para recibir los datos necesarios para la visualización desde el ordenador, hemos implementado un sencillo protocolo para el puerto serie.
Este permite recibir tanto tramas como bytes de comando.
Los bytes de comando son los siguientes:
  • 205 – Activar visualización audiorítmica
  • 206 – Activar visualización de vúmetro
  • 207 – Activar visualización de puntos
  • 208 – Activar modo demo de la matriz.


Así mismo, es necesario que reciba tramas de datos con datos tanto de energía espectral como de notas tocadas por un instrumento. Para ello se definen las siguientes tramas:
  • Trama de energías: 200 + 8 bytes de energía (intervalo 1-100), uno por banda + byte de energía total
  • Tramas de instrumentos: hay cuatro canales, el primer byte será 201, 202, 203 o 204 según el canal 0 a 3, y los dos bytes siguientes serán la frecuencia de nota y la intensidad, en escala de 1 a 17, y 1 a 16 respectivamente.


Los canales de instrumentos comentados no son los canales de instrumentos de la norma MIDI, sino los que nosotros vamos a usar en la visualización.

Nuestra rutina de recepción se encarga de almacenar estos datos, y una vez que la trama en recepción se ha completado, activa una variable flag global para informar al hilo principal del programa. De igual forma, tenemos un contador de bytes recibidos, que es usado por la visualización PopVis.
El esquema del funcionamiento de la rutina de recepción es el siguiente:
Diagrama de flujo de la rutina de interrupción.

No hay comentarios:

Publicar un comentario