parent
c5f41819b1
commit
300a6a6e90
@ -0,0 +1,108 @@ |
||||
//
|
||||
// Created by MightyPork on 2018/02/04.
|
||||
//
|
||||
|
||||
#include "platform.h" |
||||
#include "ll_extension.h" |
||||
|
||||
const uint32_t LL_SYSCFG_EXTI_PORTS[PORTS_COUNT] = { |
||||
LL_SYSCFG_EXTI_PORTA, |
||||
LL_SYSCFG_EXTI_PORTB, |
||||
LL_SYSCFG_EXTI_PORTC, |
||||
LL_SYSCFG_EXTI_PORTD, |
||||
LL_SYSCFG_EXTI_PORTE, |
||||
#if PORTS_COUNT>5 |
||||
LL_SYSCFG_EXTI_PORTF, |
||||
#endif |
||||
#if PORTS_COUNT>6 |
||||
LL_SYSCFG_EXTI_PORTG, |
||||
#endif |
||||
}; |
||||
|
||||
const uint32_t LL_SYSCFG_EXTI_LINES[16] = { |
||||
LL_SYSCFG_EXTI_LINE0, |
||||
LL_SYSCFG_EXTI_LINE1, |
||||
LL_SYSCFG_EXTI_LINE2, |
||||
LL_SYSCFG_EXTI_LINE3, |
||||
LL_SYSCFG_EXTI_LINE4, |
||||
LL_SYSCFG_EXTI_LINE5, |
||||
LL_SYSCFG_EXTI_LINE6, |
||||
LL_SYSCFG_EXTI_LINE7, |
||||
LL_SYSCFG_EXTI_LINE8, |
||||
LL_SYSCFG_EXTI_LINE9, |
||||
LL_SYSCFG_EXTI_LINE10, |
||||
LL_SYSCFG_EXTI_LINE11, |
||||
LL_SYSCFG_EXTI_LINE12, |
||||
LL_SYSCFG_EXTI_LINE13, |
||||
LL_SYSCFG_EXTI_LINE14, |
||||
LL_SYSCFG_EXTI_LINE15, |
||||
}; |
||||
COMPILER_ASSERT(16 == ELEMENTS_IN_ARRAY(LL_SYSCFG_EXTI_LINES)); |
||||
|
||||
const uint32_t LL_EXTI_LINES[16] = { |
||||
LL_EXTI_LINE_0, |
||||
LL_EXTI_LINE_1, |
||||
LL_EXTI_LINE_2, |
||||
LL_EXTI_LINE_3, |
||||
LL_EXTI_LINE_4, |
||||
LL_EXTI_LINE_5, |
||||
LL_EXTI_LINE_6, |
||||
LL_EXTI_LINE_7, |
||||
LL_EXTI_LINE_8, |
||||
LL_EXTI_LINE_9, |
||||
LL_EXTI_LINE_10, |
||||
LL_EXTI_LINE_11, |
||||
LL_EXTI_LINE_12, |
||||
LL_EXTI_LINE_13, |
||||
LL_EXTI_LINE_14, |
||||
LL_EXTI_LINE_15, |
||||
}; |
||||
COMPILER_ASSERT(16 == ELEMENTS_IN_ARRAY(LL_EXTI_LINES)); |
||||
|
||||
/** Pin number to LL bitfield mapping */ |
||||
const uint32_t LL_GPIO_PINS[16] = { |
||||
LL_GPIO_PIN_0, |
||||
LL_GPIO_PIN_1, |
||||
LL_GPIO_PIN_2, |
||||
LL_GPIO_PIN_3, |
||||
LL_GPIO_PIN_4, |
||||
LL_GPIO_PIN_5, |
||||
LL_GPIO_PIN_6, |
||||
LL_GPIO_PIN_7, |
||||
LL_GPIO_PIN_8, |
||||
LL_GPIO_PIN_9, |
||||
LL_GPIO_PIN_10, |
||||
LL_GPIO_PIN_11, |
||||
LL_GPIO_PIN_12, |
||||
LL_GPIO_PIN_13, |
||||
LL_GPIO_PIN_14, |
||||
LL_GPIO_PIN_15, |
||||
}; |
||||
COMPILER_ASSERT(16 == ELEMENTS_IN_ARRAY(LL_GPIO_PINS)); |
||||
|
||||
/** Port number (A=0) to config struct pointer mapping */ |
||||
GPIO_TypeDef * const GPIO_PERIPHS[PORTS_COUNT] = { |
||||
GPIOA, |
||||
GPIOB, |
||||
GPIOC, |
||||
GPIOD, |
||||
GPIOE, |
||||
#if PORTS_COUNT>5 |
||||
GPIOF, |
||||
#endif |
||||
#if PORTS_COUNT>6 |
||||
GPIOG, |
||||
#endif |
||||
}; |
||||
COMPILER_ASSERT(PORTS_COUNT == ELEMENTS_IN_ARRAY(GPIO_PERIPHS)); |
||||
|
||||
const uint32_t LL_ADC_SAMPLETIMES[8] = { |
||||
LL_ADC_SAMPLINGTIME_1CYCLE_5, |
||||
LL_ADC_SAMPLINGTIME_7CYCLES_5, |
||||
LL_ADC_SAMPLINGTIME_13CYCLES_5, |
||||
LL_ADC_SAMPLINGTIME_28CYCLES_5, |
||||
LL_ADC_SAMPLINGTIME_41CYCLES_5, |
||||
LL_ADC_SAMPLINGTIME_55CYCLES_5, |
||||
LL_ADC_SAMPLINGTIME_71CYCLES_5, |
||||
LL_ADC_SAMPLINGTIME_239CYCLES_5, |
||||
}; |
@ -0,0 +1,59 @@ |
||||
//
|
||||
// Created by MightyPork on 2018/02/04.
|
||||
//
|
||||
|
||||
#ifndef GEX_F072_LL_EXTENSION_H |
||||
#define GEX_F072_LL_EXTENSION_H |
||||
|
||||
#include "platform.h" |
||||
|
||||
extern const uint32_t LL_SYSCFG_EXTI_PORTS[PORTS_COUNT]; |
||||
extern const uint32_t LL_SYSCFG_EXTI_LINES[16]; |
||||
extern GPIO_TypeDef * const GPIO_PERIPHS[PORTS_COUNT]; |
||||
extern const uint32_t LL_GPIO_PINS[16]; |
||||
extern const uint32_t LL_EXTI_LINES[16]; |
||||
extern const uint32_t LL_ADC_SAMPLETIMES[8]; |
||||
|
||||
|
||||
static inline bool LL_DMA_IsActiveFlag_G(uint32_t isr_snapshot, uint8_t channel) |
||||
{ |
||||
return 0 != (isr_snapshot & (DMA_ISR_GIF1 << (uint32_t)((channel-1) * 4))); |
||||
} |
||||
|
||||
static inline bool LL_DMA_IsActiveFlag_TC(uint32_t isr_snapshot, uint8_t channel) |
||||
{ |
||||
return 0 != (isr_snapshot & (DMA_ISR_TCIF1 << (uint32_t)((channel-1) * 4))); |
||||
} |
||||
|
||||
static inline bool LL_DMA_IsActiveFlag_HT(uint32_t isr_snapshot, uint8_t channel) |
||||
{ |
||||
return 0 != (isr_snapshot & (DMA_ISR_HTIF1 << (uint32_t)((channel-1) * 4))); |
||||
} |
||||
|
||||
static inline bool LL_DMA_IsActiveFlag_TE(uint32_t isr_snapshot, uint8_t channel) |
||||
{ |
||||
return 0 != (isr_snapshot & (DMA_ISR_TEIF1 << (uint32_t)((channel-1) * 4))); |
||||
} |
||||
|
||||
static inline void LL_DMA_ClearFlag_HT(DMA_TypeDef *DMAx, uint8_t channel) |
||||
{ |
||||
DMAx->IFCR = (DMA_IFCR_CHTIF1 << (uint32_t)((channel-1) * 4)); |
||||
} |
||||
|
||||
static inline void LL_DMA_ClearFlag_TC(DMA_TypeDef *DMAx, uint8_t channel) |
||||
{ |
||||
DMAx->IFCR = (DMA_IFCR_CTCIF1 << (uint32_t)((channel-1) * 4)); |
||||
} |
||||
|
||||
static inline void LL_DMA_ClearFlag_TE(DMA_TypeDef *DMAx, uint8_t channel) |
||||
{ |
||||
DMAx->IFCR = (DMA_IFCR_CTEIF1 << (uint32_t)((channel-1) * 4)); |
||||
} |
||||
|
||||
static inline void LL_DMA_ClearFlags(DMA_TypeDef *DMAx, uint8_t channel) |
||||
{ |
||||
DMAx->IFCR = (DMA_IFCR_CGIF1 << (uint32_t)((channel-1) * 4)); |
||||
} |
||||
|
||||
|
||||
#endif //GEX_F072_LL_EXTENSION_H
|
@ -0,0 +1,4 @@ |
||||
//
|
||||
// Created by MightyPork on 2018/02/04.
|
||||
//
|
||||
|
Loading…
Reference in new issue