diff --git a/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.cpp b/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.cpp index 50af50b2cc1c7de20f0602c653948112a5168dd8..af95ccde355a368b5206cc43184591987c9d39de 100644 --- a/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.cpp +++ b/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.cpp @@ -247,6 +247,11 @@ void HardwareConfiguration::configureAdcTriggerSource(uint8_t adc_number, adc_ev configure_adc_trigger_source(adc_number, trigger_source); } +void HardwareConfiguration::configureAdcDiscontinuousMode(uint8_t adc_number, uint32_t dicontinuous_count) +{ + configure_adc_discontinuous_mode(adc_number, dicontinuous_count); +} + void HardwareConfiguration::configureAdcDefaultAllMeasurements() { configure_adc_default_all_measurements(); diff --git a/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.h b/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.h index cc9b8630c8921427864d3613c929df3c46876487..7f265039d560e3aab80d15c74d184f5ffe7bd8c3 100644 --- a/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.h +++ b/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.h @@ -106,6 +106,7 @@ public: static void configureAdc12DualMode(uint8_t dual_mode); static int8_t configureAdcChannels(uint8_t adc_number, const char* channel_list[], uint8_t channel_count); static void configureAdcTriggerSource(uint8_t adc_number, adc_ev_src_t trigger_source); + static void configureAdcDiscontinuousMode(uint8_t adc_number, uint32_t dicontinuous_count); static void configureAdcDefaultAllMeasurements(); }; diff --git a/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.cpp b/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.cpp index ee08ac31edf405c8bf40ba958af692be7c97c01c..af7042b4d1eca69a8ec1fe71bdacd613311c101f 100644 --- a/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.cpp +++ b/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.cpp @@ -108,6 +108,22 @@ void configure_adc_trigger_source(uint8_t adc_number, adc_ev_src_t trigger_sourc adc_configure_trigger_source(adc_number, trigger_source); } +void configure_adc_discontinuous_mode(uint8_t adc_number, uint32_t dicontinuous_count) +{ + ///// + // Make sure module is initialized + + if (initialized == 0) + { + _initialize(); + } + + ///// + // Proceed + + adc_configure_discontinuous_mode(adc_number, dicontinuous_count); +} + void configure_adc_default_all_measurements() { uint8_t number_of_channels_adc1 = 3; diff --git a/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.h b/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.h index cc67dc4f114c18c9a89f031bd52567ca987bf745..c22c5a29e229ff242633e9bc808d6579371923ac 100644 --- a/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.h +++ b/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.h @@ -82,6 +82,16 @@ int8_t configure_adc_channels(uint8_t adc_number, const char* channel_list[], ui */ void configure_adc_trigger_source(uint8_t adc_number, adc_ev_src_t trigger_source); +/** + * Registers the discontinuous count for an ADC. + * It will be applied when ADC is started. + * + * @param adc_number Number of the ADC to configure. + * @param dicontinuous_count Number of channels to acquire on each + * trigger event. 0 to disable discontinuous mode (default). + */ +void configure_adc_discontinuous_mode(uint8_t adc_number, uint32_t dicontinuous_count); + /** * This function is used to configure all ADC channels in default configuration. * Channels will be attributed as follows: