spi: specify expectations regarding peripheral state between transactions
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- rust
- Área
- embedded-iot
Línea de trabajo
Start by reviewing the SPI device traits and transaction abstraction described in the issue, then compare HAL behavior for transactions and DMA transactions. Determine how expectations for peripheral state between transactions should be specified across implementations; done means generic device drivers can rely on a defined bus state during multi-transaction communication sequences.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Currently, SPI device traits deal with a transaction concept, which implies transmission of some data, while the CS is set for the whole duration. There is currently no guidance on how should the peripheral behave between transactions.
Issue
Certain SPI devices require bus synchronization, which means that the bus must not be disabled for the entire communication sequence and all lines must be kept in a known state (especially CLK). Communications sequence spans multiple SPI transactions.
Cause
Some HAL implementations disable SPI after each transaction, some don't. Some do it only after DMA transaction, some do it after each transaction. This unpredictable behavior of bus lanes, prevents a creation of generic device drivers that require synchronization.
Proposed solution
Embedded-hal should allow for specifying certain expectations regarding SPI bus state, to allow for correct behavior of device drivers for different HAL implementations.
- Lenguaje dominante
- Rust
- Estrellas
- 2.7k
- Forks
- 283
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 rust-embedded/embedded-hal
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
rust-embedded/embedded-hal#742 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
rust-embedded/embedded-hal#747 · 5 comentarios · 1 reacción ·
-
Write without providing a bufferAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
rust-embedded/embedded-hal#746 · 2 comentarios · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
rust-embedded/embedded-hal#745 · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
rust-embedded/embedded-hal#744 · 1 comentario ·
Todos los issues de rust-embedded/embedded-hal
Issues similares
-
engine-rs P3 review-deferral wasm
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
maniator/verticopolis#1154 ·
Los mantenedores suelen responder en 1 día
-
FFMPEG_BIN/FFPROBE_BIN are always overridden, so a working system ffmpeg cannot be usedPosiblemente ocupada @Bilker1422 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Stremio/stremio-service#116 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
sims1253/ry#720 · 1 comentario ·
Los mantenedores suelen responder en 1 día