DecoderDB support

Aperta
#121 11 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
dart, flutter
Ambito
frontend

Direzione di ricerca

Start by reviewing the DecoderDB JSON URLs and the linked XSD schemas; the issue also mentions the programming screen and a possible NotifierProvider for CV programming. Clarify which part of this broad request is still outstanding and agree on completion criteria before making changes.

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

Descrizione

https://github.com/BiDiBorg/DecoderDB/

URLs:

(.xsd) Schemas here:
https://github.com/BiDiBorg/DecoderDB/tree/main/src/RepoGenerator/Data/Schema

I have now created @JsonSerializable() models for each of those because this allows certain parts of the model to stay private (instead of freezed, which generates a name clash with the JsonSerializable code gen...). Sadly there is a lot of repetitive naming in those models which makes it hard to auto-generate them. Will need to manually check again, already found some issues...

Created @freezed models for the 3 JSON files mentioned above. Naming is horrible because there are no namespaces in Dart...


On the programming screen I'd like to move the address into the "PoM" list tile. In order to do this the first two steps must be switched because at this point we need to know whether we need to validate loco or accessory addresses.
Image


The actual CV programming should move to a NotifierProvider (e.g. z21CvProvider). There should be some kind of CvRequest type which contains all the necessary information I guess? The biggest question is... how to deal with CV31/32? Even if we set it from inside the provider, the result will not contains this kind of information. 😢

And another issue I just found... the original Z21 protocol does not rely on a response when writing CVs with PoM. I can see how this makes sense, given some decoders don't support PoM reads but PoM writes... but how do we not flood the WebSocket with messages in such a case?


Some inspiration from different tools

BiDiB-Monitor and an ESU LS5 Image Image Image Image Image Image Image Image Image Image Image Image Image
Win-Digipet and MX645 Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image
Lingua principale
Dart
Stelle
2
Fork
2
Merge medio
23h 16m
PR unite (30g)
3

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 OpenRemise/Frontend

Tutte le issue di OpenRemise/Frontend

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.