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

Modules

 CMSIS
 

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 DTFc board.
 
file  pios_board.h
 Board header file for DTFc board.
 
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 DEBUG_PRINTF(level,...)
 
#define BOARD_READABLE   true
 
#define BOARD_WRITABLE   true
 
#define MAX_DEL_RETRYS   3
 
#define PIOS_LED_ALARM   0
 
#define PIOS_LED_HEARTBEAT   1
 
#define PIOS_LED_USB   2
 
#define PIOS_ANNUNCIATOR_BUZZER   3
 
#define USB_LED_ON   PIOS_ANNUNC_On(PIOS_LED_USB)
 
#define USB_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_USB)
 
#define USB_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_USB)
 
#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   72000000
 
#define PIOS_PERIPHERAL_APB1_CLOCK   (PIOS_SYSCLK / 2)
 
#define PIOS_PERIPHERAL_APB2_CLOCK   (PIOS_SYSCLK / 1)
 
#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   1
 
#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 VREF_PLUS   3.3
 
#define PIOS_DMA_MAX_CHANNELS   12
 
#define PIOS_DMA_MAX_HANDLERS_PER_CHANNEL   3
 
#define PIOS_DMA_CHANNELS   {DMA1_Channel1, DMA1_Channel2, DMA1_Channel3, DMA1_Channel4, DMA1_Channel5, DMA1_Channel6, DMA1_Channel7, DMA2_Channel1, DMA2_Channel2, DMA2_Channel3, DMA2_Channel4, DMA2_Channel5}
 
#define PIOS_USB_ENABLED   1 /* Should remove all references to this */
 
#define STABILIZATION_LQG
 
#define PIOS_INCLUDE_DMA_CB_SUBSCRIBING_FUNCTION
 
#define PIOS_INCLUDE_SPI
 
#define PIOS_INCLUDE_MPU
 
#define PIOS_INCLUDE_MAVLINK
 
#define PIOS_INCLUDE_LIGHTTELEMETRY
 
#define PIOS_INCLUDE_PWM
 
#define AUTOTUNE_AVERAGING_DECIMATION   2
 
#define PIOS_EVENTDISPATCHER_STACK_SIZE   1024
 
#define IDLE_COUNTS_PER_SEC_AT_NO_LOAD   (2175780)
 
#define PIOS_INCLUDE_FASTHEAP
 

Functions

void PIOS_Board_Init ()
 

Variables

uintptr_t pios_com_telem_usb_id
 
static const
TIM_TimeBaseInitTypeDef 
tim_1_15_16_17_time_base
 
static const
TIM_TimeBaseInitTypeDef 
tim_2_3_time_base
 
static const struct
pios_tim_clock_cfg 
tim_2_cfg
 
static const struct
pios_tim_clock_cfg 
tim_1_cfg
 
static const struct
pios_tim_clock_cfg 
tim_15_cfg
 
static const struct
pios_tim_clock_cfg 
tim_16_cfg
 
static const struct
pios_tim_clock_cfg 
tim_17_cfg
 
static const struct
pios_tim_channel 
pios_tim_servoport_pins []
 
uintptr_t pios_com_gps_id
 
uintptr_t pios_com_telem_usb_id
 
uintptr_t pios_com_telem_serial_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_aux_id
 
uintptr_t pios_uavo_settings_fs_id
 
uintptr_t pios_internal_adc_id
 
uintptr_t pios_can_id
 
uintptr_t pios_com_openlog_logging_id
 

Detailed Description

Macro Definition Documentation

#define AUTOTUNE_AVERAGING_DECIMATION   2

Definition at line 61 of file pios_config.h.

#define BOARD_READABLE   true

Definition at line 89 of file pios_board.h.

#define BOARD_WRITABLE   true

Definition at line 90 of file pios_board.h.

#define DEBUG_PRINTF (   level,
  ... 
)

Definition at line 44 of file pios_board.h.

#define IDLE_COUNTS_PER_SEC_AT_NO_LOAD   (2175780)

Definition at line 79 of file pios_config.h.

#define MAX_DEL_RETRYS   3

Definition at line 91 of file pios_board.h.

#define PIOS_ANNUNCIATOR_BUZZER   3

Definition at line 100 of file pios_board.h.

#define PIOS_COM_BRIDGE   (pios_com_bridge_id)

Definition at line 133 of file pios_board.h.

