dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Aeroquad AQ32

Modules

 CMSIS
 
 USB_OTG_DRIVER
 

Files

file  pios_board.c
 Board specific initialization for the bootloader.
 
file  pios_config.h
 Board specific bootloader configuration file for PiOS.
 
file  board_hw_defs.c
 Defines board specific static initializers for hardware for the AQ32 board.
 
file  cmsis_system.c
 CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. This file contains the system clock configuration for STM32F4xx devices, and is generated by the clock configuration tool stm32f4xx_Clock_Configuration_V1.0.1.xls.
 
file  pios_board.h
 Board specific defines for AQ32.
 
file  usb_conf.h
 General low level driver configuration.
 
file  pios_board.c
 The board specific initialization routines.
 
file  pios_config.h
 Board specific options that modify PiOS capabilities.
 

Macros

#define PIOS_INCLUDE_ANNUNC
 
#define PIOS_INCLUDE_SPI
 
#define PIOS_INCLUDE_SYS
 
#define PIOS_INCLUDE_IAP
 
#define PIOS_INCLUDE_USB
 
#define PIOS_INCLUDE_USB_HID
 
#define PIOS_INCLUDE_COM_MSG
 
#define PIOS_INCLUDE_FLASH
 
#define PIOS_INCLUDE_FLASH_INTERNAL
 
#define PIOS_INCLUDE_FLASH_JEDEC
 
#define DEBUG_PRINTF(level,...)
 
#define BOARD_READABLE   true
 
#define BOARD_WRITABLE   true
 
#define MAX_DEL_RETRYS   3
 
#define PIOS_LED_HEARTBEAT   0
 
#define PIOS_LED_ALARM   1
 
#define PIOS_ANNUNCIATOR_BUZZER   2
 
#define PIOS_WATCHDOG_TIMEOUT   250
 
#define PIOS_WDG_REGISTER   RTC_BKP_DR4
 
#define PIOS_COM_GPS   (pios_com_gps_id)
 
#define PIOS_COM_TELEM_USB   (pios_com_telem_usb_id)
 
#define PIOS_COM_BRIDGE   (pios_com_bridge_id)
 
#define PIOS_COM_VCP   (pios_com_vcp_id)
 
#define PIOS_COM_MAVLINK   (pios_com_mavlink_id)
 
#define PIOS_COM_HOTT   (pios_com_hott_id)
 
#define PIOS_COM_FRSKY_SENSOR_HUB   (pios_com_frsky_sensor_hub_id)
 
#define PIOS_COM_LIGHTTELEMETRY   (pios_com_lighttelemetry_id)
 
#define PIOS_COM_FRSKY_SPORT   (pios_com_frsky_sport_id)
 
#define PIOS_COM_OPENLOG   (pios_com_openlog_logging_id)
 
#define PIOS_COM_STORM32BGC   (pios_com_storm32bgc_id)
 
#define PIOS_SYSCLK   168000000
 
#define PIOS_PERIPHERAL_APB1_CLOCK   (PIOS_SYSCLK / 4)
 
#define PIOS_PERIPHERAL_APB2_CLOCK   (PIOS_SYSCLK / 2)
 
#define PIOS_IRQ_PRIO_LOW   12
 
#define PIOS_IRQ_PRIO_MID   8
 
#define PIOS_IRQ_PRIO_HIGH   5
 
#define PIOS_IRQ_PRIO_HIGHEST   4
 
#define PIOS_RCVR_MAX_CHANNELS   12
 
#define PIOS_PPM_NUM_INPUTS   12
 
#define PIOS_PWM_NUM_INPUTS   8
 
#define PIOS_DSM_NUM_INPUTS   12
 
#define PIOS_HSUM_MAX_DEVS   2
 
#define PIOS_HSUM_NUM_INPUTS   32
 
#define PIOS_SBUS_NUM_INPUTS   (16+2)
 
#define PIOS_SERVO_UPDATE_HZ   50
 
#define PIOS_SERVOS_INITIAL_POSITION   0 /* dont want to start motors, have no pulse till settings loaded */
 
#define PIOS_TIM_MAX_DEVS   8
 
#define PIOS_ADC_SUB_DRIVER_MAX_INSTANCES   3
 
#define PIOS_ADC_MAX_OVERSAMPLING   2
 
