[Q] Serial (USB) GPS on Vegan -- so close... - G Tablet Q&A, Help & Troubleshooting

I know there have been some general questions about this, but I wanted to share what I've done and see if anyone can help get over the last hump. I have a USB GPS (GR-110 I got for next to nothing from Geeks awhile back). Running VEGAn 5.11 + supplements + Pershoot kernel.
So here's what I have working:
1) Plug in USB, get /dev/ttyUSB0. Woot! Thanks Pershoot!
2) Use stty to set the baudrate to 4800 (stty -F /dev/ttyUSB0 4800)
3) cat /dev/ttyUSB0 dumps out NEMA strings. Woo hoo! $SPGSV tells me I have 12 birds in view.
4) Now at this point, if you HAD to you could write a GPS faker like many of the bluetooth ones do. I don't know why none of them don't already have options for an arbitrary character device but if they did we'd be done here.
5) On the other hand, you know a built in GPS card would still be NEMA and still look like an RS232 port so.... turns out that's a property ro.kernel.android.gps. You can set this at the command line, but I suspect that the Android stack looks for GPS on start up and if it doesn't find it, that's that. So you edit build.prop to put in: ro.kernel.android.gps=ttyUSB0 [from what I can read it doesn't want /dev/ in front of it]
6) I do not know if the Android code sets the port to 4800 baud or not. In fact, it could be that it wants it at a different baud rate but I have no idea what that baud rate would be. So I decided to get in early on the boot process and make a few changes. If you look at my other posts, I have added an rc.local that runs right at the end of init.rc but is in "user space" (not overwritten on each boot). So I added this to the start of rc.local (important because my rc.local blocks later to wait for the sdcard mounts):
#gps
if [ -c /dev/ttyUSB0 ]
then
chmod 666 /dev/ttyUSB0
stty -F /dev/ttyUSB0 4800
fi
7) No joy. The buad rate and permissions are set, so I know the rc.local is running. I can stream data out of the GPS raw but Android just isn't seeing it.
8) I theorized that maybe Android is checking for GPS before I am running my script. To test that I used LCD Density changer to restart the Android stack. This is like a boot, but the Linux isn't rebooted. No difference.
9) Another theory would be Android expects its GPS at a different baud rate and is setting it.
10) Is there some Android service required that is disabled or just not started maybe?
I feel like I am soooooo close..... Any ideas?

Hi wd5gnr,
I've been working on something very similar on the android powered scroll tablet but instead using an internal serial port we've identified.
Made no progress is making android accept the nmea stream as its own internal gps (using ro.kernel.android.gps) so have started to write an android program similar to the BT GPS apps where it reads the serial port, parses out $GPGGA and then uses mock locations to update the location system. I'm at the point of splitting the identified string into its components.
While I know this isn't the cleanest of hacks but it 'should' work, i've built it from the SerialPort.sample code so you can change the serial port and baud rate in the options - it hopefully will work on any android system.
Will keep you updated on my progress
James

Oh, at least i find a post with people working on it...
First, i have an Advent Vega, that is similar to Gtab.
I make it work, but with time it crash.
My steps:
1) Do the same that the first post, get ttyUSB0, change baudrate, modify ro.kernel.android.gps...
2) In vega we have 3 libgps... the default, one for integrated ericsson 3g/gps and one for huawei ones. This integrated are optional and my tablet doesnt have, but i can remane any of the to libgps.so and use them. Anyway, with default may work, but i get it working with huawei one.
3) You need to activate gps in settings (if you have gps greyed in location settings, can use a widget, like power widget).
4) To test i used gpstest app, so once you get nmea data in ttyUSB0, activate gps with widget and start gpstest. Maybe you dont get data (i dont), so come back to terminal and with stty ask the port for the baudrate (dont remember the command). In my case it has 9600 baudrate, so need a aplication in windows to change gps usb baudrate to 9600 (search in the windows drivers of your usb gps)
5) Once changed in windows, i come back to android and change stty command to the correct baudrate (like i said 9600), and redo the steps (cat ttyUSB0, activate gps and launch gpstest)
AND GET DATA... but some time after it crash the full tablet...
No more time to test it, but it's in my to-do list.
I dont know if i explain it good, but you can ask anything.
Anyway an app that can choose which port to listen to will be much better.
Corvus.

jamescoxon said:
Hi wd5gnr,
I've been working on something very similar on the android powered scroll tablet but instead using an internal serial port we've identified.
Made no progress is making android accept the nmea stream as its own internal gps (using ro.kernel.android.gps) so have started to write an android program similar to the BT GPS apps where it reads the serial port, parses out $GPGGA and then uses mock locations to update the location system. I'm at the point of splitting the identified string into its components.
While I know this isn't the cleanest of hacks but it 'should' work, i've built it from the SerialPort.sample code so you can change the serial port and baud rate in the options - it hopefully will work on any android system.
Will keep you updated on my progress
James
Click to expand...
Click to collapse
I've thought about this too. Should be easy. Would be even easier if we had RxTx ported to this tablet. I saw someone has done this, but it is very specific to hardware and I haven't looked at what that would take. But I imagine just opening /dev/ttyUSB0 ought to work. I've been known to write a little code myself (http://www.ddj.com/embedded) and if I ever find time to get started on this I'll start it as a google code project and invite you ;-)

corvus said:
Oh, at least i find a post with people working on it...
2) In vega we have 3 libgps... the default, one for integrated ericsson 3g/gps and one for huawei ones. This integrated are optional and my tablet doesnt have, but i can remane any of the to libgps.so and use them. Anyway, with default may work, but i get it working with huawei one.
.
Click to expand...
Click to collapse
The only GPS lib I see in VEGAn 7 is /lib/hw/gps.goldfish.so
Goldfish is an emulator I think, so that is not promising.
You mention 9600 baud -- are you saying that the system sets the port to 9600 so you have to set the GPS to 9600 to match?

wd5gnr said:
I've thought about this too. Should be easy. Would be even easier if we had RxTx ported to this tablet. I saw someone has done this, but it is very specific to hardware and I haven't looked at what that would take. But I imagine just opening /dev/ttyUSB0 ought to work. I've been known to write a little code myself and if I ever find time to get started on this I'll start it as a google code project and invite you ;-)
Click to expand...
Click to collapse
Hey,
I've been using android-serialport-api (google it, i can't post links yet) as my access to the port. My current code (its very basic) is built off the serial console sample. In its current state it access the chosen serial port, extracts the $GPGGA string, parses it and then converts it from DDmm.mmm to DD.ddd. I'm now at the stage of posting it to mock locations - just need to do some extra reading on the subject. This really is just a proof fo concept app as for example it doesn't run in the background but i felt that all that can come in the future.
James

wd5gnr said:
The only GPS lib I see in VEGAn 7 is /lib/hw/gps.goldfish.so
Goldfish is an emulator I think, so that is not promising.
You mention 9600 baud -- are you saying that the system sets the port to 9600 so you have to set the GPS to 9600 to match?
Click to expand...
Click to collapse
Yes, you must have a libgsp.so for android to detect the gps.
And yes, depending the library used, the baudrate must set to 9600 or other.
Corvus.

jamescoxon said:
Hey,
I've been using android-serialport-api (google it, i can't post links yet) as my access to the port. My current code (its very basic) is built off the serial console sample. In its current state it access the chosen serial port, extracts the $GPGGA string, parses it and then converts it from DDmm.mmm to DD.ddd. I'm now at the stage of posting it to mock locations - just need to do some extra reading on the subject. This really is just a proof fo concept app as for example it doesn't run in the background but i felt that all that can come in the future.
James
Click to expand...
Click to collapse
Once you get a working app, please send me a priv so i can help you testing it...
Thanks.
Corvus.

so has anyone got usb gps to work yet?

On the malata site. there is a t11 rom for Android 2,2 which calls the Huawei GPS
http://www.malata.com/cn/downloadlist.aspx
T11 Tablet PC May 18, 2011 firmware (support plug-in 3G modem Huawei E261 Unicom)

Take a look at this:
http://forum.xda-developers.com/showpost.php?p=17385039&postcount=15
but before you use this appliction, you must run stty -F /dev/ttyUSB0 -ispeed 4800 (baudrate and port base on your device). Everything fine and fix without 1 second!

Related

Adapter program to enable assisted GPS on the Verizon xv6800 "MR1" (WM 6.1) ROM

