1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-02 10:24:11 +01:00
LibrePilot/flight/PiOS/inc
Stacey Sheldon dbf7574946 bootcfg: use UAVobj to control boot-time HW config
This should mark an end to the compile-time selection of HW
configurations.

Minor changes in board initialization for all platforms:
 - Most config structs are marked static to prevent badly written
   drivers from directly referring to config data.
 - Adapt to changes in .irq fields in config data.
 - Adapt to changes in USART IRQ handling.

Major changes in board initialization for CC:
 - Use HwSettings UAVObj to decide which drivers to attach to
   the "main" port and the flexi port, and select the appropriate
   device configuration data.
 - HwSettings allows choosing between Disabled, Telemetry, SBUS,
   Spektrum,GPS, and I2C for each of the two ports.
 - Use ManualControlSettings.InputMode to init/configure the
   appropriate receiver module, and register its available rx channels
   with the PIOS_RCVR layer.  Can choose between PWM, Spektrum and PPM
   at board init time.  PPM driver is broken, and SBUS will work once
   it is added to this UAVObj as an option.
 - CC build now includes code for SBUS, Spektrum and PWM receivers in
   every firmware image.

PIOS_USART driver:
 - Now handles its own low-level IRQs internally
 - If NULL upper-level IRQ handler is bound in at board init time
   then rx/tx is satisfied by internal PIOS_USART buffered IO routines
   which are (typically) attached to the COM layer.
 - If an alternate upper-level IRQ handler is bound in at board init
   then that handler is called and expected to clear down the USART
   IRQ sources.  This is used by Spektrum and SBUS drivers.

PIOS_SBUS and PIOS_SPEKTRUM drivers:
 - Improved data/API hiding
 - No longer assume they know where their config data is stored which
   allows for boot-time alternate configurations for the driver.
 - Now registers an upper-level IRQ handlerwith the USART layer to
   decouple the driver from which USART it is actually attached to.
