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

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 Seppuku 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.0.xls.
 
file  pios_board.h
 Board specific defines for Seppuku.
 
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_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_WS2811
 
#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   0
 
#define PIOS_ANNUNCIATOR_BUZZER   1
 
#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_MAX_OVERSAMPLING   4
 
#define VREF_PLUS   3.3
 
#define PIOS_USB_ENABLED   1 /* Should remove all references to this */
 
#define STABILIZATION_LQG
 
#define PIOS_INCLUDE_I2C
 
#define PIOS_INCLUDE_SPI
 
#define PIOS_INCLUDE_FASTHEAP
 
#define PIOS_INCLUDE_TBSVTXCONFIG
 
#define PIOS_INCLUDE_WS2811
 
#define PIOS_INCLUDE_DAC
 
#define PIOS_INCLUDE_DAC_FSK
 
#define PIOS_INCLUDE_DAC_ANNUNCIATOR
 
#define PIOS_INCLUDE_BMI160
 
#define PIOS_INCLUDE_BMP280
 
#define PIOS_INCLUDE_BMP280_SPI
 
#define PIOS_INCLUDE_LIS3MDL
 
#define PIOS_INCLUDE_HMC5883
 
#define PIOS_INCLUDE_HMC5983_I2C
 
#define PIOS_INCLUDE_MPXV5004
 
#define PIOS_INCLUDE_MPXV7002
 
#define PIOS_INCLUDE_OPTICALFLOW
 
#define PIOS_INCLUDE_RANGEFINDER
 
#define PIOS_INCLUDE_PX4FLOW
 
#define PIOS_TOLERATE_MISSING_SENSORS
 
#define PIOS_INCLUDE_MAVLINK
 
#define PIOS_INCLUDE_LIGHTTELEMETRY
 
#define PIOS_INCLUDE_PWM
 
#define PIOS_VIDEO_TIM4_COUNTER
 
#define PIOS_INCLUDE_VIDEO
 
#define PIOS_VIDEO_SPLITBUFFER   /* Uses 2 1-bit/pixel buffers */
 
#define PIOS_VIDEO_HSYNC_OFFSET   -22
 
#define PIOS_VIDEO_INPUT_FILTER
 
#define PIOS_OMIT_TIM2IRQ
 
#define OSD_USE_MENU
 
#define MODULE_FLIGHTSTATS_BUILTIN
 
#define SYSTEMMOD_RGBLED_SUPPORT
 
#define SYSTEMMOD_RGBLED_VIDEO_HACK
 
#define CAMERASTAB_POI_MODE
 
#define PIOS_INCLUDE_DMASHOT
 
#define IDLE_COUNTS_PER_SEC_AT_NO_LOAD   (9873737)
 

Functions

void PIOS_Board_Init ()
 

Variables

uintptr_t pios_com_telem_usb_id
 
static const
TIM_TimeBaseInitTypeDef 
tim_3_4_5_14_time_base
 
static const
TIM_TimeBaseInitTypeDef 
tim_8_time_base
 
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_5_cfg
 
static const struct
pios_tim_clock_cfg 
tim_14_cfg
 
static const struct
pios_tim_clock_cfg 
tim_8_cfg
 
static const struct
pios_tim_channel 
pios_tim_servoport_all_pins []
 
static const struct
pios_tim_channel 
pios_tim_rcvrport_all_channels []
 
const struct stm32_gpio video_mask_pin
 
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
 
uintptr_t external_i2c_adapter_id = 0
 

Detailed Description

Macro Definition Documentation

#define BOARD_READABLE   true

Definition at line 82 of file pios_board.h.

#define BOARD_WRITABLE   true

Definition at line 83 of file pios_board.h.

#define CAMERASTAB_POI_MODE

Definition at line 91 of file pios_config.h.

#define DEBUG_PRINTF (   level,
  ... 
)

Definition at line 43 of file pios_board.h.