Adapter program to enable assisted GPS on the Verizon xv6800 "MR1" (WM 6.1) ROM
I've written up a program that will enable the use of assisted GPS on the MR1 Verizon ROM. This may be of use to you if you do not want to use a custom ROM, -or- you cannot get GPS working on a custom ROM.
Note: This method does not currently work on dcd's releases. My code has only been verified to work on the Verizion MR1 ROM. I believe this is because the Sprint GPS intermediate driver does not support the DRM/locked down GPS functionality required to talk to gpsOne once the firmware has been programmed for locked down GPS mode.
You can always flash back to MR1 from a custom ROM. If you already have GPS working on your custom ROM, this is probably not necessary, and you should keep your existing ROM.
A cab installer (courtsey of gc14) can be found here: http://forum.xda-developers.com/attachment.php?attachmentid=111774&d=1220913180. Note that due to a bug in the .cab file, you cannot automatically uninstall the cab, but you can just manually delete the files that it installs (see below to discover which files those include).
Otherwise, you can manually install the program, as detailed below.
The installation of my GPS adapter is a bit complicated right now, and this is a fairly beta release. I have only tested it with Google Maps. However, it should work with any GPS-enabled program that can use the standard GPSAPI.dll functions.
Note that your GPS program must be configured to use Windows-managed GPS and not an explicit COM port. My adapter module does not support the NMEA serial interface, only the "cooked" GPSAPI.dll interface. Notably, the HTC GPC Test program uses the NMEA COM port interface, and will not work with the GPS adapter.
The GPS adapter system consists of several parts under the hood:
- gpssrv.exe, a program that I wrote which understands how to decrypt GPS data from the chipset when it is operating in locked down GPS mode. This program acts as an intermediary server, through which all GPS clients can indirectly access location information.
- gpsapi.dll, a replacement for the OS-level gpsapi.dll. The replacement DLL communicates with gpssrv.exe to retrieve positioning information. This model allows multiple programs to receive GPS data at the same time, as the locked down GPS interface only supports one concurrent user.
- oemgpsOne.dll, a modified version of the Verizon oemgpsOne.dll module for communicating with the gpsOne chipset driver.
- stdgps.dll, a copy of the standard OS gpsapi.dll. Due to limitations in Windows CE, this needs to have a different name than the replacement gpsap.dll. It is otherwise identical to the shipping version of gpsapi.dll.
To install the GPS adapter, you should grab the program files at the following URL:
http://www.nynaeve.net/Skywing/xv6800gps/gpsserver.zip
Currently, there's no CAB installer, so all of the installation must be done manually. Sorry. A CAB may come later on, if someone feels like doing the work to build one for me.
After extracting the zip onto your device, follow these instructions:
1. Create a "\Program Files\GPSServer" directory on your device.
2. Copy gpssrv.exe, oemgpsOne.dll, and stdgps.dll to "\Program Files\GPSServer".
3. Copy gpsapi.dll into the directory where your GPS program resides. For example, "\Program Files\GoogleMaps".
Optionally, you can copy gpsapi.dll to your \Windows directory instead of the directory for the main .exe of your chosen GPS application. This may be more reliable, as if something loads the Windows-supplied gpsapi.dll before the custom gpsapi.dll, things will break. Doing this is slightly more complicated.
To (optionally) copy the new gpsapi.dll to your \Windows directory, you may use these steps:
1. Rename gpsapi.dll to something else (e.g. "gpsapix.dll").
2. Copy the renamed gpsapi.dll to \Windows
3. Rename the renamed gpsapi.dll in \Windows back to gpsapi.dll.
The renaming juggling is necessary as File Explorer will otherwise refuse to supersede an XIP ROM file. You can simply delete \Windows\gpsapi.dll after doing these steps to revert back to the standard Windows gpsapi.dll, without having to hard reset your device, although this will again break GPS for you.
After that, you should be able to start your GPS program (e.g. Google Maps) and receive location data. Note that being inside in a shielded location may impede the process of acquiring a GPS fix. Also, to gain the benefit of assisted GPS mode, you need to have an active cell data connection, and you should not be connected to ActiveSync or Wi-Fi.
There are some registry settings that you can create on the device to tweak how the GPS adapter functions:
REG_SZ HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\ServerPath = "Path to gpssrv.exe". Defaults to "\Program Files\GPSServer\gpssrv.exe" if not set.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\AllowDeviceStateChange = 0/1. Defaults to 0 if not set. If set to 1, then gpsapi.dll will send device state change notifications to your GPS program. Some programs appear to have buggy GPS handling (Google Maps in particular), and will break if this option is set.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\PDEAddress = IP address of the PDE to use. Defaults to 0x845FAE42.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\PDEPort = Port number for the PDE. Defaults to 8888.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\Mode = gpsOne mode to set. Defaults to 2.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\QoSAccuracy = Relative fix accuracy requested. Defaults to 64. (Max of 255, higher values request a more accurate fix, but this may increase the time to acquire a fix.)
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\QoSPerformance = QoS performance flag. Defaults to 10. As to what effect this has on the gpsOne chipset, I'm not entirely certain yet. Debugging reveals that the value internally is called the QoS performance value, hence the name. The meaning of this value is likely buried in some gpsOne technical document that I have not found yet.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\FixInterval = Time, in milliseconds, between requests to the gpsOne chipset for an updated GPS fix. Defaults to 1000.
The default values should work fine, so you don't need to bother with the registry values unless you really want to. Most of the defaults were gathered by researching the settings that VZ Navigator uses internally.
---
Program compatibility list:
---
- Only programs that use GPSAPI.dll and not a COM port will work with the adapter. Most GPS programs will support using GPSAPI.dll.
- Google Maps will function if you configure it such that the GPS setting is set to "Managed by Windows". This is the default setting. Also, remember to check "Use GPS" in the menu when you start Google Maps, in order to enable GPS inside of Google Maps.
- Live Search will function if you configure it such that the GPS setting is set to "GPS Intermediate Driver". This is the default setting.
- HTC GPS Tool will not work properly, as it can only use a COM port.
- If you want to use VZ Navigator after having installed the GPS adapter, then you need to place oemgpsOne.dll and stdgps.dll in \Windows.
---
Other notes:
- The GPS adater does not enable free use of VZ Navigator. It only allows third party programs that are designed to talk to the standard Windows Mobile GPSAPI.dll interface to operate on the xv6800 MR1 ROM.
- You do not need to manually start gpssrv.exe. When a program loads the custom gpsapi.dll and requests a position fix, gpssrv.exe will be automatically started on demand to power up the gpsOne hardware and start acquiring position data. It will automatically turn off the gpsOne hardware and exit on its own 60 seconds after there are no programs open that are still requesting a GPS fix.
---
Troubleshooting:
Here are some steps that you can take if you are having problems getting things to work.
1) Make sure that you're on the Verizion MR1 ROM and not a third party custom ROM, or the original release Verizion ROM.
2) Make sure that your Location setting is set to "LOCATION ON" and not "911 ONLY" in your Phone > Services > Location settings.
3) Make sure that your GPS program is configured to use Windows-managed GPS or "GPS Intermediate Driver", and not a specific COM port.
4) Give the following test program a try, to verify that GPS is working in general. The test program does not require the GPS adapter to run. If the test program can receive GPS data, then either the GPS adapter program is not installed correctly, or your GPS-enabled application is not configured properly. If the test program cannot receive GPS data, then you have a different problem (perhaps your location option is still set to 911 only?). Test program link: http://www.nynaeve.net/Skywing/xv6800gps/gpstest.zip
Reserved for future updates.
Adapter
Downloading now but awfully slow.
I will also work on a cab install for you too.
Steve
so this is just a modified version of the Verizon GPS driver?
I was wondering if it would be possible to OEM that into one of the Custom ROMS through the kitchen and making it work without a hitch (assuming this program replaces those bad .dll files)
No, it's a bunch of new code that I wrote that understands how to decrypt the obfuscated GPS data returned by the Verizon GPS driver, when the firmware is in locked down GPS mode.
Posted a new version (updated gpssrv.exe and gpsapi.dll, be sure to update both files when you upgrade).
This release fixes compatibility with Windows Live Search, adds support for caching position across API calls (required for some GPS programs), and fixes a number of bugs.
Please let me know if you have any issues with it.
Skywing said:
Note that your GPS program must be configured to use Windows-managed GPS and not an explicit COM port. .
Click to expand...
Click to collapse
I use Iguidance that requires me to choose a port. How would I tell it to use the above method? There is an option to search for a gps. Should I try to find it that way?
The gpssrv.exe file, does it need to be run at some point?
If the program can only do NMEA serial, then it's not going to work, unfortunately. Reimplementing the virtual serial port interface is much more complicated to do on my end than reimplementing the GPSAPI.dll interface.
If your program has an "automatic", "use Windows settings", or "GPS Intermediate Driver" option, those options would typically mean that the GPSAPI.dll functions instead of NMEA serial will be used (if selected).
Doesn't work...
If anyone gets this to work with Iguidance v4.0 PLEASE let me know!!
I just wanted to say great work to Skywing. I dont have any gps problems anymore, but I must commend you for coming up with solutions to help.
No real value to this post, just to say thanks to the community in general!
thundaar2000 said:
Doesn't work...
If anyone gets this to work with Iguidance v4.0 PLEASE let me know!!
Click to expand...
Click to collapse
You might try and see if you get location data returned by Google Maps, which will work if you do not configure it to use a specific COM port.
I just downloaded the adapter zip and followed the instructions to a "T" and was able to get a lock on some sat's using GPS Viewer, but spent an hour or better trying to get GOOGLE maps or LIVE Search to work and neither one could get a lock on any sat's... Any ideas?
Thanks,
GA MADMAN
Are you certain that you placed gpsapi.dll in \Windows or in the directory with GoogleMaps.exe?
Other things to check:
- Make sure location is enabled in your phone setting. I assume that you have already done this, however.
- Make sure that Google Maps has the GPS confiugration set to "Managed by Windows".
Skywing,
Thanks for posting this software. I look forward to using it. I am convinced that mine is not working because I have not replaced the file in the \Windows folder.
I cannot rename it, I am using Total Commander.
I am convinced that I cannot rename it because something is using it.
I have a pretty basic install of XV6800 with MR1. Just a couple of programs installed.
Any advice on how to rename the file?
Thanks
New build did not get put up properly; this has been remedied. Please re-grab the .zip if you had previously downloaded it before this message, and then update all of the files.
Note that you need to completely delete the gpsapi.dll in \Windows and then do the renaming trick again, otherwise, File Explorer will claim to copy the new file over, but it will actually delete it and switch to the ROM version.
kilgore19K said:
Skywing,
Thanks for posting this software. I look forward to using it. I am convinced that mine is not working because I have not replaced the file in the \Windows folder.
I cannot rename it, I am using Total Commander.
I am convinced that I cannot rename it because something is using it.
I have a pretty basic install of XV6800 with MR1. Just a couple of programs installed.
Any advice on how to rename the file?
Thanks
Click to expand...
Click to collapse
No idea about using Total Commander for it. You can use the (cumbersome, but working) steps I posted with the built in File Explorer (fexplore.exe) program. Those steps are confirmed to work.
Downloaded the app.
Works perfectly.
Thank You!
I also followed each step and my XV6800 is unable to get a GPS location in either Google maps or Live search.
THANK YOU!
Thank you for the amazing tool!!! This has my MR1 ROM running GPS fast and efficiently. Let me know if I can be of any assistance... I have access to some webhosting space and other resources to keep this project alive if needed.
Mugenakuma said:
I also followed each step and my XV6800 is unable to get a GPS location in either Google maps or Live search.
Click to expand...
Click to collapse
Can you list all of the steps that you took and what state you are in right now (e.g. which files copied where, and soforth)?

