Giter Site home page Giter Site logo

jmri / enginedriver Goto Github PK

View Code? Open in Web Editor NEW
27.0 11.0 18.0 194.64 MB

Engine Driver - JMRI Throttle for your Android device

Home Page: https://enginedriver.mstevetodd.com/

License: GNU General Public License v3.0

HTML 5.15% Java 94.85%
jmri model-railway model railway railroad android

enginedriver's Introduction

EngineDriver

Engine Driver - Throttle for your Android device

This free Android application connects to a WiThrottle Server. Supported servers include JMRI, DCC-EX, MRC Prodigy WiFi, Digitrax LnWi, WifiTrax (for NCE) and IoTT Stick. Once connected, you can control your locomotives and your entire model railroad. Speed, direction, and up to 29 DCC functions are supported for one to six locomotives or consists. You can create and edit consists (software-defined). You can also control layout power, turnouts, routes, and access JMRI web panels and windows.

For more details, visit [EngineDriver site]. For screenshots, click [here].

enginedriver's People

Contributors

bobjacobsen avatar eldelinux avatar flash62au avatar mattharris avatar mstevetodd avatar n3ix avatar pabender avatar rhwood avatar sidlo64 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

enginedriver's Issues

Enhancement: Add support for graphical buttons (instead of text) using icons stored in decoderpro roster

As an end user it would be great if EngineDriver supported use of graphical button icons set in DecoderPro Roster. It would prevent shortening of function names in the throttles.

This request is related to the following issue:

JMRI/JMRI#5943

As result of the earlier request I have created and uploaded an initial set of over 380 64x64 png icons that could be used for depictions of functions on sound engines.

Here's are examples of how of how a steam engine with 11 functions is graphically represented in Z21 app, JRMI Throttle, JRMI roster. I am also attaching a copy of that roster.

content___com google android googlequicksearchbox commoncontentprovider_assist com google android apps gsa staticplugins assist screenshot screenshotprovider_com google android apps gsa staticplugins assist screenshot scr
br-38 icons and function descriptions
european locos in roster
throttle
exampleroster.zip

Time to move EngineDriver to Android Development Studio?

Should we move EngineDriver development to the Android Development Studio?

I have something I'd like to add to EngineDriver, and development of EngineDriver has traditionally been performed in Eclipse, but Eclipse is no longer the preferred development environment for Android apps.

Paul

Licensing prompt when using on closed network

While at a public show, when attempting to use EngineDriver, the attached was displayed on the user's Kindle only when attempting to use EngineDriver and no other application:

IMG_0164

Is there any reason we need to check a license?

Engine Driver on ESU MC2 loco headlight turns off unexpectedly

Hardware: ESU MC2
OS: Android 4.1.1
Engine Driver version: 2.18
JMRI version: JMRI for Raspberry Pi by Steve Todd
DCC: CVP EasyDCC
If it makes a difference: Engine Driver theme used is "High Contrast Outline"

Minor issue noticed during ops session. Intermittent headlight loss (turns off). Light "button" indicates light function still "on", but headlight is off on loco. To turn light back on, I have to cycle through the on off on using the "Light" "button."

I'm not sure what triggered this each time. Once, it was after the loco was moving but I had "swiped up to lock the screen." Another time, I noticed the light was off after the loco had slight stall or hiccup. However, there was another time when I had no issue with the loco's running when I noticed that the light was off.

I suspect this is an Engine Driver issue and not hardware related since the Engine Driver is running under Android on the MC2, but I thought I'd mention it's running on the MC2 anyway.

Ken

Flash feature not working on Android 8.1

The recently added Flash feature does not turn on the Flash LED on a Nexus 6P running Android 8.1 The new flash icons work as expected, logcat shows a message saying the Flash was turned on, but the LED does not light.

Additional Tablet Support

I suggest an additional/new Throttle Screen Layout that operates on larger screen sizes (ie, 10 inch tablets in landscape orientation) that displays a small number of throttles (say a maximum of 3) on one side, together with the Points screen (as is currently displayed) on the other side.
This would make operating Engine Driver faster, since there would be no need to switch between screens.
You could "go the whole hog" and make the screen completely customisable (ie, allowing the user to set via preferences what screen goes on the left (eg, the Throttle) and what goes on the right (eg, Points or Routes)).

Changing speed steps in JMRI crashes ED on MCII

