49 {
"PIN_RX0", 0,
"UART_RX"},
50 {
"PIN_RX1", 19,
"UART_RX"},
51 {
"PIN_RX2", 17,
"UART_RX"},
52 {
"PIN_RX3", 15,
"UART_RX"},
59 {
"PIN_TX0", 1,
"UART_TX"},
60 {
"PIN_TX1", 18,
"UART_TX"},
61 {
"PIN_TX2", 16,
"UART_TX"},
62 {
"PIN_TX3", 14,
"UART_TX"},
69 {
"PIN_MISO", 50,
"SPI"},
70 {
"PIN_MOSI", 51,
"SPI"},
71 {
"PIN_SCK", 52,
"SPI"},
72 {
"PIN_SS", 53,
"SPI"},
79 {
"PIN_SDA", 20,
"I2C"},
80 {
"PIN_SCL", 21,
"I2C"},
87 {
"INT_0", 2,
"INTERRUPTS"},
88 {
"INT_1", 3,
"INTERRUPTS"},
89 {
"INT_2", 21,
"INTERRUPTS"},
90 {
"INT_3", 20,
"INTERRUPTS"},
91 {
"INT_4", 19,
"INTERRUPTS"},
92 {
"INT_5", 18,
"INTERRUPTS"},
99 {
"PIN_ANALOG_A00", 54,
"ANALOG"},
100 {
"PIN_ANALOG_A01", 55,
"ANALOG"},
101 {
"PIN_ANALOG_A02", 56,
"ANALOG"},
102 {
"PIN_ANALOG_A03", 57,
"ANALOG"},
103 {
"PIN_ANALOG_A04", 58,
"ANALOG"},
104 {
"PIN_ANALOG_A05", 59,
"ANALOG"},
105 {
"PIN_ANALOG_A06", 60,
"ANALOG"},
106 {
"PIN_ANALOG_A07", 61,
"ANALOG"},
107 {
"PIN_ANALOG_A08", 62,
"ANALOG"},
108 {
"PIN_ANALOG_A90", 63,
"ANALOG"},
109 {
"PIN_ANALOG_A10", 64,
"ANALOG"},
110 {
"PIN_ANALOG_A11", 65,
"ANALOG"},
111 {
"PIN_ANALOG_A12", 66,
"ANALOG"},
112 {
"PIN_ANALOG_A13", 67,
"ANALOG"},
113 {
"PIN_ANALOG_A14", 68,
"ANALOG"},
114 {
"PIN_ANALOG_A15", 69,
"ANALOG"},
121 {
"PIN_PWM_02", 2,
"PWM"},
122 {
"PIN_PWM_03", 3,
"PWM"},
123 {
"PIN_PWM_04", 4,
"PWM"},
124 {
"PIN_PWM_05", 5,
"PWM"},
125 {
"PIN_PWM_06", 6,
"PWM"},
126 {
"PIN_PWM_07", 7,
"PWM"},
127 {
"PIN_PWM_08", 8,
"PWM"},
128 {
"PIN_PWM_09", 9,
"PWM"},
129 {
"PIN_PWM_10", 10,
"PWM"},
130 {
"PIN_PWM_11", 11,
"PWM"},
131 {
"PIN_PWM_12", 12,
"PWM"},
132 {
"PIN_PWM_44", 44,
"PWM"},
133 {
"PIN_PWM_45", 45,
"PWM"},
134 {
"PIN_PWM_46", 46,
"PWM"}
141 {
"PIN_GPIO_13", 13,
"GPIO"},
142 {
"PIN_GPIO_22", 22,
"GPIO"},
143 {
"PIN_GPIO_23", 23,
"GPIO"},
144 {
"PIN_GPIO_24", 24,
"GPIO"},
145 {
"PIN_GPIO_25", 25,
"GPIO"},
146 {
"PIN_GPIO_26", 26,
"GPIO"},
147 {
"PIN_GPIO_27", 27,
"GPIO"},
148 {
"PIN_GPIO_28", 28,
"GPIO"},
149 {
"PIN_GPIO_29", 29,
"GPIO"},
150 {
"PIN_GPIO_30", 30,
"GPIO"},
151 {
"PIN_GPIO_31", 31,
"GPIO"},
152 {
"PIN_GPIO_32", 32,
"GPIO"},
153 {
"PIN_GPIO_33", 33,
"GPIO"},
154 {
"PIN_GPIO_34", 34,
"GPIO"},
155 {
"PIN_GPIO_35", 35,
"GPIO"},
156 {
"PIN_GPIO_36", 36,
"GPIO"},
157 {
"PIN_GPIO_37", 37,
"GPIO"},
158 {
"PIN_GPIO_38", 38,
"GPIO"},
159 {
"PIN_GPIO_39", 39,
"GPIO"},
160 {
"PIN_GPIO_40", 40,
"GPIO"},
161 {
"PIN_GPIO_41", 41,
"GPIO"},
162 {
"PIN_GPIO_42", 42,
"GPIO"},
163 {
"PIN_GPIO_43", 43,
"GPIO"},
164 {
"PIN_GPIO_44", 44,
"GPIO"},
165 {
"PIN_GPIO_45", 45,
"GPIO"},
166 {
"PIN_GPIO_46", 46,
"GPIO"},
167 {
"PIN_GPIO_47", 47,
"GPIO"},
168 {
"PIN_GPIO_48", 48,
"GPIO"},
169 {
"PIN_GPIO_49", 49,
"GPIO"},
170 {
"PIN_GPIO_50", 50,
"GPIO"},
171 {
"PIN_GPIO_51", 51,
"GPIO"},
172 {
"PIN_GPIO_52", 52,
"GPIO"},
173 {
"PIN_GPIO_53", 53,
"GPIO"},
Contiene todos los arrays de pines organizados por familia funcional.
constexpr PinInfo GPIO[]
Pines GPIO (entrada/salida digital general).
constexpr PinInfo INTERRUPTS[]
Pines de interrupciones externas.
constexpr size_t NUM_UART_RX
constexpr size_t NUM_GPIO
constexpr size_t NUM_INTERRUPTS
constexpr PinInfo SPI[]
Pines SPI (comunicación síncrona maestro-esclavo).
constexpr PinInfo UART_RX[]
Pines UART RX (recepción serie asíncrona).
constexpr PinInfo UART_TX[]
Pines UART TX (transmisión serie asíncrona).
constexpr PinInfo PWM[]
Pines PWM (modulación por ancho de pulso).
constexpr size_t NUM_ANALOG
Número total de pines por familia.
constexpr PinInfo I2C[]
Pines I2C / TWI (comunicación de dos hilos).
constexpr size_t NUM_UART_TX
constexpr PinInfo ANALOG[]
Pines analógicos (ADC).
bool isValidGPIO(const PinInfo &pin)
Comprueba si un pin pertenece a la familia GPIO.
bool isValidAnalog(const PinInfo &pin)
Comprueba si un pin pertenece a la familia ANALOG.
void diagnosePWM()
Diagnóstico de pines PWM.
const char * pinFamily(const PinInfo pin)
Devuelve la familia funcional del pin.
void diagnoseAnalog()
Diagnóstico de pines analógicos.
const char * pinName(const PinInfo pin)
Devuelve el nombre simbólico del pin.
void fullDiagnosticsPins()
Ejecuta todos los diagnósticos de pines.
uint8_t pinNumber(const PinInfo pin)
Devuelve el número físico del pin.
bool isValidPWM(const PinInfo &pin)
Comprueba si un pin pertenece a la familia PWM.
void diagnoseGPIO()
Diagnóstico de pines GPIO.
Representa un pin del sistema con nombre simbólico, número físico y familia funcional.
constexpr PinInfo(const char *n, int num, const char *fam)
Constructor constexpr para permitir uso en evaluaciones de tiempo de compilación.