DIY PROM Do It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.

wbo2 closed loop?

Thread Tools
 
Search this Thread
 
Old 07-14-2006, 08:51 PM
  #1  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
wbo2 closed loop?

I just recieved my lc-1 wideband kit. I have the hacked bin to use with the 6e (DIY-EFI) and was wondering one last thing which I cannot seem to find posted anywhere.

Is their a more permanent way to use a WBo2 rather than for pure datalogging? Using it like a zirconia style narrowband using the MAP(2) port of the 1227165 ECM and reporting the values to the ECM much like a newer car would with a factory installed WBo2(or as like Honda likes to call them: AFR sesnors)?

Last edited by Dirtbik3r; 07-17-2006 at 10:25 PM.
Old 07-15-2006, 06:49 AM
  #2  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally Posted by Dirtbik3r
I just recieved my lc-1 wideband kit. I have the hacked bin to use with the 6e (DIY-EFI) and was wondering one last thing which I cannot seem to find posted anywhere.

Is their a more permanent way to use a WBo2 rather than for pure datalogging? Using it like a zirconia style narrowband using the TPS(2) port of the 1227165 ECM and reporting the values to the ECM much like a newer car would with a factory installed WBo2(or as like Honda likes to call them: AFR sesnors)?
Invert the 0-5v output of the WB, and change that to a 0-1v output. Then modify the code as needed to run variable AFRs (to actually benefit from the above work).
Old 07-15-2006, 09:40 AM
  #3  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Do you think there are any benefits to doing this?

I'de rather use my existing o2 bung, throw away the zirconia sensor, and use the wbo2 full time. How would I go about changing the output and would it hinder the accuracy? Would I need to change it back to the 0-5v output when datalogging? Do you have any info I can read about variable AFR's? It seems there's a lot to learn with these wbo2's... Thank you for the help so far Grumpy.

Last edited by Dirtbik3r; 07-15-2006 at 10:24 AM.
Old 07-15-2006, 12:51 PM
  #4  
Member
 
ty1295's Avatar
 
Join Date: Nov 2004
Posts: 126
Likes: 0
Received 0 Likes on 0 Posts
I know the innovate sensors have 2 outputs you can use. You can then define 1 to simulate stock. Only issue then is your stuck to 14.7 for the stock logic.

We do have CL WB control going for the $58 code via a desired AFR table. So far it is working good for how far along we are.
Old 07-15-2006, 04:13 PM
  #5  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Anything out for the 6E code yet?

14.7 is only for the catalyutic converter and isn't the "best" afr. Couldn't you change th logic in the computer to maybe run at another afr? After reading the lc-1 manual, it says output 1 is to use the sensor for narrowband while output 2 is for datlogging. But how am I changing these scales and output values????
Old 07-15-2006, 09:57 PM
  #6  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally Posted by Dirtbik3r
Do you think there are any benefits to doing this?

I'de rather use my existing o2 bung, throw away the zirconia sensor, and use the wbo2 full time. How would I go about changing the output and would it hinder the accuracy? Would I need to change it back to the 0-5v output when datalogging? Do you have any info I can read about variable AFR's? It seems there's a lot to learn with these wbo2's... Thank you for the help so far Grumpy.
Yes, it gets you away from being locked into just running 14.7:1 AFRs.

A simple voltage divider, ie 2 resistors.

Yep, proper tuning means a steep learning curve.
----------
Originally Posted by ty1295
I know the innovate sensors have 2 outputs you can use. You can then define 1 to simulate stock. Only issue then is your stuck to 14.7 for the stock logic.
The NB output might be generated by just using two comparitive Op-Amps, and not be accurate as far as X voltage meaning a given AFR....

Last edited by Grumpy; 07-15-2006 at 09:59 PM. Reason: Automerged Doublepost
Old 07-16-2006, 03:49 PM
  #7  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Where should I begin in Tunerpro RT? How do i create a lookup table and/or change the narrowband voltage output? Are you suggesting to put resistors in series with the NB output to the ecm? If so, the resistor size and an explanation of why 2 must be used instead of 1 would be a big help.

I hear using the hacked APYP bin I linked above wouldn't work because the lc-1 is linear. If so, how do I change this in tunerpro?
Old 07-16-2006, 05:24 PM
  #8  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Basically, anyone have a volts-to-AFR conversion table for the lc-1? ...And how explain how I would work that in to tunerpro?
Old 07-16-2006, 07:49 PM
  #9  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,432
Likes: 0
Received 225 Likes on 211 Posts
Car: check
Engine: check
Transmission: check
The LC-1 volts to AFR is programmable. I believe, but can not say for sure, that from the factory it is 1-2 volts for 10 to 20 to 1 AFR. The NB output is also programmable. Hit up the Innovate website for the instruction manual. It shows how to check/change the output voltage vs. AFR values.

RBob.
Old 07-16-2006, 08:24 PM
  #10  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Originally Posted by RBob
The LC-1 volts to AFR is programmable. I believe, but can not say for sure, that from the factory it is 1-2 volts for 10 to 20 to 1 AFR. The NB output is also programmable. Hit up the Innovate website for the instruction manual. It shows how to check/change the output voltage vs. AFR values.

RBob.
Yes. the lc-1 is programmable. You have an analog output table verses lambda(or afr, you can choose) when hooking up your laptop to it. You can do this for both analog outputs. Innovative's manuals tell how to change them, but not how to curve them to your needs. If I don't know what the diy-wb curve looks like, how can I use the formula to generate a different curve?

So far, I know the 2nd factory output's table which is lambda vs voltage. If I can just get my hands on the diy-wb lambda vs voltage table, there should be a way to incorporate it into the lc-1.


