Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/thirdpin/libopencm3.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libopencm3/stm32/common/adc_common_v2.h1
-rw-r--r--include/libopencm3/stm32/common/adc_common_v2_multi.h2
-rw-r--r--include/libopencm3/stm32/f0/adc.h3
-rw-r--r--include/libopencm3/stm32/f3/adc.h2
-rw-r--r--lib/stm32/common/adc_common_v2.c17
-rw-r--r--lib/stm32/f0/adc.c30
-rw-r--r--lib/stm32/f3/adc.c19
7 files changed, 20 insertions, 54 deletions
diff --git a/include/libopencm3/stm32/common/adc_common_v2.h b/include/libopencm3/stm32/common/adc_common_v2.h
index 27cb5dea..a3ec05eb 100644
--- a/include/libopencm3/stm32/common/adc_common_v2.h
+++ b/include/libopencm3/stm32/common/adc_common_v2.h
@@ -201,6 +201,7 @@ void adc_disable_overrun_interrupt(uint32_t adc);
bool adc_get_overrun_flag(uint32_t adc);
void adc_clear_overrun_flag(uint32_t adc);
uint32_t adc_read_regular(uint32_t adc);
+void adc_start_conversion_regular(uint32_t adc);
END_DECLS
diff --git a/include/libopencm3/stm32/common/adc_common_v2_multi.h b/include/libopencm3/stm32/common/adc_common_v2_multi.h
index fb630415..4f1fd14d 100644
--- a/include/libopencm3/stm32/common/adc_common_v2_multi.h
+++ b/include/libopencm3/stm32/common/adc_common_v2_multi.h
@@ -149,6 +149,8 @@ specific memorymap.h header before including this header file.*/
BEGIN_DECLS
+void adc_set_sample_time(uint32_t adc, uint8_t channel, uint8_t time);
+
END_DECLS
#endif
diff --git a/include/libopencm3/stm32/f0/adc.h b/include/libopencm3/stm32/f0/adc.h
index 8d7fa950..de3d5100 100644
--- a/include/libopencm3/stm32/f0/adc.h
+++ b/include/libopencm3/stm32/f0/adc.h
@@ -166,9 +166,6 @@ void adc_enable_external_trigger_regular(uint32_t adc, uint32_t trigger,
uint32_t polarity);
void adc_disable_external_trigger_regular(uint32_t adc);
-/* Conversion API */
-void adc_start_conversion_regular(uint32_t adc);
-
/* Interrupt configuration */
void adc_enable_watchdog_interrupt(uint32_t adc);
void adc_disable_watchdog_interrupt(uint32_t adc);
diff --git a/include/libopencm3/stm32/f3/adc.h b/include/libopencm3/stm32/f3/adc.h
index b2d406e7..9f4639bb 100644
--- a/include/libopencm3/stm32/f3/adc.h
+++ b/include/libopencm3/stm32/f3/adc.h
@@ -597,11 +597,9 @@ void adc_enable_all_awd_interrupt(uint32_t adc);
void adc_disable_all_awd_interrupt(uint32_t adc);
void adc_enable_eos_interrupt(uint32_t adc);
void adc_disable_eos_interrupt(uint32_t adc);
-void adc_start_conversion_regular(uint32_t adc);
void adc_start_conversion_injected(uint32_t adc);
void adc_disable_external_trigger_regular(uint32_t adc);
void adc_disable_external_trigger_injected(uint32_t adc);
-void adc_set_sample_time(uint32_t adc, uint8_t channel, uint8_t time);
void adc_set_watchdog_high_threshold(uint32_t adc, uint8_t threshold);
void adc_set_watchdog_low_threshold(uint32_t adc, uint8_t threshold);
void adc_set_injected_sequence(uint32_t adc, uint8_t length, uint8_t channel[]);
diff --git a/lib/stm32/common/adc_common_v2.c b/lib/stm32/common/adc_common_v2.c
index e94e7001..ae4008ac 100644
--- a/lib/stm32/common/adc_common_v2.c
+++ b/lib/stm32/common/adc_common_v2.c
@@ -337,3 +337,20 @@ void adc_disable_vrefint(void)
{
ADC_CCR(ADC1) &= ~ADC_CCR_VREFEN;
}
+
+/** @brief ADC Software Triggered Conversion on Regular Channels
+ *
+ * This starts conversion on a set of defined regular channels. It is cleared
+ * by hardware once conversion starts.
+ *
+ * @param[in] adc ADC block register address base @ref adc_reg_base
+ */
+void adc_start_conversion_regular(uint32_t adc)
+{
+ /* Start conversion on regular channels. */
+ ADC_CR(adc) |= ADC_CR_ADSTART;
+
+ /* Wait until the ADC starts the conversion. */
+ while (ADC_CR(adc) & ADC_CR_ADSTART);
+}
+
diff --git a/lib/stm32/f0/adc.c b/lib/stm32/f0/adc.c
index eec8e125..00bd2322 100644
--- a/lib/stm32/f0/adc.c
+++ b/lib/stm32/f0/adc.c
@@ -147,36 +147,6 @@ void adc_set_operation_mode(uint32_t adc, enum adc_opmode opmode)
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/**
- * @defgroup adc_api_result ADC Result API
- * @ingroup adc_file
- *
- * @brief ADC Result API
- *
- *@{*/
-
-/*---------------------------------------------------------------------------*/
-/** @brief ADC Software Triggered Conversion on Regular Channels
- *
- * This starts conversion on a set of defined regular channels. It is cleared
- * by hardware once conversion starts.
- *
- * @param[in] adc Unsigned int32. ADC base address (@ref adc_reg_base)
- */
-
-void adc_start_conversion_regular(uint32_t adc)
-{
- /* Start conversion on regular channels. */
- ADC_CR(adc) |= ADC_CR_ADSTART;
-
- /* Wait until the ADC starts the conversion. */
- while (ADC_CR(adc) & ADC_CR_ADSTART);
-}
-
-/**@}*/
-
-/*---------------------------------------------------------------------------*/
-/*---------------------------------------------------------------------------*/
-/**
* @defgroup adc_api_trigger ADC Trigger API
* @ingroup adc_file
*
diff --git a/lib/stm32/f3/adc.c b/lib/stm32/f3/adc.c
index c5327cfe..05ac2b32 100644
--- a/lib/stm32/f3/adc.c
+++ b/lib/stm32/f3/adc.c
@@ -431,25 +431,6 @@ void adc_disable_eos_interrupt(uint32_t adc)
/*---------------------------------------------------------------------------*/
-/** @brief ADC Software Triggered Conversion on Regular Channels
- *
- * This starts conversion on a set of defined regular channels. It is cleared
- * by hardware once conversion starts.
- *
- * @param[in] adc Unsigned int32. ADC block register address base @ref
- * adc_reg_base
- */
-
-void adc_start_conversion_regular(uint32_t adc)
-{
- /* Start conversion on regular channels. */
- ADC_CR(adc) |= ADC_CR_ADSTART;
-
- /* Wait until the ADC starts the conversion. */
- while (ADC_CR(adc) & ADC_CR_ADSTART);
-}
-
-/*---------------------------------------------------------------------------*/
/** @brief ADC Software Triggered Conversion on Injected Channels
*
* This starts conversion on a set of defined injected channels. It is cleared