Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Mcp23017 initialization resets pin values

Abierto
#1,663 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
csharp
Área
embedded-iot

Línea de trabajo

Comienza en src/devices/Mcp23xxx/Mcp23xxx.cs alrededor de la línea 84, donde se realiza la inicialización de Mcp23017. Reproduce la secuencia de crear un adaptador, escribir un pin en high y crear un segundo adaptador; estará terminado cuando el pin conserve su valor después de la reinicialización.

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

Descripción

bug Priority:2 up-for-grabs

Describe the bug

Every time a new instance of Mcp23017() is being created the pins are being reset to low. This is an issue when the written software reboots, eg when updating the software version.

Steps to reproduce

            var pinNumber = 0;

            var i2cConnectionSettings = new I2cConnectionSettings(1, 0x20);

            var i2cDevice = I2cDevice.Create(i2cConnectionSettings);

            var device = new Mcp23017(i2cDevice);

            var controller = new GpioController(PinNumberingScheme.Logical, Mcp23017Device);

            controller.Write(pinNumber, PinValue.High);

            var device2 = new Mcp23017(i2cDevice);

            var pinValue = controller.Read(pinNumber);

Expected behavior

Pins need to keep their value after re-initializing the Mcp23017() adapter.

Actual behavior

Pins are being reset every time a new instance of Mcp23017() is being declared. Looks like it is embedded in the init code here:
https://github.com/dotnet/iot/blob/main/src/devices/Mcp23xxx/Mcp23xxx.cs - starting at line 84.

Lenguaje dominante
C#
Estrellas
2.4k
Forks
631
Merge medio
3 d 19 h
PR fusionados (30 d)
5

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dotnet/iot

Todos los issues de dotnet/iot

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.