Android Cluster Display Project - Relay Navigation, Music Info, OBD, Caller ID, more - MTCB Software Development

Background:
- Presently there doesn't seem to be a method of relaying information from our Android head units to OEM Instrument cluster displays (turn directions, speedcam alerts, OBD/Torque info, callerid, message alerts, etc.).
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
- I've begun working on a system to relay and display such information from an android head unit to the instrument cluster display.
- As I have little/no development experience I've built current functionality using Tasker and associated plugins (Notification Listener, AutoRemote, etc.).
How it Works:
1. Turn by Turn Directions:
- When navigating with Google Maps a persistent notification is created in the notification drawer. This notification updates with simplified navigation information (next turn direction, distance to next turn, additional description [e.g. turn right onto random street], time/distance to destination, estimated arrival time).
-> The Tasker plugin 'Notification Listener' is able to track and extract information from this notification in real time.
-> A Tasker task utilises pattern matching to determine the main navigation action (Right Turn, Left Turn, Straight, Merge, U-Turn, Roundabout, etc.).
-> According to the pattern matching, IF then ELSE statements initiate additional actions, splitting the notification text to set the relevant parts of the text into different variables.
-> These variables are either directly displayed in a Tasker Scene, or their contents alter other elements (visibility of scene elements, Turn Icons).
-> One variable dictates the Turn Icon displayed in the Tasker Scene. For Example: When a right turn is detected by pattern matching, a variable is set to the file path of a right turn icon image. The same variable is changed according to the next turn direction. A single image in Tasker is set to display the image of that variable (and thus shows the next turn icon).
Current Development Status:
WORKING
a. Recognises and shows: - When no destination is entered in Google Maps - Message to continue onto a road to begin journey - Right & Left Turn icons - Straight icon - U-Turn icon.
b. Distance to next turn.
REQUIRED
a. Icons and messages to indicate: - Roundabout exits - Merge onto... - Arrival notification - Other unusual turn/navigation notifications.
b. Time to destination (I tried to integrate this but the extra split operation seemed to to increase lag in display of more important information such as distance to the next turn). I'm sure there's a good workaround for this.
c. Additional turn information text (e.g. turn right onto random street). This is an easy task, will implement soon.
d. Improvement of navigation information update frequency - Presently when there are frequent updates (e.g. when approaching a next turn at high speed the distance to next turn changes more frequently) there can be a minor lag between the next turn information in google maps (and notification) and its display in the Tasker Scene. Generally it's working fine though.
2. Speed Camera Alerts:
- Speed Camera information is loaded onto an app called 'Speed Trap Pro' (found on Play Store).
--> A Tasker plugin named 'Auto Speed Trap' alters Tasker variables (Distance to Camera, Camera type, etc.) when approaching a Speed Camera (GPS based).
--> A Tasker task is set to recognise when user is approaching a Speed Camera and temporarily change the image path of the turn indicator to a Speed Camera icon in the Tasker Scene (until speed camera is passed). Distance to the Speed Camera is also displayed.
WORKING
All implemented.
REQUIRED
Text showing distance to the next speed cam does not update frequently enough/smoothly.
3. Music Player Information:
- When a song is changed on the head unit, artist and song information can be temporarily shown in the area that usually shows next turn text (e.g. instead of 'turn right onto random street' it would show 'Led Zeppelin - Stairway to Heaven').
WORKING
Working.
REQUIRED
Could be developed to scroll song information when either the Artist or Song name is too long to fit on the screen.
4. Caller ID:
- This should display the caller ID of incoming calls (in the same area as the music player information).
- I'm not sure whether this information could be drawn directly from the head unit or if it would have to be relayed from the user's phone to the instrument cluster display client (described below).
- This can rely on Notification Listener and AutoRemote.
- when incoming call —> center media control answers.
NOT IMPLEMENTED
5. Message Alerts:
- This should display contact information and message text for new messages (SMS, Whatsapp, etc.).
- should save last 5 messages (only received during driving) —> allow scroll through under messaging tab —> allow reply (long press center button).
- Similar challenges to Call ID.
NOT IMPLEMENTED
6. OBD Information:
- This would draw real time vehicle information from a bluetooth OBD dongle and display it on the cluster display (e.g. 0-60 times, fuel consumption, etc.).
- Torque is a great Android app that interprets information from OBD data.
-> Presently there is no dedicated Tasker plugin for Torque, or other OBD apps, however a solution might be found in Torque's API:
http://torque-bhp.com/wiki/PluginDocumentation
-> Preferably Torque OBD information would be updated in real time.
7. Radar Detector Integration:
- I own a Valentine V1 Radar Detector. The Valentine V1 is able to connect to Android over Bluetooth (SPP).
- There is an API. It would be nice to integrate radar detection alerts into the Tasker Scene’s UI (like with regular speedcam alerts).
- Alternatively there is an app called YaV1 that can serve heads up alerts.
7. USER INTERFACE:
- Bluetooth or CANBUS steering wheel controls can be used to navigate the interface.
(e.g. http://www.satechi.net/index.php/satechi-bluetooth-button-series-media-button).
- These would be remapped to Tasker tasks to run different actions according to which screen is in view.
- Below is my proposed UI/UX:
- The interface requires implementation/ improvement and can be adapted for your particular cars.
8. SECOND DISPLAY SOFTWARE:
- All previous functions are presently running locally (i.e. on the device on which Google Maps Navigation/ Music Playing/ Calls/ Messages are taking placed [the head unit]).
- This information must be relayed to the console display.
- My present plan is to relay this information to a second android phone/client.
-> This could be done using the Tasker plugin 'AutoRemote'. AutoRemote is able to send Tasker variables from one device to another. This can work over Bluetooth, a local WIFI network, or online.
- It is important to devise this system in a way that will minimise latency between triggering of notifications on the Headunit or user phone, and their appearance on the instrument cluster display. This is particularly important for navigation information.
-> In order to achieve this, as few as possible variables should be sent from the head unit. Any actions that increase the number of the variables should take place on the client device rather than the head unit.
There are 2 ways in which this can be implemented (regarding navigation turn directions):
a. Google maps notifications can be extracted by the head unit, set as Tasker variables and sent to the client Android's Tasker over Bluetooth/Wifi.
-> Split actions will be applied on the client device.
-> The scene will run on the client android according to resultant variable information.
ADVANTAGES: - Less requirements from the client device.
DISADVANTAGES: - Latency may not be acceptable.
b. When a destination address is set in Google Maps its coordinates are set in a log file (I think! If not then the address can be processed into coordinates by a geocoder). These coordinates can be sent from the head unit to the client Android and set to launch Google Maps navigation on the client with the same destination as the head unit.
ADVANTAGES: - Many less variables will need to be sent by AutoNotification - Latency should be far lower.
DISADVANTAGES: -The client device will need to have a functioning GPS, to be positioned in a place where it functions (less obstructions), and to have a functioning internet connection.
THOUGHTS: I would tend towards option B.
SYSTEM MAP:
Below is a proposed system map. One potential problem is that there are multiple devices (OBD + Radar detector + Head Unit > Client Connection (AutoRemote)) connecting to the same device over the same Bluetooth profile (SPP). This doesn’t work for all devices - will have to test to find out.
An alternative method would use a 3g WIFI Modem to provide data to the devices and to transfer data over Autoremote. This would free the Head Unit > Android Client connection from relying on the SPP Bluetooth Profile. The OBD dongle could then be connected to the Head Unit, and the Radar detector connected to the Android Client.
8. SECOND DISPLAY HARDWARE:
- Once head unit information has been transferred and processed into a Tasker Scene on the Android client, it needs to be displayed on the instrument cluster display.
-> This can be implemented in 2 ways:
1. Replace the existing instrument panel display with a small display that can connect to an android phone/raspberry pi over MHL/Slimport/HDMI/VGA.
-> This is the smallest display I could find with a tested HDMI input. It is larger than the OEM cluster display on a VW so may cause problems:
http://www.buydisplay.com/default/er-tftv043-4
2. Output CanBus Information to the existing display (seems like it may be possible using this adaptor:
https://www.kickstarter.com/projects/etx/canbus-triple-the-car-hacking-platform).
THOUGHTS: I have decided to implement option A. This is not the smoothest solution as it requires replacement of instrument cluster display, but as I don't have any development experience, this is simply what I am able to achieve.
Where Do We Start:
1. Let me know your thoughts on the project.
2. I've attached Tasker project files and icons:
a. Import Tasker Project: https://dl.dropboxusercontent.com/u/4719739/Car_Present.prj.xml
b. Download icons onto your device: https://dl.dropboxusercontent.com/u/4719739/icons.zip
c. Change 'DIRECTIONWATCH' and 'SPEEDCAMIMAGE' variables: Set 'Notification Listener' Task variables to Right, Left, Straight, U-Turn icons, ' No Destination' to a vehicle icon of your choice (mine is for VW), 'Speedtrap' to the Speedtrap icon and 'Cancel Speedtrap' to the blank PNG. link the location you place each of the attached icons (different turns, vehicle logo, speedtrap, blank png for cancel speedtrap).
Install the following apps and Tasker plugins:
- Notification Listener: https://play.google.com/store/apps/details?id=com.balda.notificationlistener&hl=en
- Speed Trap Pro - optional if you want speed camera alert: https://play.google.com/store/apps/details?id=com.balda.speedtrappro
- Auto Speed Trap - as above: https://play.google.com/store/apps/details?id=com.balda.autospeedtrap
d. Launch the task 'Scene'.
e. Enter a destination and begin navigation in Google Maps.
- Let me know how it works.
- Feel free to discuss and chip in however you can.

Very cool project mate :good:
I dont have a cluster display or I would definitely be giving this a go!

Extremely cool idea - once I get everything else up and running on the unit as I want it, I'll definitely try this!

Hi,
Nice idea but it will be kind of diificult. I was also thinking myself that that can be acchived because we have all the information. But sending them back to the cluster is the hard part.
My Experience : VW cluster, Huifei with CanBus support.
There is already the needed function in one of the MTCA pps to send some information.
In my cluster, I can see : Music track / length, "Video" if a video is played, SD Card xhen music comes from SD Card, Radio frequency .....
The apps, depending on your choice in the Settings (Canbus settings) is sending information trought the MCU I think.
There are some functions like SendRadio(), SendMusic().....
That is the bad news because if we want to add some custom info, maybe we can't because we would have to modify also MCU img.
I've seen on other forums some guys successfully displaying all kind of information on their cluster, but it was a more hardware specific device (CANBUS + RS232.....).
Definitely possible, but a lot of work.

dc5daft said:
Very cool project mate :good:
I dont have a cluster display or I would definitely be giving this a go!
Click to expand...
Click to collapse
Thanks. The other option is to use it on a second phone and tape it infront of the steering wheel. Would still function as a second display for all vital information.

Nova8316 said:
Hi,
Nice idea but it will be kind of diificult. I was also thinking myself that that can be acchived because we have all the information. But sending them back to the cluster is the hard part.
My Experience : VW cluster, Huifei with CanBus support.
There is already the needed function in one of the MTCA pps to send some information.
In my cluster, I can see : Music track / length, "Video" if a video is played, SD Card xhen music comes from SD Card, Radio frequency .....
The apps, depending on your choice in the Settings (Canbus settings) is sending information trought the MCU I think.
There are some functions like SendRadio(), SendMusic().....
That is the bad news because if we want to add some custom info, maybe we can't because we would have to modify also MCU img.
I've seen on other forums some guys successfully displaying all kind of information on their cluster, but it was a more hardware specific device (CANBUS + RS232.....).
Definitely possible, but a lot of work.
Click to expand...
Click to collapse
True. The cluster part is most difficult (and beyond my abilities). For the first stage I intend to connect an old phone to an external 3inch lcd and place it instead of the cluster display.The old phone will act as the client.
On a vw its pretty easy to take apart the cluster. Only problem might be if the lcd doesn't fit in place of the cluster display. Will take it apart soon to check.
One part I could use help with is the OBD/Torque data extraction. Has anyone managed to interface with torque that could extract data to Tasker?
I'll upload an updated version of the navigation and interface later today.

As Nova8316 says, this is supported already on the MTCB head units via the "Car service" app, which appears or disappears depending on what CAN Bus setting the MCU is on, support is a bit patchy - some cars are not supported at all and some only partially, mainly the most popular cars are supposted VW Group for instance.
The MCU basically talks to the CAN Bus system via the CAN Bus high/Tx and CAN Bus Low/Rx lines and/or the CAN Bus adapter. Would it not be easier to try and make this work for your car/more cars by trying to add functionality to the existing set up ?

typos1 said:
As Nova8316 says, this is supported already on the MTCB head units via the "Car service" app, which appears or disappears depending on what CAN Bus setting the MCU is on, support is a bit patchy - some cars are not supported at all and some only partially, mainly the most popular cars are supposted VW Group for instance.
The MCU basically talks to the CAN Bus system via the CAN Bus high/Tx and CAN Bus Low/Rx lines and/or the CAN Bus adapter. Would it not be easier to try and make this work for your car/more cars by trying to add functionality to the existing set up ?
Click to expand...
Click to collapse
Hi, sorry for super late reply. Busy months with work.
1. Some of the features seem to be supported by the Car Service app, but not all. Are navigation directions supported? This is most important for me.
2. Additionally, for me at least, my cluster display is old and doesn't support all functionality. This implementation would allow for a visually appealing display that supports infinite customisation (adding speed camera alerts other).
3. I'd love to add the rest of the features via support of the existing display, I'm not a programmer, my abilities are presently limited to Tasker.
- If anyone wants to help I can upload my latest implementation soon. I'm working on adding simple call and message alerts.
I've decided to trigger Google Maps on the secondary display connected android device, rather than passing turn notifications one by one over Bluetooth. The way it should work is that when you enter a destination into Google Maps on the Head Unit --> the destination information will automatically be extracted and sent via Tasker and Autoremote to the secondary display connected android device.
--> My problem here is that I haven't been able to extract current destination information from Google Maps. Can anyone suggest a way of doing this?
I've tried a suggestion to run the following script:
sqlite3 /data/data/com.google.android.apps.maps/databases/da_destination_history "select dest_address from destination_history order by time desc limit 1;"
Unfortunately this script seems dated as I can't find the database da_destination_history on the latest iteration of Gmaps. Instead the following databases are found under google maps:
ue3.db-journal, ue3.db, gmm_myplaces.db, gmm_storage.db, gmm_storage.db-journal, gmm_offline{some long number].db-wal, gmm_offline{some long number].db-shm, some more..
Out of these files, gmm_storage.db does seem to contain the current destination address, but I can't find a way of identifying it as such within the file, thereby allowing operations to recognise and extract the destination address.
Any help would be greatly appreciated.
Thanks.

I guess if you dont have the skills to code and your car display doesnt support what you want then this is the way to go.

typos1 said:
I guess if you dont have the sills to code and your car display doesnt support what you want then this is the way to go.
Click to expand...
Click to collapse
I've got a VW Passat 2012 and would gladly help with any testing needed. Not sure how helpful I can be with development but can try stuff out.

Nova8316 said:
Hi,
Nice idea but it will be kind of diificult. I was also thinking myself that that can be acchived because we have all the information. But sending them back to the cluster is the hard part.
My Experience : VW cluster, Huifei with CanBus support.
There is already the needed function in one of the MTCA pps to send some information.
In my cluster, I can see : Music track / length, "Video" if a video is played, SD Card xhen music comes from SD Card, Radio frequency .....
The apps, depending on your choice in the Settings (Canbus settings) is sending information trought the MCU I think.
There are some functions like SendRadio(), SendMusic().....
That is the bad news because if we want to add some custom info, maybe we can't because we would have to modify also MCU img.
I've seen on other forums some guys successfully displaying all kind of information on their cluster, but it was a more hardware specific device (CANBUS + RS232.....).
Definitely possible, but a lot of work.
Click to expand...
Click to collapse
Hi,
I did some research and i think that the MCU has nothing or little to do with sending and receiving messages/info from/to the car. The main unit communicates with the canbus converter using serial rx/TX at a 38400bps. This is where the mcu gets out of the game. The serial protocol between the HU and the canbus decoder is the same for all the HUs and canbus decoders. According to this all the hard job is done on the canbus decoder. The more PIDs that it supports, the more the HU can show you!
I am working on the same thing for my Mercedes car. I need 3 things to do:
1. Interpret the canbus PIDs.
2. Interpret the serial protocol between the HU and the canbus converter.
3. Write an app that listens to the serial port that the HU is connected to and start playing with messages.
On the above the only difference for various cars is the supported canbus PIDs which are by no way the same between different car brands and sometimes between car models.
So at the end i believe that i will build my own canbus converter for my car! (i have to re invent the wheel)
If anyone has info about the serial protocol between the HU and the canbus decoder and willing to share, it would help a lot.
Regards

psychegr said:
Hi,
I did some research and i think that the MCU has nothing or little to do with sending and receiving messages/info from/to the car. The main unit communicates with the canbus converter using serial rx/TX at a 38400bps. This is where the mcu gets out of the game. The serial protocol between the HU and the canbus decoder is the same for all the HUs and canbus decoders. According to this all the hard job is done on the canbus decoder. The more PIDs that it supports, the more the HU can show you!
I am working on the same thing for my Mercedes car. I need 3 things to do:
1. Interpret the canbus PIDs.
2. Interpret the serial protocol between the HU and the canbus converter.
3. Write an app that listens to the serial port that the HU is connected to and start playing with messages.
On the above the only difference for various cars is the supported canbus PIDs which are by no way the same between different car brands and sometimes between car models.
So at the end i believe that i will build my own canbus converter for my car! (i have to re invent the wheel)
If anyone has info about the serial protocol between the HU and the canbus decoder and willing to share, it would help a lot.
Regards
Click to expand...
Click to collapse
You can try to decompile the Vehicle.apk file which only read some PID from the canubus.
You can dmsg with a terminal and see that one of the devtty is outputting some strings.
Also, the Music app is sending the info through the MtcCanbusManager. This program is the one that send the correct strings to the canbus decoder.
If you go with a standalone canbus decoder, you would do more things.

Nova8316 said:
You can try to decompile the Vehicle.apk file which only read some PID from the canubus.
You can dmsg with a terminal and see that one of the devtty is outputting some strings.
Also, the Music app is sending the info through the MtcCanbusManager. This program is the one that send the correct strings to the canbus decoder.
If you go with a standalone canbus decoder, you would do more things.
Click to expand...
Click to collapse
Yes i already saw that the canbus decoder works with strings. Mtccanbusmanager does all the job sending/receiving the strings and broadcasting the messages to the correct apps.
I cant find the Vehicle.apk as i am looking for it almost a month now and noone seems to be able to post it on the forum. MTCControlInfo.apk is the app that i have decompiled. Is it the same?

psychegr said:
Yes i already saw that the canbus decoder works with strings. Mtccanbusmanager does all the job sending/receiving the strings and broadcasting the messages to the correct apps.
I cant find the Vehicle.apk as i am looking for it almost a month now and noone seems to be able to post it on the forum. MTCControlInfo.apk is the app that i have decompiled. Is it the same?
Click to expand...
Click to collapse
Its in all ROMs, so you should be able to find it somewhere.

I posted in the other thread. This might help:
http://forum.xda-developers.com/showpost.php?p=58749562&postcount=8564

RWerksman said:
I posted in the other thread. This might help:
http://forum.xda-developers.com/showpost.php?p=58749562&postcount=8564
Click to expand...
Click to collapse
Maybe you should tell him where you got it from so he can get the latest one, the one in your link is over a year old.

typos1 said:
Maybe you should tell him where you got it from so he can get the latest one, the one in your link is over a year old.
Click to expand...
Click to collapse
Is this supposed to be the "Vehicle.apk"?

psychegr said:
Is this supposed to be the "Vehicle.apk"?
Click to expand...
Click to collapse
There are quite a few different apks like vehicle.apk, control settings.apk, etc, they appear and disappear depending on what CAN Bus setting you have the unit on in factory settings, but if you get the latest ROM you should be able extract all of them from it.
(I ll get round to replying to your pm soon BTW, been very busy)

i realy like this project.. but i whant to go a step furter.
what if we juse a cheap ass android smartwatch. and make from that a mini HUD. MY peugeot have black small display for the warning ligts. like a 4 by 5 cm. when you put a little HUD foly on it an project the smartwatch to it you have a mini HUD. with you tricks here it must work.
maby an idea?

Has this gone any further? I just bought a 2016 VW GLI, and I am not happy that the turn by turn does not show up in the MFD in the cluster. There HAS to be a way...

Related

[App] Marathon - GPS measure / tracking software

Latest version: 1.3.1.5.
Changelog
Information
Marathon is a Windows Mobile application which keeps track of your movement with the help of a GPS-receiver. It’s the perfect companion for sporting activates such as running and bicycling. You can configure Marathon to announce various statistics in the headset or speaker while you’re recording. This gives you the advantage of always knowing your performance and is a great morale boost to reach your goals. You can compete with yourself by setting the goal time comparison settings to one of your previous results. This will allow the announcements to tell you exactly how many seconds ahead or behind you are. You may also use the generic time goal in case you haven’t recorded anything to compete against. The application records and displays data such as time, distance, speed and your altitude change. You can also choose to display your speed and altitude as bar or line charts, as well as showing a map of your recording. As a complement to the application, Marathon is compatible with a free online service, which allows you to see more detailed information about your performance. You can view your result on a map as well as see various rankings against other users of the service.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Features
• Announce various statistics in the headset or speaker while running.
• Compete with yourself by using a previous recording or a generic time based goal.
• Records data such as time, distance, speed, altitude change.
• Can show a graph over your speed/altitude as well as a map of the track.
• Upload the result to www.marathon-mobile.net to see more detailed info and compare your results with others. The webpage is still a work in progress, so don’t expect too much yet.
Requirements
• Windows Mobile 5.0+ Professional device.
• GPS receiver with support for Microsoft’s GPS Intermediate Driver.
• Screen resolution of at least 240x240 pixels.
Download
http://www.marathon-mobile.net/Download/DownloadLatestVersion
neat app- hope this helps to get you more coverage since I think the app deserves it: http://www.fuzemobility.com/marathon-gps-trainer-released/
Is it possible to also make it save the track as kml so it can be viewed in google earth?
biohazardousguy said:
Is it possible to also make it save the track as kml so it can be viewed in google earth?
Click to expand...
Click to collapse
Hello!
would this run on my diamond (640 x 480)?
+1 for google earth - support!
A few questions:
1. Will this work on a VGA, e.g., a Fuze?
2. Does it track in miles or just kms?
3. Will it work for cycling, e.g., mph, not just mins/mile?
I currently use GPSCycleComputer because it works for both running and cycling, but this app has some nice new features.
seriously guys, are you even reading the first post?
I’ve tested it on my HTC Touch Pro
Click to expand...
Click to collapse
Touch Pro = VGA
It works on the Fuze/Diamond at VGA: http://www.fuzemobility.com/marathon-gps-trainer-released/
I'll let the author respond to changes to mph instead of km.
bugsykoosh said:
neat app- hope this helps to get you more coverage since I think the app deserves it: http://www.fuzemobility.com/marathon-gps-trainer-released/
Click to expand...
Click to collapse
Thank you!
biohazardousguy said:
Is it possible to also make it save the track as kml so it can be viewed in google earth?
Click to expand...
Click to collapse
Im considering to implement some kind of map integration, so i'll look into it.
drjim said:
A few questions:
1. Will this work on a VGA, e.g., a Fuze?
2. Does it track in miles or just kms?
3. Will it work for cycling, e.g., mph, not just mins/mile?
I currently use GPSCycleComputer because it works for both running and cycling, but this app has some nice new features.
Click to expand...
Click to collapse
bugsykoosh said:
It works on the Fuze/Diamond at VGA: http://www.fuzemobility.com/marathon-gps-trainer-released/
I'll let the author respond to changes to mph instead of km.
Click to expand...
Click to collapse
I haven’t tried it on a bike, but I don’t see why it wouldn’t work since it works with walking, running and cars. You can also select different methods, such as “Run”, “Bike” and “Ski” when you save your result to keep track of your travel method.
I've implemented the following units, you can change between them using "Menu->Settings->Unit":
km/h
m/s
mph
min/km
I'll add more if someone find it usefull. Would min / mile be of any use?
I would love you to add minutes per mile as that is the standard measure for running speed, so it would be useful for running.
Thanks.
Very well done!
Hi Ooije,
I did a first test of your app and I'm very impressed about it's features and how well it works for the very first beta! On my Touch Pro, it did find my current position very fast and the distance measured is exactly what www.gpsies.com tells me about it. Uploading to your homepage also worked well and is such easy to do. Congratulations and thank you very much!
Of course although it is already very functional, there are some feature requests:
- I did not dare to switch off the device at my first test, because I did not want the GPS receiver being stopped and used S2U2 as screen lock. Having an option to switch off the display and locking the device (as in GPSCycleComputer) would be a great thing.
- Having an option for specifying the GPS settings would be fine. On the Touch Pro it connects to the intermediate driver directly and works well, but actually I'd like to have it connected to GPSGate on another Port.
- For the running pace (min/km), it shows seconds as percent of minutes. Having it as mm:ss (that is 7:54 instead of 7,9) would be appreciated. BTW:
drjim said:
(...) minutes per mile as that is the standard measure for running speed (...)
Click to expand...
Click to collapse
Here in Europe it is min/km, which is already implemented... ;-)
- I didn't try that audio feature yet (BTW: Do you use earphones?), but I'm thinking that it could also be useful if you're on an unknown route to have some very basic navigation features. That is, importing a route (on www.gpsies.com there are a lot of it) and at least being told if you're leaving that route. For more information you can have a look on your display then, which might show the planned vs. the actual route.
- I'm interested in having a plot "pace over time". I'm not quite sure whether GPS data are such accurate (especially these qualcomm receivers), but maybe there can be done some filtering in order to have good results.
- and of course exporting the track as GPX, KML or whatever (hey, there is GPSBabel to translate it ;-) ) would be great
Last but not least, there is a small flaw having +infity as speed after loading or saving a track - maybe it's currently there for debugging purposes (see screenshot attached)
Cheers
Matzix
PS: If you want/need a german translation, please let me know!
drjim said:
I would love you to add minutes per mile as that is the standard measure for running speed, so it would be useful for running.
Thanks.
Click to expand...
Click to collapse
Alright, if that’s what you use in US I’ll put it on top of my TODO-list. Thanks for the feedback.
Matzix said:
Hi Ooije,
I did a first test of your app and I'm very impressed about it's features and how well it works for the very first beta! On my Touch Pro, it did find my current position very fast and the distance measured is exactly what www.gpsies.com tells me about it. Uploading to your homepage also worked well and is such easy to do. Congratulations and thank you very much!
Of course although it is already very functional, there are some feature requests:
- I did not dare to switch off the device at my first test, because I did not want the GPS receiver being stopped and used S2U2 as screen lock. Having an option to switch off the display and locking the device (as in GPSCycleComputer) would be a great thing.
- Having an option for specifying the GPS settings would be fine. On the Touch Pro it connects to the intermediate driver directly and works well, but actually I'd like to have it connected to GPSGate on another Port.
- For the running pace (min/km), it shows seconds as percent of minutes. Having it as mm:ss (that is 7:54 instead of 7,9) would be appreciated. BTW:
Here in Europe it is min/km, which is already implemented... ;-)
- I didn't try that audio feature yet (BTW: Do you use earphones?), but I'm thinking that it could also be useful if you're on an unknown route to have some very basic navigation features. That is, importing a route (on www.gpsies.com there are a lot of it) and at least being told if you're leaving that route. For more information you can have a look on your display then, which might show the planned vs. the actual route.
- I'm interested in having a plot "pace over time". I'm not quite sure whether GPS data are such accurate (especially these qualcomm receivers), but maybe there can be done some filtering in order to have good results.
- and of course exporting the track as GPX, KML or whatever (hey, there is GPSBabel to translate it ;-) ) would be great
Last but not least, there is a small flaw having +infity as speed after loading or saving a track - maybe it's currently there for debugging purposes (see screenshot attached)
Cheers
Matzix
PS: If you want/need a german translation, please let me know!
Click to expand...
Click to collapse
You should be able to switch of the device since it keeps the GPS receiver and sound devices running (unless you mixed with the power options). But I guess that could be useful in combination with the ability to read from a NMEA-data directly from a COM port. Unfortunately this is not my highest priority right now, but I might look into it.
Showing pace as m:ss instead of a decimal number might be handy. If that’s what people expect when using the min/km unit I’ll definitely change. What would the expected audio announcement be for such a metric? “three point forty five” could mean either 3.45 (as a decimal number) or 3 minutes and 45 seconds.
The audio feature works with both speaker and headset, but if you’re listening to music at the same time you probably don’t want 100% volume in your music player.
Import/Export seems to be a requested feature, so I’ll look in to a few formats and see which fits best. Announcing when you’re too far away from the expected route is a great idea. I’ll put that on my TODO-list.
There are bar charts (5, 10, 15 or 25 bars) as well as a linear diagram built-in to plot the speed. Just select “Menu->View->Speed” and “Menu->Settings->Diagram Type->…” to view them. The diagram is not inverted when min/km is the selected unit, but that shouldn’t take so long to implement.
Since your speed is 0 m/s it will take you infinitive time to move 1 km, so it’s kind of correct . But I guess I’ll replace it with a ∞ (infinitive symbol) to make it look better and less confusing.
Thank you for all your feedback; it’ll definitely help me improve the application. A translation would be nice, but I think it’s best to wait until I have a more stable set of localized strings in the application. It’s hard to keep the English / Swedish translations in sync even when im translating between them myself. So I’ll keep in touch.
Looks great and though i do now own a pocket pc anymore it would be
awesome if you could contact me. I am the head of the urban sports
guerrilla at www.endorphinum.de
Maybe we can work out a system that allows your users to upload their
activity right to endorphin !?
greetings,
Carlos
Not working at all
Hello, this is my feedback:
though the program starts ok (I can see the main interface Window) the GPS is always in "starting..." but never starts...
I tried to start first Tomtom navigator, gps starts, close tomtom and start Marathon but... no way.... "starting gps..."
I see no options to configure it...
My phone is a Windows Mobile 6.0, QVGA resolution, HTC clone (amsam M810)
Thanks.
Test with a Touch HD
First start I got no GPS conection. After softreset, I got the GPS lock after a couple of secods. Then I started for a test run which was fine on the fiorst Minutes with havin a short voice anouncement every Minute. after 5 Minutes the system stopped talking to me and after 25 Minutes the SW stopped completly. So I will wait for the next version to give it a next test. so far the SW is already on a good way, but also not very reliable.
I released a minor update today. Here are the news in beta 1.0.0.2:
Fixed a bug with the start button when the GPS-device was started before the application.
Added support for minutes / mile.
A few other small fixes.
I've also updated the website with Google maps integration, some rankings based on distance and the ability to filter by transport method.
Bibifrine said:
First start I got no GPS conection. After softreset, I got the GPS lock after a couple of secods. Then I started for a test run which was fine on the fiorst Minutes with havin a short voice anouncement every Minute. after 5 Minutes the system stopped talking to me and after 25 Minutes the SW stopped completly. So I will wait for the next version to give it a next test. so far the SW is already on a good way, but also not very reliable.
Click to expand...
Click to collapse
That's strange, I've had the application running over a night without any problems (indoors, so no GPS signal in that test). Did you turn the display of or kept it on all the time?
sergutel said:
Hello, this is my feedback:
though the program starts ok (I can see the main interface Window) the GPS is always in "starting..." but never starts...
I tried to start first Tomtom navigator, gps starts, close tomtom and start Marathon but... no way.... "starting gps..."
I see no options to configure it...
My phone is a Windows Mobile 6.0, QVGA resolution, HTC clone (amsam M810)
Thanks.
Click to expand...
Click to collapse
The latest release fixes a bug when the GPS was started before the application starts, but I don't think this is the issue in your case. Is your GPS set to be managed by WinMo automatically (Settings->System->External GPS->Access->Manage gps automatically )?. Marathon uses Microsoft GPS intermediate driver, so the OS has to manage the GPS.
I've bought a Bluetooth GPS to play around with, so hopefully it will help me increase the compability with different kind of hardware. By the way, how is your GPS set up in TomTom?
Thanks for the feedback (both of you). It's very valuable since it's kinda hard to fix problems without knowing of there existence .
Cool, just downloading it now.
Any chance you can integrate ApptoDate so that updates are added automatically? Thanks
Regards
"That's strange, I've had the application running over a night without any problems (indoors, so no GPS signal in that test). Did you turn the display of or kept it on all the time? "
I tested the system first with switching to standby (and it does not talk to me) after that I just shut of the screen and then it was talking to me for a couple of Minutes and after 25 Minutes it failed completly. I will download the new version and give it a try on my next run tomorrow.
I will post the result.
quick test on Verizon Omnia WQVGA
I need to start gps before lauch program
nice idea
Hello,
I just downloaded and installed.
Also tested outdoors and jogging
I started Marathon but no way. (waited 10 mins, enough right?) GPS status was always "starting..."
Then I started GPS device from 2 other apps. It did.
Both apps worked and located me in the World.... then closed and opened Marathon
Does not work.
Answering your questions:
yes, GPS is managed by the OS. Option is checked in Settings->System->External GPS->Access
GPS config is: COM1 Baud 9600
ps: what is missed in your software (I think) is the GPS config.
Other software have it.
Thanks a lot.
----------------------
The latest release fixes a bug when the GPS was started before the application starts, but I don't think this is the issue in your case. Is your GPS set to be managed by WinMo automatically (Settings->System->External GPS->Access->Manage gps automatically )?. Marathon uses Microsoft GPS intermediate driver, so the OS has to manage the GPS.
I've bought a Bluetooth GPS to play around with, so hopefully it will help me increase the compability with different kind of hardware. By the way, how is your GPS set up in TomTom?
GLOC said:
Cool, just downloading it now.
Any chance you can integrate ApptoDate so that updates are added automatically? Thanks
Regards
Click to expand...
Click to collapse
Well, I could at least append it to my TODO-list ^^.
Bibifrine said:
"That's strange, I've had the application running over a night without any problems (indoors, so no GPS signal in that test). Did you turn the display of or kept it on all the time? "
I tested the system first with switching to standby (and it does not talk to me) after that I just shut of the screen and then it was talking to me for a couple of Minutes and after 25 Minutes it failed completly. I will download the new version and give it a try on my next run tomorrow.
I will post the result.
Click to expand...
Click to collapse
I assume you haven't changed the settings in "Menu->Settings->Power Management" (at least the first two checkboxes should be checked) and installed the application on your device and not on a memory card? I would really appreciate if you could change the logging level to verbose ( Menu->Settings->Diagnostic Logging), record for a minute or two and then send me the log file in /Program Files/Marathon/Logs so I could investigate further.
megapinky said:
quick test on Verizon Omnia WQVGA
I need to start gps before lauch program
nice idea
Click to expand...
Click to collapse
Thanks for the screenshots. The wrong skin is loaded since your bottom bar is 10 pixels higher than the one built into WM. I'll improve the skin loading algorithm a bit so the correct skin will be loaded. Where can I get hold of the bottom bar you're using so I can make sure it works correctly before releasing an update?
sergutel said:
Hello,
I just downloaded and installed.
Also tested outdoors and jogging
I started Marathon but no way. (waited 10 mins, enough right?) GPS status was always "starting..."
Then I started GPS device from 2 other apps. It did.
Both apps worked and located me in the World.... then closed and opened Marathon
Does not work.
Answering your questions:
yes, GPS is managed by the OS. Option is checked in Settings->System->External GPS->Access
GPS config is: COM1 Baud 9600
ps: what is missed in your software (I think) is the GPS config.
Other software have it.
Thanks a lot.
----------------------
The latest release fixes a bug when the GPS was started before the application starts, but I don't think this is the issue in your case. Is your GPS set to be managed by WinMo automatically (Settings->System->External GPS->Access->Manage gps automatically )?. Marathon uses Microsoft GPS intermediate driver, so the OS has to manage the GPS.
I've bought a Bluetooth GPS to play around with, so hopefully it will help me increase the compability with different kind of hardware. By the way, how is your GPS set up in TomTom?
Click to expand...
Click to collapse
The "Starting GPS Device..." should take less than a second, it says "No Signal" when there is no GPS fix. So the problem is that the GPS device isn't detected at all. Do you usually have to configure applications before using your device or do other software detect your GPS automatically? Currently Marathon uses the GPS intermediate driver which is supposed to increase the abstraction level so I don't have to parse the NMEA strings from the COM-port, but I guess I have to take a look at other alternatives.
Thanks for all the info!