#define IDLE_COUNTS_PER_SEC_AT_NO_LOAD   (9873737)

Definition at line 109 of file pios_config.h.

#define MAX_DEL_RETRYS   3

Definition at line 84 of file pios_board.h.

#define MODULE_FLIGHTSTATS_BUILTIN

Definition at line 84 of file pios_config.h.

#define OSD_USE_MENU

Definition at line 82 of file pios_config.h.

#define PIOS_ADC_MAX_OVERSAMPLING   4

Definition at line 218 of file pios_board.h.

#define PIOS_ANNUNCIATOR_BUZZER   1

Definition at line 92 of file pios_board.h.

#define PIOS_COM_BRIDGE   (pios_com_bridge_id)

Definition at line 120 of file pios_board.h.

#define PIOS_COM_FRSKY_SENSOR_HUB   (pios_com_frsky_sensor_hub_id)

Definition at line 124 of file pios_board.h.

#define PIOS_COM_FRSKY_SPORT   (pios_com_frsky_sport_id)

Definition at line 126 of file pios_board.h.

#define PIOS_COM_GPS   (pios_com_gps_id)

Definition at line 118 of file pios_board.h.

#define PIOS_COM_HOTT   (pios_com_hott_id)

Definition at line 123 of file pios_board.h.

#define PIOS_COM_LIGHTTELEMETRY   (pios_com_lighttelemetry_id)

Definition at line 125 of file pios_board.h.

#define PIOS_COM_MAVLINK   (pios_com_mavlink_id)

Definition at line 122 of file pios_board.h.

#define PIOS_COM_OPENLOG   (pios_com_openlog_logging_id)

Definition at line 127 of file pios_board.h.

#define PIOS_COM_STORM32BGC   (pios_com_storm32bgc_id)

Definition at line 128 of file pios_board.h.

#define PIOS_COM_TELEM_USB   (pios_com_telem_usb_id)

Definition at line 119 of file pios_board.h.

#define PIOS_COM_VCP   (pios_com_vcp_id)

Definition at line 121 of file pios_board.h.

#define PIOS_DSM_NUM_INPUTS   12

Definition at line 191 of file pios_board.h.

#define PIOS_HSUM_MAX_DEVS   2

Definition at line 196 of file pios_board.h.

#define PIOS_HSUM_NUM_INPUTS   32

Definition at line 197 of file pios_board.h.

#define PIOS_INCLUDE_ANNUNC

Definition at line 39 of file pios_config.h.

#define PIOS_INCLUDE_BMI160

Definition at line 53 of file pios_config.h.

#define PIOS_INCLUDE_BMP280

Definition at line 54 of file pios_config.h.

#define PIOS_INCLUDE_BMP280_SPI

Definition at line 55 of file pios_config.h.

#define PIOS_INCLUDE_COM_MSG

Definition at line 44 of file pios_config.h.

#define PIOS_INCLUDE_DAC

Definition at line 48 of file pios_config.h.

#define PIOS_INCLUDE_DAC_ANNUNCIATOR

Definition at line 50 of file pios_config.h.

#define PIOS_INCLUDE_DAC_FSK

Definition at line 49 of file pios_config.h.

#define PIOS_INCLUDE_DMASHOT

Definition at line 94 of file pios_config.h.

#define PIOS_INCLUDE_FASTHEAP

Definition at line 45 of file pios_config.h.

#define PIOS_INCLUDE_FLASH

Definition at line 45 of file pios_config.h.

#define PIOS_INCLUDE_FLASH_INTERNAL

Definition at line 46 of file pios_config.h.

#define PIOS_INCLUDE_HMC5883

Definition at line 57 of file pios_config.h.

#define PIOS_INCLUDE_HMC5983_I2C

Definition at line 58 of file pios_config.h.

#define PIOS_INCLUDE_I2C

Definition at line 43 of file pios_config.h.