#define VREF_PLUS   3.3
 
#define PIOS_USB_ENABLED   1 /* Should remove all references to this */
 
#define STABILIZATION_LQG
 
#define PIOS_INCLUDE_FLASH_JEDEC
 
#define PIOS_INCLUDE_I2C
 
#define PIOS_INCLUDE_SPI
 
#define PIOS_INCLUDE_FASTHEAP
 
#define PIOS_INCLUDE_MAX7456
 
#define PIOS_INCLUDE_WS2811
 
#define PIOS_INCLUDE_DAC
 
#define PIOS_INCLUDE_DAC_FSK
 
#define PIOS_INCLUDE_DAC_ANNUNCIATOR
 
#define PIOS_INCLUDE_HMC5883
 
#define PIOS_INCLUDE_HMC5983_I2C
 
#define PIOS_INCLUDE_MPU
 
#define PIOS_INCLUDE_MS5611
 
#define PIOS_TOLERATE_MISSING_SENSORS
 
#define PIOS_INCLUDE_MAVLINK
 
#define PIOS_INCLUDE_LIGHTTELEMETRY
 
#define PIOS_INCLUDE_DMASHOT
 
#define SYSTEMMOD_RGBLED_SUPPORT
 
#define CAMERASTAB_POI_MODE
 
#define IDLE_COUNTS_PER_SEC_AT_NO_LOAD   (9873737)
 
#define REVOLUTION
 

Functions

void PIOS_Board_Init ()
 

Variables

uintptr_t pios_com_telem_usb_id
 
static const
TIM_TimeBaseInitTypeDef 
tim_5_time_base
 
static const struct
pios_tim_clock_cfg 
tim_5_cfg
 
static const
TIM_TimeBaseInitTypeDef 
tim_2_3_4_time_base
 
static const
TIM_TimeBaseInitTypeDef 
tim_1_8_time_base
 
static const struct
pios_tim_clock_cfg 
tim_2_cfg
 
static const struct
pios_tim_clock_cfg 
tim_3_cfg
 
static const struct
pios_tim_clock_cfg 
tim_4_cfg
 
static const struct
pios_tim_clock_cfg 
tim_8_cfg
 
static const struct
pios_tim_channel 
pios_tim_outputs_pins []
 
static const struct
pios_tim_channel 
pios_tim_rcvrport_ppm []
 
uintptr_t pios_com_telem_serial_id
 
uintptr_t pios_com_gps_id
 
uintptr_t pios_com_telem_usb_id
 
uintptr_t pios_com_bridge_id
 
uintptr_t pios_com_vcp_id
 
uintptr_t pios_com_mavlink_id
 
uintptr_t pios_com_hott_id
 
uintptr_t pios_com_frsky_sensor_hub_id
 
uintptr_t pios_com_lighttelemetry_id
 
uintptr_t pios_com_frsky_sport_id
 
uintptr_t pios_com_openlog_logging_id
 
uintptr_t pios_com_storm32bgc_id
 
uintptr_t pios_com_openlog_logging_id
 
uintptr_t pios_uavo_settings_fs_id
 
uintptr_t pios_internal_adc_id
 

Detailed Description

Macro Definition Documentation

#define BOARD_READABLE   true

Definition at line 78 of file pios_board.h.

#define BOARD_WRITABLE   true

Definition at line 79 of file pios_board.h.

#define CAMERASTAB_POI_MODE

Definition at line 67 of file pios_config.h.

#define DEBUG_PRINTF (   level,
  ... 
)

Definition at line 39 of file pios_board.h.

#define IDLE_COUNTS_PER_SEC_AT_NO_LOAD   (9873737)

Definition at line 82 of file pios_config.h.

#define MAX_DEL_RETRYS   3

Definition at line 80 of file pios_board.h.

#define PIOS_ADC_MAX_OVERSAMPLING   2

Definition at line 221 of file pios_board.h.

#define PIOS_ADC_SUB_DRIVER_MAX_INSTANCES   3

Definition at line 220 of file pios_board.h.

#define PIOS_ANNUNCIATOR_BUZZER   2

Definition at line 87 of file pios_board.h.

#define PIOS_COM_BRIDGE   (pios_com_bridge_id)

Definition at line 115 of file pios_board.h.

