Comments (4)
Hi @timvanoostrom, good question. You are right, the BiDiB protocol for MSG_CS_DRIVE messages says that it should be direction
with forward
and reverse
as the possible values.
When we were developing an automatic train driving algorithm, the notion of a train being "forward" or "reverse" seemed ambiguous because it depends on the polarity of the track rails and on the orientation of the train. For example, if the train is "forward", would the train drive forwards to the left or to the right? This was the rationale behind using left
and right
.
However, now that we've had more experience with our model railway (track plan), we can define forward
as the anti-clockwise direction and reverse
as the clockwise direction without ambiguity. I will probably revert the name change at some point in the future!
from libbidib.
Or to avoid ambiguity (a bit), THAT_WAY
or THE_OTHER_WAY
. Though humans controlling the trains will probably want to use terms like forward, back, reverse, left, right for comprehension and real-world orientation. I think that some loco decoders can broadcast their own direction as source of truth.
from libbidib.
Forward, backward, and reverse aren't always suitable when a train has gone through a reversing loop. In the image below, the train begins in the forward
direction, but exits in the reverse
direction which can be confusing because the train is physically going "forward". Note that the track polarity gets swapped as the train drives through the reversing loop:
Left and right aren't always suitable when people do not realise that a collection of tracks are on opposite sides of a loop:
I don't know whether there is a suitable solution to this problem 😄
from libbidib.
Indeed.
from libbidib.
Related Issues (17)
- Feature Request: Make Install Target, Pkgconfig, and Switch to En-/Disable Building Tests
- "No train configured for..." message when placing train on tracks in right orientation HOT 3
- Phantom Trains Detected HOT 20
- Add Uninstall-Target to match the Install-Target HOT 1
- Locomotive Orientation HOT 2
- Commit the pthread_rwlock_rdlock Changes? HOT 1
- ActionId of Commands with > 1 response not traced correctly HOT 7
- Inconsistent paranthesis in malloc size arg
- Node Stall Ready check does not perform search in stall queue as intended HOT 2
- Incorrect signals-dcc parameter calculation
- Documentation for Physical Tests HOT 2
- bidib_state_reset does not correctly reset "detected train speed"
- Flush in batch instead of byte-by-byte HOT 2
- Complete the Track Coverage of the Physical Test HOT 3
- Update Processing of BiDiB Feedback HOT 1
- Support Kehrschleifenmodul HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libbidib.