theCore C++ embedded framework
|
STM32 ADC driver. More...
#include "platform/execution.hpp"
#include <stm32_device.hpp>
#include <ecl/utils.hpp>
#include <ecl/err.hpp>
#include <common/adc.hpp>
#include <common/irq.hpp>
#include <array>
Data Structures | |
struct | ecl::channel_group< trig, chans > |
Channels grouped together along with an external trigger. More... | |
struct | ecl::channel_group_sw_trigger< chans > |
Channels grouped together, conversion triggered by software. More... | |
struct | ecl::channel_group_exti_trigger< edge, chans > |
Channels grouped together, conversion triggered by EXTI line. More... | |
struct | ecl::adc_cfg< dev > |
ADC configuration prototype. More... | |
struct | ecl::extractor< chs > |
Extracts information of the given channel group. More... | |
class | ecl::adc_irq_dispatcher |
ADC interrupts helper. More... | |
class | ecl::adc< dev > |
ADC peripheral class. More... | |
class | ecl::mgmt_configurator< dev, mode > |
Management configurator class. More... | |
class | ecl::mgmt_configurator< dev, adc_mgmt_mode::irq > |
Configurator for ADC IRQ mode. More... | |
class | ecl::mgmt_configurator< dev, adc_mgmt_mode::dma > |
Configurator for ADC DMA mode. More... | |
class | ecl::adc< dev > |
ADC peripheral class. More... | |
Namespaces | |
ecl | |
Typedefs | |
using | ecl::adc_evh = std::function< void(adc_event)> |
ADC event handler. Event code signifies result of a conversion. More... | |
Enumerations | |
enum | ecl::adc_mgmt_mode { ecl::adc_mgmt_mode::dma, ecl::adc_mgmt_mode::irq } |
ADC management mode. More... | |
enum | ecl::adc_trigger { ecl::adc_trigger::t1_cc1 = ADC_ExternalTrigConv_T1_CC1, ecl::adc_trigger::t1_cc2 = ADC_ExternalTrigConv_T1_CC2, ecl::adc_trigger::t1_cc3 = ADC_ExternalTrigConv_T1_CC3, ecl::adc_trigger::t2_cc2 = ADC_ExternalTrigConv_T2_CC2, ecl::adc_trigger::t2_cc3 = ADC_ExternalTrigConv_T2_CC3, ecl::adc_trigger::t2_cc4 = ADC_ExternalTrigConv_T2_CC4, ecl::adc_trigger::t2_trgo = ADC_ExternalTrigConv_T2_TRGO, ecl::adc_trigger::t3_cc1 = ADC_ExternalTrigConv_T3_CC1, ecl::adc_trigger::t3_trgo = ADC_ExternalTrigConv_T3_TRGO, ecl::adc_trigger::t4_cc4 = ADC_ExternalTrigConv_T4_CC4, ecl::adc_trigger::t5_cc1 = ADC_ExternalTrigConv_T5_CC1, ecl::adc_trigger::t5_cc2 = ADC_ExternalTrigConv_T5_CC2, ecl::adc_trigger::t5_cc3 = ADC_ExternalTrigConv_T5_CC3, ecl::adc_trigger::t8_cc1 = ADC_ExternalTrigConv_T8_CC1, ecl::adc_trigger::t8_trgo = ADC_ExternalTrigConv_T8_TRGO } |
The external event used to trigger the start of conversion of a group. More... | |
enum | ecl::adc_trigger_edge { ecl::adc_trigger_edge::rising = ADC_ExternalTrigConvEdge_Rising, ecl::adc_trigger_edge::falling = ADC_ExternalTrigConvEdge_Falling, ecl::adc_trigger_edge::both = ADC_ExternalTrigConvEdge_RisingFalling } |
The external trigger edge in case of EXTI line used as a trigger. More... | |
enum | ecl::adc_channel { ecl::adc_channel::ch0 = ADC_Channel_0, ecl::adc_channel::ch1 = ADC_Channel_1, ecl::adc_channel::ch2 = ADC_Channel_2, ecl::adc_channel::ch3 = ADC_Channel_3, ecl::adc_channel::ch4 = ADC_Channel_4, ecl::adc_channel::ch5 = ADC_Channel_5, ecl::adc_channel::ch6 = ADC_Channel_6, ecl::adc_channel::ch7 = ADC_Channel_7, ecl::adc_channel::ch8 = ADC_Channel_8, ecl::adc_channel::ch9 = ADC_Channel_9, ecl::adc_channel::ch10 = ADC_Channel_10, ecl::adc_channel::ch11 = ADC_Channel_11, ecl::adc_channel::ch12 = ADC_Channel_12, ecl::adc_channel::ch13 = ADC_Channel_13, ecl::adc_channel::ch14 = ADC_Channel_14, ecl::adc_channel::ch15 = ADC_Channel_15, ecl::adc_channel::ch16 = ADC_Channel_16, ecl::adc_channel::ch17 = ADC_Channel_17, ecl::adc_channel::ch18 = ADC_Channel_18 } |
ADC possible channels. More... | |
STM32 ADC driver.
Some app notes can be found at: http://goo.gl/9rTqUT (AN3116 application note, STM32’s ADC modes and their applications)