I have discovered a strange behavior on my ESU MCII with Engine Driver app.
When I use a throttle from JMRI with the same engine number as on ESU MCII, and set speed step in JMRI throttle to 28, then the Engine Driver app is crashing.
It looks like the ESU MCII with the Engine Driver app can´t handle 28 speed steps.

Sonny.

Feature request: setting to enabled/disable sound and vibrate on disconnect

My throttle loses connection every 10~15 seconds but reconnects just fine nearly instantly. It doesn't impact throttle control significantly, so I can live with it. However, having the phone play a sound and vibrate nearly constantly is quite annoying.

Please add a setting to disable the sound and vibration when the connection is lost or possibly a threshold where won't play until it's lost connection for more than a specific value.

This behavior was added with #511

EngineDriver not compatible

When trying to download EngineDriver version 2.18 to my ESU mobile control II from Google Play Store, I get this message " Your device isn't compatible with this version".
Do I do something wrong?
regards,
Sonny Hansen
Denmark

Feature request: new connection profile for Roco / Fleischmann Multimaus

Issue:

Following discussions on the group, it seems the code in older Roco / Fleischmann Multimaus controllers is non-compliant with the XpressNet 3.6 standard, meaning they can't interpret the (compliant) commands issued by JMRI for F13 to F28. This excludes JMRI from contexts where these controllers are used with locomotives that are sound fitted or have custom function mapping. A custom connection profile for this hardware that transmits the expected (wrong) code to the MultiMaus should resolve the issue. I have one of these that's connected to JMRI via a Lenz XpressNet 3.6 module, is there any way I can get JMRI to record the actual commands being issued by the controller for F13 - F28 so I can report back here?

Background:

Multimaus controllers are widely-used in Europe and can regularly be seen at shows and exhibitions. Our club has six or seven of them, and a number of our members have their own at home. The v1.05 firmware enables functions F13 to F28 via a double-press of the Shift key, and these functions work fine when the controllers are being used independently or connected as slaves to a Roco z21 command station (the code for which presumably takes this code defect into account).

Multimaus users on a German forum investigated the issue back in 2011 and reported it to Roco who acknowledged it, but the last firmware update was issued in 2013 and doesn't address it. As the hardware is no longer supported, there's little chance it'll ever be fixed by Roco.

Extract & Google translation translation from https://www.h0-modellbahnforum.de/t320276f19606-Multimaus-mit-LZV-wie-Funktionen-ab-F-1.html

So, I examined the multimouse with the sniffer.
F13 enters:
E4 F3 AH AL 01 PB,
according to Lenz (Docu 3.6) this should be:
E4 23 AH AL 01 PB

So the Lokmaus sends a wrong X-Bus command to the LZV, which cannot do anything with it and does nothing to be on the safe side.
Wait for MM update...

Cheers,

Alan

A Samsung Galaxy Tablet not funktion whit EngieDriver v2.19-test2

I have a discovered a problem with EngineDriver v2.19-test2.
I have several platforms to test EngineDriver on together with JMRI WIThrottle.
My smart phone works fine, my ESU MCII works fine.
But on my Samsung Tablet Galaxy A, EngineDriver crash when trying to connect to the JMRI WiThrottle.
I then!!!, on my tablet tried to go back to EngineDriver v2.18.1 and then there is no problems with the connection to JMRI WiThrottle. All works fine.
Regards,
Sonny Hansen.

Add support for use of decoder pro roster icons instead of text for buttons.

As an end user it would be great if EngineDriver supported use of graphical button icons set in DecoderPro Roster. It would prevent shortening of function names in the throttles.

This request is related to the following issue:

JMRI/JMRI#5943

As result of the earlier request I have created and uploaded an initial set of over 380 64x64 png icons that could be used for depictions of functions on sound engines.

Here's are examples of how of how a steam engine with 11 functions is graphically represented in Z21 app, JRMI Throttle, JRMI roster. I am also attaching a copy of that roster.

content___com google android googlequicksearchbox commoncontentprovider_assist com google android apps gsa staticplugins assist screenshot screenshotprovider_com google android apps gsa staticplugins assist screenshot scr
br-38 icons and function descriptions
european locos in roster
throttle
exampleroster.zip

Logo design

Hi, I'm a logo designer, I design free logos for open source project and I can make a logo for your project. So, what do you think?

Untranslated strings v2.23.81

