2525#include "pins_arduino_analog.h"
2626#include "pins_arduino_digital.h"
2727
28- /* Pin number */
28+ /*
29+ * Pin number mask
30+ * allows to retrieve the pin number without ALTx
31+ */
2932#define PNUM_MASK 0xFF
3033
3134/* Avoid PortName issue */
@@ -90,9 +93,9 @@ extern const uint32_t analogInputPin[];
9093/* Note: Analog pin is also a digital pin */
9194#define digitalPinToPinName (p ) ((((uint32_t)(p) & PNUM_MASK) < NUM_DIGITAL_PINS) ? \
9295 (PinName)(digitalPin[(uint32_t)(p) & PNUM_MASK] | ((p) & ALTX_MASK)) : \
93- (((uint32_t)(p) & PANA ) == PANA ) && \
96+ (((uint32_t)(p) & PNUM_ANALOG_BASE ) == PNUM_ANALOG_BASE ) && \
9497 (((uint32_t)(p) & PNUM_MASK) < NUM_ANALOG_INTERNAL_FIRST) ? \
95- (PinName)(digitalPin[analogInputPin[(p) & PANA_IDX ]] | ((p) & ALTX_MASK)) : NC)
98+ (PinName)(digitalPin[analogInputPin[(p) & PNUM_ANALOG_INDEX ]] | ((p) & ALTX_MASK)) : NC)
9699#else
97100#define digitalPinToPinName (p ) ((((uint32_t)(p) & PNUM_MASK) < NUM_DIGITAL_PINS) ? \
98101 (PinName)(digitalPin[(uint32_t)(p) & PNUM_MASK] | ((p) & ALTX_MASK)) : NC)
@@ -106,9 +109,9 @@ uint32_t pinNametoDigitalPin(PinName p);
106109/* Non contiguous analog pins definition in digitalPin array */
107110#define analogInputToDigitalPin (p ) ((((uint32_t)(p) & PNUM_MASK) < NUM_ANALOG_INPUTS) ? \
108111 analogInputPin[(uint32_t)(p) & PNUM_MASK] | ((uint32_t)(p) & ALTX_MASK) : \
109- (((uint32_t)(p) & PANA ) == PANA ) && \
112+ (((uint32_t)(p) & PNUM_ANALOG_BASE ) == PNUM_ANALOG_BASE ) && \
110113 (((uint32_t)(p) & PNUM_MASK) < NUM_ANALOG_INTERNAL_FIRST) ? \
111- analogInputPin[(p) & PANA_IDX ] | ((uint32_t)(p) & ALTX_MASK) : (uint32_t)NC)
114+ analogInputPin[(p) & PNUM_ANALOG_INDEX ] | ((uint32_t)(p) & ALTX_MASK) : (uint32_t)NC)
112115#else /* No analog pin defined */
113116#define analogInputToDigitalPin (p ) (NUM_DIGITAL_PINS)
114117#endif /* NUM_ANALOG_INPUTS > 0 */
0 commit comments