Page 11 of 80 FirstFirst ... 2345678910111213141516171819202161 ... LastLast
Results 101 to 110 of 799

Thread: Renault "Tuner List" Head Unit/CD changer hacking - Controls

  1. #101
    Constant Bitrate Putput's Avatar
    Join Date
    Sep 2005
    Location
    Belgium
    Posts
    181

    Finally things are really starting to Rock!!

    Great news that you have the hardware part up and running with no errors .

    And now my comments:

    1) Do you think of missing sequences of operations or special conditions that we could need logs for, before I begin rewiring my breadboard with PC > Head unit direction ? Currently, getting more logs is just a matter of extracting the head unit, plugging the mini-iso and launch my MTTTY on ecstasy. Once my breadboard is unassembled, it will be a real hassle...
    A complete set of data for all the possible actions that can be performed between both units should be sufficient. Of course there's still the question of what will happen when one of the devices gets disconnected (power off) in the middle of a data exchange or when you change CD's. Perhaps this has to be tested so that a prog knows how to handle when connection restarts. This should be relatively easy to do, hook up the logging circuit and power down the CDC and after restart the HU and see what happens.

    2) Do we all agree that software we write here will be open sourced ? I'd rather not finish the project to hear someone say "hey, there's code I've written in there, if you want it, just buy it". If someone objects to the open-source nature, please say it now.
    I have no objections to open source, reminds me that I still need to post the source for the Parser tool. (If you still think its necessary, it was rather quick and dirthy )

    3) What language do we choose ? My own experience went through Basic 15 years ago, Pascal 12 years ago, Visual C 9 years ago, and exclusively Java for 6-7 years now. And I can tell you it was hard to go back to VC when you get used to Java :-). Unfortunately, I think Java is too heavy for a resident interface module so VC would be my choice if I was alone... I only used Delphi once or twice and it looked good, fast and relatively easy, but I am definitely not a specialist. However, Putput seems to have good experience, so why not ?
    I think a have no objections to use Delphi as a programming tool . If someone has a particular reason not using Delphi, I could live with VC. But I have major objections in using any .Net descendant! (Yes I know its easy, wide spread, used by professionals, ..... but I can tell you a different story that costed our company a huge amount of money and a lot of discontented customers.) Besides, our prog has to run on systems that are usually not loaded with heavy hardware and huge amounts of disk space so offer 20 or 30 megs of disk space just to install a framework to get a prog of 100k running is if you ask me a wast of disk space. You could add another 10 mp3's for that .

    4) Once we have the "dumb" emulation (just faking a CD changer the way Connects2 does to activate the SPDIF input), where do we want to go ?
    I suggest that the first goal should be an 'extended' Connects2 dll. Something that connects with HU to enable the SPDIF input and translate HU commands into events. When using Asyncpro serial toolkit (=> Open Source = http://sourceforge.net/projects/tpapro/) for handling the serial communications I can have a dll like this ready before the end of next week. Another thing could be a program that connects to the HU and emulates keystrokes (including Multimedia keys) on HU commands, translation between HU commands and keystrokes could be done by a simple text or XML file. When this file is blank or if it doesn't exist the program simply enables the SPDIF and nothing else.
    We could contact frontend developers to integrate it, even if only the pause function works it would be a great thing to have, perhaps they are more interested in a dll.

    5) Oh, and yes, am I the only one who will actually try the emulator ? :-)
    Didn't you knew that ?
    This is going to sound hard to believe but I'm one of those lucky guys that owns a 'Update List' radio with AUX input and it works great. But as I mentioned before, that pause key was the one thing that made me decide to help in this project.

  2. #102
    Variable Bitrate
    Join Date
    Apr 2005
    Location
    Belgium
    Posts
    326
    Ale,

    Conditions inside the car will be different, but I'd like to think more about ways to improve noise immunity without making the circuit over complicated.

    Re-reading your post about the possibility of the errors being due to threshold problems, I thought again about the issue and maybe have another explanation of the bad noise immunity I have.

    As I said, most of the errors were due to 0's becoming 1's. For example, 010... would have been read as 011...
    Going backwards through the circuit, it means the original signal (including start bit) was something like HHLH but was read as HHLL (H=high,12V and L=low, around 3V(*)). So it looks like sometimes the LH transition is not enough to reach the Low to High threshold. According to the data sheet, this point is around 1.8V but can be as high as 2.4V (max).
    And the input resistance which should be around 5K typ could be as low as 3K (min). Clearly, the 3K-7K range shows they just put it there as a "pull-down", not with a precise value people should rely on to make a divider...

    So taking these two limits, reaching 2.4V with a 18K:3K resistor bridge would need an input voltage of 16.8V ! OK, it's unlikely that I got such an extremely rated component, but it is quite understandable that even if it works most of the time at 12V, a slight voltage drop at the input can cause the voltage not to reach the sufficient level to step over the threshold.

    In this case, adding hysteresis would make the problem worse of course.

    If this reasoning is correct, I might lower the 18K to a 15K, for example, but other chips might have other resistor or threshold values - still in the spec - that would cause the opposite problem (low voltage not low enough to reach HL threshold, and I'd like to avoid one of the readers having difficulties with a circuit he build according to mine.

    So I think it would be good to make the gap wider between high and low input levels (increasing S/N ratio by increasing Signal), and that's why I'm coming back with the idea of diodes that would offset the input voltage. Let's say if I put 5 diodes with a drop of 0.6 each, for a total of 3V drop, then when input signal is at 12V, it would set the input pin at 9V, far above the 2.4 maximal threshold, and when signal is at 3V, diodes wouldn't let current flow at all, with the internal resistor forcing the input pin at 0V, far below the 0.6 minimal threshold.

    OK, spikes wouldn't be "divided" like with a divider, but levels would be more frankly determined...

    OTOH, if the chip has the minimum resistor value of 3K, it would mean a 3mA (9V/3K) current would be drawn when level is high, and maybe that's not so good for the HU.

    I'd like to hear your opinion on that.

    Thanks

    Vicne.

    (*) Please note that according to the latest measurements by Mox, I begin to seriously doubt of this value...

  3. #103
    Constant Bitrate Putput's Avatar
    Join Date
    Sep 2005
    Location
    Belgium
    Posts
    181

    New version Parser

    I made a new version of the parser program, the data field in the CDC log is splitted in Type and Data, 2 buttons added to save parsed data into a CSV file. This way you can directly import it into Excel and save a lot of cut and paste work.

    BUG!! Please check which file you downloaded, Parser.rar containes a bug when parsing the data. Parser1.exe is OK.
    Attached Files Attached Files

  4. #104
    Variable Bitrate
    Join Date
    Apr 2005
    Location
    Belgium
    Posts
    326
    Quote Originally Posted by Putput
    A complete set of data for all the possible actions that can be performed between both units should be sufficient. Of course there's still the question of what will happen when one of the devices gets disconnected (power off) in the middle of a data exchange
    Err... not likely to happen for the CD changer in real conditions. And for the HU, I can't remember having seen any "stop" command when the HU is turned off. That raises an interesting question : why doesn't the CD go on playing ? Permanent 12V is still there (you can eject the changer tray when HU is off) and no stop command. I see 2 possibilities :
    - "Remote out" pin (also called "Antenne+") gives the signal that HU is Off (it would be different than ACC then)
    - The CDC doesn't receive any acknowledges to its messages and concludes the HU is off.
    or when you change CD's.
    This was included in my first logs (2x eject/reinsert cycles, one letting the changer check everything before switching source to CDC, one trying to switch to CDC immediately, in which case it displays CD CHECK while it loads CDs in turn. Tell me if you meant something else.
    Perhaps this has to be tested so that a prog knows how to handle when connection restarts. This should be relatively easy to do, hook up the logging circuit and power down the CDC and after restart the HU and see what happens.
    You mean, what if the CD changer is powered on while head unit is already on ? The good question being if CD changer presence is checked on every HU boot or at regular interval. In the second case, it would mean having to power the HU OFF/ON once PC is booted up :-( - or going the PIC way as Mox first suggested.
    I think I'll try first to let my "spy pass-through" plugged into the HU only, without the CD changer connected, and see what comes from the HU (hopefully something like CristianC saw) then plug the CDC while HU is on (hope it won't fry anything) and see what happens.
    The only one thing we won't be able to do without a PIC is let the HU source on "CD changer" forever. On my current setup, it's the case: when I start the car in the morning, control wires make the HU think the CD changer will start playing, then during PC boot I hear nothing (no SPDIF signal) and once it's booted, music starts.
    [Well, actually, in my case, that will be possible as I intend to delay the relay switch until PC is booted up, so I'll listen to the CD changer while the PC boots and will then switch to PC output while emulator is ready :-)]

    reminds me that I still need to post the source for the Parser tool. (If you still think its necessary, it was rather quick and dirthy )
    :-)
    Let's make an example : I'll post the ugly MTTTY source tonight and you'll post the quick and dirty Parser source, so the shame will be shared :-)

    I think a have no objections to use Delphi as a programming tool . If someone has a particular reason not using Delphi, I could live with VC. But I have major objections in using any .Net descendant!
    I completely agree. I'm definitely not a .NET fan.
    BTW, which version of Delphi are you using ?
    Besides, our prog has to run on systems that are usually not loaded with heavy hardware and huge amounts of disk space so offer 20 or 30 megs of disk space just to install a framework to get a prog of 100k running is if you ask me a wast of disk space. You could add another 10 mp3's for that .
    I completely agree. For the same reason I refrain myself from using Java although I'd like to.

    I suggest that the first goal should be an 'extended' Connects2 dll. Something that connects with HU to enable the SPDIF input and translate HU commands into events. When using Asyncpro serial toolkit (=> Open Source = http://sourceforge.net/projects/tpapro/) for handling the serial communications I can have a dll like this ready before the end of next week.
    Excellent. This library looks promising indeed.
    Another thing could be a program that connects to the HU and emulates keystrokes (including Multimedia keys) on HU commands, translation between HU commands and keystrokes could be done by a simple text or XML file. When this file is blank or if it doesn't exist the program simply enables the SPDIF and nothing else.
    Strangely enough, I have the feeling your architecture is the mirror of mine :
    I thought of a standalone executable (service maybe) speaking to the HU, and optionally loading a DLL plugin to speak to a client app, while you propose a DLL to speak to the HU and an executable loading it to speak to the client.
    The advantages I see in the former is the 1-n relationship :
    - Executable with no plugin is sufficient to emulate the CDC
    - Executable with one plugin talks to a client app
    - Executable with multiple plugins talks to multiple apps either at the same time or separately (NEXT/PREV talk to Winamp, 1-2 talk to frontend to switch to Music/GPS screen. 3-4-5-6 talk to custom app to select by artist/genre/year

    Anyway, exe and dll are not fundamentally different, it's just a matter of point of view.

    What would be really cool would be to follow an already existing "client side standard" like the ATI one : we could then load any plugin they've already written and make the HU behave like a remote control for the PC. A simple mapping from HU keys to ATI keys would then suffice to control ACDSee, QuickTime, PowerDVD or WinTV, to only cite a few. Imagine presenting your PowerPoint slideshow to your colleagues in your car, flipping slides with your HU stalk controls ! Geeky, isn't it :-) :-)
    ATI's SDK user licence agreement explicitely says "Licensee may create the Extensions solely for use with the Remote Wonder™". But we won't be creating them and I don't see an article forbidding to use them for another purpose, or create a compatible "host application", as long as we don't "decompile, reverse engineer, disassemble or otherwise reduce the Software contained in the SDK to a human-perceivable form"...
    So I guess the use here would be perfectly legal.

    But IANAL, so if someone knows of an open-source equivalent, it would probably be safer

    Note that we can always do that later, defining our own simpler plugin interface first, and then write an "in between" plugin, loaded by our CDC emulator and loading in turn an ATI-compatible plug-in...

    We could contact frontend developers to integrate it, even if only the pause function works it would be a great thing to have, perhaps they are more interested in a dll.
    Once again, I'd prefer that our app communicates information to the front-end instead of the front-end loading our app. Not only does it need zero-effort from the frontend developers-apart from telling us what to send (keystrokes, WM_messages, network requests, whatever), but I also have the feeling it's cleaner on the long term (if we change versions, fix bugs, etc).

    Didn't you knew that ?
    This is going to sound hard to believe but I'm one of those lucky guys that owns a 'Update List' radio with AUX input and it works great. But as I mentioned before, that pause key was the one thing that made me decide to help in this project.
    Funny enough : we're 3 in here (you, Mox and I) that don't need this as we have an alternative solution (respectively AUX input, Connects2 and CD changer) :-) :-).

    Personally, what I'm missing most is NEXT/PREV. When I'm alone on the road in "full shuffle" mode and Winamp picks one of my daughter's favourite songs (7 years), you bet I'd like to have easy access to "NEXT" :-)

  5. #105
    Newbie
    Join Date
    Feb 2006
    Posts
    28
    Funny enough : we're 3 in here (you, Mox and I) that don't need this as we have an alternative solution (respectively AUX input, Connects2 and CD changer) :-) :-).
    Hi Guys,
    thanks everybody for all dump's, i'm working to develop everything in little interface with atmel and max233(232/202), i think my yampp project can be work fine (After the new code of course), i'm avaible for everythink you have need....

    Best Regards
    pep

  6. #106
    Constant Bitrate Putput's Avatar
    Join Date
    Sep 2005
    Location
    Belgium
    Posts
    181
    Quote Originally Posted by Vicne
    This was included in my first logs (2x eject/reinsert cycles, one letting the changer check everything before switching source to CDC, one trying to switch to CDC immediately, in which case it displays CD CHECK while it loads CDs in turn. Tell me if you meant something else.
    Sorry looked over it.

    Quote Originally Posted by Vicne
    You mean, what if the CD changer is powered on while head unit is already on ? The good question being if CD changer presence is checked on every HU boot or at regular interval. In the second case, it would mean having to power the HU OFF/ON once PC is booted up :-( - or going the PIC way as Mox first suggested.
    I think I'll try first to let my "spy pass-through" plugged into the HU only, without the CD changer connected, and see what comes from the HU (hopefully something like CristianC saw) then plug the CDC while HU is on (hope it won't fry anything) and see what happens.
    The only one thing we won't be able to do without a PIC is let the HU source on "CD changer" forever. On my current setup, it's the case: when I start the car in the morning, control wires make the HU think the CD changer will start playing, then during PC boot I hear nothing (no SPDIF signal) and once it's booted, music starts.
    [Well, actually, in my case, that will be possible as I intend to delay the relay switch until PC is booted up, so I'll listen to the CD changer while the PC boots and will then switch to PC output while emulator is ready :-)]
    Be carefull when plugging and unplugging something in a car, I blew up my first HU (fortunately I manged to get a new one in warranty) doing this. My carpc wasn't grounded when I pulled the plug and the AUX input sounded like a badly tuned radio receiver when I plugged it in again. Make sure everything is well grounded, including you. You can create a lot of static electricity when shuffeling around on a car seat.
    As far as I can tell from reading the logfiles the CDC starts the communication with a type 11h byte with data 60h 06h, then the HU responds with C5h and communication is started. This should mean that the CDC can initiate the start. Try disconnecting only the CDC ACC connection and when the HU is on reconnect it and see what happens. This should tell us if its possible to initiate comms after the HU is turned on. Only thing is, when this works, that the CDC will not be available at power up so you have to change the source each time at startup.


    Quote Originally Posted by Vicne
    :-)
    Let's make an example : I'll post the ugly MTTTY source tonight and you'll post the quick and dirty Parser source, so the shame will be shared :-)
    Ok

    Quote Originally Posted by Vicne
    Strangely enough, I have the feeling your architecture is the mirror of mine :
    I thought of ...
    Agreed.

    Quote Originally Posted by Vicne
    Funny enough : we're 3 in here (you, Mox and I) that don't need this as we have an alternative solution (respectively AUX input, Connects2 and CD changer) :-) :-).

    Personally, what I'm missing most is NEXT/PREV. When I'm alone on the road in "full shuffle" mode and Winamp picks one of my daughter's favourite songs (7 years), you bet I'd like to have easy access to "NEXT" :-)

    My son is 10 so his choice of music is a bit more exceptable to me, but I have to agree that controlling the carpc with the Renault installed pilot is a really cool thought and with a bit more effort its not just a thought any more.

  7. #107
    Constant Bitrate Putput's Avatar
    Join Date
    Sep 2005
    Location
    Belgium
    Posts
    181
    Quote Originally Posted by peppuz79
    Hi Guys,
    thanks everybody for all dump's, i'm working to develop everything in little interface with atmel and max233(232/202), i think my yampp project can be work fine (After the new code of course), i'm avaible for everythink you have need....

    Best Regards
    pep
    As long as you make everything public its ok, thats why we are using this forum instead of sending PM's.
    Otherwise we could try to 'pep the puzz' out of you when you try to compete with Connects2 to build a cheaper interface with our 'sleepless nights' efforts.

  8. #108
    Constant Bitrate
    Join Date
    Feb 2006
    Posts
    113
    Quote Originally Posted by Vicne
    I completely agree. I'm definitely not a .NET fan.
    BTW, which version of Delphi are you using ?
    May I suggest freepascal and lazarus?
    With the help of a cross platform serial port library (like synaser) the program can be completely cross platform.
    OTOH I really don't mind, once the protocol is known I can make my own program under Linux, and publish it of course
    (if and when I can find a cheap usb sound card with spdif output to connect to my laptop).

  9. #109
    Constant Bitrate
    Join Date
    Feb 2006
    Posts
    113
    Quote Originally Posted by Putput
    As long as you make everything public its ok, thats why we are using this forum instead of sending PM's.
    Otherwise we could try to 'pep the puzz' out of you when you try to compete with Connects2 to build a cheaper interface with our 'sleepless nights' efforts.
    Considering that he's releasing all his code under the GPL I don't see the problem.

  10. #110
    Newbie
    Join Date
    Feb 2006
    Posts
    28
    Quote Originally Posted by Putput
    As long as you make everything public its ok, thats why we are using this forum instead of sending PM's.
    of course

    Otherwise we could try to 'pep the puzz' out of you when you try to compete with Connects2 to build a cheaper interface with our 'sleepless nights' efforts. [/QUOTE]

    ehm sorry not 'pep the puzz' [italian translation= joseph that bad smell],
    but 'peppuz' [south south south italy traslation= joseph].

    Anyway when my son's sleep i can do something otherwise my 'sleepless nights' are different....


    best regards
    pep

    p.s. what happens when the cd charger is unplugged?what you sniff?

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •