Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

MCP2515 hardware masks are too strict

Chiusa
#29 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Una pull request collegata è già stata integrata.

  • #61 di @Tichael — integrata

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
embedded-iot

Direzione di ricerca

Read compute_mcp_masks in boards/esp/src/can.rs around line 617 and the two_filters_ored_into_mask0 test. Check how masks are combined and written for standard IDs, then update the calculation and test for the stated extended-ID fallback. Done means the test covers the corrected behavior and hardware masks no longer reject frames accepted by the software filter.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

compute_mcp_masks (boards/esp/src/can.rs:617) still ORs the per-filter
masks; its doc comment describes AND. OR makes the hardware reject frames the
software filter accepts: 0x100/0x700 + 0x200/0x0FF → 0x7FF, so only two
exact IDs pass. The test two_filters_ored_into_mask0 locks in the bug.
Extended IDs aren't handled either (masks are written as standard IDs).

Fix: AND the masks (a bit must match only if every filter in that buffer cares
about it). Fall back to accept-all hardware masks when any filter is extended
(the software filter still applies). Update the test.

Lingua principale
Rust
Stelle
1
Fork
0
Merge medio
11h 26m
PR unite (30g)
18

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

  • Nessun Dockerfile né file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenCarControls/firmware

Tutte le issue di OpenCarControls/firmware

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.