#define PIOS_INCLUDE_IAP

Definition at line 41 of file pios_config.h.

#define PIOS_INCLUDE_LIGHTTELEMETRY

Definition at line 69 of file pios_config.h.

#define PIOS_INCLUDE_LIS3MDL

Definition at line 56 of file pios_config.h.

#define PIOS_INCLUDE_MAVLINK

Definition at line 68 of file pios_config.h.

#define PIOS_INCLUDE_MPXV5004

Definition at line 60 of file pios_config.h.

#define PIOS_INCLUDE_MPXV7002

Definition at line 61 of file pios_config.h.

#define PIOS_INCLUDE_OPTICALFLOW

Definition at line 62 of file pios_config.h.

#define PIOS_INCLUDE_PWM

Definition at line 73 of file pios_config.h.

#define PIOS_INCLUDE_PX4FLOW

Definition at line 64 of file pios_config.h.

#define PIOS_INCLUDE_RANGEFINDER

Definition at line 63 of file pios_config.h.

#define PIOS_INCLUDE_SPI

Definition at line 44 of file pios_config.h.

#define PIOS_INCLUDE_SYS

Definition at line 40 of file pios_config.h.

#define PIOS_INCLUDE_TBSVTXCONFIG

Definition at line 46 of file pios_config.h.

#define PIOS_INCLUDE_USB

Definition at line 42 of file pios_config.h.

#define PIOS_INCLUDE_USB_HID

Definition at line 43 of file pios_config.h.

#define PIOS_INCLUDE_VIDEO

Definition at line 77 of file pios_config.h.

#define PIOS_INCLUDE_WS2811

Definition at line 47 of file pios_config.h.

#define PIOS_INCLUDE_WS2811

Definition at line 48 of file pios_config.h.

#define PIOS_IRQ_PRIO_HIGH   5

Definition at line 169 of file pios_board.h.

#define PIOS_IRQ_PRIO_HIGHEST   4

Definition at line 170 of file pios_board.h.

#define PIOS_IRQ_PRIO_LOW   12

Definition at line 167 of file pios_board.h.

#define PIOS_IRQ_PRIO_MID   8

Definition at line 168 of file pios_board.h.

#define PIOS_LED_ALARM   0

Definition at line 89 of file pios_board.h.

#define PIOS_LED_HEARTBEAT   0

Definition at line 90 of file pios_board.h.

#define PIOS_OMIT_TIM2IRQ

Definition at line 81 of file pios_config.h.

#define PIOS_PERIPHERAL_APB1_CLOCK   (PIOS_SYSCLK / 4)

Definition at line 152 of file pios_board.h.

#define PIOS_PERIPHERAL_APB2_CLOCK   (PIOS_SYSCLK / 2)

Definition at line 162 of file pios_board.h.

#define PIOS_PPM_NUM_INPUTS   12

Definition at line 181 of file pios_board.h.

#define PIOS_PWM_NUM_INPUTS   8

Definition at line 186 of file pios_board.h.

#define PIOS_RCVR_MAX_CHANNELS   12

Definition at line 176 of file pios_board.h.

#define PIOS_SBUS_NUM_INPUTS   (16+2)

Definition at line 202 of file pios_board.h.

#define PIOS_SERVO_UPDATE_HZ   50

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

#define PIOS_SYSCLK   168000000

Definition at line 141 of file pios_board.h.

#define PIOS_TIM_MAX_DEVS   8

Definition at line 213 of file pios_board.h.

#define PIOS_TOLERATE_MISSING_SENSORS

Definition at line 65 of file pios_config.h.

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

Definition at line 224 of file pios_board.h.

#define PIOS_VIDEO_HSYNC_OFFSET   -22

Definition at line 79 of file pios_config.h.

#define PIOS_VIDEO_INPUT_FILTER

Definition at line 80 of file pios_config.h.

