CODIGO FUENTE

Éste es un port de la API de Ardupilot hacia Arduino con micro AVR atmega328p, pensado exclusivamente para los estudiantes y desarrolladores que deseen investigar y comprender acerca del funcionamiento de procesos de multitarea en microcontroladores utilizando las interrupciones y las APIs de APM.
Con éstas librerías es posible crear aplicaciones que estén enfocadas al desarrollo de Drones, UAV, Vehículos no tripulados, robótica, automatización, etc.
El propósito principal de este port, es que está enfocado en el administrador de multitareas (Scheduler) desarrollado por Andrew Tridgell e introducido a Ardupilot con microcontrolador AVR mega2560.
Actualmente ésta es la estructura que se está utilizando en todas las plataformas de Ardupilot.
Existen dos Ports:
ARDUPILOTMICRO: Port de Libreria completa de APM hacia atmega328p.
https://github.com/hiro2233/ArdupilotMicroARDUPILOTTINY: Port únicamente del organizador de multitareas (Scheduler) de la capa de abstracción de hardware hacia el microcontrolador atmega328p con integración de compatibilidad del entorno de desarrollo de Arduino.
https://github.com/hiro2233/ArdupilotTinyExisten dos ejemplos:- Compass TEST.
- Scheduler TEST.
Cambios Importantes- STORAGE: Tamaño de eeprom ajustado al tamaño requerido para el 328p. Es seguro trabajar con la librería AP_Param.
- GPIO: Remapeado completo a 328p. Funciona todo perfectamente.
- SPI: Funcionando.
- I2C: Funcionando.
- Scheduler: Trabajando muy bien, ahora ya podemos utilizar multitareas en el 328p.
Cambios sin probar.- RCOutput.
- RCInput.
No funciona- Analog input.
- ADC.
Como compilar- Descargar e instalar Arduino 1.6.6 (Probado con ésta versión).
- Abrir arduino, click en Archivos, Preferencias y seleccionar la carpeta raíz de ArdupilotMicro o ArdupilotTiny respectivamente.
- Abrir uno de los ejemplos incluidos y compilar!.
Disfrutalo!