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

Check the vehicle state before sending each command

Aperta
#73 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
embedded-iot

Direzione di ricerca

Read the command handlers and state handling around the existing command flow, then review related issues #14, #11, and #37–#42 for context. Add a shared precondition check before command frames are built, with fixture state tests and documentation of the rule. Done means the first implemented command uses the helper and rejected commands receive a failed CommandResponse.

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

Descrizione

enhancement

Part of the prerequisites for real commands (tracking issue to follow). Related: #14, #11.

Problem

The generic "command availability" work (#14, contracts#13) is a larger feature and will come later. Until then, a command handler that just sends frames could, for example, open the charge port or close a window while the car is driving, or act on a state that went stale when the bus fell silent. All E-GMP commands are still "Not implemented" (#37–#42), so this can be settled before the first one lands.

Proposal

  • A shared check that runs before a command's frames are built. Each command declares the state it needs, and a command that doesn't hold is answered with a failed CommandResponse and a clear message. A dedicated status code comes with contracts#13.
  • State freshness counts as a precondition. Don't act on state older than N seconds, or while the bus is silent (see #11).
  • The response is always sent, including when the command is rejected because read-only is on or the identity isn't confirmed.
  • Consider a minimum interval between repeats of the same command, so a stuck button can't flood the bus.
  • Each command PR lists its preconditions in its description and in docs/. Candidates to settle per command from real behaviour: not driving (charge port, trunk and frunk), car awake, current state differs from the requested one.

Done when

There is a helper and tests with fixture states, the docs describe the rule, and the first implemented command uses it.

Lingua principale
Rust
Stelle
1
Fork
0
Merge medio
12h 49m
PR unite (30g)
19

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.