#define PIOS_VIDEO_SPLITBUFFER   /* Uses 2 1-bit/pixel buffers */

Definition at line 78 of file pios_config.h.

#define PIOS_VIDEO_TIM4_COUNTER

Definition at line 76 of file pios_config.h.

#define PIOS_WATCHDOG_TIMEOUT   250

Definition at line 97 of file pios_board.h.

#define PIOS_WDG_REGISTER   RTC_BKP_DR4

Definition at line 98 of file pios_board.h.

#define STABILIZATION_LQG

Definition at line 40 of file pios_config.h.

#define SYSTEMMOD_RGBLED_SUPPORT

Definition at line 88 of file pios_config.h.

#define SYSTEMMOD_RGBLED_VIDEO_HACK

Definition at line 89 of file pios_config.h.

#define VREF_PLUS   3.3

Definition at line 219 of file pios_board.h.

Function Documentation

void PIOS_Board_Init ( void  )

Initialise PWM Output for black/white level setting PIOS_Board_Init() initializes all the core subsystems on this specific hardware called from System/openpilot.c

Definition at line 53 of file pios_board.c.

Variable Documentation

uintptr_t external_i2c_adapter_id = 0

Definition at line 62 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 58 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 51 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_rcvrport_all_channels[]
static
Initial value:
= {
{
.timer = TIM5,
.timer_chan = TIM_Channel_4,
.remap = GPIO_AF_TIM5,
.pin = {
.gpio = GPIOA,
.init = {
.GPIO_Pin = GPIO_Pin_3,
.GPIO_Speed = GPIO_Speed_2MHz,
.GPIO_Mode = GPIO_Mode_AF,
.GPIO_OType = GPIO_OType_PP,
.GPIO_PuPd = GPIO_PuPd_UP
},
.pin_source = GPIO_PinSource3,
},
},
}

Definition at line 1060 of file board_hw_defs.c.

const struct pios_tim_channel pios_tim_servoport_all_pins[]
static

Pios servo configuration structures

Definition at line 839 of file board_hw_defs.c.

uintptr_t pios_uavo_settings_fs_id

Simulation of the flash filesystem

Todo:
something nicer about these

Definition at line 59 of file pios_board.c.

const struct pios_tim_clock_cfg tim_14_cfg
static
Initial value:
= {
.timer = TIM14,
.time_base_init = &tim_3_4_5_14_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM8_TRG_COM_TIM14_IRQn,
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
.NVIC_IRQChannelSubPriority = 0,
.NVIC_IRQChannelCmd = ENABLE,
},
},
}
static const TIM_TimeBaseInitTypeDef tim_3_4_5_14_time_base
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170

Definition at line 794 of file board_hw_defs.c.

const TIM_TimeBaseInitTypeDef tim_3_4_5_14_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 738 of file board_hw_defs.c.

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

Definition at line 755 of file board_hw_defs.c.

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

Definition at line 768 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_5_cfg
static
Initial value:
= {
.timer = TIM5,
.time_base_init = &tim_3_4_5_14_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_3_4_5_14_time_base
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170

Definition at line 781 of file board_hw_defs.c.

const struct pios_tim_clock_cfg tim_8_cfg
static
Initial value:
= {
.timer = TIM8,
.time_base_init = &tim_8_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM8_UP_TIM13_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_8_time_base

Definition at line 807 of file board_hw_defs.c.

const TIM_TimeBaseInitTypeDef tim_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 747 of file board_hw_defs.c.

const struct stm32_gpio video_mask_pin
Initial value:
= {
.gpio = GPIOA,
.init = {
.GPIO_Pin = GPIO_Pin_6,
.GPIO_Speed = GPIO_Speed_25MHz,
.GPIO_Mode = GPIO_Mode_AF,
.GPIO_OType = GPIO_OType_PP,
.GPIO_PuPd = GPIO_PuPd_NOPULL
}
}

Definition at line 1227 of file board_hw_defs.c.