Jump to content


Photo

i8000 TMC driver development

* * * * * 2 votes

  • Please log in to reply
177 replies to this topic

#1
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000
Started the TMC driver project myself. It will be a long-time task because of the lack of informations, so don't expect result in the near future. Now decoding the fmradio.dll to know the environment. Because this dll has the same structure/behaviour as in the i900 and on that platform there is a driver for TMC, if anybody have any information regarding that, it will dramatically decrease the development time, so will be appreciated....
In the case there are candidates for the development with good ce programming skill and IDA knowledge, we can work together.

  • 0

#2
XeOS

XeOS

    Regular

  • Members
  • PipPip
  • 109 posts
  • Devices:Samsung Omnia II; HTC Trophy

Started the TMC driver project myself. It will be a long-time task because of the lack of informations, so don't expect result in the near future. Now decoding the fmradio.dll to know the environment. Because this dll has the same structure/behaviour as in the i900 and on that platform there is a driver for TMC, if anybody have any information regarding that, it will dramatically decrease the development time, so will be appreciated....
In the case there are candidates for the development with good ce programming skill and IDA knowledge, we can work together.


Wow, awesome that you are looking into this! Unfortunately I can't help you out (no skills, only graphics skills). I do believe that the person who is working on the HyperGPS driver at XDA used to be the developer of OmniaTMC, maybe he could provide you with the required info to speed up things.

  • 0

#3
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000

I do believe that the person who is working on the HyperGPS driver at XDA used to be the developer of OmniaTMC, maybe he could provide you with the required info to speed up things.

Thank you, but the majority of the work is to capture the TMC data from the chip, which is belongs to the Samsung driver (must decompile and recognize what the driver do) ; after that when the TMC data need just to deliver to the application, anyhow will be used the GPSApi/HyperGPS architecture.
The results and the yielded information can be found at this page .

  • 0

#4
mandargon

mandargon

    Newbie

  • Members
  • Pip
  • 49 posts
Could you include any fix to listen radio through BT Headset?

  • 0

#5
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000

Could you include any fix to listen radio through BT Headset?

Could uou explain your problem?The radio can't work without enough signal, so or you insert the jack or just connect some wire to the outest jack pin and start as I remember the FMRadioTEST.exe witch working without the jack insertion sensing. I have no BT headset, so in the case the problem is to drive the sound to the BT, I will take a look to the driver again, but there is just a call to use the speaker, nothing else.

  • 0

#6
ajhvdb

ajhvdb

    Regular

  • Members
  • PipPip
  • 102 posts
  • Devices:OMNIAII

Could uou explain your problem?The radio can't work without enough signal, so or you insert the jack or just connect some wire to the outest jack pin and start as I remember the FMRadioTEST.exe witch working without the jack insertion sensing. I have no BT headset, so in the case the problem is to drive the sound to the BT, I will take a look to the driver again, but there is just a call to use the speaker, nothing else.


Yes, but with a plug only I have good reception too. So I think there is no reason to plug something in..

  • 0

#7
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000
The first result: I got the RDS registers value, so I have TMC data in an userspace program. The next step is to choose the TMC protocol ( I think OpenTMC will be good ) and implement a virtual comm port to send the collected TMC info to the application. See the program at my page

  • 0

#8
XeOS

XeOS

    Regular

  • Members
  • PipPip
  • 109 posts
  • Devices:Samsung Omnia II; HTC Trophy

The first result: I got the RDS registers value, so I have TMC data in an userspace program. The next step is to choose the TMC protocol ( I think OpenTMC will be good ) and implement a virtual comm port to send the collected TMC info to the application. See the program at my page



Got it running on my O2, getting more and more excited by the minute! If I can help in testing/skinning or buying you a cup of coffee, just let me know!

  • 0

#9
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000

Got it running on my O2, getting more and more excited by the minute! If I can help in testing/skinning or buying you a cup of coffee, just let me know!

Could you by me some knowledge instead? Unfortunately I'm totally new in the WM development, so every step is very hard, and the internet seems to be exponentially less and less good source of the information..
Anyhow if I can step further, I'm glad to receive feedback.
To not happen again lost the information as in the i900 case, when I'm finishing, the whole code will be public, and on that stage we can beautify the program....

  • 0

#10
XeOS

XeOS

    Regular

  • Members
  • PipPip
  • 109 posts
  • Devices:Samsung Omnia II; HTC Trophy

Could you by me some knowledge instead? Unfortunately I'm totally new in the WM development, so every step is very hard, and the internet seems to be exponentially less and less good source of the information..
Anyhow if I can step further, I'm glad to receive feedback.
To not happen again lost the information as in the i900 case, when I'm finishing, the whole code will be public, and on that stage we can beautify the program....



I did notice on the XDA forum the following. The HyperGPS app uses GFMAPI as the source. GFMAPI is the FM radio interface that HyperGPS uses (as far as I understand) The HTC Artemis uses the Si4701, same family as our Si4709. They have a test app for this device. My guess is, if you can get your app to create the same output as GFMAPI or look into the code of the test app you only have to extent the fmradio.dll or fix the testapp to support the same output as that and then we can use HyperGPS. Is this is a fair assumption or am I talking b***sh*t here? (As you might have figured out now, I know nothing about sw development :) )

Edited by XeOS, 11 January 2010 - 03:14 PM.

  • 0

#11
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000