[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.

[UTL][CE 5/6] CeUseGPSDateTime

What it is:
When your WinCE powered device is hard reset, or batteries removed, the clock goes all the way back to 01/02/2004, which takes an age to flip in controlpanel through all those months to present day. Searched for solution to set this via an satellitet date time, because my CE device is a navigator. Didn't find a related prog in native code, all in C# ...
Therefore decided to write an own utility: CeUseGPSDateTime. This command-line application - written in native code, hence no .NET CF is needed - helps you keep the internal clock of your WinCE powered GPS device accurate by synchronizing it with the GPS date time signal.
How it works:
Walks chain of drivers as enumerated under HKEY_LOCAL_MACHINE\Drivers\Active and examines whether a serial port COM/VSP is given. If one found then tries to read from this serial port. If read was sucessful it tests whether data got are NMEA sentences of type RMC (supported by SiRF, Garmin, Magellan and Lowrance) and/or ZDA which both contain date time information in UTC format.
Code:
$GPRMC,UTC,POS_STAT,LAT,LAT_REF,LON,LON_REF,SPD,HDG,DATE,MAG_VAR,MAG_REF*CS<cr><lf>
$GPZDA,UTC,DD,MM,YYYY,TH,TM,*CS<cr><lf>
If success then WinCE clock's date time are updated with the satellite date time got.
Note: This app expects the GPS receiver to be set up to transmit at least one supported NMEA-sentence every second.
When it does fail:
• If no satellite fix already done
• If COM port doesn't provide NMEA-1083 sentences.
• If COM port is locked up - as this is the case with most navigation softwares which exclusively use the GPS COM port.
Usage:
Command line example: CeUseGPSDateTime.exe
MortScript example: Run("<Full-Path-To-CeUseGPSDateTime-Executable>\CeUseGPSDateTime.exe")
Disclaimer:
I haven't thoroughly checked for bugs yet, so if you find one, please let me know.
if you can do the same thing with RDS it will be great
RDS and GPS synchronization WinCE WINCA S100
raver2046 said:
if you can do the same thing with RDS it will be great
Click to expand...
Click to collapse
Hi,
First of all, thank you for your job.
It happens that My device can't save clock settings. I have then GPS signal as backup to rely on.
My pb: I don't know how to implement your solution and maybe you have other mean to synchronize clock with RDS.
Thank you for your attention and your reply.
JLA CLOUD

[Q] [SOLVED] Reading sensors from Android to PC, and into Processing

Hi guys, I've been an avid reader of the xda forum, and it's great, so far it has been an awesome source of knowledge, however up until now I had found everything I needed...
Long story short, I want to be able to use the sensors in my smartphone (Rooted Moto G XT1032, 16 GB) in the open source software Processing. Could somebody please point me in the right direction?
Basically I want to:
Connect my phone to my PC via BT or WiFi
Read the value of the sensors within my phone and transmit them to my PC
Somehow read those values in Processing and create nice graphs and stuff
I know how to program Processing, I've looked into the Amarino Project, but it does require the Arduino Part, and I know how to interface Arduino and Processing (I've done some PID control and other stuff with those), but I want to skip the whole Arduino part (at least for now).
Could somebody please point me in the right direction?
Thanks in advance, cheers!
Update 17/09/2014: Currently looking into the SensoDuino project, which apparently will solve my problems in the Android Front.
I tested it following the video in the main page of the project in the part Pairing and Establishing a Serial Connection between Windows 7 and SensoDuino (sorry I still can't post links), I have been able to read the data using Tera Term
Just mind the COM ports, and that you are actually transmitting over bluetooth, you can check this in the services tab of the properties of the paired device within Windows (If anybody wonders why not Linux, which I use the most, in which I do my main work and in which this would be pretty much a native feature, I intend to use this with a Windows Only Software)
Special thanks to TheBeano!
P.S. Depending on what the rules of this forum regarding solved threads are, I'll either update or publish whatever the outcome of this project is, cheers!
Hectormd said:
Hi guys, I've been an avid reader of the xda forum, and it's great, so far it has been an awesome source of knowledge, however up until now I had found everything I needed...
Long story short, I want to be able to use the sensors in my smartphone (Rooted Moto G XT1032, 16 GB) in the open source software Processing. Could somebody please point me in the right direction?
Click to expand...
Click to collapse
Look at SensoDuino, they have a demo of connecting to Windows 7 via Bluetooth serial. Once you have a Bluetooth serial connection you can use Processing's serial comms to read the phone sensors. You could do the same sort of thing with Amarino, that is just read from the serial port, but it might be more work to decode the binary protocol that it uses from Processing. Sensoduino sends ASCII I think.
TheBeano said:
Look at SensoDuino, they have a demo of connecting to Windows 7 via Bluetooth serial. Once you have a Bluetooth serial connection you can use Processing's serial comms to read the phone sensors. You could do the same sort of thing with Amarino, that is just read from the serial port, but it might be more work to decode the binary protocol that it uses from Processing. Sensoduino sends ASCII I think.
Click to expand...
Click to collapse
Thanks a lot, it looks exactly like the thing that could fulfil my needs.
I'll update this post or publish whatever I come up with cheers, and thanks again!

How to send/ write Canbus messages directly from HU

Does anybody know is it possible to send/ write Canbus messages to the car directly from the Android head unit? And if it is, how to do that?
I have HU MTCE_PX30_MX and some Canbus messages are already sent to the car, so it is possible, I know. But is there any way to sent some specific messages only..?
I think for this you should have a look at MTCCanBus.apk. At some point, a serial connection is opened which seems to be responsible for receiving / sendings CAN Messages. I don't know if the connection goes directly to the CAN-Box, if it is a virtual port that simply sends data to an other software layer or if it goes anywhere else...
This is probably a good starting point.
herb77 said:
I think for this you should have a look at MTCCanBus.apk. At some point, a serial connection is opened which seems to be responsible for receiving / sendings CAN Messages. I don't know if the connection goes directly to the CAN-Box, if it is a virtual port that simply sends data to an other software layer or if it goes anywhere else...
This is probably a good starting point.
Click to expand...
Click to collapse
Thank you for the hint, I will look at it.
Actually I have already "decompiled" HCTCanBus.apk (I guess that this is right apk for MTCE units?) but I have to look it more closely. I am not so familiar with coding...
While a old thread I though I would at least now provide a Answer,
See my github for example code to talk to the CANBOX via the OS and via android calls using the existing mtccanbus.apk and such , Alas i dont know java so cannot help you there , all my work is within the CANBOS unit so far.
Canbus and services
Darkspr1te
@darkspr1te thank you. This is really useful. All I need to do is catch one MTC canbus intent into my app and get it to work, like one of the TPMS tire pressure intents for example. If I can make it work for one, I can make it work for many intents. I have a project that I'm working on and your code will definitely prove helpful !
Any news here? I really want to be able to display CANBUS info usong tasker...
marteline said:
Any news here? I really want to be able to display CANBUS info usong tasker...
Click to expand...
Click to collapse
So get involved
I downloaded @darkspr1te code and encountered some problems compiling that I haven't completely sorted out yet. Thing is that I've been quite busy with other priorities lately but I still want to pursue developing my app.
@darkspr1te did not provide any build/compile notes about the development environment used to develop the code. I'm using the latest version of Android Studio and just working through each issue one at a time. Wish @darkspr1te had used gradle as it would make setting up the build environment much easier .
The code i mentioned is not mine(as mentioned in the post too) , if you want a gradle based then see CANBUS app which is by another author. My current code is what runs on the actual canbus device (raise etc) , I have not produced any android code myself just the MCU code.
Also see this thread for further info on the headunit to canbus protocol CANBUS protocol
@darkspr1te thank you for the suggestions. I guess my referring to it as "your code" was mistaken, sorry about that. I pulled the code from your git repo and just misquoted the original source for the code.
Still regardless of the original author, I just wanted to get the code to compile and work. Maybe I can find the example(s) I needed from the other suggested resources.
Rear little connectors in HU has an 8 pins section used for CANBUS, but only if radio has CANBUS. In that little 8 pins connector section there are 2 pins called TXD and RXD that go to CANBUS box (in my case, Honda Accord 7th, to HVAC buttons frame). I haven't measured signals TXD and RXD that go to CANBUS box and, thus, I don't know if they work at 5 V or 3.3 V. I don't neither know the protocol in these lines. But CANBUS box translates signals in both senses. CANBUS is a multinode trunkline that uses 2.5 V in recessive state and +/- 1 V for dominant. But it is a serial port at radio side.
See pins 36 and 50.
It would be possible to add an Arduino 2560 with 4 serial ports as a gateway, that is, intercepting TXD and RXD with 2 serial ports of 2560 and having 2 additional serial ports to connect another devices. One of them might be an FTDI USB serial to HU and inject and intercept CAN messages from an own application. But it requires to know CAN message format at serial side.
Even better might be to program directly in HU without installing an external element, that must be also programmed. I think there is an hierarchical structure of classes that produces events that can be intercepted. But I don't know how to do it. I have begun to read about Android Automotive but there is no much information about it. The main problem is how to put a car on the table beside a PC with Android Studio.
Here the manual that describes the RS232 side messages of a certain CAN-RS232 converter: https://drive.google.com/file/d/1CKftK1HeclPr9TdSG6DdCFfwmeMjoFIm/view?usp=drivesdk
Interested in protocol, see chapter 2.7.2 and successive. But not all devices must forcely work exactly as this one.
But there is another converter that uses another different message format at RS232 side (around chapter 4): https://drive.google.com/file/d/1CMcJqeHfP0YFG83UOwGMe2EUwyD49_bY/view?usp=drivesdk
It is necessary to sniff TXD and RXD wires or having a manual describing chinese radio CAN message format.
VB6 example: https://drive.google.com/file/d/1CMlDhSCgk9QhxLxvgrERXKX1jOOKXLOo/view?usp=drivesdk
The H/U to CANBOX is 3.3v (default stm32 profile) but the pins used are 5v tolerant. There is already a fully working project plus sources with protocol encode/decode functions at
https://github.com/smartgauges/canbox
@Pacovich also your google drive links require access control so no one can download them.

Categories

Resources