Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Estructura de datos para almacenar información de salida #11

Open
crisconru opened this issue Mar 31, 2020 · 10 comments
Open

Estructura de datos para almacenar información de salida #11

crisconru opened this issue Mar 31, 2020 · 10 comments
Assignees
Projects

Comments

@crisconru
Copy link
Member

Crear una estructura para poder configurar el mensaje de salida y que luego la lea directamente la clase encargada de la comunicación serie.
Propongo una Dataclass

@crisconru crisconru created this issue from a note in Respirador (To do) Mar 31, 2020
@crisconru crisconru self-assigned this Mar 31, 2020
@JJ
Copy link
Contributor

JJ commented Mar 31, 2020

¿Por qué el de entrada y salida es diferente? Tal como yo lo entiendo, sólo se lee información del puerto serie para presentarse en el gráfico.

@crisconru
Copy link
Member Author

Porque lo que mandas al respirador, no es lo mismo que recibes.
Tu del respirador recibes cierta información con su correspondiente trama

En cambio lo que le mandas al respirador (si quieres), son parámetros para cambiar su configuración a través de una trama distinta a la de recepción.

Así que como lo había pensado es:

  1. Una clase para tener una conexión serial estable que sirva para recibir y enviar.
  2. Una clase que sirva para parsear el mensaje de entrada y pueda ser leido cada campo comodamente.
  3. Una clase para poder configurar los modos / parámetros que quieras modificar en el respirador, y luego se manda directamente por la clase 1.

@JJ
Copy link
Contributor

JJ commented Mar 31, 2020 via email

@crisconru
Copy link
Member Author

Si se manda o se acabará mandando @JJ. Hablando con una enfermera, me comenta que los parámetros del respirador lo tienen que cambiar los anestesis según el paciente este de una manera u otra.

Mira la trama para mandar parámetros, la RX. Tienes un campo Command, para decirle que valor es el que vas a cambiar. Y luego un campo Value, donde les dices que valor toma ese parámetro. La interfaz gráfica táctil es como el anestesista va a configurar el respirador.

Por eso esto no es algo que pueda ir a un quirófano en dos días... (me entiendes por donde voy)

@JJ
Copy link
Contributor

JJ commented Mar 31, 2020 via email

@JJ
Copy link
Contributor

JJ commented Mar 31, 2020

Esto quizá lo podría aclarar Fede...

@JJ
Copy link
Contributor

JJ commented Apr 1, 2020

Propongo que cerremos esto para centrarnos en la información que nos llega desde el ventilador.

@rafacouto
Copy link

Hola @JJ ! Estamos desarrollando un protocolo de interfaz con el monitor en https://gitlab.com/reespirator-arduino/reespirator/-/issues/4 e implementado la clase en C++. A día de hoy aún estamos definiendo campos y no está cerrado del todo pero ahí está el documento con el protocolo de tramas por si os sirve. En cuanto esté cerrada la versión 1 publicaremos la implementación C++.

@JJ
Copy link
Contributor

JJ commented Apr 14, 2020

@rafacouto ¡Gracias por avisar! Ánimo

@rafacouto
Copy link

rafacouto commented Apr 14, 2020

En cuanto si el monitor envía datos al Arduino... al principio se pensó sólo como un visualizador de la gráfica y que el control se realice en una interfaz sencilla con LCD en la parte Arduino.

Sin embargo, hay configuraciones complejas que son mucho más fáciles de diseñar e implementar en una interfaz de pantalla grande y táctil (límites, alarmas, perfiles de configuración, etc...) y el protocolo se ha ampliado con las tramas 5 (MachineParams) y 6 (AlarmParams) para que se puedan leer y escribir esos parámetros también desde el monitor.

El graficado ya es útil, pero una versión avanzada para manejar los parámetros de la máquina desde el monitor sería muy útil en cuanto a la ergonomía y usabilidad.

Hacerlo en Python o algo que corra también en un PC es deseable para conectarlo a la máquina, en vez de desarrollar un hardware de monitor ad-hoc que resultaría costoso y más difícil de fabricar que echar mano de un viejo portátil o netbook (pensando en soluciones para entornos con pocos recursos).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Respirador
  
To do
Development

No branches or pull requests

3 participants