Their manual also states output one is made to simulate a typical narrowband o2 sensor. So this wire is getting plugged into the stock narrow band o2 pin on the ecm. The second output is programmed from 0-5v. Which is an AFR of 7.35 to 22.39 respectively. So I'm guessing I do not have to modify output 1's table.

Last edited by Dirtbik3r; 07-16-2006 at 08:34 PM.
Old 07-16-2006, 10:00 PM
  #11  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,432
Likes: 0
Received 225 Likes on 211 Posts
Car: check
Engine: check
Transmission: check
DIY-WB output:

https://www.thirdgen.org/forums/diy-...-volts-vs.html

No sure that the LC-1 will do a non-linear output. Inverting the DIY-WB AFR values produces a linear FAR.

RBob.
Old 07-17-2006, 12:13 AM
  #12  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
One of the WBO2 patches for the $58 or $8D (can't remember) floating around has the equation info for about 5 WBO2 controllers. I think some people post over at Moates' site. I would check over there for WBO2 patches and I bet you find the text file that has the equations.
Old 07-17-2006, 11:32 AM
  #13  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
If I'm reading this right, you want to try and control using your LC-1.If that is the case, (and Grumpy is right about the NB output not being the best to use) my "theory" is the same to use the WB output set at 0-1 volt to match the workings of the stock sensor. Rich is higher voltage IIRC.(Don't know why the inversion ?)Then connect that where the stock sensor used to be.From there you would modify the O2 tables in your bin to now operate at different voltage levels. That will shift the AFR and work in the regions where the stock sensor is inaccurate.The voltages will now be what you have scaled the LC-1 to use as equivelent AFR and will depend on that as to what settings to use. Unless you are working directly with the code, that would be the only way to run with different AFRs in closed loop. You would still be logging the WB on the stock o2 sensor channel so you won't have to swap back and forth.I was toying with this idea myself but haven't gotten to a point where I could do it. Wanted to try NB output at first to see if it does work ok.One of these days...
Old 07-17-2006, 01:48 PM
  #14  
Member

 
skwayb's Avatar
 
Join Date: Jun 2004
Posts: 157
Likes: 0
Received 0 Likes on 0 Posts
Car: 93 GMC Typhoon
Engine: 4.3L V6 Turbo Charged
Transmission: 4L80e
Here is a good thread to reprogram a LM-1 (you can use the same proceedure for the LC-1).


SyTy/SGT - Forums - New Linear patches released

The formula works out to be Volts*2 + 10
Old 07-17-2006, 02:45 PM
  #15  
TGO Supporter

iTrader: (1)
 
Ronny's Avatar
 
Join Date: Mar 2003
Location: wisconsin
Posts: 6,879
Likes: 0
Received 3 Likes on 3 Posts
http://www.innovatemotorsports.com/s...LM1_Manual.pdf

check out page 17. "connecting the LM1 to simulate a N02 sensor".
Old 07-17-2006, 10:10 PM
  #16  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Originally Posted by RBob
DIY-WB output:

https://www.thirdgen.org/forums/diy-...-volts-vs.html

No sure that the LC-1 will do a non-linear output. Inverting the DIY-WB AFR values produces a linear FAR.

RBob.
Can you go into this in more depth?

Here is the curve. 6th degree polynomial fits the best. Chek the attached thumbnail. Voltage verses AFR is the same curve as Voltage verses Lambda so I only graphed one.

DIY WB Vout for Gasoline

RR July 2001
Lambda values by MR

Vout: Lambda: AFR: FAR:

1.40 0.685 10.08 0.099
1.45 0.695 10.23 0.098
1.50 0.706 10.38 0.096
1.55 0.716 10.53 0.095
1.60 0.727 10.69 0.094
1.65 0.738 10.86 0.092
1.70 0.750 11.03 0.091
1.75 0.761 11.20 0.089
1.80 0.774 11.38 0.088
1.85 0.787 11.57 0.086
1.90 0.800 11.76 0.085
1.95 0.813 11.96 0.084
2.00 0.827 12.17 0.082
2.05 0.842 12.38 0.081
2.10 0.857 12.60 0.079
2.15 0.872 12.83 0.078
2.20 0.889 13.07 0.077
2.25 0.905 13.31 0.075
2.30 0.923 13.57 0.074
2.35 0.941 13.84 0.072
2.40 0.959 14.11 0.071
2.45 0.979 14.40 0.069
2.50 1.00 14.70 0.068 *
2.55 1.037 15.25 0.066
2.60 1.077 15.84 0.063
2.65 1.121 16.48 0.061
2.70 1.168 17.18 0.058
2.75 1.219 17.93 0.056
2.80 1.276 18.76 0.053
2.85 1.337 19.66 0.051
2.90 1.405 20.66 0.048
. .
. .
. .
4.00 Free Air
Attached Thumbnails wbo2 closed loop?-afr-diywb.jpg  

Last edited by Dirtbik3r; 07-17-2006 at 10:22 PM.
Old 07-17-2006, 10:18 PM
  #17  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Originally Posted by JP86SS
If I'm reading this right, you want to try and control using your LC-1.If that is the case, (and Grumpy is right about the NB output not being the best to use) my "theory" is the same to use the WB output set at 0-1 volt to match the workings of the stock sensor. Rich is higher voltage IIRC.(Don't know why the inversion ?)Then connect that where the stock sensor used to be.From there you would modify the O2 tables in your bin to now operate at different voltage levels. That will shift the AFR and work in the regions where the stock sensor is inaccurate.The voltages will now be what you have scaled the LC-1 to use as equivelent AFR and will depend on that as to what settings to use. Unless you are working directly with the code, that would be the only way to run with different AFRs in closed loop. You would still be logging the WB on the stock o2 sensor channel so you won't have to swap back and forth.I was toying with this idea myself but haven't gotten to a point where I could do it. Wanted to try NB output at first to see if it does work ok.One of these days...
I'm pretty sure that using such a small scale would hinder the wbo2's accuracy.

