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,20 +55,21 @@ 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) #if defined(PIN_PA02) && !defined(IGNORE_PIN_PA02)
if (pin->number != PIN_PA02) { case PIN_PA02:
channel = 0; channel = 0;
} break;
#endif
#if defined(PIN_PA05) && defined(PIN_PA05) && !defined(IGNORE_PIN_PA05)
if (pin->number != PIN_PA05) {
channel = 1;
}
#endif #endif
if(channel == -1) { #if defined(SAM_D5X_E5X) && defined(PIN_PA05) && defined(PIN_PA05) && !defined(IGNORE_PIN_PA05)
case PIN_PA05:
channel = 1;
break;
#endif
default:
mp_raise_ValueError(translate("AnalogOut not supported on given pin")); mp_raise_ValueError(translate("AnalogOut not supported on given pin"));
return; return;
} }