version 2.23.81
Running the program for the first time. Phone Locations are Czech - cs. The program uses global settings - Czech. The Forward and Reverse buttons remain untouched. After manually switching to the Czech language, the buttons will be translated to Vpřed and Vzad correctly. Any other changes to the Global settings, English, or Czech settings are correct. The problem is only with the first start.

More responsive/Material UI?

I love the utility of engine driver, but the UI looks a little dated. I understand features are probably the main priority (rightfully so) but perhaps a more modern, responsive UI that applies Google's Material Design would be useful. The interface on tablets could use a refresh, for example I'd like to be able to view a panel easily, and on a larger screen control more than two locomotives at a time.

Feature Request: New throttle layout for those that use braking

For those of use that use high momentum and rely on braking to stop our locos would you consider taking the BIG BUTTON layout and providing a new layout that replaces the large "STOP" button with a "BRAKE" button. They may need to be another configuration setting where the user has to tell ED which Function number is assigned to new button.

For example, I have standardized on F11 to be the independent brake, using Engine driver with the Big Button layout means I have to look down to select the Brk function key. In ED Function Defaults I have Brk as being the 4th item on the list. I am not copying function labels from JMRI. Right now it is a bit cumbersome using braking with ED. If there is a better way to do this without modifying the app, let me know. Thanks for considering this and all the work the dev team does to make this a very handy application!

Digitrax LnWi issue with 2.17

version 2.17 seems to have broken the connection to Digitrax LnWi.
Worked before the update, does not work now.
Could someone do some testing to see what changed and how to get this back working?

Add support for using decoderpro roster icons instead of text in throttle buttons

As an end user it would be great if EngineDriver supported use of graphical button icons set in DecoderPro Roster. It would prevent shortening of function names in the throttles.

This request is related to the following issue:

JMRI/JMRI#5943

As result of the earlier request I have created and uploaded an initial set of over 380 64x64 png icons that could be used for depictions of functions on sound engines.

Here's are examples of how of how a steam engine with 11 functions is graphically represented in Z21 app, JRMI Throttle, JRMI roster. I am also attaching a copy of that roster.

content___com google android googlequicksearchbox commoncontentprovider_assist com google android apps gsa staticplugins assist screenshot screenshotprovider_com google android apps gsa staticplugins assist screenshot scr
br-38 icons and function descriptions
european locos in roster
throttle
exampleroster.zip

Testing Engine Driver on ESU MC II

I now have had the opportunity to try out the Engine Driver 1.17 on my ESU MC II.
I have no problems when using the ESU throttle, it seams to work as intended.

The only small problem I have discovered, which is no problem at all, I think.
The ESU app have the same fault, but the Engine Driver app works better.

When turning the throttle knop over the limited off 126 speed steps, and then pressing the stop button, the throttle knop will not go back to zero, but get stock on 126 speed step.
Pressing the stop button once more, and then it go back to zero speed. Doing the same thing on the ESU app it will just stay on 126 speed step.

Hope you can use this information test.
Regards,
Sonny Hansen

ESU MCII knob does not react to external speed changes