#define PIOS_COM_FRSKY_SENSOR_HUB   (pios_com_frsky_sensor_hub_id)

Definition at line 119 of file pios_board.h.

#define PIOS_COM_FRSKY_SPORT   (pios_com_frsky_sport_id)

Definition at line 121 of file pios_board.h.

#define PIOS_COM_GPS   (pios_com_gps_id)

Definition at line 113 of file pios_board.h.

#define PIOS_COM_HOTT   (pios_com_hott_id)

Definition at line 118 of file pios_board.h.

#define PIOS_COM_LIGHTTELEMETRY   (pios_com_lighttelemetry_id)

Definition at line 120 of file pios_board.h.

#define PIOS_COM_MAVLINK   (pios_com_mavlink_id)

Definition at line 117 of file pios_board.h.

#define PIOS_COM_OPENLOG   (pios_com_openlog_logging_id)

Definition at line 122 of file pios_board.h.

#define PIOS_COM_STORM32BGC   (pios_com_storm32bgc_id)

Definition at line 123 of file pios_board.h.

#define PIOS_COM_TELEM_USB   (pios_com_telem_usb_id)

Definition at line 114 of file pios_board.h.

#define PIOS_COM_VCP   (pios_com_vcp_id)

Definition at line 116 of file pios_board.h.

#define PIOS_DSM_NUM_INPUTS   12

Definition at line 193 of file pios_board.h.

#define PIOS_HSUM_MAX_DEVS   2

Definition at line 198 of file pios_board.h.

#define PIOS_HSUM_NUM_INPUTS   32

Definition at line 199 of file pios_board.h.

#define PIOS_INCLUDE_ANNUNC

Definition at line 35 of file pios_config.h.

#define PIOS_INCLUDE_COM_MSG

Definition at line 41 of file pios_config.h.

#define PIOS_INCLUDE_DAC

Definition at line 44 of file pios_config.h.

#define PIOS_INCLUDE_DAC_ANNUNCIATOR

Definition at line 46 of file pios_config.h.

#define PIOS_INCLUDE_DAC_FSK

Definition at line 45 of file pios_config.h.

#define PIOS_INCLUDE_DMASHOT

Definition at line 61 of file pios_config.h.

#define PIOS_INCLUDE_FASTHEAP

Definition at line 41 of file pios_config.h.

#define PIOS_INCLUDE_FLASH

Definition at line 42 of file pios_config.h.

#define PIOS_INCLUDE_FLASH_INTERNAL

Definition at line 43 of file pios_config.h.

#define PIOS_INCLUDE_FLASH_JEDEC

Definition at line 38 of file pios_config.h.

#define PIOS_INCLUDE_FLASH_JEDEC

Definition at line 44 of file pios_config.h.

#define PIOS_INCLUDE_HMC5883

Definition at line 49 of file pios_config.h.

#define PIOS_INCLUDE_HMC5983_I2C

Definition at line 50 of file pios_config.h.

#define PIOS_INCLUDE_I2C

Definition at line 39 of file pios_config.h.

#define PIOS_INCLUDE_IAP

Definition at line 38 of file pios_config.h.

#define PIOS_INCLUDE_LIGHTTELEMETRY

Definition at line 57 of file pios_config.h.

#define PIOS_INCLUDE_MAVLINK

Definition at line 56 of file pios_config.h.

#define PIOS_INCLUDE_MAX7456

Definition at line 42 of file pios_config.h.

#define PIOS_INCLUDE_MPU

Definition at line 51 of file pios_config.h.

#define PIOS_INCLUDE_MS5611

Definition at line 52 of file pios_config.h.

#define PIOS_INCLUDE_SPI

Definition at line 36 of file pios_config.h.

#define PIOS_INCLUDE_SPI

Definition at line 40 of file pios_config.h.

#define PIOS_INCLUDE_SYS

Definition at line 37 of file pios_config.h.

#define PIOS_INCLUDE_USB

Definition at line 39 of file pios_config.h.

#define PIOS_INCLUDE_USB_HID

Definition at line 40 of file pios_config.h.

#define PIOS_INCLUDE_WS2811

Definition at line 43 of file pios_config.h.

#define PIOS_IRQ_PRIO_HIGH   5

Definition at line 171 of file pios_board.h.

