yashsingh1/xdaforums huggingface dataset:
[Windows Mobile Apps and Games] L_o_k_i:
@Fire69

After reading jose-ramon and phmartin posts here:

http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=17275&whichpage=2, I came with the conclusion that the Royaltek protocol is NMEA sentences with special sentences (like $RTRDS or $RTTMC). Those special sentences are the TMC/RDS messages (same for GNS protocol but with other special sentences).

The actual betas have some issues (at least on my touch HD):

- enable to detect the TMC hardware if the antenna is not connected or if the reception is not good enough

- enable to receive TMC/RDS data after the second start of iGO if I don't add saved_config_available=0 in sys.txt to redetect the hardware

Actually Beemer tried to solve the first point by sending more fake data, but as Captain_Throwback said (see his post http://xdaforums.com/showpost.php?p=3879684&postcount=784) the fake data cause some troubles and for me the TMC data are coming more slowly than before.

Beemer's driver is sending fake data to also keep the connection open between iGO and the driver. My thought is: if you only send TMC sentences, there will not be enough data to keep the connection open (especially if the frequency tuned does not send TMC/RDS), so you have to fill the stream with other data. Actually it's fake $RTRDS,7 sentences. But it's not enough because iGO does not see TMC/RDS data on the second start. So maybe we need to send something else like NMEA sentences as in gpspassion link above! But it's just a thought, I'm not 100% sure about it!

EDIT: @Beemer

I tried HyperGPS with the option TMC + GPS data, but it doesn't work. As you, I think that gpsgate is hidding the error...
[Windows Mobile Apps and Games] L_o_k_i:
@Beemer

I cannot trace what iGO sends to the driver when it starts. Can you provide these information? Maybe your driver doesn't answer to somethign send by iGO when it starts...
[Windows Mobile Apps and Games] beemerTPPC:
I've tried yesterday sending another kind of sentences like tunning, etc, instead of the $RTRDS,7 but it doesn't work. Maybe a $RTRDS,8 like in aphas would work better, but it don't mind to me now. I'm centred in the FM Power ON issue.

It is the hardware deteccion what does the driver to power ON the FM radio sucessfully. I've tried another aproach that is while SAC=1, changing the port of the driver or even only the port saved in iGO's system.ini. Both cause iGO to redetect the hardware and work.
[Windows Mobile Apps and Games] beemerTPPC:
A testing one that works in my side ;)

I've prepared the attached testing dll. It is based on Beta 1, that means that you must install beta 1 prior to try it and it doesn't have GNS support, is slow to unload, etc.

What I've done is to move FM Power on to the loading of the driver and FM power off to the unloading. This have the undesired effect of the FM radio being on and therephore taking battery power when the driver is loaded even if the port is closed. But you can use GPS_Switch (included on Beta 4) to load the driver at the same time than the GPS navigation program and unload it automatically once the navigation app is finished.

My results:

I can leave SAC=1, and restart iGO as many times as I want and always receive TMC almost instantly!

Please give it a try and if it works, I'll try to implement this in a Beta 5 as a workarround.
[Windows Mobile Apps and Games] Fire69:
@L_o_k_i:

Very interesting (though very technical :) ) stuff over at gpspassion!

I see where you got the idea of muxing gps and tmc together now :)

I'll do some testing also to see what the effect is of using TMC+GPS in HGPS :)

@Beemer:

I'll give your test-version a try right away!! :)
[Windows Mobile Apps and Games] beemerTPPC:
I've tried to find it looking at the IOCs and every message sent to the driver, but nothing changes. And there is no reason for the FM API to work in one case and don't in the other.

With GPS gate works because the radio is powered ON before iGO start, like the testing dll of my previous post.
[Windows Mobile Apps and Games] L_o_k_i:
When I tried HyperGPS with the option TMC + GPS data, I saw in the log $PSTIS. What does it stand for?

Please tell me what iGO send to the driver when it starts.
[Windows Mobile Apps and Games] Fire69:
I tried it, but I can't get the driver to load?