[APP] WMDreamRemote - control your Dreambox-with streaming!

WMDreamRemote (WMDR) - with streaming
UPDATE (22/04/2012): No more deadlines. The reason is that I am busy with other projects. I might implement other features in future. You can download from my web-site, http://www.tillekesoft.com. There you can find as usual two versions. One version is for devices using 320x240 but it should work fine also with devices having a resolution of 640x480. For all other resolutions, please use the other one. For existing users, you just need to replace the old executable with the new one.
06/10/2010 - I have attached a "step-by-step"-guide for setting up WMDR - in particular what regards streaming (it is in English but you can use Google Translation-tools to translate it to another language). Hopefully, this will make it easier for new users to get WMDR working.
IMPORTANT (22/06/2010) - I just tested the new version of VLC no. 1.1.0 and it seems like WMDR is not compatibile with the latest version of VLC. So if you want to use WMDR, please ensure to use VLC 1.0.5 or earlier until I have resolved this issue.
Change-log: nothing so I am leaving old change-log here below:
This version is more like a Service-Release fixing some bugs and introducing few new features:
-fixed issue when using WMDR with Enigma2 outside your LocalLAN where WMDR passed on a DynDNS-address to the Dreambox instead of LocalIP-address which is the correct way. Thanks to mkbm for finding this bug.
-fixed streaming-issue in Enigma2 when changing between channels located on different transpoders would cause problems. Thanks to mkbm for explaining this.
-improved error-handling (clearer messages). Still to be improved further.
-possibility to kill stream when exiting WMDR
-other minor bug-fixes
-some optimization
-added a program-icon (it's very basic - if you can come up with a better-looking icon, please do so and post it here in the thread)
-fixed issue with DM8000
To see WMDR in action (using a pre-release of Beta 0.7), watch this video posted by XDA-user ajocius on YouTube:
Background: After on-going discussions in this thread http://forum.xda-developers.com/showthread.php?t=616353 regarding an application to control remotely the Dreambox, I decided to write an application to accomplish this request.
In above thread, a very simple and crude beta-application was posted. Now, the application has evolved further and therefore I reckoned it was more appropriate to open a new thread in this area which is meant for Window Mobile applications.
Extra Information: The Dreambox is a series of Linux-powered DVB satellite, terrestrial and cable digital television receivers (set-top box), produced by German multimedia vendor Dream Multimedia. It's "kind of" of open-source which has led many "teams" to develop so called "images" for this receiver as an alternative to the original one furnished by Dream Multimedia. In addition, many other hardware manufactures have produced their own receivers (some of them are actually clones while others are not) using the same concept of the Dreambox i.e. Linux-powered. The Dreambox has evolved during the years and many models are present on the market. The first ones are/were using a firmware called "Enigma" but, more or less, with the introduction of High Definition TV, a new firmware was released, namely "Enigma2". One of the "revolutionary" features of the Dreambox was that you can connect it to your local network and this opened up a whole new word compared to ordinary satellite-receivers. To get further information, just google for Dreambox or look it up at Wikipedia.
Background for the application: You can read the original thread mentioned above to get an idea why people wanted an application like the one I am releasing. In a few words: since you can access the Dreambox (or any other satellite-receiver based on Enigma or Enigma2) through your local network or through Internet, there are many things you can do remotely (at work for instance) such as handling timer-events, read EPG etc. The ideal way of doing it, especially if you don't have access to a PC, is to use a handheld device. It was brought to our attention, that there are plenty of applications to do what mentioned above already available for download on the Appstore for iPhone.
for instance:
http://appspace.com/apps/view/38502/idreamremote/
http://appspace.com/apps/view/40338/dreamon/
So, it was suggested to write a similar application for Windows Mobile. And here it is, still in beta although with quite a lot of features implemented, even Streaming-support.
Current Features:
-Streaming
-Remote Control
-Bouquets-/Channels-lists from where you can:
1) change channel
2) view EPG
3) set timers
-Controlling the receiver (Shutdown, Reboot etc)
-Supports set-up of multiple profiles (e.g. At work, home, bedroom)
-Supports set-up of multiple streaming-profiles (Local LAN, WLAN, mobile)
Known issues:
-is not compatible yet with old WebIf (1st generation) of Enigma2
-there might be some problems with certain characters not appearing correctly (please report if you have this problem)
-in 320x240 version when setting up Enigma-profiles, you might need to click twice in the various textboxes.
Features to implement in upcoming versions (not necessarily in this order):
- SMS (Send shortmessages to the TV-Screen)
- improve error handling further
- other ideas/stuff
- user-suggestions (your feedback for improvements)
- re-design the remote-control using png-images instead of jpg which should make the application a bit smaller (and require less memory)
- resolving above mentioned issues
- other bug-fixes
- support for other receivers - requests I have received are for D-box2 and IPBox HD (non Enigma)
- cosmetic issues
- Https (SSL) support. (tested and working but needs a specific hotfix-version of CF.NET (published by Microsoft) due to a bug in CF.NET)
Requirements:
-Compact Net Framework (2.0 should be sufficient)
-an Enigma-based receiver such as the Dreambox, IPBox etc..
-for streaming, please see second post below
Installation:
Note: I have not made any CAB-file.
Note2: If you want to keep your old settings and streaming-profiles, you may do so. Just replace the old WMDreamRemote.exe with the new one.
1) download the zip-file attached to this post and extract the files on your computer.
2) Copy the files into a directory of your choice on your device (internal or
storage). The files must be in the same directory.
3) Run WMDreamRemote.exe. The first time, you will get a message
saying "No connection....".
4) Choose Preferences/Profiles from the main-screen and ADD a new
profile inserting your data. Put the flag on default for the profile you use the most.
5) Then click Save Profile.
6) Go ahead if you wish to add other profiles.
7) You may delete my dummy-profile "home" (only after having added your own though) using
the Del-button. NOTE: It's important that there is always one profile present (with Default selected)
otherwise there might be unexpected errors
8) On the main-screen, you can now use the remote-control by selecting its button
9) You may also see a bouquet/channel list by clicking on its button. However, the first time the list will be empty. Therefore,
10). Go back to Preferences/Profiles and select the profile you want to use. Now select the
button named "Create Bouquets for this profile". This will take a minute or two. It will download
your bouquets and channels from your Dreambox. Do the same for each Profile you create.
11) Now you can scroll your bouquets ad channels.
12) Set up streaming-profiles (3 dummy profiles are provided for Local-LAN, WLAN and mobile) - see second post for more information
There might be some unhandled error-messages occasionally. They are mostly due to connection-problems. Just click on continue and retry unless you have indeed a permanent error with your connection.
Please test it and let me have your error-reports, feedback and suggestions for improvements. Please also indicate which device, Dreambox (or similar receiver) you are using and which image.
I must also express my sincerest thanks to XDA-user ajocius for:
-giving me access to Enigma2,
-his superb beta-testing,
-sharing his knowledge about streaming
-and of course for the great video he posted on YouTube (see above).
I have also attached some screenshots.
PS: ANDROID - Just a note to tell you that I posted here on XDA an Android-application for watching your Dreambox in streaming (LocalLAN and 3G). I called the application AndroidDreamer and you can find the thread here: http://forum.xda-developers.com/showthread.php?t=861145
If you want to test and discuss AndroidDreamer, head over to the thread. Please keep this thread for WMDR.
PS2: WINDOWS - I have published a Windows-version (WinDreamRemote or simply WinDR). You can find it on my web-site: http://www.tillekesoft.com
For discussions regarding WinDR, please use the thread mentioned on my web-site. This thread here at XDA is for WMDR - mobile version. Please respect this.
This is it for the time being.
STREAMING
Streaming works great for me, especially at home (in my Local LAN) but also at work (using WIFI) and even at the supermarket using a mobile-connection (3G) although the quality degrades.
For you, I don't know - Streaming may work, may work so and so or may not work at all.
It depends on a lot of factors:
-For Local-LAN: your WIFI set-up at home (11g, 54g etc)
-For WLAN or mobile: upload/download speed of your Broadband (normally upload-speeds are slower than download-speeds (ADSL)
-Your device
-Your computer acting as VLC-server
-not finding the right configuration in stream-profiles settings
-etc
What you need:
1) VLC (Videolan). Just Google for it and install it on your computer which will act as the VLC-server. I have only tested streaming using VLC running on Windows but it should work on VLC-servers using Linux and MAC as well. If it doesn't, please let me know. I have only tested version 1.0.5 of VLC so I am unable to say if previous versions will work.
UPDATE (22/06/2010) - I just tested the new version of VLC no. 1.1.0 and it seems like WinDR is not compatibile with the latest version of VLC. So if you want to use WinDR, please ensure to use VLC 1.0.5 or earlier until I have resolved this issue.
2) TCPMP (free and which you can find here on XDA) or Coreplayer (not free). Make sure that ASX-files are opened by the program you installed (look in the programs' settings for file-association). Some say that TCPMP is faster to load the stream (5-6 seconds in my Local-LAN) than Coreplayer. On the other hand, some say that Coreplayer is more fluid. The choice is yours.
3) A rather modern and fast device. It might work with slower devices as well but you may have to play a lot with your VLC-configuration (bitrate etc) before you get it to work
4) and of course WMDR
How to set up everything:
1) install VLC on your computer which will act as the VLC (streaming) -server. Then under the menu, select "View" in the English version (not sure since I have it in Italian) and then select "Add Interface" and finally you select "Add Telnet-interface". If you haven't changed anything, the default password for Telnet is admin and the port in use is 4212. That's it. VLC must be running to get streaming working. There are options to install VLC as a Windows Service or you can create a bat-file to be executed upon launch of your VLC-server. I guess similar options are availabe on Linux and MAC as well.
2) if you are going to use streaming outside your Local-LAN, you must ensure that you have set up port-forwarding correctly in your router. You must ensure that the WebIf can be accessed. You must ensure also that port 4212 (for Telnet) is opened and forwarded to the VLC-server. The same goes also for the streaming-port on the VLC-server which TCPMP/Coreplayer needs to access to receive the stream. So, basically you need to set up port-forwarding for one port for accessing the WebIf of your Dreambox and two ports for accessing your VLC-server.
3) A typical VLC-command to get streaming going is as follows:
Code:
vlc.exe" -vvv [url]http://192.168.1.130:31339/0,0025,0384,0385,0295[/url] --sout #transcode{vcodec=MP4V,vb=384,scale=0,5,acodec=mp3,ab=64,channels=1,deinterlace}:Duplicate{dst=std{access=HTTP,mux=ASF,dst=192.168.1.12:8085}}
Here are some explanations:
- the part "vlc.exe" is handled by WMDR using Telnet. You don't need to anything except for filling in information regarding the IP-address of your VLC-server, its password and which port to use.
- the part
Code:
"http://192.168.1.130:31339/0,0025,0384,0385,0295"
is your dreambox-ip, the port used for streaming and some channel-parameters. These parameters are handled automatically by WMDR and do not require your attention
- the part
Code:
"#transcode{vcodec=MP4V,vb=384,scale=0,5,acodec=mp3,ab=64,channels=1,deinterlace}:Duplicate{dst=std{access=HTTP,mux=ASF,dst="
is the one you have to insert in WMDR and which you need to experiment with to get the best picture/quality/fluidity according to your connection-speed. WMDR is pre-installed with 3 examples which are working on my HD2, my WIFI (using 54g) and my ADSL with an upload speed of 512kb. You can use those as an example and then modify them according to your needs.
- the part "192.168.1.12:8085" is the IP of your VLC-server and the port which TCPMP/Coreplayer should connect to in order to get the stream. You fill in this information in the stream-profiles.
With this information, you can set up your streaming-profiles in WMDR. In the streaming-profiles, you will find an additional setting called "VLC Sleep Delay". You can leave it at 200ms as its default-value. This parameter is used by WMDR when "talking to" VLC via Telnet. If the connection is very slow, you can increase this value but normally, even on Mobile-connections, the value of 200ms is OK.
Above information should get you going.
If you have problems with streaming, look at the points mentioned above since it is unlikely due to WMDR itself and that I can do anything to resolve your problems.
Good luck!
TIPS AND TRICKS:
-To make TCPMP open up automatically in full screen mode, you can do the following registry-edit:
Code:
HKEY_LOCAL_MACHINE\Software\TCPMP\PLAY
DWORD 123
Change value from 0 to 1
-For associating the file-extension ASX with TCPMP, do as follows: In TCPMP it is under:
Options -> Settings (you need to scroll down to see that option) - > Click button "Select Page" - > File Associacions
Click to expand...
Click to collapse
-As far as I have understood, TCPMP has been discontinued but there are some people updating it from time to time. If you have problems viewing the stream, it may (perhaps) be because you are using an old version of TCPMP. Here are two links to TCPMP which I have found working on my HD2:
http://forum.xda-developers.com/showpost.php?p=5657963&postcount=1
http://forum.xda-developers.com/showpost.php?p=5685536&postcount=1
TROUBLESHOOTING
- If you get errors in TCPMP (unknown file format, crashes) or if you don't see anything at all, you can try the following to trace where the error originates:
Select Stream in WMDR and if you get an error message from TCPMP, just disregard the error and put your device on the table or wherever. Don't click on anything. Don't kill the stream. Now, in the folder of WMDR on the device, you should find a file called WMDR.asx. Copy this file to your desktop (on a PC). Go to your PC and right-click on WMDR.asx and choose "open with" and select VLC (it will open another session of VLC). If you now can see the stream from your Dreambox on your computer-screen, then it means that WMDR comunicates correctly with VLC and most likely there is a problem with TCPMP/Coreplayer or because the file is too large/complex to be seen on the device. If you don't see anything, then probably there is a communication-problem between WMDR and VLC. Check IP-address, Port and Password of VLC.
- Make sure that streaming actually works between your Dreambox and VLC (without using WMDR) and that you can watch the streams on your computer. You can test this by using the web-interface of your Dreambox or you can search internet for instructions. If you have problems (can't see anything at all, bad quality, buffering-problems etc), then the problem itself lies with the source and there is no way streaming will work in a satisfying way. For instance, it has been reported that cheap (clones of) DM500 might have problems with streaming.
is this like a remote control app for any settop boxes and tv's that uses ir port or is it limited to the Dreambox?
Sorry - it's not using an ir port.
The application controls the receiver through the receiver's web-interface or through telnet.
However, the application could probably be used with (and modified to support) other types of receivers as long as there is a way to communicate with the receiver via local network, wifi, data-connections or Internet. If anyone is interested, please let me know.
trickbiker121 said:
is this like a remote control app for any setop boxes and tv's that uses ir port or is it limited to the Dreambox?
Click to expand...
Click to collapse
tilleke said:
Sorry - it's not using an ir port.
The application controls the receiver through the receiver's web-interface or through telnet.
However, the application could probably be used with (and modified to support) other types of receivers as long as there is a way to communicate with the receiver via local network, wifi, data-connections or Internet. If anyone is interested, please let me know.
Click to expand...
Click to collapse
sorry this isnt the app that i thought it was sorry to bother you
Hi Tilleke
Very nice looking release. I'm really happy with it!
i have tested it and here are my results:
Main screen > remote controle > page 2 > the numbers are not working here.
Main screen > preferences > Create bouguets > This option crashed my dreambox with a blue screen like windows always do...
Remember this is NOT a comment, this is only to help you with this great app!
Great Job, keep going... and i will be waiting till next release.
Thanks for testing and posting your results.
Can you please let me know which receiver you have and which image you are running. And on which device did you test it?
Will check this better.
citychannel said:
Main screen > remote controle > page 2 > the numbers are not working here..
Click to expand...
Click to collapse
When creating the bouquets, did you follow the procedure written in the first post? I am saying this since that part is not fool-proof yet. Did you reach the point when a message appears indicating "Update ready" or did it crash before. BTW: I have never seen a crashed dreambox with a blue screen I'd love to able to reproduce that error
citychannel said:
Main screen > preferences > Create bouguets > This option crashed my dreambox with a blue screen like windows always do.....
Click to expand...
Click to collapse
Thanks!!
citychannel said:
Remember this is NOT a comment, this is only to help you with this great app!
Great Job, keep going... and i will be waiting till next release.
Click to expand...
Click to collapse
Hi there
1) I have a dreambox 7025 with enigma on it
2) i didn't saw ' update ready' the DM crashed 4 seonds after i pressed the 'Create Bouquets for this profile'
A new 'bug' i found is the time out bug. This error appears randomly after zapping between channels or using the volume buttons.
Good luck and thanks!
thanks for your report.
1) OK, you've got DM7025 and running Enigma(1). Are you using the original image or have you flashed another image such as Gemini, Nabilo...If yes, which one?
2) Can you access the WebIf of the DM7025 using your local network and using a normal web-browser? In your browser, you should use:
Code:
http://ip-address of DM7025:port
it should then ask you for a user-name and password, normally root and dreambox.
example:
Code:
http://192.168.0.83:8888
If you are using the standard port (80), it could also be:
Code:
http://192.168.0.83
When you are connected to the WebIf and clicking on ZAP, can you see your bouquets and channels?
3) The time-out bug: What message do you get. Can you please transcribe it? Does this happen when you are connected using WIFI or when you are connected using the data-connection of your phone-provider?
4) what device are you using?
Sorry, but I need above information otherwise I really don't see how to track down the errors you mentioned since I can't reproduce them on my system/device.
PS: I confirm that the numbers on the 2nd screen don't work. I forgot to enable a few lines in my code. Will be corrected in next version. Thanks for finding out.
citychannel said:
Hi there
1) I have a dreambox 7025 with enigma on it
2) i didn't saw ' update ready' the DM crashed 4 seonds after i pressed the 'Create Bouquets for this profile'
A new 'bug' i found is the time out bug. This error appears randomly after zapping between channels or using the volume buttons.
Good luck and thanks!
Click to expand...
Click to collapse
Hi, working on my hd2 with dreambox 7000 S (gemini 4.6).
But one issue: The programm can´t display the german letters ä, ö and ü (in programm-list and bouquets)
Glad it works.
Thanks for reporting the problem with the German letters. This probably means it would be a problem with other characters as well. I will check this issue and see if I can correct it in next release.
Bib_x said:
Hi, working on my hd2 with dreambox 7000 S (gemini 4.6).
But one issue: The programm can´t display the german letters ä, ö and ü (in programm-list and bouquets)
Click to expand...
Click to collapse
Can you add support for modacos´s apptodate?
http://www.modaco.com/category/332/apptodate/
http://forum.xda-developers.com/showthread.php?t=327990
Hi Tilleke,
1) Im running Enigma with Gemini on it
2) Yes i’m using Webif and i can zap normally without lag or error (192.168.1.12), so port 80
3) I am using a WIFI connection and after 2 or 3 times pressing downwards in bouquets it comes with this error:
An error occurred on sub_modcommon_executeurl
Response code -1
Timeout
Continue?
4) i am using a HTC TD2 with WM6,1 pro
Thanks in advance
The num pad on second screen isn´t working. Only the buttons on bottom (tv, radio, text, help) are working.
Thx for the suggestion. I'll see what can I do.
Bib_x said:
Can you add support for modacos´s apptodate?
http://www.modaco.com/category/332/apptodate/
http://forum.xda-developers.com/showthread.php?t=327990
Click to expand...
Click to collapse
Yep. Already reported by citychannel. See first post under known issues.
Bib_x said:
The num pad on second screen isn´t working. Only the buttons on bottom (tv, radio, text, help) are working.
Click to expand...
Click to collapse
Thx for the information. This will facilitate tracking down the error and how to resolve it.
citychannel said:
Hi Tilleke,
1) Im running Enigma with Gemini on it
2) Yes i’m using Webif and i can zap normally without lag or error (192.168.1.12), so port 80
3) I am using a WIFI connection and after 2 or 3 times pressing downwards in bouquets it comes with this error:
An error occurred on sub_modcommon_executeurl
Response code -1
Timeout
Continue?
4) i am using a HTC TD2 with WM6,1 pro
Thanks in advance
Click to expand...
Click to collapse
Thanks for your work
im a db fanatic and currently working on e2 image let me know if you need any help.
One small request:
Would be possible in future release to add a DyNdnS address facility ?
It already works...
I have a profile called "away" which I use to set timer-events when I am not at home. Set up a new profile and in the IP-address-field, just write your DynDNS-address and in the Port-field the port you are using.
You might, of course, need to enable portforwarding in your router-settings.
Hope this helps.
^^MeX^^ said:
Thanks for your work
im a db fanatic and currently working on e2 image let me know if you need any help.
One small request:
Would be possible in future release to add a DyNdnS address facility ?
Click to expand...
Click to collapse
A little bit offtopic:
Do you know which ports i have to forward in my router if i want to stream my dreambox-tv-program over internet with vlc?
Streaming in LAN works well, but i want to watch TV outside my home, too.

