diff --git a/zephyr/modules/owntech_adc_driver/zephyr/public_api/adc.c b/zephyr/modules/owntech_adc_driver/zephyr/public_api/adc.c
index 2a82441745843bb9da6cb4232e9f0782723c3780..d811e8fc76e99488e22ace6a9dc7cca1309013d7 100644
--- a/zephyr/modules/owntech_adc_driver/zephyr/public_api/adc.c
+++ b/zephyr/modules/owntech_adc_driver/zephyr/public_api/adc.c
@@ -62,12 +62,36 @@ void adc_set_dual_mode(uint8_t dual_mode)
 	adc_core_set_dual_mode(dual_mode);
 }
 
-void adc_configure_trigger_source(uint8_t adc_number, uint32_t trigger_source)
+void adc_configure_trigger_source(uint8_t adc_number, adc_ev_src_t trigger_source)
 {
+	/////
+	// Convert to LL constants
+
+	uint32_t trig;
+	switch (trigger_source)
+	{
+	case hrtim_ev1:
+		trig = LL_ADC_REG_TRIG_EXT_HRTIM_TRG1;
+		break;
+	case hrtim_ev2:
+		trig = LL_ADC_REG_TRIG_EXT_HRTIM_TRG2;
+		break;
+	case hrtim_ev3:
+		trig = LL_ADC_REG_TRIG_EXT_HRTIM_TRG3;
+		break;
+	case hrtim_ev4:
+		trig = LL_ADC_REG_TRIG_EXT_HRTIM_TRG4;
+		break;
+	case software:
+	default:
+		trig = LL_ADC_REG_TRIG_SOFTWARE;
+		break;
+	}
+
 	// Only store configuration: it must be applied after ADC enable
 	if ( (adc_number > 0) && (adc_number <= NUMBER_OF_ADCS) )
 	{
-		adc_trigger_sources[adc_number-1] = trigger_source;
+		adc_trigger_sources[adc_number-1] = trig;
 	}
 }
 
diff --git a/zephyr/modules/owntech_adc_driver/zephyr/public_api/adc.h b/zephyr/modules/owntech_adc_driver/zephyr/public_api/adc.h
index 0b91a13cf9865df099b2d49d0ac42c85dfe0be23..91b6112545a579f1320909fff2177b021e8d2433 100644
--- a/zephyr/modules/owntech_adc_driver/zephyr/public_api/adc.h
+++ b/zephyr/modules/owntech_adc_driver/zephyr/public_api/adc.h
@@ -47,6 +47,22 @@ extern "C" {
 #endif
 
 
+/////
+// Public enums
+
+typedef enum
+{
+	hrtim_ev1,
+	hrtim_ev2,
+	hrtim_ev3,
+	hrtim_ev4,
+	software
+} adc_ev_src_t;
+
+
+/////
+// Public API
+
 /**
  * @brief Initializes the ADCs. It must be
  * called *before* any configuration is made.
@@ -67,17 +83,16 @@ void adc_set_dual_mode(uint8_t dual_mode);
  * Registers the triger source for an ADC.
  * It will be applied when ADC is started.
  *
- * @param adc_number Number of the ADC to configure
- * @param triggger_source Source of the trigger as defined
- *        in stm32gxx_ll_adc.h (LL_ADC_REG_TRIG_***)
+ * @param adc_number Number of the ADC to configure.
+ * @param triggger_source Source of the trigger.
  */
-void adc_configure_trigger_source(uint8_t adc_number, uint32_t trigger_source);
+void adc_configure_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 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).
  */
@@ -103,7 +118,8 @@ int8_t adc_configure_adc_channels(uint8_t adc_number, const char* channel_list[]
 
 /**
  * Get the number of enabled channels for an ADC.
- * @param  adc_num Number of the ADC
+ *
+ * @param  adc_num Number of the ADC.
  * @return Number of enabled channels in this ADC.
  */
 uint8_t adc_get_enabled_channels_count(uint8_t adc_num);
@@ -116,10 +132,10 @@ void adc_start();
 /**
  * This function returns the name of an enabled channel.
  *
- * This function must onle be called after
+ * This function must only be called after
  * adc_configure_adc_channels has been called.
  *
- * @param  adc_number Number of the ADC
+ * @param  adc_number Number of the ADC.
  * @param  channel_rank Rank of the ADC channel to query.
  *         Rank ranges from 0 to (number of enabled channels)-1
  * @return Name of the channel as defined in the device tree, or
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 19de4f2b1371bd3f1d58bb2f3dc6be78c0632c53..50af50b2cc1c7de20f0602c653948112a5168dd8 100644
--- a/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.cpp
+++ b/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.cpp
@@ -19,6 +19,7 @@
 
 /**
  * @date   2022
+ *
  * @author Clément Foucher <clement.foucher@laas.fr>
  */
 
@@ -241,7 +242,7 @@ int8_t HardwareConfiguration::configureAdcChannels(uint8_t adc_number, const cha
 	return configure_adc_channels(adc_number, channel_list, channel_count);
 }
 
-void HardwareConfiguration::configureAdcTriggerSource(uint8_t adc_number, adc_src_t trigger_source)
+void HardwareConfiguration::configureAdcTriggerSource(uint8_t adc_number, adc_ev_src_t trigger_source)
 {
 	configure_adc_trigger_source(adc_number, trigger_source);
 }
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 4a66b41fd29e90a13f61a28bb68556231f49898b..cc9b8630c8921427864d3613c929df3c46876487 100644
--- a/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.h
+++ b/zephyr/modules/owntech_hardware_configuration/zephyr/public_api/HardwareConfiguration.h
@@ -19,6 +19,7 @@
 
 /**
  * @date   2022
+ *
  * @author Clément Foucher <clement.foucher@laas.fr>
  */
 
@@ -104,7 +105,7 @@ public:
 	// ADC
 	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_src_t trigger_source);
+	static void configureAdcTriggerSource(uint8_t adc_number, adc_ev_src_t trigger_source);
 	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 265afa23183d290b75a5d0373331a755e9e435c4..ee08ac31edf405c8bf40ba958af692be7c97c01c 100644
--- a/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.cpp
+++ b/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.cpp
@@ -19,13 +19,11 @@
 
 /**
  * @date   2022
+ *
  * @author Clément Foucher <clement.foucher@laas.fr>
  */
 
 
-// STM32 LL
-#include <stm32_ll_adc.h>
-
 // OwnTech Power API
 #include "adc.h"
 
@@ -94,7 +92,7 @@ int8_t configure_adc_channels(uint8_t adc_number, const char* channel_list[], ui
 	return NOERROR;
 }
 
-void configure_adc_trigger_source(uint8_t adc_number, adc_src_t trigger_source)
+void configure_adc_trigger_source(uint8_t adc_number, adc_ev_src_t trigger_source)
 {
 	/////
 	// Make sure module is initialized
@@ -106,28 +104,8 @@ void configure_adc_trigger_source(uint8_t adc_number, adc_src_t trigger_source)
 
 	/////
 	// Proceed
-	uint32_t trig;
-	switch (trigger_source)
-	{
-	case hrtim_ev1:
-		trig = LL_ADC_REG_TRIG_EXT_HRTIM_TRG1;
-		break;
-	case hrtim_ev2:
-		trig = LL_ADC_REG_TRIG_EXT_HRTIM_TRG2;
-		break;
-	case hrtim_ev3:
-		trig = LL_ADC_REG_TRIG_EXT_HRTIM_TRG3;
-		break;
-	case hrtim_ev4:
-		trig = LL_ADC_REG_TRIG_EXT_HRTIM_TRG4;
-		break;
-	case software:
-	default:
-		trig = LL_ADC_REG_TRIG_SOFTWARE;
-		break;
-	}
 
-	adc_configure_trigger_source(adc_number, trig);
+	adc_configure_trigger_source(adc_number, trigger_source);
 }
 
 void configure_adc_default_all_measurements()
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 482b6580002fcadc4090c3fb92e2ae62bce13580..cc67dc4f114c18c9a89f031bd52567ca987bf745 100644
--- a/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.h
+++ b/zephyr/modules/owntech_hardware_configuration/zephyr/src/adc_configuration.h
@@ -19,6 +19,7 @@
 
 /**
  * @date   2022
+ *
  * @author Clément Foucher <clement.foucher@laas.fr>
  */
 
@@ -30,17 +31,8 @@
 // Stdlib
 #include <stdint.h>
 
-
-/////
-// Public enums
-typedef enum
-{
-	hrtim_ev1,
-	hrtim_ev2,
-	hrtim_ev3,
-	hrtim_ev4,
-	software
-} adc_src_t;
+// OwnTech API
+#include "adc.h"
 
 
 /////
@@ -88,7 +80,7 @@ int8_t configure_adc_channels(uint8_t adc_number, const char* channel_list[], ui
  * @param  adc_number Number of the ADC to configure
  * @param  trigger_source Source of the trigger
  */
-void configure_adc_trigger_source(uint8_t adc_number, adc_src_t trigger_source);
+void configure_adc_trigger_source(uint8_t adc_number, adc_ev_src_t trigger_source);
 
 /**
  * This function is used to configure all ADC channels in default configuration.