Originally Posted by Ronny
Universal Digital Tuning Products and Tuning Tools from Innovate Motorsports

check out page 17. "connecting the LM1 to simulate a N02 sensor".
That is exactly what I did today. I finally got around to the wide band install. I hooked up analog output 1 to pin d7, output 2 to pin d8. (1227165 ecm) I then grounded the heater to the chassis. I grounded the calibration led/switch, and both analog output grounds to the engine block through the o2 ground out on the ecm(Forget the pin, will look it up later). Heater power is from a spade terminal I made up coming from the fuse block. I hooked up tunerpro after the car entered closed loop and the o2 is simulated quite well. The car actually idles better. Cross counts remain pretty constant. But, voltage seemed to go from 100mv to 1013mv from idle to a pumping rev.

I want to start datalogging from output 2 tomorrow. But I still need this conversion stuff sorted out. I'm lost...

Thankyou for the help and input so far everyone.


*EDIT*

It just dawned on me...

That above graph is what I should make my lc-1 output look like. Stupid me. Am I right? SO If I recalibrate the sensor, I'm set to use the diy-wb bin.

Last edited by Dirtbik3r; 07-17-2006 at 10:33 PM.
Old 07-18-2006, 10:06 AM
  #18  
Member

 
skwayb's Avatar
 
Join Date: Jun 2004
Posts: 157
Likes: 0
Received 0 Likes on 0 Posts
Car: 93 GMC Typhoon
Engine: 4.3L V6 Turbo Charged
Transmission: 4L80e
Originally Posted by RBob
DIY-WB output:

https://www.thirdgen.org/forums/diy-...-volts-vs.html

No sure that the LC-1 will do a non-linear output. Inverting the DIY-WB AFR values produces a linear FAR.

RBob.
I double checked the LC-1 manual and they say it can do linear output

Originally Posted by LC-1 Manual


The LC-1's analog output 2 is factory programmed to provide a


linear output between 0V and 5V for an AFR of 7.35 to 22.39. Any other linear output range between 0 and 5V can be programmed. See chapter 6.5: Programming the analog outputs for details.


So that is good to know.
Old 07-18-2006, 04:00 PM
  #19  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
*EDITED*

Last edited by Dirtbik3r; 07-18-2006 at 06:55 PM.
Old 07-18-2006, 06:58 PM
  #20  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Using the LM Programmer which was bundled with the lc-1 software, You can change the voltage verses lambda values. But, you can only change the high and lowest point creating a LINEAR plot. Basically, your just changing the range. So... I'm back to square one... Not one spot on the diy-wb curve is linear. It is time to search for other options. I feel as if I'm beating a dead horse.
Old 07-18-2006, 11:39 PM
  #21  
Member
 
1981TTA's Avatar
 
Join Date: May 2004
Location: SE Michigan
Posts: 289
Likes: 0
Received 0 Likes on 0 Posts
Car: 81 Turbo Trans Am
Engine: 301 T
Transmission: 200-4R
Are you confused on how to *datalog* the WB sensor in Tunerpro? Or, is it that you can't use the WB sensor for closed loop operation? If the former, there are ways you can use Tunerpro to convert the 0-255 ECM value to AFR in the Tunerpro application itself. If the latter, you'll have to make some code changes to support the closed loop operation.
Old 07-19-2006, 10:14 AM
  #22  
Member

 
skwayb's Avatar
 
Join Date: Jun 2004
Posts: 157
Likes: 0
Received 0 Likes on 0 Posts
Car: 93 GMC Typhoon
Engine: 4.3L V6 Turbo Charged
Transmission: 4L80e
Originally Posted by Dirtbik3r
Using the LM Programmer which was bundled with the lc-1 software, You can change the voltage verses lambda values. But, you can only change the high and lowest point creating a LINEAR plot. Basically, your just changing the range. So... I'm back to square one... Not one spot on the diy-wb curve is linear. It is time to search for other options. I feel as if I'm beating a dead horse.
Dirtbik3r just follow these instructions. It will walk you through programming the LC-1(instructions are for the LM-1 but they are the same either way)


SyTy/SGT - Forums - New Linear patches released - Has instructions on how to program in it.

Here is a picture of the setup.



Basically you put in 10 AFR for the 0 Volts and 20 AFR for the 5 Volts. Makes the formula linear and matches this formula Volts*2+10.

Hopefully that helps.

If the patch in your bin doesn't match that formula (or there isn't one), you could add a table to your XDF that is at the address of the DIY Table and then go in and change the Volts to AFR conversion. Then you could get it to work.

Last edited by skwayb; 07-19-2006 at 10:21 AM.
Old 07-19-2006, 11:24 AM
  #23  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
The basic problem you have is the "patch" reads the DIY-WB curve and not the linear output of the LC-1.
Remove the patch and do it another way.
You can log by using one of the inputs for either Ignition volts, or the Fuel pump volts. Both of these are output in the datastream.
Making an external lookup table in TP for the AFR value Vs counts.
That will work for logging.
Just be sure there is no injector compensation lookup using the one you will be feeding the WB signal to.
This exists in $8D to select battery volts or FP volts.

Inputting the Signal on a 0-5 volt scale (7.35-22.39 AFR = 0-5 V) standard setting would be (8 bit) factor mult by 0.05898039 +7.35 offset.
Old 07-19-2006, 04:23 PM
  #24  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Originally Posted by JP86SS