[Q] Tasker/Torque Integration

I'm looking for a way to use data from Torque in Tasker.
I want to take data from torque and use it to drive actions in Tasker. Specifically, I'd like to turn the screen on when the engine comes on. Is anyone aware of previous work done in this area that might get me started? Or, would I need to code a Tasker plugin?
I'm aware I could accomplish this using ACC power as the on/off flag, but I'd like to charge the tablet at all times and not just when the car is running.
I know this is an old post but I'm interested in this same thing. My goal is to actually get intake air temperatures onto my pebble watch by passing them from Torque to Tasker and finally to the Pebble.
Hi, so still nothing new *push*
I'd also like to integrate Torque variables into Tasker very much. E.g. disabling the security keyguard as long as the motor is running, enable security when the motor is off. (So you can leave your phone in the car with others whilst refueling...
Any ideas?
Torque and AIDL interface
hunchi said:
Hi, so still nothing new *push*
I'd also like to integrate Torque variables into Tasker very much. E.g. disabling the security keyguard as long as the motor is running, enable security when the motor is off. (So you can leave your phone in the car with others whilst refueling...
Any ideas?
Click to expand...
Click to collapse
Hi
You'll need to use the AIDL 'api' interface that Torque supports to talk to it. Sensors information is retrieved only when it is asked for (and if the data was broadcast over intents, android would probably go slow when you're doing upwards of 100sensors/second refresh rates)
The AIDL interface will be the way forwards to get what you want though (then you can do with it what you want in terms of rebroadcasting if you want) - there's some information on it on here: http://torque-bhp.com/forums/?wpforumaction=viewtopic&t=438.0 which should be enough to get people started
Tasker plugin for Torque Pro
Is anyone working on this? It would be very useful to be able to have Tasker monitor Torque variables and be able to perform actions based on their values.
iraf said:
Is anyone working on this? It would be very useful to be able to have Tasker monitor Torque variables and be able to perform actions based on their values.
Click to expand...
Click to collapse
I've been able to do this following some disperse advice from the web.
Torque
As you see, Torque is able to write a CSV file with selected parameters. All that it basically does is to add a line at the end of that file listing those parameters values. In its settings you can change the frequency of modifications to that file. In my device this file is stored at /storage/emulated/0/torqueLogs/trackLog.csv.
Tasker
Once in Tasker you should set a profile to act on each change done by Torque to it. I've found the profile to be Event > File Modified and to retrieve those parameters inside the file, set up a task that runs the following Shell Command:
tail -1 /storage/emulated/0/torqueLogs/trackLog.csv
This retrieve the last line of the file and stores the output inside a variable. I called it %OBDLOG. A second action inside this task splits this Comma Separated Values (CSV) from that last line using the action Variable Split, and the separator ",". This creates N variables named %OBDLOGN. Example: %OBDLOG1, %OBDLOG2, %OBDLOG3...
Done that, we have to check which value corresponds to the parameter we want.
Bonus Info
You might want to clean this file once it reaches a specific size.
I've done this so that I can say commands through Bluetooth usingTasker Plugin AutoVoice. You can check the logic used by me to say the Coolant Temperature once it reaches 70ºC in the attached image.
Sorry not to be able to link outside. XDA prevents me as I'm a newbie! hehe
Cheers!
I'm having trouble finding the trackLog.csv file. I have files in the .torque folder on my sdcard but what options in logging do you have to enable to generate loss in the torqueLogs folder?
Sent from my XT1060 using Tapatalk
Very interesting !!!!
Can you detail all the steps please ?
thanks
Just set up something similar. Setup torque as describer by "dirceucorsetti" above, except I dont use "log rotation".
Below is for tasker.
Profile: Torque
State-Net-BT Near
Name-find your OBD adapter in the list
Min uses regular old BT, so I had to check "Standard Devices"
Enter Task:Start Torque
Exit Task: Stop Torque
Task: Start Torque
App-Launch App-Torque
Task: Stop Torque
Misc-Send-Intent
Action-org.prowl.torque.REQUEST_TORQUE_QUIT
Package-org.prowl.torque
Script-Run Shell
Command- tail -1/storage/emulated/0/torqueLogs/trackLog.csv
Store output in- %OBDLOG
Net-Compose Email
Recipient - your email
Subject - TorqueLog - %DATE
Message-%OBDLOG
File-Delete File
File- torqueLogs/trackLog.csv
Of course you could send the file anywhere. I just wanted to share how I start and stop torque automatically. That seemed to always be the issue.
Interestingly I can also start Waze in this task. I could never figure out how to get taker to detect when I was driving. Until I remembered the OBD adapter.
good info! I started googling about tasker and torque integration not really expecting much result. I want to build a custom interface to run on my in-dash nexus7 that reflects some of the torque info/stats. Thats a good start!
Also found this listing of torque intents and data it logs.
http://torque-bhp.com/wiki/PluginDocumentation
Gator Brah said:
good info! I started googling about tasker and torque integration not really expecting much result. I want to build a custom interface to run on my in-dash nexus7 that reflects some of the torque info/stats. Thats a good start!
Also found this listing of torque intents and data it logs.
http://torque-bhp.com/wiki/PluginDocumentation
Click to expand...
Click to collapse
Not exactly on topic, but do you guys have any idea how to launch a torque plugin from tasker? I'd love to get my racing dash to launch automatically, but I cant seem to figure out how to make that happen.
I would like to see an actual plugin for torque. Just starting to work with it. Would like to use utter to announce things. And autovoice to ask it questions. Never can get torque to tell me its at operating temp. Also looking for any more creative ideas from people. This could be fun.
Sent from my HTC One_M8 using XDA Free mobile app
Getting error "sh: <stdin>[2]: tail: not found" under variables
Sent from my Nexus 7 using XDA Free mobile app
Installed busy box. Forgot since I installed android L. And file was /sdcard/torquelogs.
Sent from my Nexus 7 using XDA Free mobile app
Back at it after updating tablet to "m". I have my 9 variables I want and that keep refreshing. But after I rename them it just replaces it and the renamed variable says at the same number. What am I missing. Also had to change "tail -1" to "tail -n 1" for it to read last line.
Sent from my Pixel XL using Tapatalk