2011-07-05 22:03:25 -04:00
..
pios_adc_priv.h CC-8: Move the queue registration into the ADC PIOS driver to allow other 2011-02-03 02:42:43 +00:00
pios_adc.h CC-8: Move the queue registration into the ADC PIOS driver to allow other 2011-02-03 02:42:43 +00:00
pios_adxl345.h hwinit: Convert SPI drivers to dynamic init 2011-02-12 22:19:50 +00:00
pios_bl_helper.h PIOS: BL_HELPER: refactored function names 2011-04-23 21:11:17 +02:00
pios_bma180.h OP-378 - OP/INS - Add initial support for INS. HMC5883, BMP085, BMA180, IMU300 all added. Throrough verification has not been done on any of them. main() simply calls self-test functions on all of the hardware. 2011-04-14 12:46:39 +00:00
pios_bmp085.h OP-377 PiOS/BMP085 - Update BMP085 driver to be FreeRTOS agnostic. This is required since new INS does not run FreeRTOS. 2011-04-14 09:46:23 +00:00
pios_board_info.h build: add support for EE bank on pipx boards 2011-05-24 01:10:40 -04:00
pios_com_priv.h hwinit: Convert COM and USART to dynamic init 2011-02-12 22:19:43 +00:00
pios_com.h hwinit: Convert COM and USART to dynamic init 2011-02-12 22:19:43 +00:00
pios_crc.h OP-152: Abstract the CRC code out of uavtalk to allow it to be reused (PT - 2011-06-04 18:36:26 -05:00
pios_debug.h 2 new PIOS_DEBUG functions to output a value on the debug-pins. In its current implementation it will probably not work on CC.... 2011-03-05 09:23:57 +00:00
pios_delay.h Extend PiOS DELAY to allow querying the time value in uS 2011-05-26 12:19:04 -05:00
pios_exti.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00
pios_flash_w25x.h CC-15 Gets settings saved to flash chip on CC using crude sector based storage. 2011-02-01 02:18:12 +00:00
pios_flashfs_objlist.h OP-499 OP-216: Simple list of objects saved in flash to prevent objId 2011-05-14 14:05:02 -05:00
pios_gpio.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00
pios_hcsr04.h OP-303 PIOS/Sonar: preliminary support for HCSR04 ultrasound altimeter module, tested and working :) 2011-01-28 19:21:22 +00:00
pios_hmc5843.h hmc5843: hide internal #defines and functions 2010-09-15 14:21:04 +00:00
pios_hmc5883.h OP-378 - OP/INS - Add initial support for INS. HMC5883, BMP085, BMA180, IMU300 all added. Throrough verification has not been done on any of them. main() simply calls self-test functions on all of the hardware. 2011-04-14 12:46:39 +00:00
pios_i2c_esc.h OP-237 I2C ESC support. This _will_ require you to reconfigure your 2011-01-10 01:11:44 +00:00
pios_i2c_priv.h hwinit: Convert I2C driver to dynamic init 2011-02-12 22:19:54 +00:00
pios_i2c.h hwinit: Convert I2C driver to dynamic init 2011-02-12 22:19:54 +00:00
pios_iap.h OP-185 Flight helper functions for the firmware IAP object. Allows setting/clearing of back-up registers 2010-10-06 02:02:37 +00:00
pios_imu3000.h OP-378 - OP/INS - Add initial support for INS. HMC5883, BMP085, BMA180, IMU300 all added. Throrough verification has not been done on any of them. main() simply calls self-test functions on all of the hardware. 2011-04-14 12:46:39 +00:00
pios_initcall.h uavobject: Use linker to produce uavobj initcalls 2011-01-30 22:46:48 +00:00
pios_irq.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00
pios_led.h Make missing definitions for essential macros more obvious 2011-05-07 18:05:50 -04:00
pios_opahrs_proto.h OP-21/Bootloader - Change HW ID to 16bits. Should still be compatible with the old version. 2011-01-13 14:36:32 +00:00
pios_opahrs.h bl_openpilot: bind to new COM, USART and SPI drivers 2011-02-14 01:17:32 +00:00
pios_ppm_priv.h rcvr: convert PWM, PPM, SBUS and Spektrum to use PIOS_RCVR 2011-07-05 22:03:25 -04:00
pios_ppm.h rcvr: convert PWM, PPM, SBUS and Spektrum to use PIOS_RCVR 2011-07-05 22:03:25 -04:00
pios_pwm_priv.h rcvr: convert PWM, PPM, SBUS and Spektrum to use PIOS_RCVR 2011-07-05 22:03:25 -04:00
pios_pwm.h rcvr: convert PWM, PPM, SBUS and Spektrum to use PIOS_RCVR 2011-07-05 22:03:25 -04:00
pios_rcvr_priv.h rcvr: add generic driver API for receivers 2011-07-05 22:02:47 -04:00
pios_rcvr.h rcvr: add generic driver API for receivers 2011-07-05 22:02:47 -04:00
pios_rtc_priv.h rtc: allow registration of callbacks on RTC tick 2011-07-05 22:03:25 -04:00
pios_rtc.h rtc: allow registration of callbacks on RTC tick 2011-07-05 22:03:25 -04:00
pios_sbus_priv.h bootcfg: use UAVobj to control boot-time HW config 2011-07-05 22:03:25 -04:00
pios_sbus.h rcvr: convert PWM, PPM, SBUS and Spektrum to use PIOS_RCVR 2011-07-05 22:03:25 -04:00
pios_sdcard.h hwinit: Convert SPI drivers to dynamic init 2011-02-12 22:19:50 +00:00
pios_servo_priv.h OP-291 PIOS/Servo: Make the remapping of timers a part of the driver structure 2011-01-24 07:51:48 +00:00
pios_servo.h CC-14 PIOS/Servo: Set more than two bank speeds 2011-02-01 02:17:55 +00:00
pios_spektrum_priv.h bootcfg: use UAVobj to control boot-time HW config 2011-07-05 22:03:25 -04:00
pios_spektrum.h bootcfg: use UAVobj to control boot-time HW config 2011-07-05 22:03:25 -04:00
pios_spi_priv.h hwinit: Convert SPI drivers to dynamic init 2011-02-12 22:19:50 +00:00
pios_spi.h hwinit: Convert SPI drivers to dynamic init 2011-02-12 22:19:50 +00:00
pios_stm32.h bootcfg: use UAVobj to control boot-time HW config 2011-07-05 22:03:25 -04:00
pios_sys.h PIOS, Modules/FirmwareIAP: Use correct HAL for CPU serial 2011-04-23 18:30:32 +02:00
pios_usart_priv.h bootcfg: use UAVobj to control boot-time HW config 2011-07-05 22:03:25 -04:00
pios_usart.h hwinit: Convert COM and USART to dynamic init 2011-02-12 22:19:43 +00:00
pios_usb_hid_desc.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00
pios_usb_hid_istr.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00
pios_usb_hid_prop.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00
pios_usb_hid_pwr.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00
pios_usb_hid.h hwinit: Convert COM and USART to dynamic init 2011-02-12 22:19:43 +00:00
pios_usb.h OP-339 Update USB descriptors on CopterControl and OpenPilot to reflect the new convention. 2011-03-09 07:21:01 +00:00
pios_wdg.h PIOS/WDG: Add back the returned delay for code that wants to clear WDG more 2011-01-13 19:01:33 +00:00
stm32f10x_conf.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00
usb_conf.h Flight/PiOS: Whitespace changes 2010-09-27 07:28:45 +00:00