The basic problem you have is the "patch" reads the DIY-WB curve and not the linear output of the LC-1.
Remove the patch and do it another way.
You can log by using one of the inputs for either Ignition volts, or the Fuel pump volts. Both of these are output in the datastream.
Making an external lookup table in TP for the AFR value Vs counts.
That will work for logging.
Just be sure there is no injector compensation lookup using the one you will be feeding the WB signal to.
This exists in $8D to select battery volts or FP volts.

Inputting the Signal on a 0-5 volt scale (7.35-22.39 AFR = 0-5 V) standard
You can't use battery or fuel pump volts, Injector Pulse Width Correction vs. Battery Voltage is in the way of doing this with 6e.

Originally Posted by skwayb
Dirtbik3r just follow these instructions. It will walk you through programming the LC-1(instructions are for the LM-1 but they are the same either way)


SyTy/SGT - Forums - New Linear patches released - Has instructions on how to program in it.

Here is a picture of the setup.



Basically you put in 10 AFR for the 0 Volts and 20 AFR for the 5 Volts. Makes the formula linear and matches this formula Volts*2+10.

Hopefully that helps.

If the patch in your bin doesn't match that formula (or there isn't one), you could add a table to your XDF that is at the address of the DIY Table and then go in and change the Volts to AFR conversion. Then you could get it to work.
Look at the difference between the slope of the diy wb and the slope of what you posted.


skwayb's slope= .5003
Diy WB slope= .2822
Percent difference= 18%


(And that is if you only want to read from 10.08:1 to 14.7:1 - I deleted the more curvy part of the diy wb data, scroll up and you will see what i mean.)

This is what I propose to do:

Use what is close to linear in the diy-wb curve:

1.40 0.685 10.08 0.099
1.45 0.695 10.23 0.098
1.50 0.706 10.38 0.096
1.55 0.716 10.53 0.095
1.60 0.727 10.69 0.094
1.65 0.738 10.86 0.092
1.70 0.750 11.03 0.091
1.75 0.761 11.20 0.089
1.80 0.774 11.38 0.088
1.85 0.787 11.57 0.086
1.90 0.800 11.76 0.085
1.95 0.813 11.96 0.084
2.00 0.827 12.17 0.082
2.05 0.842 12.38 0.081
2.10 0.857 12.60 0.079
2.15 0.872 12.83 0.078
2.20 0.889 13.07 0.077
2.25 0.905 13.31 0.075
2.30 0.923 13.57 0.074
2.35 0.941 13.84 0.072
2.40 0.959 14.11 0.071
2.45 0.979 14.40 0.069
2.50 1.00 14.70 0.068

than using the Lm programmer, use 1.45v @ 10.00 AFR and 2.57v @ 14.70 AFR This slope is using the equation of the trandline which closely fits the data. R squared = .9898

I know this is useless for anything leaner than stoich, but at least now I could attempt to tune wot. What do you think? I WISH THERE WAS A BETTER WAY!

Also, what do you mean about the table in TP and xdf? I do not know where the curve is inside tp.

Originally Posted by 1981TTA
Are you confused on how to *datalog* the WB sensor in Tunerpro? Or, is it that you can't use the WB sensor for closed loop operation? If the former, there are ways you can use Tunerpro to convert the 0-255 ECM value to AFR in the Tunerpro application itself. If the latter, you'll have to make some code changes to support the closed loop operation.
-datalog

Last edited by Dirtbik3r; 07-19-2006 at 05:10 PM.
Old 07-19-2006, 06:00 PM
  #25  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Originally Posted by Dirtbik3r
You can't use battery or fuel pump volts, Injector Pulse Width Correction vs. Battery Voltage is in the way of doing this with 6e.
I didn't think they were both used for that. $8D is one or the other by selection.
Also, what do you mean about the table in TP and xdf? I do not know where the curve is inside tp.
What was meant by that is you "could" make a comparative table that would lookup "point for point" the AFR as the patch is outputting.
Lots of work.

The DIY curve is looking for a voltage to find the AFR by an "internal" table of counts to AFR, by taking that AFR table in the bin and editing in numbers from 1 to whatever the number of table entries is to represent "counts" up to 255. You could use a simple calculation (posted above) to display the WB.
That is IF the patch is only doing a lookup directly as I described. Any aditional math would kill that prospect.
Its those values you need to change if your sensor can not duplicate the curve. You can get close like you stated above but it just won't be exactly right.
Since you cannot make new code and assemble it to make the change, editing is the only was I see to do it while retaining the functionality of reading the channel.

I can't believe nobody has a two point WB read for the 165 ???
Old 07-19-2006, 06:12 PM
  #26  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Originally Posted by JP86SS
What was meant by that is you "could" make a comparative table that would lookup "point for point" the AFR as the patch is outputting.
Lots of work.
I had no idea lookup tables existed in TP. More info on how to access them and to check if that is what this hack did? Or, if someone is feeling up to it:
DIY-EFI WB datalogging Project

Originally Posted by JP86SS
I can't believe nobody has a two point WB read for the 165 ???
Tell me about it... I can't believe it either.
Old 07-19-2006, 06:21 PM
  #27  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
I found the lookup tables in TP. Never knew this feature existed. The WB hack must have been coded in somehow and not through a lookup table. I now see what the 0-255 was all about now. Anyone care to look at the bin posted in the reply above?

PS: Even if I got the raw voltage of the wb02 through the aldl and not have it converted I'de be happy... I could always do that to the csv file in Excel.

Last edited by Dirtbik3r; 07-19-2006 at 07:01 PM.
Old 07-19-2006, 07:05 PM
  #28  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
I just made a list of the voltage to AFR's that the DIY-WB uses and figured out the "counts" that go with them. (rounded to the nearest count)
I think the output is not in counts though. It may already be calculating the AFR number to output. Still looking at it.

can't paste excell

