Generic Read-Write descriptor for driver framework/SPI
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 15/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Bereich
- embedded-iot
Rechercherichtung
The issue is a design sketch for a generic SPI transfer API: a transceivev function taking a slice of Transaction structs with input, output, offsets, min_len and pad fields, plus a length helper. It names no existing file or test. Settling the shape of the API with maintainers comes before any code, and the thread has been idle for about 290 days. Done would mean an agreed design and a follow-up issue or proposal, not a patch.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Just dumping this so it isn't lost in the Discord:
An idea we could use for an abstract SPI transfer system:
fn transceivev(actions: []const Transaction) !usize;
const Transaction = struct {
/// buffer to receive
input: []u8 = &.{},
/// index of first received byte
input_offset: usize = 0,
/// buffer to send
output: []const u8 = &.{},
/// index of first sent byte
output_offset: usize = 0,
/// transceive at least this amount of items
min_len: usize = 0,
/// output when total len bigger than output.len
pad: u8 = 0x00,
pub fn length(t: @This()) usize {
return @max(
t.min_length,
t.input_offset + t.input.len,
t.output_offset + t.output.len,
);
}
};
- Vorherrschende Sprache
- Zig
- Sterne
- 2.3k
- Forks
- 198
- Ø Merge
- 2 T. 18 Std.
- Gemergte PRs (30 T.)
- 36
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ZigEmbeddedGroup/microzig
-
msp430
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
ZigEmbeddedGroup/microzig#1101 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
ZigEmbeddedGroup/microzig#1086 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
ZigEmbeddedGroup/microzig#1061 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
ZigEmbeddedGroup/microzig#1059 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
ZigEmbeddedGroup/microzig#1069 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in ZigEmbeddedGroup/microzig
Ähnliche Issues
-
cleanup help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
ESPresense/ESPresense#2602 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
libretiny-eu/libretiny#435 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
sususweet/midea_auto_cloud#285 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug system: adam
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
FujiNetWIFI/fujinet-config#358 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100