6 #pragma GCC optimize ("O2") 10 #if CONFIG_HAL_BOARD == HAL_BOARD_F4LIGHT 23 #if defined(USE_SOFTSERIAL) 29 #if defined(BOARD_SDCARD_NAME) || defined(BOARD_DATAFLASH_FATFS) 33 #if defined(BOARD_OSD_CS_PIN) 37 #if defined(USB_MASSSTORAGE) 50 #if defined(BOARD_USART6_RX_PIN) && defined(BOARD_USART6_TX_PIN) 55 #ifdef BOARD_HAS_UART3 60 #if defined(BOARD_SOFT_UART3) || defined(USE_SOFTSERIAL) 65 #ifdef BOARD_OSD_CS_PIN 69 #if defined(BOARD_USART4_RX_PIN) && defined( BOARD_USART4_TX_PIN) 73 #if defined(BOARD_USART5_RX_PIN) && defined( BOARD_USART5_TX_PIN) 253 #if defined(USB_MASSSTORAGE) 258 #if defined(BOARD_SDCARD_NAME) && defined(BOARD_SDCARD_CS_PIN) 260 #elif defined(BOARD_DATAFLASH_FATFS) 287 printf(
"\nHAL startup at %ldms\n", start_t);
292 #if defined(BOARD_SDCARD_NAME) && defined(BOARD_SDCARD_CS_PIN) 295 #elif defined(BOARD_DATAFLASH_FATFS) 300 #if defined(BOARD_OSD_NAME) 301 uartOSDdriver.
begin(57600);
311 #if 0 //[ here is too late :( so we need a small hack and call lateInit from Scheduler::register_delay_callback 320 Scheduler::start_stats_task();
344 uint8_t port = hal_param_helper->_console_uart;
352 Scheduler::_reboot(
false);
360 Scheduler::_reboot(
false);
368 uint8_t oc = hal_param_helper->_overclock;
374 }
else printf(
"\noverclocking failed!\n");
381 Scheduler::_reboot(
false);
390 uint8_t conn = hal_param_helper->_connect_com;
392 hal_param_helper->_connect_com = 0;
393 hal_param_helper->_connect_com.save();
400 }
else printf(
"\nWrong HAL_CONNECT_COM selected!");
405 #if defined(USB_MASSSTORAGE) 407 uint8_t conn=hal_param_helper->_usb_storage;
410 hal_param_helper->_usb_storage=0;
411 hal_param_helper->_usb_storage.save();
415 Scheduler::_reboot(
false);
420 #ifdef USE_SERIAL_4WAY_BLHELI_INTERFACE 422 uint8_t conn = hal_param_helper->_connect_esc;
425 hal_param_helper->_connect_esc = 0;
426 hal_param_helper->_connect_esc.save();
433 RCOutput::do_4way_if(*up);
435 }
else printf(
"\nWrong HAL_CONNECT_ESC selected!");
440 RCOutput::lateInit();
444 #ifdef BOARD_I2C_FLEXI 445 if(hal_param_helper->_flexi_i2c) {
447 uart3Driver.disable();
448 printf(
"\nUART3 disabled by I2C2\n");
451 I2CDevice::lateInit();
453 Storage::late_init(hal_param_helper->_eeprom_deferred);
459 RCInput::late_init(flags);
484 HAL_F4Light::state.
sd_busy=
false;
const AP_HAL::HAL & hal
-*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
static UART_PPM uartPPM2(1)
int printf(const char *fmt,...)
#define RTC_MASS_STORAGE_REG
static void usart_disable_all(void)
Disable all serial ports.
#define OV_GUARD_FAIL_SIGNATURE
static Scheduler schedulerInstance
AP_HAL::UARTDriver * uartE
void usb_mass_mal_USBdisconnect()
#define FORCE_APP_RTC_SIGNATURE
static RCInput rcinDriver
static const HAL_F4Light hal_revo
#define BOARD_SOFTSERIAL_TX
AP_HAL::UARTDriver * console
virtual void begin(uint32_t baud)=0
#define RTC_OVERCLOCK_REG
#define OVERCLOCK_SIG_MASK
static USBDriver USB_Driver(1)
#define CONSOLE_PORT_SIGNATURE
AP_HAL::UARTDriver * uartB
virtual uint32_t txspace()=0
const usart_dev *const _UART4
static AP_HAL::OwnPtr< F4Light::SPIDevice > _get_device(const char *name)
#define MASS_STORAGE_SIGNATURE
-*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
static AnalogIn analogIn IN_CCM
static ChibiOS::AnalogIn analogIn
AP_HAL::UARTDriver * uartC
static UART_PPM uartPPM1(0)
#define BOARD_SDCARD_NAME
void run(int argc, char *const argv[], Callbacks *callbacks) const override
#define BOARD_SOFTSERIAL_RX
AP_HAL::UARTDriver * uartF
virtual size_t write(uint8_t)=0
static F4Light::SPIDeviceManager spiDeviceManager
AP_HAL::UARTDriver ** uarts[6]
AP_HAL::UARTDriver * uartD
AP_HAL::Storage * storage
const usart_dev *const _USART1
const usart_dev *const _USART3
virtual uint32_t available()=0
static F4Light::I2CDeviceManager i2c_mgr_instance
static Storage storageDriver
AP_HAL::UARTDriver * uartA
const usart_dev *const _UART5
uint32_t board_get_rtc_register(uint16_t reg)
static UARTDriver uart1Driver(_USART1)
#define CONSOLE_PORT_MASK
#define error(fmt, args ...)
void board_set_rtc_register(uint32_t sig, uint16_t reg)
void connect_uart(AP_HAL::UARTDriver *uartL, AP_HAL::UARTDriver *uartR, AP_HAL::Proc proc)
#define RTC_SIGNATURE_REG
#define OVERCLOCK_SIGNATURE
static RCOutput rcoutDriver
#define BOARD_UARTS_LAYOUT
AP_HAL::Scheduler * scheduler
AP_HAL::AnalogIn * analogin
const usart_dev *const _USART6
virtual void system_initialized()=0