Diferencia entre revisiones de «Toribio»
De Proyecto Butiá
(→USB4ALL:) |
|||
Línea 88: | Línea 88: | ||
Puntualmente, los cambios son: | Puntualmente, los cambios son: | ||
− | * | + | * Paquete de respuesta de open: agregar nombre de modulo, etc. |
+ | OPEN(8bits) | INEP(8bits) | OUTEP(8bits) | MODULE(8bytes) | HANDLER(8bits) | ||
+ | |||
+ | * Paquete de respuesta de close: agregar handler. | ||
+ | |||
+ | CLOSE(8bits) | HANDLER(8bits) | STATUS(8bits) | ||
+ | |||
+ | * Respuesta de consulta de un modulo | ||
+ | |||
+ | GET_USER_MODULES_LINE (8bits) | LINE(8bits) | MODULE(8bytes) |
Revisión del 12:05 2 feb 2012
Bobot:
Resumen de componentes en bobot, y formas de comuniaciones
OS .so library lua modules lua module
xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx
serial -----------serialcomm---------comms_serial---|
# (C) (lua) | |---- drivers (lua)
libusb0.1 | |
|------------bobot------------- drivers (lua)
stdio | (lua) |
# | | |---- drivers (lua)
usb---------------libusb--------------comms_usb-----| |
(C+liblua.h) (lua) |
|
|---------------butialo, other apps.
|
|---------------bobot-server-----------------userapps
(lua)
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
lua module socket
Toribio
OS fd (PIPE) lua+Lumen
xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx
|---- drivers (lua)
|
usb, serial, hid? ---------- bridge ------------ toribio ------------- drivers (lua)
# (C) (lua+Lumen) |
# | |---- drivers (lua)
(stdio, libusb1, ...?) |
|
|---------------butialo, other apps.
|
|---------------bobot-server-----------------userapps
(lua)
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
lua Lumen socket
Propuesta actual...
POSIX lua library Lumen tasks
xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx
|---- drivers (lua)
|
fd ---------------- nixio ------------ toribio ------------- drivers (lua)
(C) (lua+Lumen) |
| |---- drivers (lua)
|
|
|---------------butialo, other apps.
|
|---------------bobot-server-----------------userapps
(lua)
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
Lumen task socket
USB4ALL:
Se proponen algunos cambios a la plataforma usb4all. Las ideas principales detras de estos cambios son;
- convertir a usb4all en un protocolo stateless. Actualmente, las comunicaciones son de la forma solicitud/respuesta. La respuesta solo se puede interpretar manteniendo el estado de la solicitud originante. Para convertirlo en estateless, hay que agregar información a las respuestas de forma de poder interpretarlo completamente sin tener que recordar las comunicaciones anteriores.
- Fácil de portar impementaciones de usb4all clásico. Las implementaciones alternativas deben seguir funcionando con solo agregar infomracion extra a los paquetes. La lógica original debe seguir siendo valida.
Puntualmente, los cambios son:
- Paquete de respuesta de open: agregar nombre de modulo, etc.
OPEN(8bits) | INEP(8bits) | OUTEP(8bits) | MODULE(8bytes) | HANDLER(8bits)
- Paquete de respuesta de close: agregar handler.
CLOSE(8bits) | HANDLER(8bits) | STATUS(8bits)
- Respuesta de consulta de un modulo
GET_USER_MODULES_LINE (8bits) | LINE(8bits) | MODULE(8bytes)