[DEV][RESEARCH][DISCUSSION] Amazfit Bip - Alternative Watch Face Sync Method

I have begun reverse engineering mi fit in hopes to come up with a alternative method for syncing watch faces.. the end goal is to create a companion app that will be able to sync watch faces directly to watch.
I wanted to create a thread just in case any other developers/users are interested in contributing any findings and I wanted a location I can post my own findings and take notes.
I recently discovered GadgetBridge, which is open source hurray! I think using GadgetBridge as the base for communication platform is best.. I'm not trying to reinvent the wheel here, pretty much imitate/copy GadgetBridge's methodology of communication with the watch.. if anything dumb it right down and simplify it, keeping only the bare bones required for watch face sync. Hopefully by reviewing the source we can get a crash course on bluetooth communication with smartwatches !
Now that the communication platform is taken care of, we also need to identify how the watch faces are synced. Considering the watch faces are stored as .bin's pretty safe to assume it may just be a simple byte stream over a bluetooth socket ? Speculation at this point, no idea to be honest... no experience with anything like this either. Never messed around with bluetooth apps or anything alike so we shall learn as we go along !
ROADMAP - THOUGHT PROCESS
Bluetooth connection - pairing / initial handshake
Bluetooth communication - the actual watch face sync.
Identify method/function/event of actually syncing watch face - completely unknown at this stage ?
Do we dump the entire .bin over the bluetooth socket or do we need to pick it apart and only send the relevant info ? Really hoping it's a straight dump.. makes sense that it will be. The simpler the better...
Is there a watch face file size limit ? Is there a bluetooth socket communication byte limit ? Any limits that may get in our way ? No idea... guess will find out.
Watch face library - file browser
Support local files - Extract thumbnails from .bin perhaps ?
Support webview - Load remote website(s) ? AmazfitWatchfaces.com perhaps ?
Support saving remote watchfaces to device ?
Anyway that will do for now, hopefully it gets some of you guys thinking and your gears moving..