I did find that the WB patch for $8D used memory location 52. could be the cause of the SES because that word is used for error checking.
Attached Thumbnails wbo2 closed loop?-diy-wb-counts.jpg  

Last edited by JP86SS; 07-19-2006 at 07:11 PM.
Old 07-19-2006, 07:22 PM
  #29  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Thanks for trying to help me out JP86SS. Counts is what lookup tables use, correct? But.. how do I implement this into the bin? This has gotta be the most I've learned in 3 days. lol.
Old 07-19-2006, 07:45 PM
  #30  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Yes, the lookup uses counts.
If you make the lookup table entries match the list I put up, it "may" read correctly.
You shouldn't have to change the bin.

The part you will need to change is the ADS file for logging the data.
Create a new entry in the ALDL sensor data section.
Find the "old" location for the "commanded AFR" (that is where the DIY-WB is reading out from)
Use that location as your new word and make it use the lookup table to reference the counts to AFR.
I'm still not sure what the output from the ALDL stream is but if it is in counts it should work.
Edit: the location is #47 in the datastream but is a 16 bit register.
My values are based on an 8 bit register. Try it both ways and see if it reads.
Good luck

Last edited by JP86SS; 07-19-2006 at 07:49 PM.
Old 07-19-2006, 08:29 PM
  #31  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Originally Posted by JP86SS
Yes, the lookup uses counts.
If you make the lookup table entries match the list I put up, it "may" read correctly.
You shouldn't have to change the bin.

The part you will need to change is the ADS file for logging the data.
Create a new entry in the ALDL sensor data section.
Find the "old" location for the "commanded AFR" (that is where the DIY-WB is reading out from)
Use that location as your new word and make it use the lookup table to reference the counts to AFR.
I'm still not sure what the output from the ALDL stream is but if it is in counts it should work.
Edit: the location is #47 in the datastream but is a 16 bit register.
My values are based on an 8 bit register. Try it both ways and see if it reads.
Good luck
Thank you so much for the help!


Byte#47 - Target AFR - 16bit

^I hope that is what the Commanded AFR is.


What do ya mean by, "Use that location as your new word and make it use the lookup table to reference the counts to AFR?"

Just making sure, I'm making a table of afr verses counts, not vout or measured..

So far, I made a new lookup table, entered in the afr for the counts you posted. I then created a New ALDL Value and this is where I'm confused. What do i name it, what byte, what does the target AFR byte have to do with this? I'm referencing the lookup table I created in the aldl value I created.
Old 07-19-2006, 09:21 PM
  #32  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Call it wahtever you like "WB maybe" would be ok
I'm still a bit worried it won't display right because there are calculations or lookups being done in the patch routine then its outputting a 16 bit value for the AFR.
This "may" be outputting a decimal value rather than counts.
Voltage into the ECM can only be interpeted as counts.
Output in the datastream can be any number up to the 16 bit limit (decimal)
Without knowing all of the scaling that is being done to go from the input counts (0-255) to an output value of 0-65,535.
That value will come out of the datastream as hex characters (2- 8 bit values) each can have 0-FF (or 0-255 decimal)
Getting the decimal number that the AFR is outputting and figuring out the "count" value for each posible value may be needed to display a proportionally linearized value properly.

More I think about it, the clearer that becomes.
This will probably not work as desired without more screwing around with definitions.
Would be faster to find where the raw A/D input value is being stored and then change the ALDL dataword location to output it.
Then the formula I posted way up there could be used and it would be done.
Sorry to lead you down this dead end path.

Things needed to do this correctly:
1.) what pin are you connecting to?
SHOULD BE "D8" (TPS2)
2.) what is the location and channel number in the code to read that pin?
SHOULD BE CHANNEL 0, ROUTINE AT LF2F7
3.) what is the code address of the ALDL definition output word #47 ?
SHOULD BE C6CB-C6CD (MSB) C6CD-C6CE (LSB)
4.) location of 1 free ram location ?
NOT NEEDED FOR WHATS BELOW

To display the info you just read:
Change a dataword location to be the A/D storage location from the read on the pin.
This can use the Engine run time display (If thats what is best)
I figured it would be best to be able to see the commanded AFR and the WB data at the same time so I will not be using the word 47.
word 53 and 54 are the Engine run time.

THIS MAY BE EASY
1.) Open TP and load APYP bin
2.) Use the hex editor to find location C6D5-C6D6 (should be 0019)
The sequence of values in that area should be :
Code:
   C6D1 =  0124   ;word 50, LSB
   C6D3 =  0127   ;word 51, Run tot Dist Run, (.0005mi/bit)
   C6D5 =  0019   ;word 52, Eng Run Time, Sec
   C6D7 =  001A   ;word 53, LSB (THIS WILL BE CHANGED to = 0170)
   C6D9 =  0036    ;word 54, Minor Lp mode word #2
I listed the addresses and then the values at the addresses so you can positivly identify them by the sequence of hex values (second column)

CHANGE THE VALUE AT C6D7 TO BE 0170
That is the storage location that the A/D read on channel 0 is done.

Change your ADS file so the "engine run time" (Word 52) is only an 8 bit value.
May not display right but we're after AFR here.
Create an item in Sensor data, call it "WB AFR", Word 53.
Use the (7.35-22.39 AFR = 0-5 V) LC-1 setting
Use calculation in ADS = mult by 0.05898039 +7.35 offset
Done!

I have no experience with 6E so I'm hanging on this one.
Somebody jump in that can do some experimenting in hex directly or as an assembly. Test this out.
It should work if I got the A/D channel info correct.
There's enough guys running 6E that this should be able to get-r-done !!
JP
Attached Thumbnails wbo2 closed loop?-location.jpg  

