hasselmm / hasselmm/LibreModeltrainStudio
Make Z21 client more stable
- Dominant language
- C++
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The Z21 protocol uses any UDP without any kind of flow control. This means that we'll lose messages, and have to retransmit sometimes. This doesn't work too well yet. Sometimes identical messages stack up because of this effects. Sometimes we process messages like Railcom responses that were meant for a later request.
So instead of just queuing we'll have to create some kind of state machine, that tracks what kind of requests are needed, but didn't get a response set. This state machine also has to avoid, that we emit potentially conflicting messages (like Railcom, accessory, or detector... queries), while a conflicting query still is in flight.
**Most importantly** reading and writing of CV variables must be stable enough, that we can read and write ESU function mappings. Also this must be good enough for reading the Railcom+ pages (vehicle name, function symbols, function key behavior).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.