I uninstalled B4, installed B1 and replaced hypergps.dll.

That is the correct way to go, right?

When I press the TMC-button, I get "Cannot load driver"...
[Windows Mobile Apps and Games] beemerTPPC:
Be sure to rename the dll to lowercase. I've forgot to do it and in my device this is not important.

@Loky

I can't see any different:

With HW detection:

COM_Init hFM=91B310 04/06/09 11:14:18

COM_Open: FM Power On result=0 04/06/09 11:14:57

COM_Open: numopens=1, GPS:A6588CE2 04/06/09 11:14:58

FREQ Change: 95.8

And with the same port selected and SAC=1:

COM_Init hFM=91C6F0 04/06/09 11:22:19

COM_Open: FM Power On result=31 04/06/09 11:22:47

I'd the IOCtls logged, I have some, but later. There is no COM write.

In COM_Init I open the FM driver and it is done when loading the driver with HGPS_Client, in COM_Open I power the FM ON and this is done by iGO.

Remember that my old iGO (R1) worked flawlessly. It should be a mix of circumstances impossible to debug. I think the way to go is powering the FM module in driver loading. Please test the driver dll I've just posted with a Beta 1 to see what I mean.
[Windows Mobile Apps and Games] L_o_k_i:
@Fire69

try to use lower case for GFMAPI.DLL (in windows folder), check also that hypetgps is in lower case, then soft reset
[Windows Mobile Apps and Games] Fire69:
Renaming the dll indeed solved the problem! :cool:

Had SAC=0 the first time I started iGO. HW-detection was OK at first run now, and TMC was coming in really, really fast. 14 pages in just 1 minute! :eek:

I shut down iGO, changed SAC to 1 and restarted iGO.

TMC came in immediately without having to do HW-detection!!:D
[Windows Mobile Apps and Games] tomiskavac:
My configuration:

IGO 8.3.2.64873

Beta 1 with new hypergps.dll

sys.txt - no TMC

system.ini [TMC]saved_config_available=1 + settings (COM, freq, ...)

The latest version of hypergps (posted a few post above) works great.

1. run: Start HyperGPS -> load driver -> exit -> start IGO -> TMC data within 1 minute (envelope displayed immediately) -> stop IGO -> driver still active

2. run: start IGO -> TMC data OK -> stop IGO -> Start HyperGPS -> unload driver -> exit

3. run: Start HGPS -> load driver -> exit -> start IGO -> TMC data OK

Only one problem - sound is always redirected to speaker.

edit: problem disappeared - sound is correctly directed to speaker

Now it works excelent. Great work.
[Windows Mobile Apps and Games] kaefert:
That new DLL works perfect!

The trick with using HW-Detection every time didn't work for me, since the HW-Detection of IGO somehow kills the Radio (no tuning and only lot of lines of "$RTTMC,7,0000,7000,0000,0000*40")

But after:

-) Installing Beta1

-) Renaming GFMAPI.DLL (in windows folder) to lower case

-) replacing HyperGPS.dll (in windows folder) with new one

-) having saved_config_available="1" + correct config in save/system.ini

Everything works perfect. Starting and Stopping IGO, loading and unloading the driver, without any soft resets!

I'm using "IGO 8.3.2.64873" on ROM "Miri WM 6.5 21728 :: V 15.0" on an HTC Blackstone
[Windows Mobile Apps and Games] L_o_k_i:
OK, I've made the test. It's working. Now I can run iGO several times with SCA=1... So there must be something in your code that you didn't see when you power on/off the radio. Maybe flywhc can help on this. BTW, I don't like the idea of using another program to load the driver and iGO. I hope it's just a temporary solution and one day you will find who to make it work properly ;)
[Windows Mobile Apps and Games] giggetto:
My configuration:

HTC DIAMOND 2.03 OEM

IGO 8.3.2.83157

Beta 1 with new hypergps.dll