(@n3ix Splitting this out from #225)

Another issue I noticed while testing is that the Knob is not rotated in response to external speed changes. For instance if I change the speed using a JMRI throttle, the displayed speed in ED on the MC II changes however the Knob doesn't move. If I change the speed using the slider in ED on the MC II, the Knob does move to track the change.

Feature Request: Add generic keyboard mapping.

Would there be any interest in adding support for generic key binding to functions? Instead of mapping a gamepad key to a function you would map a Engine Driver function to a KeyEvent.

The UI could work like this, select an Engine Driver function from the a list then, you press the key you want bound to function. You would still have default key mappings profiles for devices you want to support, this would just extend the app to allow for any of the multimedia controllers that function as a Human Interface Device to be used with Engine Driver.

Let me know your thoughts, I don't have much Android development experience, but I could probably put together a pull request if needed.

Feature Request: Make preferred network used for connection requests configurable

Recent discussions on Groups.IO for JMRI have revealed that in the more recent versions of Android when Mobile Data is available and connected WiFi has no Internet connectivity then Mobile Data is always used for new connection requests regardless of the target IP address matching the WiFi network.

It would be useful if Engine Driver could be configured to override this preference to any network other than Mobile Data. These needs to be configurable because connecting via Mobile Data is a valid scenario even if a somewhat unusual one.

ESU MCII does not honour EngineDriver screen lock

From 'jmriusers':

Dear WiThrottle developers,

I just participated in a 6 hour op session, mostly using the WiThrottle app on my MC2.

Several times, my train would run away because I laid the throttle down, hanging it from my neck using the neck strap. What probably happens is that the wheel is inadvertently bumped against my body and turned.

Is there any way to disengage the wheel when swiping up to dim and lock the touchscreen?

Thanks,

Ken Ninomiya
Oxnard, CA

functions turned on after selecting a loco with some lockable="false" functions

I have a loco where I have declared some of the functions as lockable="false". Mostly horns, bells, other sounds. When I select this loco some of these functions are enabled and create a large amount of noise. The functions don't appear selected but until I hit the correct functions that are turned on the noise keeps going. Most of the times it's F2 but other times other functions are also enabled. Not only those that are lockable="false", some of the others as well (lights). All appear "off" though and stay this way until I turn them on/off manually. Releasing and selecting the same loco creates the same kind of mess all over again. This problem doesn't seem to appear when I set all functions as lockable="true".

Cheers,

.costin

Feature Request: "Radio" communications and/or Text Train Orders

I appreciate that this FR is out of scope for controlling an engine; however with VSD sounds now being incorporated to enhance the operating experience, I thought this might also be worth considering. Unfortunately my attempts at Java programming in the past wasn't as successful as I would have liked, so this is beyond my current ability to contribute :(

It would be nice if there was a SIP client built into the throttle. Instead of having FRS radios or hard wired phone systems, the user could talk to other train crews / dispatcher / yard office / ... through the app.

Background: I have an Asterisk server setup with SIP phones around my house, and all of my cell phones have a SIP phone installed as well. When I started using Engine Driver on my cell to control loco's I also setup conference rooms on my Asterisk server; the dispatcher and trains had an extension; the "road channel" had a conference room. If you wanted to talk to the dispatcher, you phoned that extension. If you wanted to talk to a train, you phoned their extension. Each person logs into the train's account when taking control of the train; log out when tie-ing up. When not otherwise on a call, the crew listen in on (call) the road channel (conference).

The down side to this was having to switch apps to do so. Worked fine for a train sitting in the hole; less so for calling a train on the move - with our shorter runs and time between needing to do something in the throttle, the time spent switching between apps and actually conversing in the SIP client led to running past control points, etc.

To replace FRS, one could setup 1 conference room that everyone logs into, and a PTT button on the throttle. To simulate a multi channel setup, there could also be a channel button as well as config options that set channels to log into conference rooms. This would not need to be tied to Asterisk - there are any number of SIP providers with conference rooms. There are also other self hosting SIP providers.

Extra bonus points would be an integration into JMRI where a new call to the dispatcher extension also flashes in JMRI, but I get how this would be really stretching "in-scope".

In a similar method, SIP SIMPLE messages (text) could be used for sending text versions of clearances / train orders but I suspect that would require enhancement in JMRI unless the dispatcher also had a Cell (not as easy with traditional phones to send the text message). This does require a more recent version of Asterisk or a provider with SIMPLE turned on.

Request ability to set long press time to swap direction buttons

If possible, it would be useful to allow a user to set the long press time to swap the two direction buttons.

We had a couple users at our last op session who accidentally changed button positions. A longer press time would help prevent that.

If it can be set to a user's preference, that would be ideal.

If not possible to give custom adjustment, increasing the long press to at least a couple seconds might help prevent accidental swaps.

Ken Ninomiya
Oxnard, CA

Add support for importing and then graphical button icons from DecoderPro Roster instead of text on buttons

As an end user it would be great if EngineDriver supported use of graphical button icons set in DecoderPro Roster. It would prevent shortening of function names in the throttles.

This request is related to the following issue:

JMRI/JMRI#5943

As result of the earlier request I have created and uploaded an initial set of over 380 64x64 png icons that could be used for depictions of functions on sound engines.

Here's are examples of how of how a steam engine with 11 functions is graphically represented in Z21 app, JRMI Throttle, JRMI roster. I am also attaching a copy of that roster.

content___com google android googlequicksearchbox commoncontentprovider_assist com google android apps gsa staticplugins assist screenshot screenshotprovider_com google android apps gsa staticplugins assist screenshot scr
br-38 icons and function descriptions
european locos in roster
throttle
exampleroster.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.