SPI API add void transfer(const void *tx_buffer, void *rx_buffer, size_t count);
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- api, embedded-iot
Línea de trabajo
Comienza con api/HardwareSPI.h, en la declaración existente de transferencia con un solo búfer, y después lee la discusión enlazada para conocer el alcance previsto de la SPI API. Rastrea las implementaciones de la API y las rutas de verificación afectadas antes de cambiar la interfaz. Se considera terminado cuando la firma de transferencia virtual con dos búferes es compatible de forma coherente sin la solución alternativa del búfer temporal.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
API component
SPI API
Description
SPI API add
virtual void transfer(const void *tx_buffer, void *rx_buffer, size_t count);
Expand SPI API and Functionality for High Speed Devices
Is this a breaking change?
Unlikely
Additional information
This is really a missing API method, it doesn't make sense to have only a single buffer for both transmit and receive, as DMA hardware normally works in 2 buffers.
The plain old
https://github.com/arduino/ArduinoCore-API/blob/master/api/HardwareSPI.h#L112
virtual void transfer(void *buf, size_t count) = 0;
forces hacks such as:
- allocate a temporary buffer
- do the DMA transfers receiving into the temporary buffer
- copy that temporary buffer data back into the address pointed by buf
wasting both memory and cpu cycles
- Lenguaje dominante
- C++
- Estrellas
- 306
- Forks
- 150
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 arduino/ArduinoCore-API
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
arduino/ArduinoCore-API#261 ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 30/100
arduino/ArduinoCore-API#256 ·
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
arduino/ArduinoCore-API#251 · 1 comentario ·
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
arduino/ArduinoCore-API#250 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
arduino/ArduinoCore-API#249 ·
Todos los issues de arduino/ArduinoCore-API
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
duckdb/duckdb-wasm#2258 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
objectionary/eo-graphs#75 ·
-
Coarray integration tests carry no LABELS, so run_tests.py silently skips them under every backend Abiertocoarray
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
FISCO-BCOS/FISCO-BCOS#5642 ·