arduino / arduino/ArduinoCore-API

Retrieve current pin mode

Abierto
#179 4 comentarios 13 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
C++
Estrellas
306
Forks
150
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

There is currently no function to get the current pin mode. A possible implementation is:

```
int pinMode(uint8_t pin)
{
if (pin >= NUM_DIGITAL_PINS) return (-1);

uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t *reg = portModeRegister(port);
if (*reg & bit) return (OUTPUT);

volatile uint8_t *out = portOutputRegister(port);
return ((*out & bit) ? INPUT_PULLUP : INPUT);
}
```

The return value is the pin mode or error code (-1) for illegal pin number.

Cheers!

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza con la API pinMode existente y los puntos de entrada digitalPinToBitMask, digitalPinToPort, portModeRegister y portOutputRegister mostrados en el issue. Comprueba cómo la API independiente del hardware expone las operaciones sobre pines y cómo las implementan los cores. Se considera terminado cuando se puede recuperar el modo actual del pin, se devuelven los modos especificados y se devuelve -1 para un pin no válido.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
arduino, cpp
Área
api, embedded-iot
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.