sys.txt - saved_config_available=1

systemi.ini - autosaved tmc settings

The TMC is working very very well, the best one since now.

Audio is working well because i don't use the headset as antenna but a single wire connected to pin 7 of extusb.

Great work!!!
[Windows Mobile Apps and Games] Fire69:
What do you mean by that?

You don't like having to use the HyperGPS-client or HGPS_Switch to load the driver?

Care to explain? :)
[Windows Mobile Apps and Games] kaefert:
That guy probably didn't read enough of this thread to understand what HGPS_Switch is for

EDIT: Sorry, misunderstood you, see post #852 http://xdaforums.com/showpost.php?p=3893180&postcount=852
[Windows Mobile Apps and Games] giggetto:
I connected an extusb plug to a htc 2 in 1 connector (similar to YC A120) with only one cable soldered to pin 7.
[Windows Mobile Apps and Games] Fire69:
Dude, I think you didn't read enough of this thread if you haven't noticed L_o_k_i before. :D
[Windows Mobile Apps and Games] Mittaa:
Beta1 with new hypergps.dll

TMC is working as a dream here too :)

IGO 8.3.2.83157

Beta 1 with new hypergps.dll

sys.txt - saved_config_available=1

systemi.ini - autosaved tmc settings

Mittaa
[Windows Mobile Apps and Games] kaefert:
Ups, that was L_o_k_i? didn't read the name ;)

But thinking about it, I think I know now what he means, he wants the driver to be able to be constantly running and started automatically while booting. But is that even possible? You wont be able to use the fm chip for listening to radio then anymore..
[Windows Mobile Apps and Games] N3m3515:
i found a programm named DecoRDS.

with this programm you can import rds and tmc data into tomtom6.

i dont know if its possible to realize this with tomtom7 but it would be great.

here is the german thread:

http://forum.pocketnavigation.de/th...62&threadview=0&hilight=&hilightuser=0&page=1

and here you can download it:

http://www.lacasadelgps.com/modules.php?name=Downloads&d_op=viewdownload&cid=8
[Windows Mobile Apps and Games] jackleung:
Great. I bet the next release will be RC instead of beta. :)
[Windows Mobile Apps and Games] kaefert:
forget that stuff, it will only give you TMC data as POIs and TomTom won't be able to use that data for rerouting you around traffic jams or anything like that
[Windows Mobile Apps and Games] lame123:
Beta1 with NEW HyperGPS.dll WORKS on XPERIA

Perfect!!! Installed Beta1, copied new HyperGPS.dll from your post #835 into \windows and now its running!!!!! Radio is always on, but i can restart iGO as many times as i want.

What I noticed on my XPERIA:

without the new DLL it couldnt even detect the TMC Hardware with Beta1... now the HW is detected VERY fast!

After the first start of iGO when the driver is loaded, in the TMC settings section it says "0.0Mhz" and no Radiostationname is showing.... after a few seconds it shows the Name, Freq. and TMC.

Thank you Beemer!!!! One big step ahead! You will manage the rest aswell! Thanks for spending so much time on this....

@ Loki

thank you.... aswell.... for beeing a good soul, sacraficing so much time to give a good input!
[Windows Mobile Apps and Games] N3m3515:
ok that is not what we want :)
[Windows Mobile Apps and Games] beemerTPPC:
I don't think so. Remember that iGO 8 R1 works like a charm with Beta 4. The problem is hidden:

-There is a FM chipset with few or none documentation

-Over it there is a HTC API non documented and intended only for FM hearing use (it, for example avoid the device to suspend, only turn off screen to allow you continue hearing with the screen off).

-Over it is the flywhc API, written based on reverse enginnering, probably he have made some wrong approach in some unknown FM API functions. We already know that the FM Close of the original HTC radio program is faster than flywhc, for example. BTW his work is a not only great, but incredible work.

