139139#define ADC_CAL2 (TEMPSENSOR_CAL2_ADDR)
140140#define ADC_CAL_BITS (12)
141141
142+ #elif defined(STM32N6 )
143+
142144#else
143145
144146#error Unsupported processor
182184#define VBAT_DIV (3)
183185#elif defined(STM32L152xE )
184186// STM32L152xE does not have vbat.
187+ #elif defined(STM32N6 )
185188#else
186189#error Unsupported processor
187190#endif
@@ -267,6 +270,8 @@ static bool is_adcx_channel(int channel) {
267270 // The first argument to the IS_ADC_CHANNEL macro is unused.
268271 return __HAL_ADC_IS_CHANNEL_INTERNAL (channel )
269272 || IS_ADC_CHANNEL (NULL , __HAL_ADC_DECIMAL_NB_TO_CHANNEL (channel ));
273+ #elif defined(STM32N6 )
274+ return 0 ; // TODO
270275 #else
271276 #error Unsupported processor
272277 #endif
@@ -278,6 +283,9 @@ static void adc_wait_for_eoc_or_timeout(ADC_HandleTypeDef *adcHandle, int32_t ti
278283 while ((adcHandle -> Instance -> SR & ADC_FLAG_EOC ) != ADC_FLAG_EOC ) {
279284 #elif defined(STM32F0) || defined(STM32G0) || defined(STM32G4) || defined(STM32H5) || defined(STM32H7) || defined(STM32L4) || defined(STM32WB)
280285 while (READ_BIT (adcHandle -> Instance -> ISR , ADC_FLAG_EOC ) != ADC_FLAG_EOC ) {
286+ #elif defined(STM32N6)
287+ while (READ_BIT (adcHandle -> Instance -> ISR , ADC_FLAG_EOC ) != ADC_FLAG_EOC ) {
288+ //while (0) { // TODO
281289 #else
282290 #error Unsupported processor
283291 #endif
@@ -311,6 +319,8 @@ static void adcx_clock_enable(ADC_HandleTypeDef *adch) {
311319 __HAL_RCC_ADC_CONFIG (RCC_ADCCLKSOURCE_SYSCLK );
312320 }
313321 __HAL_RCC_ADC_CLK_ENABLE ();
322+ #elif defined(STM32N6 )
323+ // TODO
314324 #else
315325 #error Unsupported processor
316326 #endif
@@ -368,6 +378,8 @@ static void adcx_init_periph(ADC_HandleTypeDef *adch, uint32_t resolution) {
368378 adch -> Init .OversamplingMode = DISABLE ;
369379 adch -> Init .DataAlign = ADC_DATAALIGN_RIGHT ;
370380 adch -> Init .DMAContinuousRequests = DISABLE ;
381+ #elif defined(STM32N6 )
382+ // TODO
371383 #else
372384 #error Unsupported processor
373385 #endif
@@ -449,6 +461,8 @@ static void adc_config_channel(ADC_HandleTypeDef *adc_handle, uint32_t channel)
449461 sConfig .SingleDiff = ADC_SINGLE_ENDED ;
450462 sConfig .OffsetNumber = ADC_OFFSET_NONE ;
451463 sConfig .Offset = 0 ;
464+ #elif defined(STM32N6 )
465+ // TODO
452466 #else
453467 #error Unsupported processor
454468 #endif
@@ -669,6 +683,8 @@ static mp_obj_t adc_read_timed(mp_obj_t self_in, mp_obj_t buf_in, mp_obj_t freq_
669683 self -> handle .Instance -> CR2 |= (uint32_t )ADC_CR2_SWSTART ;
670684 #elif defined(STM32F0 ) || defined(STM32G0 ) || defined(STM32G4 ) || defined(STM32H5 ) || defined(STM32H7 ) || defined(STM32L4 ) || defined(STM32WB )
671685 SET_BIT (self -> handle .Instance -> CR , ADC_CR_ADSTART );
686+ #elif defined(STM32N6 )
687+ // TODO
672688 #else
673689 #error Unsupported processor
674690 #endif
@@ -779,6 +795,8 @@ static mp_obj_t adc_read_timed_multi(mp_obj_t adc_array_in, mp_obj_t buf_array_i
779795 adc -> handle .Instance -> CR2 |= (uint32_t )ADC_CR2_SWSTART ;
780796 #elif defined(STM32F0 ) || defined(STM32G0 ) || defined(STM32G4 ) || defined(STM32H5 ) || defined(STM32H7 ) || defined(STM32L4 ) || defined(STM32WB )
781797 SET_BIT (adc -> handle .Instance -> CR , ADC_CR_ADSTART );
798+ #elif defined(STM32N6 )
799+ // TODO
782800 #else
783801 #error Unsupported processor
784802 #endif
0 commit comments