`humility i2c` could maybe return a non-zero exit code when the I2C operation returns an error
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 38/100
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de oxidecomputer/humility
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
oxidecomputer/humility#737 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
oxidecomputer/humility#730 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
oxidecomputer/humility#729 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
oxidecomputer/humility#723 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
oxidecomputer/humility#705 · 12 comentarios ·
Todos los issues de oxidecomputer/humility
Issues similares
-
rustix::termios::Termios::OutputModes does not expost some const e.g. OLCUC for musl and macOSAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
bytecodealliance/rustix#1706 · 1 comentario ·
Los mantenedores suelen responder en 11 días
-
`LazyFrameRemote` and `ExecuteRemote` sinks do not accept `Path`, like `LazyFrame` sinks do.Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Bump anybuf version to ^1.0.0Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wormhole-foundation/wormhole#5062 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
RUSTSEC-2026-0348: Brotli certificate decompression can allocate up to 1 GiB before authenticationAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100