@@ -159,7 +159,19 @@ uint16_t analogRead(uint8_t pinNumber)
159159 {
160160 if (ap3_analog_configure_map[indi].isAnalog == false )
161161 {
162- if (ap3_set_pin_to_analog (pinNumber) != AP3_OK)
162+ if (padNumber == AP3_ADC_DIFF0_PAD)
163+ {
164+ Serial.println (" Config diff 0" );
165+ retval = ap3_set_pin_to_analog (12 );
166+ retval = ap3_set_pin_to_analog (13 );
167+ if (retval != AP3_OK)
168+ {
169+ // Serial.println("Error - set pin to analog");
170+ return 0 ; // Error
171+ }
172+ }
173+
174+ else if (ap3_set_pin_to_analog (pinNumber) != AP3_OK)
163175 {
164176 // Serial.println("Error - set pin to analog");
165177 return 0 ; // Error
@@ -341,37 +353,19 @@ ap3_err_t ap3_set_pin_to_analog(uint8_t pinNumber)
341353 uint8_t funcsel = 0 ;
342354 am_hal_gpio_pincfg_t pincfg = AP3_PINCFG_INPUT;
343355
344- // Handle special pads: differential pairs
345- if (pinNumber == AP3_ADC_DIFF0_PAD)
346- {
347- pincfg.uFuncSel = AM_HAL_PIN_12_ADCD0NSE9;
348- pinMode (12 , pincfg, &retval);
349-
350- pincfg.uFuncSel = AM_HAL_PIN_13_ADCD0PSE8;
351- pinMode (13 , pincfg, &retval);
356+ retval = ap3_analog_pad_funcsel (ap3_gpio_pin2pad (pinNumber), &funcsel);
352357
353- retval = AP3_OK;
354- }
355- else if (pinNumber == AP3_ADC_DIFF1_PAD)
358+ if (retval != AP3_OK)
356359 {
360+ return retval;
357361 }
358- else
359- {
360- // Normal analog channels
361- retval = ap3_analog_pad_funcsel (ap3_gpio_pin2pad (pinNumber), &funcsel);
362-
363- if (retval != AP3_OK)
364- {
365- return retval;
366- }
367- pincfg.uFuncSel = funcsel; // set the proper function select option for this instance/pin/type combination
368- pinMode (pinNumber, pincfg, &retval);
369- }
362+ pincfg.uFuncSel = funcsel; // set the proper function select option for this instance/pin/type combination
363+ pinMode (pinNumber, pincfg, &retval);
370364
371365 return retval;
372366}
373367
374- // Given pin number, assign ADC function
368+ // Given pad number, get ADC function
375369ap3_err_t ap3_analog_pad_funcsel (ap3_gpio_pad_t padNumber, uint8_t *funcsel)
376370{
377371 ap3_err_t retval = AP3_ERR;
0 commit comments