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

Modules

 SP Racing F3 Evo
 
 OpenPilot Revolution Mini
 
 Aeroquad AQ32
 
 BrainFPV
 
 BrainFPV RE1
 
 AIRDTF DTFc
 
 POSIX Simulator
 
 FlyingPi IO Hat
 Defines board specific static initializers for hardware for the FlyingPIO IO expander.
 
 Lumenier LUX
 
 Matek MATEK405 @{
 
 Matek MATEK405
 
 OmnibusF3
 
 PikoBLX
 CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. This file contains the system clock configuration for STM32F30x devices, and is generated by the clock configuration tool stm32f30x_Clock_Configuration_V1.0.0.xls.
 
 PipXtreme Radio
 
 PlayUAV OSD
 Bootloader for PlayUAVOSD board.
 
 Quantec Quanton
 
 Tau Labs Sparky
 
 Tau Labs Sparky2
 

Files

file  board_hw_defs.c
 Defines board specific static initializers for hardware for the MATEK405 board.
 

Functions

void Stack_Change (void)
 
static void initTask (void)
 
void __early_init (void)
 Early initialization code. More...
 
void boardInit (void)
 Board-specific initialization code. More...
 
int main ()
 
void check_bor ()
 
void system_task ()
 

Variables

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_3_cfg
 
static const struct
pios_tim_clock_cfg 
tim_8_cfg
 
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_4_cfg
 
static const struct
pios_tim_channel 
pios_tim_outputs_pins_without_led_string []
 
static const struct
pios_tim_channel 
pios_tim_outputs_pins_with_led_string []
 
static const struct
pios_tim_channel 
pios_tim_rcvrport_ppm []
 

Detailed Description

Function Documentation

void __early_init ( void  )

Early initialization code.

This initialization must be performed just after stack setup and before any other initialization.

Definition at line 49 of file chibi_main.c.

void boardInit ( void  )

Board-specific initialization code.

Todo:
Add your board-specific code, if any.

Definition at line 58 of file chibi_main.c.

void check_bor ( )

Definition at line 116 of file chibi_main.c.

void initTask ( void  )
static

Initialisation task.

Runs board and module initialisation, then terminates.

Todo:
consider mixing in HRNG on F4

Definition at line 128 of file chibi_main.c.

int main ( void  )

dRonin Main function:

Initialize PiOS
Create the "System" task (SystemModInitializein Modules/System/systemmod.c)
Start the RTOS Scheduler

CortexM3 CPU vectors

Definition at line 69 of file chibi_main.c.

void Stack_Change ( void  )

Definition at line 53 of file pios_board.c.

void system_task ( )

Definition at line 223 of file systemmod.c.

Variable Documentation

const struct pios_tim_channel pios_tim_outputs_pins_with_led_string[]
static

Definition at line 1010 of file board_hw_defs.c.

const struct pios_tim_channel pios_tim_outputs_pins_without_led_string[]
static

Pios servo configuration structures

Definition at line 895 of file board_hw_defs.c.

const struct pios_tim_channel pios_tim_rcvrport_ppm[]
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 1238 of file board_hw_defs.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 807 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_8_time_base,
.irq = {
.init = {
.NVIC_IRQChannel = TIM1_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 854 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 798 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 841 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 815 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 867 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,
},
},
}
#define PIOS_IRQ_PRIO_MID
Definition: pios_board.h:170
static const TIM_TimeBaseInitTypeDef tim_5_time_base

Definition at line 782 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 774 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 828 of file board_hw_defs.c.