-Over it there is my driver, a simple stream driver trying to manage all the above while maintaining a simple user experience. It is currently not possible, and I think the current way is the way to go on in the future until flywhc or anyone find how to interface directly to the chip.

In Beta 4 we had a fantastic driver that worked (On those platforms that worked like iGO 8 R1) with only one problem, it couldn't close the FM driver in COM_Close time and it should do in COM_Deinit time. That meant that the FM radio couldn't be used in any other program and that the PDA couldn't be suspended until the driver were unloaded.

In the last try, we have exactly the same problems, but it now works on most devices and iGO releases!!!

I've just finished a Beta 5 internal version with all the advantages of this test release and the ones of Beta 4. I've to test it and see if the API 1.2b doesn't have any issues with iGO 8R3. If all works flawlesly, I plan to make some changes in HGPSClient and HGPS_Switch to support the new philosophy, implement some fast changes to the GNS protocol based on GNS user logs and release a Beta 5 that will be different: It will be based on HGPS_Switch for most users, althought I plan also to make the driver "suspend proff" doing the device impossible to suspend but only allowing S3 Mode (screen off, rest of PDA on) like the HTC FM program does.

EDIT AND OFFTOPIC

==============

This has been a hard day. Some mail and database servers has been unnatended and require my attention now. ;) and my PhoneWeaver needs me this night.

Thanks to all donators, Locky, Fire69 and OlivierTheBest and all thread users in general we have got the right way. Sorry to all for being using an older iGO version that have been confusing me.

Tomorrow more.
[Windows Mobile Apps and Games] mario661:
Test results

Hello,

My setup:

Diamond P3700 - based on HTC Topaz SYS/XIP - Dutch

Radio: tried both 1.09.25.23 and 1.11.25.01

iGO: Build 8.3.2.64029

beta 1: previously worked on 1.09.25.23. Tested on 1.11.25.01 as well and found working

beta 4: can't get it to work in iGO whatsoever. Tried all kind of modes: headphone, speaker, muted, tuned. None working.

With saved_config etc. in system.ini finds TMC, but no TMC data.

Changing hardware to scan for the TMC results in no TMC hardware found.

Not much to add to the rest, except perhaps for the radio version. Still hope it helps somewhat.
[Windows Mobile Apps and Games] degus:
Hi beemer and all others here in this thread,

maybe I'm starry-eyed but did anyone tried to contact htc for the specs or api documentation:confused:? Everything I read in the past is that htc respects the xda-community... even microsoft doesn't do anything against the rom cooking here.

HyperGPS is nothing illegal and htc may win some new customers because of this impressive and unique feature. No other mobilephone supports tmc till now.

So long

degus
[Windows Mobile Apps and Games] L_o_k_i:
@Beemer

Yes, I know you and flywhc have made an incredible work!!! I'll make a donation for both of you soon...

If you want to keep HGPS_Switch, you could include its features directly in HGPSClient by adding the path of the navigation program in a textbox and a checkbox to choose if we want to run the navigation program when loading the driver or not. That way there would be only one program...
[Windows Mobile Apps and Games] kaefert:
I think the current solution is Better, you only have to start HGPS_Switch, no pressing buttons or anything, just half a second delay until IGO starts
[Windows Mobile Apps and Games] lame123:
I prefer your suggestion Loki... the checkbox/textbox option is much more elegant to my oppinion.
[Windows Mobile Apps and Games] beemerTPPC:
I think GPS_Switch is good for several reasons:

-It can be implemented several times, one for each navigation program we have

-It doesn't make you to increase the needed steps to launch your navigation program

-You don't have to use it, HGPSClient is always available.

A solution based on a fixed path stored on HGPS_Client will have the advantage of being easier to configure, but have several disadvantages:

-If the driver is leaved loaded once the navigation app is exited, the device could take a lot of battery and can even hang if suspended.

-Only one program can be launched easily

-Two steps needed to launch the navigator: start HGPSClient and then the driver/navigator, and two more for closing, start the HGPSClient and unload the driver.
[Windows Mobile Apps and Games] L_o_k_i:
@kaefert and Beemer

