Diferencia entre revisiones de «Butia-C»
De Proyecto Butiá
(Página creada con «Butia-C es una interfaz para comunicarse con la placa USB4Butia escrita en el [https://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n) Lenguaje de programación C]....») |
|||
| Línea 1: | Línea 1: | ||
Butia-C es una interfaz para comunicarse con la placa USB4Butia escrita en el [https://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n) Lenguaje de programación C]. Esta basada en [[PyBot]] pero esta enfocada a ser mas simple y directa para proveer una acceso de mas bajo nivel a la placa. | Butia-C es una interfaz para comunicarse con la placa USB4Butia escrita en el [https://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n) Lenguaje de programación C]. Esta basada en [[PyBot]] pero esta enfocada a ser mas simple y directa para proveer una acceso de mas bajo nivel a la placa. | ||
| − | + | El código puede ser obtenido clonando el repositorio: | |
| + | git clone https://github.com/Darthkpo/butiac.git | ||
| − | [https://github.com/Darthkpo/butiac Repositorio] | + | [https://github.com/Darthkpo/butiac Repositorio web.] |
| + | |||
| + | |||
| + | ==Diseño== | ||
| + | |||
| + | Estos son los headers de Butia-C cada uno con su archivo .c correspondiente. | ||
| + | |||
| + | com_usb.h //Wrapper de libusb para facilitar el input / output. | ||
| + | board.h //Contiene una estructura de datos que representa a cada placa | ||
| + | module.h //Contiene una estructura de datos que representa a cada modulo conectado. | ||
| + | butiac.h //Core de la API (Aun no implementado). | ||
| + | |||
| + | debug.h /* | ||
| + | * Implementa macros para checkeo de errores y loggeo de información. | ||
| + | * Se pueden hacer builds de Butia-C sin checkeo de errores o loggeo | ||
| + | * de info para maximizar la velocidad. | ||
| + | */ | ||
| + | |||
| + | [[Archivo:Butiac0.1.png]] | ||
| + | |||
| + | ==Pruebas de rendimiento== | ||
| + | |||
| + | Primera prueba: | ||
| + | |||
| + | Obteniendo el valor de un sensor de distancia 1000 veces y luego hallando el promedio. | ||
| + | |||
| + | PyBot(CPython): [http://i.imgur.com/uOO6kgR.png imagen] 528 microsegundos | ||
| + | |||
| + | Butia-C: [http://i.imgur.com/GJ39jtv.png imagen] 273 microsegundos | ||
| + | |||
| + | [https://gist.github.com/Darthkpo/4f44322d097c9d5fc122fd41d0e21f35 Link] a los dos códigos usados. | ||
| + | |||
| + | ==Metas== | ||
| + | |||
| + | Proxima version 0.1: | ||
| + | |||
| + | -Soportar todos los modulos hotplug. | ||
| + | |||
| + | -Soportar shield de motores. | ||
| + | |||
| + | -Implementar modo singleboard y multiboard. | ||
Revisión del 12:42 16 jul 2016
Butia-C es una interfaz para comunicarse con la placa USB4Butia escrita en el Lenguaje de programación C. Esta basada en PyBot pero esta enfocada a ser mas simple y directa para proveer una acceso de mas bajo nivel a la placa.
El código puede ser obtenido clonando el repositorio:
git clone https://github.com/Darthkpo/butiac.git
Diseño
Estos son los headers de Butia-C cada uno con su archivo .c correspondiente.
com_usb.h //Wrapper de libusb para facilitar el input / output. board.h //Contiene una estructura de datos que representa a cada placa module.h //Contiene una estructura de datos que representa a cada modulo conectado. butiac.h //Core de la API (Aun no implementado).
debug.h /*
* Implementa macros para checkeo de errores y loggeo de información.
* Se pueden hacer builds de Butia-C sin checkeo de errores o loggeo
* de info para maximizar la velocidad.
*/
Pruebas de rendimiento
Primera prueba:
Obteniendo el valor de un sensor de distancia 1000 veces y luego hallando el promedio.
PyBot(CPython): imagen 528 microsegundos
Butia-C: imagen 273 microsegundos
Link a los dos códigos usados.
Metas
Proxima version 0.1:
-Soportar todos los modulos hotplug.
-Soportar shield de motores.
-Implementar modo singleboard y multiboard.
