OpenMPTL - STM32F10X
C++ Microprocessor Template Library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
Classes | Public Types | Static Public Member Functions | List of all members
mptl::adc< adc_no > Class Template Reference

#include <adc.hpp>

Classes

struct  data_align
 Data alignment. More...
 
struct  dual_mode
 Dual mode selection. More...
 
struct  external_trigger_conversion
 External event select for regular group. More...
 

Public Types

enum  sample_time {
  sample_time::cycles_1_5 = 0, sample_time::cycles_7_5 = 1, sample_time::cycles_13_5 = 2, sample_time::cycles_28_5 = 3,
  sample_time::cycles_41_5 = 4, sample_time::cycles_55_5 = 5, sample_time::cycles_71_5 = 6, sample_time::cycles_239_5 = 7
}
 Sample time, for regular_channel_config<> More...
 
using resources = rcc_adc_clock_resources< adc_no >
 
using scan_mode = regval< typename ADCx::CR1::SCAN, 1 >
 In Scan mode, the inputs selected through the ADC_SQRx or ADC_JSQRx registers are converted. More...
 
using continuous_conversion_mode = regval< typename ADCx::CR2::CONT, 1 >
 Continuous conversion. More...
 
template<unsigned value>
using regular_channel_sequence_length = typename std::enable_if<(value >=1) &&(value<=16), regval< typename ADCx::SQR1::L, value - 1 > >::type
 Regular channel sequence length 1<=n<=16 (SQR1[23:20] L) More...
 
template<unsigned channel, unsigned rank, sample_time _sample_time>
using regular_channel_config = typename regular_channel_config_impl< channel, rank, _sample_time >::type
 Regular channel configuration. More...
 

Static Public Member Functions

template<typename... Tp>
static void configure (void)
 Configure ADC register using Tp type traits. More...
 
static void reset (void)
 
static void enable (void)
 
static void disable (void)
 
static void enable_software_start_conversion (void)
 
static void disable_software_start_conversion (void)
 
static void wait_eoc (void)
 
static uint16_t get_conversion_value (void)
 

Member Typedef Documentation

◆ continuous_conversion_mode

template<unsigned adc_no>
using mptl::adc< adc_no >::continuous_conversion_mode = regval< typename ADCx::CR2::CONT, 1 >

If set conversion takes place continuously.

◆ regular_channel_config

template<unsigned adc_no>
template<unsigned channel, unsigned rank, sample_time _sample_time>
using mptl::adc< adc_no >::regular_channel_config = typename regular_channel_config_impl< channel, rank, _sample_time >::type

◆ regular_channel_sequence_length

template<unsigned adc_no>
template<unsigned value>
using mptl::adc< adc_no >::regular_channel_sequence_length = typename std::enable_if< (value >= 1) && (value <= 16), regval< typename ADCx::SQR1::L, value - 1 > >::type

◆ resources

template<unsigned adc_no>
using mptl::adc< adc_no >::resources = rcc_adc_clock_resources< adc_no >

◆ scan_mode

template<unsigned adc_no>
using mptl::adc< adc_no >::scan_mode = regval< typename ADCx::CR1::SCAN, 1 >

Member Enumeration Documentation

◆ sample_time

template<unsigned adc_no>
enum mptl::adc::sample_time
strong
Enumerator
cycles_1_5 

000: 1.5 cycles

cycles_7_5 

001: 7.5 cycles

cycles_13_5 

010: 13.5 cycles

cycles_28_5 

011: 28.5 cycles

cycles_41_5 

100: 41.5 cycles

cycles_55_5 

101: 55.5 cycles

cycles_71_5 

110: 71.5 cycles

cycles_239_5 

111: 239.5 cycles

Member Function Documentation

◆ configure()

template<unsigned adc_no>
template<typename... Tp>
static void mptl::adc< adc_no >::configure ( void  )
inlinestatic

NOTE: make sure no communication is ongoing when calling this function.

◆ disable()

template<unsigned adc_no>
static void mptl::adc< adc_no >::disable ( void  )
inlinestatic

◆ disable_software_start_conversion()

template<unsigned adc_no>
static void mptl::adc< adc_no >::disable_software_start_conversion ( void  )
inlinestatic
  • Stop ADC conversion
  • Disable ADC conversion on external event

◆ enable()

template<unsigned adc_no>
static void mptl::adc< adc_no >::enable ( void  )
inlinestatic

◆ enable_software_start_conversion()

template<unsigned adc_no>
static void mptl::adc< adc_no >::enable_software_start_conversion ( void  )
inlinestatic
  • Enable ADC conversion on external event
  • Start ADC conversion

◆ get_conversion_value()

template<unsigned adc_no>
static uint16_t mptl::adc< adc_no >::get_conversion_value ( void  )
inlinestatic

◆ reset()

template<unsigned adc_no>
static void mptl::adc< adc_no >::reset ( void  )
inlinestatic

◆ wait_eoc()

template<unsigned adc_no>
static void mptl::adc< adc_no >::wait_eoc ( void  )
inlinestatic

The documentation for this class was generated from the following file: