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

`humility i2c` could maybe return a non-zero exit code when the I2C operation returns an error

Abierto
#489 0 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
38/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
rust
Área
cli

Línea de trabajo

Comienza por la implementación en Rust del comando humility i2c y sigue cómo el resultado IPC de hiffy se convierte en el estado de la CLI. Reproduce el ejemplo mostrado de BusLocked y, después, verifica que los errores de operaciones del dispositivo devuelvan un estado de shell distinto de cero, mientras que las operaciones exitosas sigan devolviendo cero; comprueba si humility hiffy sigue el mismo recorrido.

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

Descripción

I wanted to use a bash until loop to retry a humility i2c command until it succeeds, but it looks like humility i2c (and possibly also humility hiffy?) exits with 0 when it was able to successfully execute the hiffy IPC operation on the device, but the IPC returned an error. For example:

eliza@niles ~ $ pfexec humility -t gimlet-c i2c -b rear --device 0x20 --register 0x00 --nbytes 1 --timeout 10000
humility: attached to 0483:3754:000D00344741500820383733 via ST-Link V3
Controller I2C4, device 0x20, register 0x0 = Err(BusLocked)
eliza@niles ~ $ echo $?
0
eliza@niles ~ $

IMO, it would be a bit nicer for humility to exit with a non-zero exit code when the on-device operation fails. That way, the error is visible to the user's shell and you don't have to do things like grepping for the string that indicates an error...

Lenguaje dominante
Rust
Estrellas
587
Forks
64
Merge medio
2 d 15 h
PR fusionados (30 d)
5

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 oxidecomputer/humility

Todos los issues de oxidecomputer/humility

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.