Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missed DCC-EX native API command for Turntable deletion #442

Open
KonstantinKolesnik opened this issue Feb 23, 2025 · 5 comments
Open

Missed DCC-EX native API command for Turntable deletion #442

KonstantinKolesnik opened this issue Feb 23, 2025 · 5 comments

Comments

@KonstantinKolesnik
Copy link

It's possible to add a turntable but no way to delete it.
It seems the Turntable and inherited classes don't have the corresponding method as well.

Please add the missed API command.

@Asbelos
Copy link
Contributor

Asbelos commented Feb 25, 2025

Turntables created by <I commands only last until bootup.
Turntables defined in myAutomation are created at bootup, not by executing a sequence.

Thus there is no use cser for deleting a turntable at run time.

@KonstantinKolesnik
Copy link
Author

KonstantinKolesnik commented Feb 25, 2025

So it's not possible to store turntables in EEPROM?

@Asbelos
Copy link
Contributor

Asbelos commented Feb 25, 2025

It is, but that's only to be backward compatible with the old dcc++ and only on the cpus that it used to run on ( mega and uno() and dcc++ did not have turntables.
It is strongly discouraged to store anything in eeprom.
Keep them in jmri or in myAutomation.h where yiu can see them, edit them, backup and restore etc.

@KonstantinKolesnik
Copy link
Author

KonstantinKolesnik commented Feb 26, 2025

So the approach to create turnouts, signals and outputs from my custom throttle software and store them in EEPROM is not recommended?

And in general, a throttle is recommended to work with objects in read-only mode, no create/edit/delete?
Then what's the reason to include all those commands in API? It's quite confusing and messy...

@Asbelos
Copy link
Contributor

Asbelos commented Feb 26, 2025

The confusing and messy (totally agree) commands are mostly there to satisfy jmri users who want to keep doing it in jmri.
However, there are limitations due to things like ram consumption (uno and Mega in particular)
which prevent us from including things like descriptions and we can't dynamically load hardware drivers at run time anyway.

It's generally much easier to edit the hardware description of your layout on a PC and upload it to the cs. This gives you access to all features and multiple hw types.
Experimentation with things like turnout servo settings is best done with EXToolbox app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants