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 13: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.