Accessing Android device that has no physical buttons and executes custom app.

I have recently purchased an IQ Panel 2 (Android 5.1.1) home/office/etc. Alarm system.
I assumed I would have access to the full Android OS, not root access, just basic access like all phones and tablets. (this is NOT the case)
The Tablet/device starts with the power button and from there goes directly to the custom alarm software app.
There are NO physical buttons (other than the power button) that I can see on the board inside the case.
There is a USB port but apparently it is only for charging.
The device supports Bluetooth but only via the app and not the actual 'Bluetooth Settings' screen on Android and therefore I am unable to pair a Bluetooth keyboard or mouse.
I have the desire to add Tasker and a custom launcher such as NOVA launcher so that I can have even greater control over my Z-wave and Bluetooth devices as well as additional custom notifications etc.
A port scanner shows port 8883 open but I believe that might be for z-wave communication?
The device has expansion slots on the board. 2 are in use and a 3rd is open for a secondary image sensor and a 4th is for future expansion.
Any suggestions on how to proceed would be of immense help.
I hate the idea of returning this device because of this limitation.
I have spoke with the manufacturer Qolsys and they informed me the end-user is blocked from these features for obvious reasons.
There is a youtube video detailing everything about the device: Qolsys: IQ Panel 2 Technical Webinar (Can't post links yet)
Thanks in advance for any help.
26 views but no responses?
anyone have any ideas?
IIIHomieIII said:
26 views but no responses?
anyone have any ideas?
Click to expand...
Click to collapse
contact me i have same device
Contact..
Wondering?
I just got a Qolsys IQ Panel 2. I feel the same way. Were you able to root the Panel? Using the full Andriod opens the door for a better IQ Panel.
melmel1989 said:
contact me i have same device
Click to expand...
Click to collapse
Could you also help me with this iq panel I recently got it and want full features
Update
No, unfortunately I was never able to get basic access or root access but I did accomplish the original features I wanted via an older Android phone on wifi only that I use in conjunction with the IQ Panel 2.
The secondary phone runs a few apps and sits in a separate room with the screen dimmed to near black/hardly visible screen brightness.
It performs the following functions:
Custom voice commands including disarming the IQ Panel on a weekday morning schedule at 7am and/or by talking to the Google Assistant via my personal phone or a family member's phone or a Google Assistant speaker of which we have several throughout the home.
Turning on the smart thermostat when the temperature in the home is above or below a certain temperature.
Opening the garage door via voice command and being alerted when it is open or left open as if it were a window or door sensor.
Setting voice profiles so when opening the garage door or disarming the IQ Panel only that person's voice works. My voice or my wife's but not guests or the kids voices control these functions.
Being able to have the alarm disarmed by my children's phone via Bluetooth but having the alarm disarmed notification go to email instead of text.
(Necessary because through the Alarm.com website limited settings.. my kids would be notified everytime we get home and since they don't live with us anymore that would be annoying to them daily to get texts but they still need to know the alarm had been disabled by the their Bluetooth phone proximity to the IQ Panel and email only when their phones are in proximity and disarm the alarm. Email solves this.
All of this could have been done with just the IQ Panel if we had basic access not even root but one older Android phone from the past that stays plugged in at all times solves the dilemma.
I do this by running the Autovoice app on the extra phone. Autovoice integrates with Google Assistant and between those two apps, Tasker app, the Alarm.com app, smart thermostat app, Auto-input app, and Autonotification app, Tasker send mail add-on plus a little time and setup it works flawlessly.
I believe this was less then $20 total for all apps.
Basically you can have the Autovoice app set predefined voice specific commands interact with the IQ Panel alarm.com app notifications and respond to those notifications with a predefined event.
My service is not monitored but to use the Bluetooth proximity alarm disarm feature built in to the IQ Panel 2 system you have to at least have basic service which I pay $14 a month to Geoarm.com. This also gives me the Alarm.com website service where I can set other rules that the alarm follows and the spare Android phone interacts with.
The Apps have widgets on the screen of the spare Android phone. If the IQ Panel 2 sends a notification via the app, the Autonotification app sees this and launches the Auto-input app which presses one of several widgets on the spare Android phone (as if I opened the Alarm.com app and pressed buttons/widgets myself)
It would have been nice to integrate this into just the IQ Panel 2 but about an hour of setup and configuration with an old phone on wifi only, the right apps and $40 ($20 for apps and $20 for a Google Assistant speaker) works too.
Hopefully this breakdown will help anyone with an IQ Panel 2.
Final thoughts:
I have 2 of these systems, one in my office and one at home. Since the office environment is not a family enviroment and a much more set schedule (closed at night etc.) None of this is necessary and the IQ Panel 2 works fine right out the box. With today's smart homes like mine with smart cameras, smart lighting, kids and pets with doors and windows opening at random times I think they should give us basic app installation rights on the IQ Panel 2 but..
I love this thing either way ?
I have tons of these alarm panels. I haven't tried to flash them, but assuredly it can be done.
My thoughts.
*The open port you have noticed is definitely not zwave, zwave doesn't use tcp/ip nor its ports of comm. That open port is likely a ssh or vpn to alarm.com or qolsys server for updates (tftp?)
*USB port. Have you tried using a OTG atapter? Doubt you will be able to put into debug mode for adb, but might see if you can connect with adb. Also think JTAG. But you could likely flash its firmwars the same way updates are pushed. Dust off your *nix box, run wireshark, may have to do a mitm to strip ssl, sniff out the server, intercept the update file, md5 checksums, spoof server on airgapped network, etc. But if they can update it, you can break into it.
I have been working on trying to figure out the Qolsis IQ panel. I found that it listens on two ports, 8883 and 12345.
8883 is MQTT however it requires a valid client certificate to connect which I'm trying to see if I can find.
12345 is a TCP websocket, you can connect to it with curl like curl -k https : / / 192.168.x.x:12345 and you will get a json stream of alarm events.
If you'd like, we have a thread on the Home Assistant forum where we are trying to figure this out too.
If you go to the home assistant community and search for qolsys you will find our post (I can't post links yet)

Categories

Resources