Diferencia entre revisiones de «Toribio»
De Proyecto Butiá
m (→Toribio) |
m (→Toribio) |
||
Línea 30: | Línea 30: | ||
OS fd (PIPE) lua+Lumen | OS fd (PIPE) lua+Lumen | ||
xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx | xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx | ||
− | |||
|---- drivers (lua) | |---- drivers (lua) | ||
| | | | ||
Línea 42: | Línea 41: | ||
|---------------bobot-server-----------------userapps | |---------------bobot-server-----------------userapps | ||
(lua) | (lua) | ||
− | |||
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx | xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx | ||
lua Lumen socket | lua Lumen socket | ||
Línea 52: | Línea 50: | ||
POSIX lua library Lumen tasks | POSIX lua library Lumen tasks | ||
xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx | xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx | ||
− | |||
|---- drivers (lua) | |---- drivers (lua) | ||
| | | | ||
Línea 64: | Línea 61: | ||
|---------------bobot-server-----------------userapps | |---------------bobot-server-----------------userapps | ||
(lua) | (lua) | ||
− | + | ||
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx | xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx | ||
Lumen task socket | Lumen task socket |
Revisión del 14:04 10 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 stateless, 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.
- Esto abre las puertas a comunicaciones asincrónicas desde la placa al host.
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)