Last edited by JP86SS; 07-19-2006 at 10:25 PM. Reason: Found APYP hac
Old 07-20-2006, 11:58 AM
  #33  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
From what I see, this will work in mode 4.
Is that the 10K mode?

Last edited by JP86SS; 07-20-2006 at 05:09 PM.
Old 07-20-2006, 05:42 PM
  #34  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
I can't find C6D7. In your attachment, It shows 006d0h on the left hand column. Mine only goes up to 004000...

BTW, what the heck is a "WORD?"
Old 07-20-2006, 06:07 PM
  #35  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
I'm not sure if the value will be exactly at that address in the "patched" bin but if you search for that pattern of numbers close to that area you will find it.
It is the datastream definition so it doesn't change (unless we do this).

Are you running APYP ????
If so, there's a better way to get what you want by working directly with the source code.

Last edited by JP86SS; 07-20-2006 at 06:11 PM.
Old 07-20-2006, 06:14 PM
  #36  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
Is the hex editor different for the aldl definition file than for TP?? I even tried using the stock APYP bin - no luck finding it. ;(

Last edited by Dirtbik3r; 07-20-2006 at 06:18 PM.
Old 07-20-2006, 06:18 PM
  #37  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
I used "Ultra Edit" as my hex editor.

I'm looking for it now so I can give you the location that is referenced there.
I'm dense today, IT's at 6D7 in TP editor
Look at the address in the bottom right status bar.
Bin starts at C000, The nothation shown is 6D0 "h" = hex.
Attached Thumbnails wbo2 closed loop?-location2.jpg  

Last edited by JP86SS; 07-20-2006 at 06:29 PM.
Old 07-20-2006, 06:35 PM
  #38  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Originally Posted by JP86SS
Are you running APYP ????
If so, there's a better way to get what you want by working directly with the source code.
Code:
 .dw 0x0124   ;50, LSB
 .dw 0x0127  ;51, Run tot Dist Run, (.0005mi/bit)
 .dw 0x0019   ;52, Eng Run Time, Sec
.dw 0x001A   ;53, NEW WB OUTPUT COUNTS (Was Engine Run time LSB, 0x001A) 
.dw 0x0036   ;54, Minor Lp mode word #2 
    ; 
    ; Bit 0 = 1= OVERDRIVE ON 
    ; 0= OVERDRIVE OFF 
    ; 1 = ERR 14 or 15 THIS STARTUP 
    ; 2 = REF PULSES OCCURRED (6.25 MSEC CHECK) 
    ; 3 = 1= ALDL MODE, 8192 LOCKED IN, & MODE 4
Just so much easier to change it here then reassemble.
Old 07-20-2006, 06:41 PM
  #39  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
How do I change this to 0170? It's only 2 digits in length... Do I have the right selection on my cursor?

*edit* Just saw your last post.
I have no clue how you get into the code... Please share... How would I disassemble it?

This is with notepad...
btByteNumber =52;
btMessageNumber =1;
dwItemSizeBits =16;
dwOperation =3;
dFactor =1.000000;
dOffset =0.000000;
strItemTitle =Engine Running Time;
strUnitLabel =Seconds;
dwAlarmHigh =255;
bAlarmHighENable =0;
dwAlarmLow =0;
bAlarmLowEnable =0;
iRangeHigh =16383;
iRangeLow =0;
iLookupTableIndex =-1;
Attached Thumbnails wbo2 closed loop?-apyp_hex.jpg  

Last edited by Dirtbik3r; 07-20-2006 at 06:48 PM.
Old 07-20-2006, 06:43 PM
  #40  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Yes, correct position.

It will be " 01 70"
you must type two chars at a time.

then save to be sure the checksum is recalced.
Can also set "AA" in the id to disable the checksum too.

Grab this (6E.zip file)
File Manager - Browsing directory /5) Source Code and Hacks/
Open the file in notepad or some other "non-formatting" editor (not MSWord, etc)
I gotta run out this second.
will fill you in on "doin' the code" when I get back.
John

Last edited by JP86SS; 07-20-2006 at 06:48 PM.
Old 07-20-2006, 06:56 PM
  #41  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
*EDIT*
I downloaded M6811DIS Dissasembler and AS6811N Assembler. I figured you were gonna tell me to anyways. Now to figure out how to use it...

*EDIT #2*
Here we go. Dissasembled the APYP bin.


C6D6 .byte 0x19,0x00,0x1A,0x00,0x36,0x00,0x38,0x00

0x19 ; This is $0019 = 52, ENGINE RUNNING TIME IN SECONDS (MSB)
0x1A ; This is $001A = 53, ENGINE RUNNING TIME IN SECONDS (LSB)
Would the above be right? I'm guessing at this...

So "0x1A" is going to be where the NEW WB OUTPUT COUNTS is going to.
The next step is changing "0x1A" to "0170" which would be what in hexidecimal?
"0170" is then:
the storage location that the A/D read on channel 0.
-What is A/D and what is channel 0?

When you get back.. what's next? And, what does 0x00 denote? A spacer, divider of some sort, or memory location?

I feel like this thread is going to be helpfull in The Prom Tuning Guide Book and FAQ: Common Questions and Answers... When it's done of course...

Last edited by Dirtbik3r; 07-20-2006 at 09:04 PM.
Old 07-20-2006, 09:27 PM
  #42  
Senior Member
Thread Starter
 
Dirtbik3r's Avatar
 
Join Date: Oct 2003
Location: LaGrange (10min from Poughkeepsie), NY
Posts: 942
Likes: 0
Received 0 Likes on 0 Posts
Car: 1992 Camaro RS - not real slow anymore...
Engine: SPDC 360 MAF EFI /w a Holley Stealth Ram
Transmission: T5 untill it blows up from to much torque
Axle/Gears: Ford 9" /w auburn pro & 3.89's
BTW, this is something the hacked bin had in its code that the regular apyp doesn't...

