Page 20 of 35 FirstFirst ... 10151617181920212223242530 ... LastLast
Results 286 to 300 of 511

Thread: Corvette CCM Reverse Engineering Anyone?

  1. #286
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    At this rate, all the work on getting the CCM to play nice with aftermarket computers will be for naught.
    i don't know about that.

    i think the work you're doing is on the same scale as the work i'm doing

    it serves no real purpose in the grand scheme of things, and you will succeed and excel and your product will be the best there is, at the cutting edge of its game, because there is no competition with this old junk anymore, everyone gave up, got bored, and moved on

    the two or three people that decide they want to shoehorn a totally inappropriate engine into their oddball mid 90s american fiberglass computerized 'muscle' car will really appreciate it

    it's a hobby, though, and one that would terrify ordinary people if you tried to explain it to them.

    that's really why i do what i do

    the terror

  2. #287
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    i have released the new version to play with.

    the DBG_C button in the advanced section writes the eeprom only if anyone wants to try that too.

  3. #288
    Fuel Injected!
    Join Date
    Jul 2019
    Location
    Orange, CA
    Posts
    757
    Quote Originally Posted by steveo View Post
    i have released the new version to play with.

    the DBG_C button in the advanced section writes the eeprom only if anyone wants to try that too.
    Went ahead and tried it out. Read out my PCM first just for giggles, that worked perfectly. Did DBG_C but it appears that routine doesn't actually have an exit coded in yet. It loads the program, does the writes, but then just sits there hammering the bus with F108 messages rather than rebooting the T-Side and E-Side and disconnecting. Log attached.

    Quote Originally Posted by steveo View Post
    i don't know about that.

    i think the work you're doing is on the same scale as the work i'm doing

    it serves no real purpose in the grand scheme of things, and you will succeed and excel and your product will be the best there is, at the cutting edge of its game, because there is no competition with this old junk anymore, everyone gave up, got bored, and moved on

    the two or three people that decide they want to shoehorn a totally inappropriate engine into their oddball mid 90s american fiberglass computerized 'muscle' car will really appreciate it

    it's a hobby, though, and one that would terrify ordinary people if you tried to explain it to them.

    that's really why i do what i do

    the terror
    Heh! I do it just because it's interesting, and because ever since I was a kid I couldn't stop tinkering with everything I owned. Plus I really hate when people tell me what something can or cannot do, especially when it's some company telling me I can't do it. To hell with that, it's my device/car/etc, I'll do what I want! Upside is I have a bunch of old equipment that continues kicking around. Downside is I'm surrounded by obsolete tech and can't stop myself from wasting time tinkering with all of it.

    EDIT: Also, I noticed while editing that BIN I just read that it appears the function to clear Automatic Transmission tables on a manual isn't quite complete. It did set almost everything to FF, but it missed the last few cells of 38AE Shift Time (sec) Vs. %TPS Vs. Shift, Performance, High Alt.
    Attached Files Attached Files
    Last edited by NomakeWan; 11-03-2021 at 08:54 AM.
    1990 Corvette (Manual)
    1994 Corvette (Automatic)
    1995 Corvette (Manual)

  4. #289
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    Quote Originally Posted by NomakeWan View Post
    Went ahead and tried it out. Read out my PCM first just for giggles, that worked perfectly. Did DBG_C but it appears that routine doesn't actually have an exit coded in yet. It loads the program, does the writes, but then just sits there hammering the bus with F108 messages rather than rebooting the T-Side and E-Side and disconnecting. Log attached.
    yeah you can press unload kernel if you wanted afterwards

    if the bin you've loaded is unchanged (except for the eeprom) just press flash write and it should take care of things

    one unresolved issue is we currently use the vin for the 'vehicle fingerprint' feature, but we're now automatically programming the vin from the loaded bin, so it would be pretty easy for a user trying different bins out to constantly and unknowingly change their fingerprint (which would just result in unnecessary reflashing)

    the onboard eeprom programming routine itself runs regardless of any bin compare, since it's nearly instant if no changes have occurred anyway.

  5. #290
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    EDIT: Also, I noticed while editing that BIN I just read that it appears the function to clear Automatic Transmission tables on a manual isn't quite complete. It did set almost everything to FF, but it missed the last few cells of 38AE Shift Time (sec) Vs. %TPS Vs. Shift, Performance, High Alt.
    actually i think you might have just uncovered an issue. might not want to use that new version to do a complete flash. i'll report back.

  6. #291
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    it turns out for some reason nobody has noticed that EE flashhack was clearing a totally incorrect region on the t-side (actually it's been clearing bytes in the ram area instead, due to a typo, which it doesn't write, so nothing was happening). the only reason you have FF bytes in that area are likely because you had been working with a bin that you had read back after those areas had been FF'd by eehack before.
    i'll fix that

    the region it's supposed to set to FF is offset 0x28A0 length 4150 bytes (this is from EEHack, but might be a bit conservative, which is why you had a few stray bytes at the end there)

  7. #292
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    i will start a new thread about this to stop polluting this one with non-CCM related stuff.
    edit: also pulled the new version till i fix a few more things

  8. #293
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    52
    Posts
    883
    Quote Originally Posted by steveo View Post
    spfautch please evaluate contents of write block @ 0xE80
    Sorry, been away and not getting email notifications again. Is this in the ccm ram or ??? My mind's run off on another tangent this morning.

    Quote Originally Posted by steveo View Post
    and thank you so much for showing me programming that eeprom was so easy and 'by the book'
    LOL, you're welcome but I'm attributing figuring that out to my own dumb luck. I was completely expecting to see the processor expel it's magic smoke when I first attempted writing an eeprom cell.

    Quote Originally Posted by steveo View Post
    it's a hobby, though, and one that would terrify ordinary people if you tried to explain it to them.
    That's an incredibly apt way to describe it. I like it. :-)

    Anyway, wanted to update that I think the black box logger looks like it will work as I had pictured. Was able to log my commute to serial console this morning. The instantaneous fuel consumption was extremely off, but average calculations and range were on par with normal. Just need to decipher the last ~50 bytes of the eedata message block and build a routine to write it to a file. There will be a ~1s hole in the datastream every 3.5s but I think that'll be tolerable.

    This may be common knowledge to Y body owners, but I discovered another function the 0x10 broadcast serves - telling the climate control whether to use celsius or fahrenheit units for the temp display. Though I feel it's sacrilege to have such a feature in 'Murica's sports car, I was highly amused by watching it change while logging PCM telemetry.

  9. #294

  10. #295
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    52
    Posts
    883
    The "hole" is where the controller wakes up the ccm and lets it have some broadcast time until it sends a heartbeat so it can be silenced again. It takes it's sweet time doing so, hence the size of the "hole". Here's the log from this morning in case anyone wants the broadcast data.

    I spent the afternoon reading datastream_packet.cpp, logfile.cpp and various other parts of eehack. The mode 4 command with all zeros as the payload sent after startup - is that just resetting any control bits to "default / auto"?

    The only funky thing I'll have to do is figure out how to rewrite the file at the end of the drivecycle with the number of packets in the header. I might also leave the vin and calid out and request all that stuff later since I really want to save startup data as soon as possible.

    Not sure if you've ever noticed, but in the .eedata files there are some garbage bytes being written after the checksums in your F4 frames. I thought it was important but it seems like it's just junk that happened to be in the read buffer perhaps. Nothing important enough to warrant looking at / fixing but it sent me looking for what it was used for.

    Edit: btw, the PCM and CCM seem to be ok with a 1ms gap between receive / transmit (granted there's additional delay caused by message post-processing). This also increases the acquisition rate a good bit. I might have to setup a high precision timer and a PID loop to tune this and get as much telemetry data as possible. The fact that the CCM is unyielding and makes the broadcast session so painfully slow for 5 sets of 3 broadcast messages (165 bytes total including checksums) makes me want to do the unthinkable and build a replacement for the CCM. But I've got way too many projects on my plate to be lured down that rabbit hole.
    Attached Files Attached Files

  11. #296
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    you should be able to trigger a ccm broadcast msg of your choice once you have become bus master. i have documentation of it. i will get you details and test the theory.

  12. #297
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    also the eedata format is dumb. i think its actually fixed column size to decrease parsing time. i could improve it but not going down that rabbit hole.

  13. #298
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    52
    Posts
    883
    Quote Originally Posted by steveo View Post
    you should be able to trigger a ccm broadcast msg of your choice once you have become bus master. i have documentation of it. i will get you details and test the theory.
    That would be the bee's knees for this side project.

    Don't sweat the eedata format. It's orders of magnitude better than I would have devised. It just threw me for a loop a bit. Is the 101 byte MAX_M1_DATA_SIZE to accommodate the speedlogging stuff?

  14. #299
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,002
    Is the 101 byte MAX_M1_DATA_SIZE to accommodate the speedlogging stuff?
    i don't remember.

    That would be the bee's knees for this side project.
    i can't make the thing work. mode 7 was supposed to be a request from the tester to the CCM to transmit a normal mode messsage. should need a byte to specify which normal mode message.

    i'll experiment more

  15. #300
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    52
    Posts
    883
    Ah, I completely overlooked that part of the datastream definition.

    I can mess with it - I wonder if you have to send a mode 9 first. Curious what the difference is between sending mode 9 and mode 0.

Similar Threads

  1. car bogs down when switching into reverse/D
    By CAMMED LT1 in forum GM EFI Systems
    Replies: 4
    Last Post: 09-27-2021, 12:34 AM
  2. 12212156 code reverse engineering project in Ghidra
    By dzidaV8 in forum OBDII Tuning
    Replies: 8
    Last Post: 01-13-2020, 11:04 AM
  3. Help!! 93 Lt1 6M Reverse lockout
    By noeysuarez in forum GM EFI Systems
    Replies: 3
    Last Post: 09-14-2017, 08:17 AM
  4. 4l60e reverse boost valve location and procedure
    By JTodd in forum Introductions
    Replies: 1
    Last Post: 04-19-2013, 01:20 AM
  5. T56 reverse lockout options with TBI PCM
    By CDeeZ in forum GM EFI Systems
    Replies: 1
    Last Post: 02-26-2013, 05:06 PM

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
  •