fix atmel-samd DAC channel selection logic

This commit is contained in:
Dan Halbert 2021-01-10 19:19:48 -05:00
parent 55c80754c7
commit 316bd0c72d

View File

@ -55,21 +55,22 @@ void common_hal_analogio_analogout_construct(analogio_analogout_obj_t* self,
mp_raise_NotImplementedError(translate("No DAC on chip")); mp_raise_NotImplementedError(translate("No DAC on chip"));
#else #else
int channel = -1; uint8_t channel;
switch (pin->number) {
#if defined(PIN_PA02) && !defined(IGNORE_PIN_PA02)
case PIN_PA02:
channel = 0;
break;
#endif
#if defined(PIN_PA02) && !defined(IGNORE_PIN_PA02) #if defined(SAM_D5X_E5X) && defined(PIN_PA05) && defined(PIN_PA05) && !defined(IGNORE_PIN_PA05)
if (pin->number != PIN_PA02) { case PIN_PA05:
channel = 0; channel = 1;
} break;
#endif #endif
#if defined(PIN_PA05) && defined(PIN_PA05) && !defined(IGNORE_PIN_PA05)
if (pin->number != PIN_PA05) {
channel = 1;
}
#endif
if(channel == -1) { default:
mp_raise_ValueError(translate("AnalogOut not supported on given pin")); mp_raise_ValueError(translate("AnalogOut not supported on given pin"));
return; return;
} }