Android/Elm327 Pcm Flash App (LS Droid Read only released)
#81
Mostly off topic, but in the same vein...
There are 3 or 4 performance company selling their own tunes using the same hardware,and software. using a bluetooth obdII tool to write tunes to the mitsubishi ECU used in the latest arctic cat, and yamaha 4 stroke turbo snowmobiles.
You install the software on your pc, or lap top, and an app on your phone or tablet.
hook the device to the machine, it reads the ecu, gets the vin, ecu serial number, and a few other pieces of data.
This is then e-mailed to the company that does the tuning, along with the serial number of the "tool"
The tuning company then charges your credit card. You plug the "tool" into your laptop via usb, run their software, and download the tune or tunes into the "tool".
You go back to the machine, plug the tool back in, open the app in your phone, and flash the ecu.
Part of the reason I went through all this, is that you don't need to, or have to rely on the blue tooth signal while flashing. You can send the maps to the device via blue tooth, and once everything is received, and error checked, you can then flash the ecu.
info here:
http://www.gapinnovation.com/docs/Tu...glish%20TD.pdf
There are 3 or 4 performance company selling their own tunes using the same hardware,and software. using a bluetooth obdII tool to write tunes to the mitsubishi ECU used in the latest arctic cat, and yamaha 4 stroke turbo snowmobiles.
You install the software on your pc, or lap top, and an app on your phone or tablet.
hook the device to the machine, it reads the ecu, gets the vin, ecu serial number, and a few other pieces of data.
This is then e-mailed to the company that does the tuning, along with the serial number of the "tool"
The tuning company then charges your credit card. You plug the "tool" into your laptop via usb, run their software, and download the tune or tunes into the "tool".
You go back to the machine, plug the tool back in, open the app in your phone, and flash the ecu.
Part of the reason I went through all this, is that you don't need to, or have to rely on the blue tooth signal while flashing. You can send the maps to the device via blue tooth, and once everything is received, and error checked, you can then flash the ecu.
info here:
http://www.gapinnovation.com/docs/Tu...glish%20TD.pdf
#82
Restricted User
Personal opinion.... but being able to reflash the VIN number so you can tune the PCM without spending $100 in credits doesn't sound at all like piracy. Don't think of it as reflashing the VIN number. Think of simply opening a lock.
Having a company like HPTuners sell you hardware/software, and then charge you for each individual PCM that they have no right over sounds far more shady. That's like buying a Bluray player, and then the bluray player manufacturer wants you to pay it $5 to unlock every new disk you have to go buy.
Besides, for $400 you can buy Tech2 based hardware that will reflash the VIN for you so you can start tuning PCMs free of charge. I don't think I've ever heard anyone bashing on the Tech2.
Having a company like HPTuners sell you hardware/software, and then charge you for each individual PCM that they have no right over sounds far more shady. That's like buying a Bluray player, and then the bluray player manufacturer wants you to pay it $5 to unlock every new disk you have to go buy.
Besides, for $400 you can buy Tech2 based hardware that will reflash the VIN for you so you can start tuning PCMs free of charge. I don't think I've ever heard anyone bashing on the Tech2.
#83
TECH Junkie
Really, I see it as simply HPT or EFi Live selling you a key to a lock. If you think of this as a house key, then the PCM is the lock on the front door.
Seems like this app is just making it so that another PCM (say the backdoor of that same house) can use the same key. You haven't stolen a key from HPT or EFiLive. You didn't pirate anything. You just made their product, the key, more useful.
Now say you do an addition and want the side door to use the same key as the other doors on the house. Still haven't stolen a key from anyone. Just made it a more useful key.
That's how I see it. With that being said, if the OP wants a guinea pig for some real world testing, I have a couple nitrous cars with Proper HPT tunes done for and if I could switch from a street tune to a nitrous tune with just my phone while I'm driving to the track then racing, well that would be a godsend to not have to mess with my laptop each time. PM me if you're looking for a test person...I have a samsung S7 like you referenced in one of the early posts.
Seems like this app is just making it so that another PCM (say the backdoor of that same house) can use the same key. You haven't stolen a key from HPT or EFiLive. You didn't pirate anything. You just made their product, the key, more useful.
Now say you do an addition and want the side door to use the same key as the other doors on the house. Still haven't stolen a key from anyone. Just made it a more useful key.
That's how I see it. With that being said, if the OP wants a guinea pig for some real world testing, I have a couple nitrous cars with Proper HPT tunes done for and if I could switch from a street tune to a nitrous tune with just my phone while I'm driving to the track then racing, well that would be a godsend to not have to mess with my laptop each time. PM me if you're looking for a test person...I have a samsung S7 like you referenced in one of the early posts.
#84
Restricted User
Really, I see it as simply HPT or EFi Live selling you a key to a lock. If you think of this as a house key, then the PCM is the lock on the front door.
Seems like this app is just making it so that another PCM (say the backdoor of that same house) can use the same key. You haven't stolen a key from HPT or EFiLive. You didn't pirate anything. You just made their product, the key, more useful.
Now say you do an addition and want the side door to use the same key as the other doors on the house. Still haven't stolen a key from anyone. Just made it a more useful key.
That's how I see it. With that being said, if the OP wants a guinea pig for some real world testing, I have a couple nitrous cars with Proper HPT tunes done for and if I could switch from a street tune to a nitrous tune with just my phone while I'm driving to the track then racing, well that would be a godsend to not have to mess with my laptop each time. PM me if you're looking for a test person...I have a samsung S7 like you referenced in one of the early posts.
Seems like this app is just making it so that another PCM (say the backdoor of that same house) can use the same key. You haven't stolen a key from HPT or EFiLive. You didn't pirate anything. You just made their product, the key, more useful.
Now say you do an addition and want the side door to use the same key as the other doors on the house. Still haven't stolen a key from anyone. Just made it a more useful key.
That's how I see it. With that being said, if the OP wants a guinea pig for some real world testing, I have a couple nitrous cars with Proper HPT tunes done for and if I could switch from a street tune to a nitrous tune with just my phone while I'm driving to the track then racing, well that would be a godsend to not have to mess with my laptop each time. PM me if you're looking for a test person...I have a samsung S7 like you referenced in one of the early posts.
#85
TECH Enthusiast
Thread Starter
Started a total overhaul on the UI layout for the data logger. This isn't isn't even close to a complete pid list it's just the start of a cleaner layout.
I have been working on speeding up the logging rate when polling more then 20 data pids with out data collision on the bus. The maximum refresh rate that could be maintained didn't scale in a linear nature once you get past about 15 pids. It had nothing to do with the app writing data to the phones storage, that was the 1st thing I ruled out. It seem's to have more to do with the calculations required to convert the HEX response from each pid into something readable. If I excluded the formulas there was no impact on the refresh rate when adding more pids. It could be a limitation of the phone's CPU but that's also unlikely since an S7 and an S4 did this at almost the exact same speed. Not really sure what's causing it....
So I started looking for an alternative way to speed this up and I may have found one. Now I'm still working on sorting out a new set of data pids I've come across for mode 22 but with these pids I can speed up the refresh rate significantly. Rather then polling 1 data pid at a time( the way every app I have looked at does with these pcm's) and then parsing the data once all pids have been completed for that cycle.......I have found a method to poll 4 data pids simultaneously with a single response line as opposed to 1 response for each data pid polled. This lets me send/receive 4x the amount of pids I currently have tried using, for example if I'm logging 20 data pids I need to send 20 separate requests and parse 20 separate responses. With this new method I can do it with 5 requests and 5 response parses. Now talk about speeding something up......
I'll need to compare and validate the formals for each of these new pids before importing them into the apps coding but my preliminary testing with a bench pcm appears they should be. This would easily let me keep a 100ms refresh rate while reading more then 30 pids simultaneously.
I have been working on speeding up the logging rate when polling more then 20 data pids with out data collision on the bus. The maximum refresh rate that could be maintained didn't scale in a linear nature once you get past about 15 pids. It had nothing to do with the app writing data to the phones storage, that was the 1st thing I ruled out. It seem's to have more to do with the calculations required to convert the HEX response from each pid into something readable. If I excluded the formulas there was no impact on the refresh rate when adding more pids. It could be a limitation of the phone's CPU but that's also unlikely since an S7 and an S4 did this at almost the exact same speed. Not really sure what's causing it....
So I started looking for an alternative way to speed this up and I may have found one. Now I'm still working on sorting out a new set of data pids I've come across for mode 22 but with these pids I can speed up the refresh rate significantly. Rather then polling 1 data pid at a time( the way every app I have looked at does with these pcm's) and then parsing the data once all pids have been completed for that cycle.......I have found a method to poll 4 data pids simultaneously with a single response line as opposed to 1 response for each data pid polled. This lets me send/receive 4x the amount of pids I currently have tried using, for example if I'm logging 20 data pids I need to send 20 separate requests and parse 20 separate responses. With this new method I can do it with 5 requests and 5 response parses. Now talk about speeding something up......
I'll need to compare and validate the formals for each of these new pids before importing them into the apps coding but my preliminary testing with a bench pcm appears they should be. This would easily let me keep a 100ms refresh rate while reading more then 30 pids simultaneously.
#86
FormerVendor
iTrader: (1)
Join Date: Nov 2008
Location: Santa Ana, CA. USA
Posts: 2,157
Likes: 0
Received 17 Likes
on
17 Posts
Missfire Detection = Tooth Count
Hi Pete, my work is concerned with Crankshaft Acceleration.
I count the teeth on the TW , the interval x 12 measurements (58x each tooth), measuring the difference.
I use this information to correct for the Spark Instant/Fuel AFR.
What would be a word you would use to describe the GM term for that measurement ?
Good work, the Quad Pump Buss Art.
Lance
I count the teeth on the TW , the interval x 12 measurements (58x each tooth), measuring the difference.
I use this information to correct for the Spark Instant/Fuel AFR.
What would be a word you would use to describe the GM term for that measurement ?
Good work, the Quad Pump Buss Art.
Lance
#87
TECH Enthusiast
Thread Starter
Hi Pete, my work is concerned with Crankshaft Acceleration.
I count the teeth on the TW , the interval x 12 measurements (58x each tooth), measuring the difference.
I use this information to correct for the Spark Instant/Fuel AFR.
What would be a word you would use to describe the GM term for that measurement ?
Good work, the Quad Pump Buss Art.
Lance
I count the teeth on the TW , the interval x 12 measurements (58x each tooth), measuring the difference.
I use this information to correct for the Spark Instant/Fuel AFR.
What would be a word you would use to describe the GM term for that measurement ?
Good work, the Quad Pump Buss Art.
Lance
#88
TECH Veteran
iTrader: (1)
Hi Pete, my work is concerned with Crankshaft Acceleration.
I count the teeth on the TW , the interval x 12 measurements (58x each tooth), measuring the difference.
I use this information to correct for the Spark Instant/Fuel AFR.
What would be a word you would use to describe the GM term for that measurement ?
Good work, the Quad Pump Buss Art.
Lance
I count the teeth on the TW , the interval x 12 measurements (58x each tooth), measuring the difference.
I use this information to correct for the Spark Instant/Fuel AFR.
What would be a word you would use to describe the GM term for that measurement ?
Good work, the Quad Pump Buss Art.
Lance
#89
FormerVendor
iTrader: (1)
Join Date: Nov 2008
Location: Santa Ana, CA. USA
Posts: 2,157
Likes: 0
Received 17 Likes
on
17 Posts
Crankshaft Acceleration Measurement=OBD-II LAW
Hi Pete, I use different terms as does GM as do you.
The OBD-II Law concerns "miss-fire detection" Rules.
By LAW these objects are stored in Flash, thus they exist.
My guess is that some of the GM Techs would have that term ?
The 60-2 Patent Claims were described and the method able to measure the missing tooth area.
Thus when the crankshaft is "slowed", the missing tooth is seen EARLY ! (easy read)
My goal is to provide a Combustion Quality Report .app based on Crankshaft Acceleration/Ion Sensing.
Lance
The OBD-II Law concerns "miss-fire detection" Rules.
By LAW these objects are stored in Flash, thus they exist.
My guess is that some of the GM Techs would have that term ?
The 60-2 Patent Claims were described and the method able to measure the missing tooth area.
Thus when the crankshaft is "slowed", the missing tooth is seen EARLY ! (easy read)
My goal is to provide a Combustion Quality Report .app based on Crankshaft Acceleration/Ion Sensing.
Lance
#90
TECH Enthusiast
Thread Starter
Hi Pete, I use different terms as does GM as do you.
The OBD-II Law concerns "miss-fire detection" Rules.
By LAW these objects are stored in Flash, thus they exist.
My guess is that some of the GM Techs would have that term ?
The 60-2 Patent Claims were described and the method able to measure the missing tooth area.
Thus when the crankshaft is "slowed", the missing tooth is seen EARLY ! (easy read)
My goal is to provide a Combustion Quality Report .app based on Crankshaft Acceleration/Ion Sensing.
Lance
The OBD-II Law concerns "miss-fire detection" Rules.
By LAW these objects are stored in Flash, thus they exist.
My guess is that some of the GM Techs would have that term ?
The 60-2 Patent Claims were described and the method able to measure the missing tooth area.
Thus when the crankshaft is "slowed", the missing tooth is seen EARLY ! (easy read)
My goal is to provide a Combustion Quality Report .app based on Crankshaft Acceleration/Ion Sensing.
Lance
PID ID's
Time between crank pulses as read by the crank sensor: 2212F501
Duration of previous reference pulse: 22130E01
Low > High cam signal pulse: 22132C01
High>Low cam signal pulse: 22132B01
Cam retard: 22130101
Cylinder crankshaft reference time: 22130F01
24x count RPM: 22125501
Lance, based on our chat tonight I would assume that with these pids crankshaft acceleration speed can in fact be measured. I have tested all of the above pids on a 0411 intel chipped pcm and these are valid pids. I'll do some digging on these pids for formulas when I get some spare time.
#91
Registered User
Join Date: Jan 2018
Location: COLUMBUS, OHIO
Posts: 3
Likes: 0
Received 0 Likes
on
0 Posts
Probably due to never ending bugs in the Facebook app, I too realize the computing power of modern android phones. I have ran windows xp as a virtual machine in phones as old as a galaxy s3 back in 2013. Read write speeds and even over clocking of cpu and gpu of amazing numbers can be achieved especially once you achieve root (SU) priveleges. I am serioisly interested in where this goes. Definitely subscribing to this one! Good luck!
#92
TECH Enthusiast
Thread Starter
Not directly related to this thread so I'll just link this. Some parts I've been waiting on came in so I've been working on another project for the last couple of days. It's a data-data bus conversion module, it's use if converting the data feed from one type of pcm to something else. The idea is have a cluster that's driven off the data bus being feed by a pcm that normally couldn't run the cluster. For example use a CAN pcm on a J1850VPW cluster with out any extensive wiring of factory parts being used. Or in my case use a CAN cluster with a pre LS pcm.
I think a 2010 Escalade cluster(fully working) in a 98 Tahoe would be pretty pimp
https://ls1tech.com/forums/conversio...f-concept.html
I think a 2010 Escalade cluster(fully working) in a 98 Tahoe would be pretty pimp
https://ls1tech.com/forums/conversio...f-concept.html
#93
I just want to say that free tools to upload and download PCM firmware would be fantastic. Not because that in itself is especially useful, but because that opens the door to reverse-engineering the firmware, which in turn leads to tuning with free tools (e.g. RomRaider, EcuFlash), and adding new features to stock PCMs. The Subaru WRX/STI/Legacy and Mitsubishi Evo communities have had these things for years. I don't think the naysayers at the beginning of this thread know what they're missing.
#94
TECH Enthusiast
Thread Starter
I just want to say that free tools to upload and download PCM firmware would be fantastic. Not because that in itself is especially useful, but because that opens the door to reverse-engineering the firmware, which in turn leads to tuning with free tools (e.g. RomRaider, EcuFlash), and adding new features to stock PCMs. The Subaru WRX/STI/Legacy and Mitsubishi Evo communities have had these things for years. I don't think the naysayers at the beginning of this thread know what they're missing.
What makes this different than what others have come up with over the years?
1) Cost, all methods are being done with total cost in mind. A software solution that requires a $300 piece of hardware isn't much better then what's currently avaible. So.... new hardware methods are being developed.
2) Software limitations..... programs already exist that have read and written the 411 pcm(but hardware is costly). There needs to be a wider scope on what pcm's it can cover to have any real appeal. Current methods being worked on are aiming to include all LS1B pcm's(99-07)
3)Once this is up and running it's not going to end up in a closest somewhere, it's going to end up in the hands of those with the knowledge to use it so that it's not limited to a single person. There have been a couple of people over the years that have created the hardware and software from the ground up that could read and flash for dirt cheap......and where did that information end up? Rather then being able to build off past knowledge every time someone has started down this road they have to start from square one. While details may not become public knowledge there will be enough people that know what was done so the work doesn't die this time.
As others have pointed out.....what good is read/flashing with no way to actually alter the bin file. Well we're in luck and people always seem to forget we have Tuner Pro. A couple people have proven that it's quite capable of doing every thing that commercial tuning suites have done with a UI that's not unbearable to work with. There are some amazing definition files for the 0411 pcm, we just need more. The next hurdle will be getting QUALITY XDF files created. I personally have no experience with XDF creation.....but I'm sure there are people out there that will get on board once this is further along that can create QUALITY XDF files.
An opensource/low cost tuning solution is with in reach.......
#95
Does anyone know what CPUs are in the PCMs we're talking about?
Maybe I'm getting ahead of myself here but I'm curious as to whether IDA Pro will be able to disassemble the firmware.
Maybe I'm getting ahead of myself here but I'm curious as to whether IDA Pro will be able to disassemble the firmware.
#96
TECH Enthusiast
Thread Starter
1mb - Amd 29F800
Don't ask me for the subset numbers....there are pics on google you can find that give exact numbers on the chips.
If you want raw data the way it's read out of the chip in a programmer I have a couple of dumps from the 512K pcm's.
#97
Thanks, a dump would also be great, so I'll PM you about that.
But those are memory chips, and I'm really more interested in what the CPU is - the processor that runs the code that's stored on the memory chip.
We can probably identify a some of the tuning tables by just looking at the data from the memory chip, but reverse-engineering the code would help us understand a lot more of it. And without knowing what the CPU is there's no way to add new features.
Also, if we can identify the CPU, and get the data sheet for it, there's a chance we can figure out how to talk to it directly through the OBD2 port. The guy who created the upload/download tools used by the open-source Subaru tuning community used that approach, with great results. I don't think I'm in the same league he is, but I still want to give it a try.
But those are memory chips, and I'm really more interested in what the CPU is - the processor that runs the code that's stored on the memory chip.
We can probably identify a some of the tuning tables by just looking at the data from the memory chip, but reverse-engineering the code would help us understand a lot more of it. And without knowing what the CPU is there's no way to add new features.
Also, if we can identify the CPU, and get the data sheet for it, there's a chance we can figure out how to talk to it directly through the OBD2 port. The guy who created the upload/download tools used by the open-source Subaru tuning community used that approach, with great results. I don't think I'm in the same league he is, but I still want to give it a try.
#98
Restricted User
Having the data logs saved in a tab delimited text file would make the datalogs viewable in MegaLogViewer, which would be GREAT. I have an arduino that datalogs through the OBD-II port pulling out about a dozen PIDs and saving them on a txt file on an SD card. The project originally started as a LCD gauge cluster and evolved into some other things now.
I'm very interested in this project. Its funny you mention the subaru and evo guys, because they've been able to hack/mod their PCMs to allow them to do 2-step, 3-step, antilag and other various methods of launch control, boost control, wideband reading, etc. They are years ahead of us and there are probably close to 1000x the amount of our PCMs out there between the V6 and V8s across the entire GM lineup for 2 decades.
Of course, I really like the VIN change feature so I don't have to repay everytime I brick a PCM (which is often).
I'm very interested in this project. Its funny you mention the subaru and evo guys, because they've been able to hack/mod their PCMs to allow them to do 2-step, 3-step, antilag and other various methods of launch control, boost control, wideband reading, etc. They are years ahead of us and there are probably close to 1000x the amount of our PCMs out there between the V6 and V8s across the entire GM lineup for 2 decades.
Of course, I really like the VIN change feature so I don't have to repay everytime I brick a PCM (which is often).
#99
TECH Enthusiast
Thread Starter
Thanks, a dump would also be great, so I'll PM you about that.
But those are memory chips, and I'm really more interested in what the CPU is - the processor that runs the code that's stored on the memory chip.
We can probably identify a some of the tuning tables by just looking at the data from the memory chip, but reverse-engineering the code would help us understand a lot more of it. And without knowing what the CPU is there's no way to add new features.
Also, if we can identify the CPU, and get the data sheet for it, there's a chance we can figure out how to talk to it directly through the OBD2 port. The guy who created the upload/download tools used by the open-source Subaru tuning community used that approach, with great results. I don't think I'm in the same league he is, but I still want to give it a try.
But those are memory chips, and I'm really more interested in what the CPU is - the processor that runs the code that's stored on the memory chip.
We can probably identify a some of the tuning tables by just looking at the data from the memory chip, but reverse-engineering the code would help us understand a lot more of it. And without knowing what the CPU is there's no way to add new features.
Also, if we can identify the CPU, and get the data sheet for it, there's a chance we can figure out how to talk to it directly through the OBD2 port. The guy who created the upload/download tools used by the open-source Subaru tuning community used that approach, with great results. I don't think I'm in the same league he is, but I still want to give it a try.
I agree that it's sad these pcm's are still not open source tunable......could have been done years ago but every time someone made a breakthrough they lost interest or life got in the way and they forgot about the project. I'm doing every thing I can to make sure that doesn't happen this time and get as many able bodies on board as possible.
#100
Thanks for the pic! The 68332 chip is the one that I needed to know. There's ample documentation about it, here's a couple things that came up quickly:
http://cache.freescale.com/files/mic...331_332TUT.pdf
http://cache.freescale.com/files/mic.../MC68332TS.pdf
And there's even a thread at HPTuners about how to dissassemble it:
https://www.hptuners.com/forum/showt...p-in-their-PCM
So I now have one of the files you sent opened up in IDA with a bunch of it disassembled.
I gotta say, it's pretty cool that the guy from HPT is helping people with reverse engineering. In the Subaru universe, the people making the commercial products don't talk much with the hobbyists doing reverse engineering. That makes HPT's products twice as interesting to me.
http://cache.freescale.com/files/mic...331_332TUT.pdf
http://cache.freescale.com/files/mic.../MC68332TS.pdf
And there's even a thread at HPTuners about how to dissassemble it:
https://www.hptuners.com/forum/showt...p-in-their-PCM
So I now have one of the files you sent opened up in IDA with a bunch of it disassembled.
I gotta say, it's pretty cool that the guy from HPT is helping people with reverse engineering. In the Subaru universe, the people making the commercial products don't talk much with the hobbyists doing reverse engineering. That makes HPT's products twice as interesting to me.