arduino / arduino/ArduinoCore-API

SPI library does not have functions for sending or receiving data blocks

Offen
#90 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
306
Forks
150
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

SPI library does not have functions for sending or receiving data blocks.
SPI.transfer has disadvantages.
1. If I need to read from SPI a large block of data I often need to fill an array with a constant, f.e. 0xff
2. If I need to send data block to SPI several times I must fill this array again after each sending because it is filled with data read (that I don't need anyway)

I suggest to add functions like
SPI.send(void* data, size_t len, unsigned char outbyte = 0xff)
and
SPI.receive(void* data, size_t len)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, den bestehenden SPI.transfer-Einstiegspunkt und die ArduinoCore-API-SPI-Schnittstelle zu untersuchen. Ermittle, wie Block-Sende- und -Empfangsoperationen mit den vorgeschlagenen Argumenten data, length und 0xff umgehen sollten, einschließlich wiederholter Sendungen, ohne den Puffer neu aufzubauen. Als erledigt gilt die Aufgabe, wenn die API beide Operationen bereitstellt und ihr Verhalten für große Lesevorgänge und wiederholte Schreibvorgänge abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
arduino, cpp
Bereich
api, embedded-iot
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.