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

PIOS Timer control code. More...

Data Structures

struct  pios_tim_dev
 

Enumerations

enum  pios_tim_dev_magic { PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098 }
 
enum  pios_tim_dev_magic { PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098 }
 
enum  pios_tim_dev_magic { PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098 }
 
enum  pios_tim_dev_magic { PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098, PIOS_TIM_DEV_MAGIC = 0x87654098 }
 

Functions

static struct pios_tim_devPIOS_TIM_alloc (void)
 
int32_t PIOS_TIM_InitClock (const struct pios_tim_clock_cfg *cfg)
 
void PIOS_TIM_InitTimerPin (uintptr_t tim_id, int idx)
 
void PIOS_TIM_InitAllTimerPins (uintptr_t tim_id)
 
void PIOS_TIM_SetBankToGPOut (uintptr_t tim_id, TIM_TypeDef *timer)
 
int32_t PIOS_TIM_InitChannels (uintptr_t *tim_id, const struct pios_tim_channel *channels, uint8_t num_channels, const struct pios_tim_callbacks *callbacks, uintptr_t context)
 
static void PIOS_TIM_generic_irq_handler (TIM_TypeDef *timer)
 
void TIM1_CC_IRQHandler (void)
 
void TIM2_IRQHandler (void)
 
void TIM3_IRQHandler (void)
 
void TIM6_IRQHandler (void)
 
void TIM14_IRQHandler (void)
 
void TIM15_IRQHandler (void)
 
void TIM16_IRQHandler (void)
 
void TIM17_IRQHandler (void)
 
void TIM1_UP_IRQHandler (void)
 
void TIM4_IRQHandler (void)
 
void TIM5_IRQHandler (void)
 
void TIM7_IRQHandler (void)
 
void TIM8_UP_IRQHandler (void)
 
void TIM8_CC_IRQHandler (void)
 
void TIM1_BRK_TIM15_IRQHandler (void)
 
void TIM1_UP_TIM16_IRQHandler (void)
 
void TIM1_TRG_COM_TIM17_IRQHandler (void)
 
void TIM6_DAC_IRQHandler (void)
 
void TIM8_BRK_IRQHandler (void)
 
void TIM8_TRG_COM_IRQHandler (void)
 
void TIM1_BRK_TIM9_IRQHandler (void)
 
void TIM1_UP_TIM10_IRQHandler (void)
 
void TIM1_TRG_COM_TIM11_IRQHandler (void)
 
void TIM8_BRK_TIM12_IRQHandler (void)
 
void TIM8_UP_TIM13_IRQHandler (void)
 
void TIM8_TRG_COM_TIM14_IRQHandler (void)
 

Variables

static struct pios_tim_dev pios_tim_devs [PIOS_TIM_MAX_DEVS]
 
static uint8_t pios_tim_num_devs
 
enum pios_tim_dev_magic pios_tim_dev::magic
 
const struct pios_tim_channelpios_tim_dev::channels
 
uint8_t pios_tim_dev::num_channels
 
const struct pios_tim_callbackspios_tim_dev::callbacks
 
uintptr_t pios_tim_dev::context
 
static struct pios_tim_dev pios_tim_devs [PIOS_TIM_MAX_DEVS]
 
static uint8_t pios_tim_num_devs
 
static struct pios_tim_dev pios_tim_devs [PIOS_TIM_MAX_DEVS]
 
static uint8_t pios_tim_num_devs
 
static struct pios_tim_dev pios_tim_devs [PIOS_TIM_MAX_DEVS]
 
static uint8_t pios_tim_num_devs
 

Detailed Description

PIOS Timer control code.

Provides a hardware abstraction layer to the STM32 timers.

Enumeration Type Documentation

Enumerator
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 

Definition at line 32 of file pios_tim.c.

Enumerator
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 

Definition at line 37 of file pios_tim.c.

Enumerator
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 

Definition at line 38 of file pios_tim.c.

Enumerator
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 
PIOS_TIM_DEV_MAGIC 

Definition at line 38 of file pios_tim.c.

Function Documentation

static struct pios_tim_dev* PIOS_TIM_alloc ( void  )
static

Definition at line 54 of file pios_tim.c.

static void PIOS_TIM_generic_irq_handler ( TIM_TypeDef *  timer)
static

Definition at line 167 of file pios_tim.c.

void PIOS_TIM_InitAllTimerPins ( uintptr_t  tim_id)

Definition at line 109 of file pios_tim.c.

int32_t PIOS_TIM_InitChannels ( uintptr_t *  tim_id,
const struct pios_tim_channel channels,
uint8_t  num_channels,
const struct pios_tim_callbacks callbacks,
uintptr_t  context 
)