#define PIOS_COM_FRSKY_SENSOR_HUB   (pios_com_frsky_sensor_hub_id)

Definition at line 137 of file pios_board.h.

#define PIOS_COM_FRSKY_SPORT   (pios_com_frsky_sport_id)

Definition at line 139 of file pios_board.h.

#define PIOS_COM_GPS   (pios_com_gps_id)

Definition at line 131 of file pios_board.h.

#define PIOS_COM_HOTT   (pios_com_hott_id)

Definition at line 136 of file pios_board.h.

#define PIOS_COM_LIGHTTELEMETRY   (pios_com_lighttelemetry_id)

Definition at line 138 of file pios_board.h.

#define PIOS_COM_MAVLINK   (pios_com_mavlink_id)

Definition at line 135 of file pios_board.h.

#define PIOS_COM_OPENLOG   (pios_com_openlog_logging_id)

Definition at line 140 of file pios_board.h.

#define PIOS_COM_STORM32BGC   (pios_com_storm32bgc_id)

Definition at line 141 of file pios_board.h.

#define PIOS_COM_TELEM_USB   (pios_com_telem_usb_id)

Definition at line 132 of file pios_board.h.

#define PIOS_COM_VCP   (pios_com_vcp_id)

Definition at line 134 of file pios_board.h.

#define PIOS_DMA_CHANNELS   {DMA1_Channel1, DMA1_Channel2, DMA1_Channel3, DMA1_Channel4, DMA1_Channel5, DMA1_Channel6, DMA1_Channel7, DMA2_Channel1, DMA2_Channel2, DMA2_Channel3, DMA2_Channel4, DMA2_Channel5}

Definition at line 225 of file pios_board.h.

#define PIOS_DMA_MAX_CHANNELS   12

Definition at line 223 of file pios_board.h.

#define PIOS_DMA_MAX_HANDLERS_PER_CHANNEL   3

Definition at line 224 of file pios_board.h.

#define PIOS_DSM_NUM_INPUTS   12

Definition at line 189 of file pios_board.h.

#define PIOS_EVENTDISPATCHER_STACK_SIZE   1024

Definition at line 66 of file pios_config.h.

#define PIOS_HSUM_MAX_DEVS   2

Definition at line 194 of file pios_board.h.

#define PIOS_HSUM_NUM_INPUTS   32

Definition at line 195 of file pios_board.h.

#define PIOS_INCLUDE_ANNUNC

Definition at line 39 of file pios_config.h.

#define PIOS_INCLUDE_COM_MSG

Definition at line 45 of file pios_config.h.

#define PIOS_INCLUDE_DMA_CB_SUBSCRIBING_FUNCTION

Definition at line 43 of file pios_config.h.

#define PIOS_INCLUDE_FASTHEAP

Definition at line 83 of file pios_config.h.

#define PIOS_INCLUDE_FLASH

Definition at line 46 of file pios_config.h.

#define PIOS_INCLUDE_FLASH_INTERNAL

Definition at line 47 of file pios_config.h.

#define PIOS_INCLUDE_IAP

Definition at line 42 of file pios_config.h.

#define PIOS_INCLUDE_LIGHTTELEMETRY

Definition at line 52 of file pios_config.h.

#define PIOS_INCLUDE_MAVLINK

Definition at line 51 of file pios_config.h.

#define PIOS_INCLUDE_MPU

Definition at line 48 of file pios_config.h.

#define PIOS_INCLUDE_PWM

Definition at line 57 of file pios_config.h.

#define PIOS_INCLUDE_SPI

Definition at line 40 of file pios_config.h.

#define PIOS_INCLUDE_SPI

Definition at line 45 of file pios_config.h.

#define PIOS_INCLUDE_SYS

Definition at line 41 of file pios_config.h.

#define PIOS_INCLUDE_USB

Definition at line 43 of file pios_config.h.

#define PIOS_INCLUDE_USB_HID

Definition at line 44 of file pios_config.h.

#define PIOS_IRQ_PRIO_HIGH   5

Definition at line 166 of file pios_board.h.

#define PIOS_IRQ_PRIO_HIGHEST   4

Definition at line 167 of file pios_board.h.

#define PIOS_IRQ_PRIO_LOW   12

Definition at line 164 of file pios_board.h.

#define PIOS_IRQ_PRIO_MID   8

Definition at line 165 of file pios_board.h.

#define PIOS_LED_ALARM   0