I did notice on the XDA forum the following. The HyperGPS app uses GFMAPI as the source. GFMAPI is the FM radio interface that HyperGPS uses (as far as I understand) The HTC Artemis uses the Si4701, same family as our Si4709. They have a test app for this device. My guess is, if you can get your app to create the same output as GFMAPI or look into the code of the test app you only have to extent the fmradio.dll or fix the testapp to support the same output as that and then we can use HyperGPS. Is this is a fair assumption or am I talking b***sh*t here? (As you might have figured out now, I know nothing about sw development :) )

Sounds good, but I didn't find any code for the Artemis , maybe I missed something? Otherwise I planned to used the GFMAPI - it has a skeleton in source, but don't really understand yet how all the functions must be implement ( but just take a look).
But now I'm focusing how can I co-work with the chip interrupt from outside - this is a must to not loose RDS data, the program I'm written just collect some samples now, not the full sequences....

  • 0

#12
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000
One step further. rdsradio updated, now not collect just some TMC samples but ( hopefully ) all the TMC data, so I'm now sure that the TMC will work on OmniaII - unfortunately I'm tired a bit and must deal with my official work also, so the last step ( implement the interface to the GPS program ) will be finished later, in the meantime I will collect the information regarding the TMC and HyperGPS.

  • 0

#13
XeOS

XeOS

    Regular

  • Members
  • PipPip
  • 109 posts
  • Devices:Samsung Omnia II; HTC Trophy

One step further. rdsradio updated, now not collect just some TMC samples but ( hopefully ) all the TMC data, so I'm now sure that the TMC will work on OmniaII - unfortunately I'm tired a bit and must deal with my official work also, so the last step ( implement the interface to the GPS program ) will be finished later, in the meantime I will collect the information regarding the TMC and HyperGPS.



Didn't have time to try the new version up till now. Can't get it to show the new data though, it keeps locking up when I try to scan for a new channel. It does it one time then kinda freezes up. Any ideas?

  • 0

#14
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000

Didn't have time to try the new version up till now. Can't get it to show the new data though, it keeps locking up when I try to scan for a new channel. It does it one time then kinda freezes up. Any ideas?

I also see that, the reason unknown yet. Anyhow I abandon that because the OpenTMC not detected by iGO and nobody knows the startup sequence for the right detection ( it is not in the standard). Anyhow now implementing the GFMAPI, so there will be Royaltek and GNS - but because the architectural and language (c#->c++) migration, it will take some time.

  • 0

#15
XeOS

XeOS

    Regular

  • Members
  • PipPip
  • 109 posts
  • Devices:Samsung Omnia II; HTC Trophy

I also see that, the reason unknown yet. Anyhow I abandon that because the OpenTMC not detected by iGO and nobody knows the startup sequence for the right detection ( it is not in the standard). Anyhow now implementing the GFMAPI, so there will be Royaltek and GNS - but because the architectural and language (c#->c++) migration, it will take some time.



OK, good luck and again thank you for trying!

  • 0

#16
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000
Very close to the finish.... GFMAPI implemented, so with HyperGPS i have TMC on IGO, see this. Because some minor issue I cannot publish the DLL now, but within 1-2 days it will be ready. Also I need to talk the form of the distro with flyhwc and BeemerTPPC from XDA.
Bonus is that the PowerRadio also works in this way

  • 0

#17
XeOS

XeOS

    Regular

  • Members
  • PipPip
  • 109 posts
  • Devices:Samsung Omnia II; HTC Trophy
Hail to phj :) !!! You just made my day !!! Great job !!! That should save me some money on tickets in a couple of days :)

  • 0

#18
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000
At my site there is a running version. NOT tested yet, just for the functionality, so use it carefully - I'm not responsible for any malfunction,etc....

Edited by phj, 19 January 2010 - 08:07 PM.

  • 0

#19
XeOS

XeOS

    Regular

  • Members
  • PipPip
  • 109 posts
  • Devices:Samsung Omnia II; HTC Trophy

At my site there is a running version. NOT tested yet, just for the functionality, so use it carefully - I'm not responsible for any malfunction,etc....



Tried it following your instructions to the letter, unfortunately it doesn't work on my device yet. It seems HyperGPS is working (it shows output) but when I start iGO, iGO detects TMC and then says can't find TMC. I actually managed to see the tuning section once in iGO, but when I started scanning it froze iGO. I reset my phone and changed channels in HyperGPS and then HyperGPS froze. Looked like the same problem I was having with rdsradio.exe. Could it have something to do with my firmware (IL5) or is it something in the app? Normal radio is working fine when changing channels btw.

Any ideas?

Edited by XeOS, 18 January 2010 - 03:08 PM.

  • 0

#20
phj

phj

    Regular

  • Members
  • PipPip
  • 85 posts
  • Location:Veszprém, Hungary
  • Devices:I8000

Tried it following your instructions to the letter, unfortunately it doesn't work on my device yet. It seems HyperGPS is working (it shows output) but when I start iGO, iGO detects TMC and then says can't find TMC. I actually managed to see the tuning section once in iGO, but when I started scanning it froze iGO. I reset my phone and changed channels in HyperGPS and then HyperGPS froze. Looked like the same problem I was having with rdsradio.exe. Could it have something to do with my firmware (IL5) or is it something in the app? Normal radio is working fine when changing channels btw.

Any ideas?

Wait a bit, producing new version ...

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users