OK OK, you convince me! In fact I thought about all these before posting :D
[Windows Mobile Apps and Games] Z3rO`:
Did the GNS logs help? Does this mean we'll see Navigon support soon? :)
[Windows Mobile Apps and Games] atomera:
even beta4 and gps_switch don´t work with my diamond 2.03.

since alpha2 no working version for my diamond
[Windows Mobile Apps and Games] flywhc:
Beember, I wonder if multi-threading can solve the problem since FMAPI is slow:

The driver is loaded by system (Built-in)
COM_Init: create working thread then return.
COM_Open: signal working thread to start FM radio and return success.
COM_Close: signal working thread to stop FM radio and return success.
COM_Deinit: signal working thread to stop and wait for it before return.

Working thread:
* signal start: if FM radio is on, return;
if FM radio is closed, call FMOpen then FMPowerOn -> if failed wait N seconds and try again.
if FM radio is closing, wait until it closed then call FMOpen and FMPowerOn.
After a number of attempts, if still cannot power on FM radio, show popup message or notification to notify user that there is a failure.
* signal stop: call FMPowerOn(FALSE) then FMClose()

the driver should behave like FM radio is already started after COM_Open such as sending dummy data before FM radio is actually powered on.

By using this way, user don't need to run any application before starting iGo, unless user want to change some settings. and the device can go into suspended mode after a few seconds after user closes iGo.
[Windows Mobile Apps and Games] Schubidua:
HyperGPS on HTC Artemis (XDA Orbit)

:mad: I have tested all the Betas - Installation is no problem (com port 6). But when I choose "Test" the error message "Could not open com port" appears. Only with Alpha3 I could start the test - but within iGo I had nu success with TMC (could not find TMC hardware).

@beemerTPPC: Could I support Your work through tests with HTC Artemis?

System: Windows Mobile 6.1 German (Build 19199.1.0.0), cooked rom "Looks like Touch" kitchen
[Windows Mobile Apps and Games] beemerTPPC:
I've a internal version that does exactly that... but it tended to hang. I was working that way for a week and finally forgot that way.

But perhaps it is also something to think again on. At this moment, provide wider compatibility is my first goal.
[Windows Mobile Apps and Games] flywhc:
Artemis uses completely different chipset that does not support by this driver.

We had a discussion in my FM-RDS thread. I got a FMRadio.exe binary from Artemis ROM.

It is feasible to support Artemis but it needs a lot of reverse engineering work.

Unfortunately I don't have Artemis and it is not easy to do the work without a device.

Hope there is someone has Artemis and good understanding of IDA pro and device driver can help us.

Beember, I can't read whole thread. If there is a bug in the GFMAPI or anything I can help, please PM me.
[Windows Mobile Apps and Games] Fire69:
Did you guys read the thread and install Beta1 and the modified dll?

@Beemer:

Maybe you should release a version (Beta4.5 or something :) ) with the updated dll because otherwise people will keep testing with the wrong version?
[Windows Mobile Apps and Games] Gwystyl:
Try beta1, that's the only one working on my Xperia. Only problem is I have to reinstall it every time after a soft reset. I'm going to try the new dll now.
[Windows Mobile Apps and Games] L_o_k_i:
did you read this thread (the 4-5 lastest pages for example) or at least use the search button? Because you could see there's a solution to your problem:

after installing beta1, go in windows folder and rename in lowercase gfmapi.dll and hypergps.dll. after that no need to reinstall after a soft reset!
[Windows Mobile Apps and Games] looby:
new dll...

Yup working great on my diamond with standard Orange 1.93 ROM with the new dll. Excellent work Beemer sticking to the 'never give up philosophy' and thanks to L_o_k_i:)
[Windows Mobile Apps and Games] Gwystyl:
I have read every post, and I saw that in later betas gfmapi was in lowercase, but I didn't realise that changing it to lowercase in beta1 would solve that problem...... thanks for the tip
[Windows Mobile Apps and Games] phyco:
new .dll

yes, it works with B1 and the new .dll.

My phone HTC Touch Diamond 1 P3700 with ROM 2.03 german version.

with IGO8.3.2.79297

@beemer

excellent job, don't stop moving on.

thanks

Despite that, as soon as I connect external power supply, TMC receiving stops. Don't know why, maybe interference from the switching powersupply overlaying the signal? TMC signal not strong enough?
[Windows Mobile Apps and Games] beemerTPPC:
Beta 5 preview

Let me make it a little easier.

This one is not finished, it have the same GNS support than B4: almost none, is based like B4 in API 1.2b and works like the testing one that was not intended for general use, but only for testing an idea ;)

I have to work much more on this but at least it is better than B4 ;)
[Windows Mobile Apps and Games] Nakebod:
I'm almost gonna kiss you :D

With the new dll (Not yet tested with B5) iGo now detects the hardware perfectly, instead of manual via the system.ini!

And TMC works quite nice already, including RDS/Station names in iGo.
[Windows Mobile Apps and Games] kaefert:
Just tested Beta5 - works perfect :D

EDIT: Something funny I just noticed, I get sound both on speaker and headphones
[Windows Mobile Apps and Games] 6Fg8:
oh wow .... β5 running smooth as silk ... no more freaking with system.ini

TMC detected immediately after starting iGo, ever and ever.

one small step for a man ... one giant leap for mankind :D
[Windows Mobile Apps and Games] auxaux:
Yes! thats the way to go! working like a charm!
[Windows Mobile Apps and Games] OlivierTheBest:
I tested beta 1 + HyperGPS.dll + HGPS_Switch : on HTC DIAMOND + IGO 8.3.... works great (automatic detection & tmc messages)

Finally tested beta 5 too :

perfect

Very Very Good
[Windows Mobile Apps and Games] MadMax1978:
Gr8 work!!

Switched from B1 to B4 without succes:(

With B1 TMC always worked with manual setup of tmc from within iGO.

With B4 I tried it with the HGPSswitch tool and manual but no succes with both

But, then i saw that there was another dll for B4 and saw the B5, so i tested the B5, and now it even works with HGPSswitch tool, automatic tmc driver detection from iGO, i saw that it received tmc messages.

Will do some more testing when I am driving or walking with the dog.(also during rush hour, when there are a lot of traffic jams, to check if the tmc messages come in as fast as I saw in older working versions)

But I have to repeat, you have done a really good job in such a short time.

Some weeks ago I used it when we went on vacation, used B1 during our 6 hour ride from The Netherlands to France...

:D:D:D:D:D:D:D:D:D:D:
[Windows Mobile Apps and Games] L_o_k_i:
@Beemer

Don't forget to:

- add $RTRDS sentences regularly in the $RTTMC stream. I tried to feed iGO with a log from the Omnia driver, by using gpsgate, the result is interesting: the signal meter does show up! :D

- correct the bug: $PSRFTXT,Ack Input107*6A ---> $PSRF154,107*3D
[Windows Mobile Apps and Games] beemerTPPC:
Yes, this is one of the issues with the beta 5, if you run the test program it doesn't show the freq until you change it.

I've only released this to make things easier for the users, but I know it have many issues ;)

Thanks!
[Windows Mobile Apps and Games] Mittaa:
B5 insufficient rights to install (SOLVED)

@Beemer

"Insufficient rights to install B5"!

Didn't have that problem with B1,2,3 and 4.

Tried installing beemer_cert, but no luck :o

!!! SOLVED after restore from backup !!!

Now working perfect :)

Mittaa
[Windows Mobile Apps and Games] ArtaxXP:
beemer you're awesome! first time i've tryed a beta and everything works perfect! beta 5 works awesome. after setting up the tmc hardware, igo found a tmc station and got tmc messages in less than 5 seconds! great work!