FDBC .byte 0x93,0x89,0x80,0x77,0x6F,0x66,0x5E,0x56
FDC4 .byte 0x4F,0x46,0x3D,0x35,0x2B,0x23,0x1A,0x12
FDCC .byte 0x06,0xFE,0xF6,0xEE,0xE6,0xDD,0xD5,0xCD
FDD4 .byte 0xC4,0xBB,0xAE,0x9F,0x90,0x81,0x74,0x65
FDDC .byte 0x53,0x37,0x00,0x00,0x00,0x43,0x6F,0x70
FDE4 .byte 0x79,0x72,0x69,0x67,0x68,0x74,0x20,0x32
FDEC .byte 0x30,0x30,0x33,0x00,0x00,0x00,0x4D,0x69
FDF4 .byte 0x6B,0x65,0x20,0x44,0x61,0x76,0x69,0x73
FDFC .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE04 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE0C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE14 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE1C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE24 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE2C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE34 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE3C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE44 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE4C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE54 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE5C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE64 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE6C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE74 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE7C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE84 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE8C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE94 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FE9C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEA4 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEAC .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEB4 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEBC .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEC4 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FECC .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FED4 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEDC .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEE4 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEEC .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEF4 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FEFC .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF04 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF0C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF14 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF1C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF24 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF2C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF34 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF3C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF44 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF4C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF54 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF5C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF64 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF6C .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF74 .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
FF7C .byte 0x00,0x00,0x00,0x00,0x39,0xFF,0xD7,0x9B
FF84 .byte 0x84,0x75,0x6A,0x61,0x58,0x51,0x4A,0x43
FF8C .byte 0x3C,0x34,0x2C,0x22,0x16,0x00,0xFF,0xFF
FF94 .byte 0xF9,0xDF,0xCD,0xBF,0xB2,0xA7,0x9D,0x93
FF9C .byte 0x89,0x7F,0x75,0x68,0x59,0x43,0x00,0x00
FFA4 .byte 0x01,0x03,0x02,0x00,0x2A,0x3D,0x4B,0x55
FFAC .byte 0x5F,0x67,0x6F,0x78,0x80,0x89,0x94,0xA1
FFB4 .byte 0xB0,0xC7,0xE3,0xFF,0x12,0x12,0x13,0x14
FFBC .byte 0x15,0x16,0x21,0x22,0x23,0x24,0x25,0x26
FFC4 .byte 0x31,0x32,0x33,0x34,0x35,0x36,0x41,0x42
FFCC .byte 0x43,0x44,0x45,0x46,0x51,0x52,0x53,0x54
FFD4 .byte 0x55,0x56
Old 07-20-2006, 10:52 PM
  #43  
Z69
Supreme Member

 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
Originally Posted by Dirtbik3r
*EDIT*
I downloaded M6811DIS Dissasembler and AS6811N Assembler. I figured you were gonna tell me to anyways. Now to figure out how to use it...

*EDIT #2*
Here we go. Dissasembled the APYP bin.
No need to do that unless you want to learn how. If so, see the Source code for Dummies thread in the stickies. It's how JP & I got started.
Originally Posted by Dirtbik3r
0x19 ; This is $0019 = 52, ENGINE RUNNING TIME IN SECONDS (MSB)
0x1A ; This is $001A = 53, ENGINE RUNNING TIME IN SECONDS (LSB)
Would the above be right? I'm guessing at this...
The aldl stream does basically this:
When it's time to send the data out, the routine goes and looks at the aldl list. The part you posted above is on that list. That list tells the ecm what ram addresses to go read and then send those readings out the aldl port.
So by changing the aldl list, you tell the ecm to read ram address y instead of x. You in no way effect the operation of the engine. Just what data is sent out the port.
Originally Posted by Dirtbik3r
So "0x1A" is going to be where the NEW WB OUTPUT COUNTS is going to.
The next step is changing "0x1A" to "0170" which would be what in hexidecimal?
"0170" is then:

-What is A/D and what is channel 0?
When you get back.. what's next? And, what does 0x00 denote? A spacer, divider of some sort, or memory location?
0170 In the asm file it would be dw. 0x0170 which is hex
When using a hex editor, just 01 70
A/D is short for Analog/Digital conversion- analog voltage to digital representation.
Channel 0 is basically which pin the code needs to go read to get the desired input. ie go read pin x to get batt voltage.
0x00 means the number zero in hex format for some assemblers.
Old 07-20-2006, 10:59 PM
  #44  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
OK, you're getting in deep now
First, the "0x" means the value is in hex.
Same as designating with "$".
This lets you know that it is not a decimal value.
So when you see $13 or 0x13, it is actually decimal value of 19.

Next, no need to disassemble the bin.
The bin has already been disassembled and commented into a source code.
It is the file with the .asm extension.
Kudos to whoever put thier time into doing it, very nice job.
You also have the added bonus of the file being made "relocatable" which means most if not all of the actual code has been made to reference lables.
Rather than having to keep the file pieces sequential so the addressing of each part is exactly the same as when the file was created, this allows you to insert stuff in the middle and the jumps to sections will still work.
Originally a command would state "jump to L1234".
Well if you moved the code down by inserting something before L1234, then the jump would land at the wrong point. Not good.
By making the location "labeled" "L1234", where ever you put the code with L1234: it would jump to it.
There are other rules of not exceeding 128 when jumping, etc but you get what I mean.

Now...
Using this file you can see everything that is going to happen and what values will be used in the calculations. Now all you have to do is learn the language. Easier said than done, for sure.