#define PIOS_IRQ_PRIO_HIGHEST   4

Definition at line 172 of file pios_board.h.

#define PIOS_IRQ_PRIO_LOW   12

Definition at line 169 of file pios_board.h.

#define PIOS_IRQ_PRIO_MID   8

Definition at line 170 of file pios_board.h.

#define PIOS_LED_ALARM   1

Definition at line 86 of file pios_board.h.

#define PIOS_LED_HEARTBEAT   0

Definition at line 85 of file pios_board.h.

#define PIOS_PERIPHERAL_APB1_CLOCK   (PIOS_SYSCLK / 4)

Definition at line 154 of file pios_board.h.

#define PIOS_PERIPHERAL_APB2_CLOCK   (PIOS_SYSCLK / 2)

Definition at line 164 of file pios_board.h.

#define PIOS_PPM_NUM_INPUTS   12

Definition at line 183 of file pios_board.h.

#define PIOS_PWM_NUM_INPUTS   8

Definition at line 188 of file pios_board.h.

#define PIOS_RCVR_MAX_CHANNELS   12

Definition at line 178 of file pios_board.h.

#define PIOS_SBUS_NUM_INPUTS   (16+2)

Definition at line 204 of file pios_board.h.

#define PIOS_SERVO_UPDATE_HZ   50

Definition at line 209 of file pios_board.h.

#define PIOS_SERVOS_INITIAL_POSITION   0 /* dont want to start motors, have no pulse till settings loaded */

Definition at line 210 of file pios_board.h.

#define PIOS_SYSCLK   168000000
Todo:
: come up with a better solution to get pios types into here

Definition at line 143 of file pios_board.h.

#define PIOS_TIM_MAX_DEVS   8

Definition at line 215 of file pios_board.h.

#define PIOS_TOLERATE_MISSING_SENSORS

Definition at line 53 of file pios_config.h.

#define PIOS_USB_ENABLED   1 /* Should remove all references to this */

Definition at line 227 of file pios_board.h.

#define PIOS_WATCHDOG_TIMEOUT   250

Definition at line 92 of file pios_board.h.

#define PIOS_WDG_REGISTER   RTC_BKP_DR4

Definition at line 93 of file pios_board.h.

#define REVOLUTION

Definition at line 84 of file pios_config.h.

#define STABILIZATION_LQG

Definition at line 35 of file pios_config.h.

#define SYSTEMMOD_RGBLED_SUPPORT

Definition at line 65 of file pios_config.h.

#define VREF_PLUS   3.3

Definition at line 222 of file pios_board.h.

Function Documentation

void PIOS_Board_Init ( void  )

PIOS_Board_Init() initializes all the core subsystems on this specific hardware called from System/openpilot.c

Definition at line 44 of file pios_board.c.

Variable Documentation

uintptr_t pios_com_bridge_id

Definition at line 81 of file pios_hal.c.

uintptr_t pios_com_frsky_sensor_hub_id
uintptr_t pios_com_frsky_sport_id
uintptr_t pios_com_gps_id

Definition at line 80 of file pios_hal.c.

uintptr_t pios_com_hott_id
uintptr_t pios_com_lighttelemetry_id
uintptr_t pios_com_mavlink_id
uintptr_t pios_com_openlog_logging_id

Definition at line 49 of file pios_board.c.

uintptr_t pios_com_openlog_logging_id

Definition at line 49 of file pios_board.c.

uintptr_t pios_com_storm32bgc_id
uintptr_t pios_com_telem_serial_id

Definition at line 127 of file pios_hal.c.

uintptr_t pios_com_telem_usb_id

Definition at line 42 of file pios_board.c.

uintptr_t pios_com_telem_usb_id

Definition at line 42 of file pios_board.c.

uintptr_t pios_com_vcp_id
uintptr_t pios_internal_adc_id

Definition at line 51 of file pios_board.c.

const struct pios_tim_channel pios_tim_outputs_pins[]
static

Pios servo configuration structures

Definition at line 936 of file board_hw_defs.c.