Definition at line 142 of file pios_tim.c.

int32_t PIOS_TIM_InitClock ( const struct pios_tim_clock_cfg cfg)

Definition at line 68 of file pios_tim.c.

void PIOS_TIM_InitTimerPin ( uintptr_t  tim_id,
int  idx 
)

Definition at line 94 of file pios_tim.c.

void PIOS_TIM_SetBankToGPOut ( uintptr_t  tim_id,
TIM_TypeDef *  timer 
)

Definition at line 119 of file pios_tim.c.

void TIM14_IRQHandler ( void  )

Definition at line 351 of file pios_tim.c.

void TIM15_IRQHandler ( void  )

Definition at line 359 of file pios_tim.c.

void TIM16_IRQHandler ( void  )

Definition at line 367 of file pios_tim.c.

void TIM17_IRQHandler ( void  )

Definition at line 375 of file pios_tim.c.

void TIM1_BRK_TIM15_IRQHandler ( void  )

Definition at line 324 of file pios_tim.c.

void TIM1_BRK_TIM9_IRQHandler ( void  )

Definition at line 325 of file pios_tim.c.

void TIM1_CC_IRQHandler ( void  )

Definition at line 317 of file pios_tim.c.

void TIM1_TRG_COM_TIM11_IRQHandler ( void  )

Definition at line 352 of file pios_tim.c.

void TIM1_TRG_COM_TIM17_IRQHandler ( void  )

Definition at line 351 of file pios_tim.c.

void TIM1_UP_IRQHandler ( void  )

Definition at line 354 of file pios_tim.c.

void TIM1_UP_TIM10_IRQHandler ( void  )

Definition at line 339 of file pios_tim.c.

void TIM1_UP_TIM16_IRQHandler ( void  )

Definition at line 338 of file pios_tim.c.

void TIM2_IRQHandler ( void  )

Definition at line 327 of file pios_tim.c.

void TIM3_IRQHandler ( void  )

Definition at line 335 of file pios_tim.c.

void TIM4_IRQHandler ( void  )

Definition at line 378 of file pios_tim.c.

void TIM5_IRQHandler ( void  )

Definition at line 384 of file pios_tim.c.

void TIM6_DAC_IRQHandler ( void  )

Definition at line 389 of file pios_tim.c.

void TIM6_IRQHandler ( void  )

Definition at line 343 of file pios_tim.c.

void TIM7_IRQHandler ( void  )

Definition at line 396 of file pios_tim.c.

void TIM8_BRK_IRQHandler ( void  )

Definition at line 414 of file pios_tim.c.

void TIM8_BRK_TIM12_IRQHandler ( void  )

Definition at line 428 of file pios_tim.c.

void TIM8_CC_IRQHandler ( void  )

Definition at line 408 of file pios_tim.c.

void TIM8_TRG_COM_IRQHandler ( void  )

Definition at line 430 of file pios_tim.c.

void TIM8_TRG_COM_TIM14_IRQHandler ( void  )

Definition at line 456 of file pios_tim.c.

void TIM8_UP_IRQHandler ( void  )

Definition at line 402 of file pios_tim.c.

void TIM8_UP_TIM13_IRQHandler ( void  )

Definition at line 442 of file pios_tim.c.

Variable Documentation

const struct pios_tim_callbacks * pios_tim_dev::callbacks

Definition at line 48 of file pios_tim.c.

const struct pios_tim_channel * pios_tim_dev::channels

Definition at line 45 of file pios_tim.c.

uintptr_t pios_tim_dev::context

Definition at line 49 of file pios_tim.c.

enum pios_tim_dev_magic pios_tim_dev::magic

Definition at line 43 of file pios_tim.c.

uint8_t pios_tim_dev::num_channels

Definition at line 46 of file pios_tim.c.

struct pios_tim_dev pios_tim_devs[PIOS_TIM_MAX_DEVS]
static

Definition at line 52 of file pios_tim.c.

struct pios_tim_dev pios_tim_devs[PIOS_TIM_MAX_DEVS]
static

Definition at line 51 of file pios_tim.c.

struct pios_tim_dev pios_tim_devs[PIOS_TIM_MAX_DEVS]
static

Definition at line 46 of file pios_tim.c.

struct pios_tim_dev pios_tim_devs[PIOS_TIM_MAX_DEVS]
static

Definition at line 52 of file pios_tim.c.

uint8_t pios_tim_num_devs
static

Definition at line 47 of file pios_tim.c.

uint8_t pios_tim_num_devs
static

Definition at line 52 of file pios_tim.c.

uint8_t pios_tim_num_devs
static

Definition at line 53 of file pios_tim.c.

uint8_t pios_tim_num_devs
static

Definition at line 53 of file pios_tim.c.