Back to the objective,
What we are trying to do:
Make the ECM read the voltage at a certain pin.
There are two types of inputs and outputs,
"Digital (on/off, high/low) and
"Analog" (0-5 volts, 0-1 volt) whatever but it is variable not just on/off.
Each pin that can have a voltage input applied to must have an identification to the ECM. these are assigned channels.
Here is a listing from the hac file:
Code:
 
          ; Table FDMPRES
          ; 
0x0170   ; A/D, Ch 0, **UNUSED**
         ; A/D, Ch 1, Batt V
0x0172   ; A/D, Ch 2, o2 sense v
         ; A/D, Ch 3, **UNUSED**
0x0174   ; A/D, Ch 4, Coolant temp, 4K
         ; A/D, Ch 5, TPS V
0x0176   ; A/D, Ch 6, Fuel pump V
         ; A.D, CH 7, Diagnostic pin B V
         ;  < 0.8 = grounded
         ;   0.8 < V < 2.0 = fact test mode
         ;  > 3.05 = road test mode
0x0178   ; A/D, Ch 8, MAT Temp
         ; A/D, Ch 9  **UNUSED**
0x017A   ; A/D, Ch 10,MAF sensor
         ; A/D, Ch 11 **UNUSED**
If you look at the schematics of your wiring you will see they go to the appropriate sensor.
To read the sensor you must know the channel you want to read.
These are numbered in hex as $10, $20, $30 for channel 1, 2, 3 repectively etc.
There is a "routine" of commands involved to do a read that you will not need to go in depth on at this point. All you need to do is "load" the channel number into the "A" register using this command.
"LDAA (insert TAB or space here) #0x10"

The # sign designates that this is a value, not an address to get a value from. So instead of going to location 0x10 and getting the value stored there, USE 0x10. This is channel 1.
The next command would be to "Jump" to the subroutine" that will make the actual read.
This is:
JSR LF2F7 ; Jump to code at "label" LF2F7
The result will be placed in the processors "A" register when done.
Then you want to keep the value that you just obtained so you "Store" it.
STAA L0170 (or whatever memory location is not used by the code)
This is not the code area but active memory space and is very limited on these things.

So to finish this chapter...

LDAA $00 ; load number zero to select channel
JSR LF2F7 ; Do read of Analog channel (result in A register)
STAA L**** ; store for later use

Now change the display in the ALDL listing to display address L**** that you chose above in place of the existing address.

On to chapter 2..

Last edited by JP86SS; 07-20-2006 at 11:38 PM.
Old 07-20-2006, 11:00 PM
  #45  
Z69
Supreme Member

 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
Not sure which route JP is taking, but basically, go read channel x.
Store it at ram location x
Edit aldl to read ram location x using aldl word uu.
Edit ads so word uu is scaled correctly.

You could alter a stock A/D read of say the FP volts pin, or the wb hac version can be altered to not do any scaling. Just read the pin and store it.


edit: LDX?????
Not LDAA? Like $8D.
Old 07-20-2006, 11:05 PM
  #46  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
You're cranky tonight I can tell
Said he couldn't use the FP or Ign Volts becouse of injector com, I'm not sure so I went with it.
You did say it in about a thousand words less though

ED: yep, got me

Last edited by JP86SS; 07-20-2006 at 11:08 PM.
Old 07-20-2006, 11:15 PM
  #47  
Z69
Supreme Member

 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
I've spent a few hours chasing my tail with a messed up LDX command is all.
Managed to load the PC one time. Made for interesting trouble shooting since
it never did the same thing twice.

I forgot apyp had a relocatable asm out.
You should do a JP_APYP_WB bin and post it.....
Old 07-20-2006, 11:17 PM
  #48  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Continued...

To change the display location you want to find the place to put it.
Find the "Mode 1" datastream definition in the source code.
It is commented very nice for you showing the ".dw" double word vaule for each memory location that will be transferred out.
The next number past the ; is the word number in the datastream That is what your ADS file uses to identify what is what in the jumble of stuff coming out.
It looks like this at the point you are interested in.
Code:
 .dw 0x0123   ;49, Run tot Fuel Consumed
 .dw 0x0124   ;50, LSB
 .dw 0x0127   ;51, Run tot Dist Run, (.0005mi/bit)
 .dw 0x0019   ;52, Eng Run Time, Sec
.dw 0x001A    ;53, LSB 
 .dw 0x0036   ;54, Minor Lp mode word #2 
                   ;
this where you make the change to get rid of the smaller portion of the runtime value and replace it with the address location you stored the read value at.
Address $0170 is used in mode 4 operation to storethe value of channel 0 so it "should" be safe to keep it there in any mode.
Maybe, maybe not. We'll just have to try it and see.
----------
Originally Posted by Z69
I forgot apyp had a relocatable asm out.
You should do a JP_APYP_WB bin and post it.....
Thanks, I didn't know until last night.
I think I'll have Dirtbik3r do it and confirm it works too.
By the end of this lesson he'll be as dangerous with code as me

Last edited by JP86SS; 07-20-2006 at 11:40 PM. Reason: Automerged Doublepost
Old 07-20-2006, 11:24 PM
  #49  
Z69
Supreme Member

 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
Make sure it really does assemble first.
ARAP should be the same except for an address offset.
Old 07-20-2006, 11:29 PM
  #50  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Did that, confirmed exactly except for the 4 id locations. should be good to go.
Just need to find a good spot to put the code.
Thinking of using one of the delays that only do an RTS.
Looking now...
Ok not sure where to put it yet.
Round 2 tomorrow night. Assembly time

Last edited by JP86SS; 07-20-2006 at 11:35 PM.


Quick Reply: wbo2 closed loop?



All times are GMT -5. The time now is 09:45 AM.