Definition at line 97 of file pios_board.h.

#define PIOS_LED_HEARTBEAT   1

Definition at line 98 of file pios_board.h.

#define PIOS_LED_USB   2

Definition at line 99 of file pios_board.h.

#define PIOS_PERIPHERAL_APB1_CLOCK   (PIOS_SYSCLK / 2)

Definition at line 157 of file pios_board.h.

#define PIOS_PERIPHERAL_APB2_CLOCK   (PIOS_SYSCLK / 1)

Definition at line 158 of file pios_board.h.

#define PIOS_PPM_NUM_INPUTS   12

Definition at line 179 of file pios_board.h.

#define PIOS_PWM_NUM_INPUTS   1

Definition at line 184 of file pios_board.h.

#define PIOS_RCVR_MAX_CHANNELS   12

Definition at line 174 of file pios_board.h.

#define PIOS_SBUS_NUM_INPUTS   (16+2)

Definition at line 200 of file pios_board.h.

#define PIOS_SERVO_UPDATE_HZ   50

Definition at line 205 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 206 of file pios_board.h.

#define PIOS_SYSCLK   72000000

Definition at line 156 of file pios_board.h.

#define PIOS_TIM_MAX_DEVS   8

Definition at line 211 of file pios_board.h.

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

Definition at line 230 of file pios_board.h.

#define PIOS_WATCHDOG_TIMEOUT   250

Definition at line 109 of file pios_board.h.

#define PIOS_WDG_REGISTER   RTC_BKP_DR4

Definition at line 110 of file pios_board.h.

#define STABILIZATION_LQG

Definition at line 40 of file pios_config.h.

#define USB_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_USB)

Definition at line 103 of file pios_board.h.

#define USB_LED_ON   PIOS_ANNUNC_On(PIOS_LED_USB)

Definition at line 102 of file pios_board.h.

#define USB_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_USB)

Definition at line 104 of file pios_board.h.

#define VREF_PLUS   3.3

Definition at line 218 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 49 of file pios_board.c.

Variable Documentation

uintptr_t pios_can_id

Definition at line 61 of file pios_board.c.

uintptr_t pios_com_aux_id

Definition at line 58 of file pios_board.c.

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 62 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 47 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 60 of file pios_board.c.

const struct pios_tim_channel pios_tim_servoport_pins[]
static

Pios servo configuration structures

Definition at line 547 of file board_hw_defs.c.

uintptr_t pios_uavo_settings_fs_id

Definition at line 59 of file pios_board.c.

const struct pios_tim_clock_cfg tim_15_cfg
static
Initial value:
= {
.timer = TIM15,
.time_base_init = &tim_1_15_16_17_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM1_BRK_TIM15_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_1_15_16_17_time_base

Definition at line 495 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_16_cfg
static
Initial value:
= {
.timer = TIM16,
.time_base_init = &tim_1_15_16_17_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM1_UP_TIM16_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_1_15_16_17_time_base

Definition at line 508 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_17_cfg
static
Initial value:
= {
.timer = TIM17,
.time_base_init = &tim_1_15_16_17_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM1_TRG_COM_TIM17_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_1_15_16_17_time_base

Definition at line 520 of file board_hw_defs.c.

const TIM_TimeBaseInitTypeDef tim_1_15_16_17_time_base
static
Initial value:
= {
.TIM_Prescaler = (PIOS_PERIPHERAL_APB2_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
#define PIOS_PERIPHERAL_APB2_CLOCK
Definition: pios_board.h:164

Definition at line 454 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_1_cfg
static
Initial value:
= {
.timer = TIM1,
.time_base_init = &tim_1_15_16_17_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM1_CC_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_1_15_16_17_time_base

Definition at line 483 of file board_hw_defs.c.

const TIM_TimeBaseInitTypeDef tim_2_3_time_base
static
Initial value:
= {
.TIM_Prescaler = (PIOS_PERIPHERAL_APB1_CLOCK / 1000000 * 2) - 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
#define PIOS_PERIPHERAL_APB1_CLOCK
Definition: pios_board.h:154

Definition at line 462 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_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM2_IRQn,
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
.NVIC_IRQChannelSubPriority = 0,
.NVIC_IRQChannelCmd = ENABLE,
},
},
}
static const TIM_TimeBaseInitTypeDef tim_2_3_time_base
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170

Definition at line 470 of file board_hw_defs.c.