const struct pios_tim_channel pios_tim_rcvrport_ppm[]
static
Initial value:
= {
{
.timer = TIM5,
.timer_chan = TIM_Channel_3,
.remap = GPIO_AF_TIM5,
.pin = {
.gpio = GPIOA,
.init = {
.GPIO_Pin = GPIO_Pin_2,
.GPIO_Speed = GPIO_Speed_2MHz,
.GPIO_Mode = GPIO_Mode_AF,
.GPIO_OType = GPIO_OType_PP,
.GPIO_PuPd = GPIO_PuPd_UP
},
.pin_source = GPIO_PinSource2,
},
},
}

Definition at line 1166 of file board_hw_defs.c.

uintptr_t pios_uavo_settings_fs_id

Definition at line 50 of file pios_board.c.

const TIM_TimeBaseInitTypeDef tim_1_8_time_base
static
Initial value:
= {
.TIM_Prescaler = (PIOS_PERIPHERAL_APB2_COUNTER_CLOCK / 1000000) - 1,
.TIM_ClockDivision = TIM_CKD_DIV1,
.TIM_CounterMode = TIM_CounterMode_Up,
.TIM_Period = ((1000000 / PIOS_SERVO_UPDATE_HZ) - 1),
.TIM_RepetitionCounter = 0x0000,
}
#define PIOS_SERVO_UPDATE_HZ
Definition: pios_board.h:209

Definition at line 859 of file board_hw_defs.c.

const TIM_TimeBaseInitTypeDef tim_2_3_4_time_base
static
Initial value:
= {
.TIM_Prescaler = (PIOS_PERIPHERAL_APB1_COUNTER_CLOCK / 1000000) - 1,
.TIM_ClockDivision = TIM_CKD_DIV1,
.TIM_CounterMode = TIM_CounterMode_Up,
.TIM_Period = ((1000000 / PIOS_SERVO_UPDATE_HZ) - 1),
.TIM_RepetitionCounter = 0x0000,
}
#define PIOS_SERVO_UPDATE_HZ
Definition: pios_board.h:209

Definition at line 850 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_2_cfg
static
Initial value:
= {
.timer = TIM2,
.time_base_init = &tim_2_3_4_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM2_IRQn,
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
.NVIC_IRQChannelSubPriority = 0,
.NVIC_IRQChannelCmd = ENABLE,
},
},
}
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170
static const TIM_TimeBaseInitTypeDef tim_2_3_4_time_base

Definition at line 867 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_3_cfg
static
Initial value:
= {
.timer = TIM3,
.time_base_init = &tim_2_3_4_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM3_IRQn,
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
.NVIC_IRQChannelSubPriority = 0,
.NVIC_IRQChannelCmd = ENABLE,
},
},
}
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170
static const TIM_TimeBaseInitTypeDef tim_2_3_4_time_base

Definition at line 880 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_4_cfg
static
Initial value:
= {
.timer = TIM4,
.time_base_init = &tim_2_3_4_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM4_IRQn,
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
.NVIC_IRQChannelSubPriority = 0,
.NVIC_IRQChannelCmd = ENABLE,
},
},
}
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170
static const TIM_TimeBaseInitTypeDef tim_2_3_4_time_base

Definition at line 893 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_5_cfg
static
Initial value:
= {
.timer = TIM5,
.time_base_init = &tim_5_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM5_IRQn,
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
.NVIC_IRQChannelSubPriority = 0,
.NVIC_IRQChannelCmd = ENABLE,
},
},
}
static const TIM_TimeBaseInitTypeDef tim_5_time_base
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170

Definition at line 834 of file board_hw_defs.c.

const TIM_TimeBaseInitTypeDef tim_5_time_base
static
Initial value:
= {
.TIM_Prescaler = (PIOS_PERIPHERAL_APB1_COUNTER_CLOCK / 1000000) - 1,
.TIM_ClockDivision = TIM_CKD_DIV1,
.TIM_CounterMode = TIM_CounterMode_Up,
.TIM_Period = 0xFFFF,
.TIM_RepetitionCounter = 0x0000,
}

Definition at line 826 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_8_cfg
static
Initial value:
= {
.timer = TIM8,
.time_base_init = &tim_1_8_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM8_CC_IRQn,
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
.NVIC_IRQChannelSubPriority = 0,
.NVIC_IRQChannelCmd = ENABLE,
},
},
}
static const TIM_TimeBaseInitTypeDef tim_1_8_time_base
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170

Definition at line 906 of file board_hw_defs.c.