Diferencia entre revisiones de «Toribio»
De Proyecto Butiá
(→USB4ALL:) |
m (→USB4ALL:) |
||
Línea 90: | Línea 90: | ||
'''Paquete de respuesta de open''' | '''Paquete de respuesta de open''' | ||
Agregar nombre de modulo, etc. | Agregar nombre de modulo, etc. | ||
+ | |||
OPEN(8bits) | INEP(8bits) | OUTEP(8bits) | MODULE(8bytes) | HANDLER(8bits) | OPEN(8bits) | INEP(8bits) | OUTEP(8bits) | MODULE(8bytes) | HANDLER(8bits) | ||
'''Paquete de respuesta de close''' | '''Paquete de respuesta de close''' | ||
Agregar handler. | Agregar handler. | ||
+ | |||
CLOSE(8bits) | HANDLER(8bits) | STATUS(8bits) | CLOSE(8bits) | HANDLER(8bits) | STATUS(8bits) | ||
'''Respuesta de consulta de un modulo''' | '''Respuesta de consulta de un modulo''' | ||
+ | |||
GET_USER_MODULES_LINE (8bits) | LINE(8bits) | MODULE(8bytes) | GET_USER_MODULES_LINE (8bits) | LINE(8bits) | MODULE(8bytes) |
Revisión del 12:07 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)