Universal ADX - One ADX file to datalog all fords

Disassembly, Programming, Coding, Assembly, Binary information and all hacking discussions belong here.

Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Thu Oct 13, 2016 12:20 pm

so I recently gave it a bit of thought and figured its dumb to apply the patch code and overwrite the console call routine from within the adx, god forbid you have the wrong adx loaded and attempt to log you corrupt some code in the tune and then your screwed

thus, I have decided that for safety its best to just have the adx poll and not apply any patches, I've implemented that in my latest xdf's and it works perfectly, as a double win it allows the checksum to be correct and makes it much easier to manage logging addresses

it all works well and it makes it very easy to maintain multiple adx's, but you still must maintain an adx for every different strategy... well here's my latest thought

1 adx file for all strategy's!

its pretty simple, keep the patch code in the xdf and apply it with the tune, no harm there

here's the epiphany, shadow the upper registers too!!!

I was thinking using 0xc100 offset for the upper addresses and 0xc200 for any oddity or custom payloads/testing

should cover all bases, that will allow 1 adx file to do everything! no more jumping between adx's for different strategies and its much simpler to maintain.

thoughts?
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Thu Oct 13, 2016 1:59 pm

Yeah, I've often thought it would be simpler to just have the patch code permanent. How would you handle changes to which PIDs are copied from the on chip RAM?

Are you talking about copying the off chip RAM as well?

0xC100 - EEC ROM ? Well QH is all RAM pretending to be ROM.
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Thu Oct 13, 2016 2:30 pm

I don't understand what your asking

why would you change which pids you log?

I have no idea what you mean about off chip ram?

0xC100 is memory on the QH that you can copy out ram to in order to make it accessible for reading, natively the lower registers below 0x400 are not accessible directly over the mbus so you have to write patch code to shadow those addresses onto the QH memory where you can then parse it out

the way datalogging works now is that any registers below 0x400 the patch code copies over to the QH. 0xC000 is the common offset used. So for example, since you can't directly read out register 0x78 for ect or act etc... you have to write patch code to copy that, you simply 'shadow' it in free QH memory, so if you copy 0x78 to 0xC078 which is accessible on the mbus, you can read it no problem, any ram address above 0x400 can be directly read since its accessible on the mbus. That's why you have to have different logging files for each strategy so you don't read the wrong upper addresses.

by going with my method it all stays consistent, so any given payload is shadowed at the same exact address for every strategy

for example, I shadow atmr3 at offset 0x0

so regardless what strategy your using, the patch code is copying atmr3 to address 0xC000

that's how the adx is universal, since its reading the same payloads in the exact same order for every strategy
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Fri Oct 14, 2016 2:46 am

.
First up you said universal.

decipha wrote:I don't understand what your asking

why would you change which pids you log?


Sometimes I'm not interested in much more than Throttle Position, MAP or MAF, RPM and speed out of the EEC

decipha wrote:I have no idea what you mean about off chip ram?


The chip being 8061 or 8065. 0x0000 to 0x00FF being RAM on chip. 0x0100 being the start of RAM external or off the 8061 chip.

decipha wrote:0xC100 is memory on the QH that you can copy out ram to in order to make it accessible for reading,


0xC100 in GHAJ0, and others, is in the middle of Scalars and Functions.

Are you saying there is a way to have the registers copied to the QH, that does not overwrite the code and data?
Or are your only interested in 8065?

decipha wrote: natively the lower registers below 0x400 are not accessible directly over the mbus so you have to write patch code to shadow those addresses onto the QH memory where you can then parse it out


Up until now I thought the registers were copied to RAM within the EEC above the register address range. How did you conclude the EEC upper RAM is disabled and the QH takes its place?

decipha wrote:the way datalogging works now is that any registers below 0x400 the patch code copies over to the QH. 0xC000 is the common offset used.


That would be 8065 only? That offset couldn't be universal with 8061?

decipha wrote:by going with my method it all stays consistent, so any given payload is shadowed at the same exact address for every strategy

for example, I shadow atmr3 at offset 0x0

so regardless what strategy your using, the patch code is copying atmr3 to address 0xC000

that's how the adx is universal, since its reading the same payloads in the exact same order for every strategy


Ok, so can the ADX be coded so that it determines 8061 or 8065 and adjust the common offset accordingly ?
Can Tunerpro do that?
Are you going to dazzle us with some snazzy native intel patch code that does it?
Perhaps Memory Bank Select Reg VS Stack Pointer High Byte?

decipha wrote:here's the epiphany, shadow the upper registers too!!!

What specific address range do you mean by this?
I'm thinking processor clock cycles to do all registers?
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Fri Oct 14, 2016 2:53 am

IMHO the eec hardware does not have enough processor speed to be able to copy all the registers over without affecting things adversely. At high engine speeds the foreground routines already start to severely limit background routine use so I don't think it's a good idea to further impact the other background routines.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Fri Oct 14, 2016 9:45 am

jsa wrote:Sometimes I'm not interested in much more than Throttle Position, MAP or MAF, RPM and speed out of the EEC


tuner pro doesn't make you select different payloads to log, it logs what you set it to, thats the major benefit of tunerpro IMO its much more user friendly, all you do is simply click the log button and your off, if someone wanted to only log specific payloads they can rewrite the list in the XDF patch and change their adx for the new shadowing, I've never had any need to ever do that

The chip being 8061 or 8065. 0x0000 to 0x00FF being RAM on chip. 0x0100 being the start of RAM external or off the 8061 chip.

decipha wrote:0xC100 is memory on the QH that you can copy out ram to in order to make it accessible for reading,


jsa wrote:0xC100 in GHAJ0, and others, is in the middle of Scalars and Functions.

note above, QHxC100

jsa wrote:Are you saying there is a way to have the registers copied to the QH, that does not overwrite the code and data?

yes

jsa wrote:Or are your only interested in 8065?

mostly, but it applies to all

jsa wrote:Up until now I thought the registers were copied to RAM within the EEC above the register address range. How did you conclude the EEC upper RAM is disabled and the QH takes its place?

most strategy's don't leave any free ram available, the patch code copies the lower registers over to one of the quarterhorses 4 memory banks and you read it out through there

decipha wrote:the way datalogging works now is that any registers below 0x400 the patch code copies over to the QH. 0xC000 is the common offset used.


jsa wrote:That would be 8065 only? That offset couldn't be universal with 8061?

as noted above QHxC000, its quarterhorse memory not ecu memory

jsa wrote:Ok, so can the ADX be coded so that it determines 8061 or 8065 and adjust the common offset accordingly ?
Can Tunerpro do that?


the offset stays the same, your polling the same payloads in the same order, your patch code does all the background work

jsa wrote:Are you going to dazzle us with some snazzy native intel patch code that does it?
Perhaps Memory Bank Select Reg VS Stack Pointer High Byte?


nothing fancy, just a simple !=0 check after the current for loop to verify the end of the list, if not then increment over the end marker and continue shadowing, same as now except only a word of 0 between lists and a long of 0 at the true end, for safety i'll even add a null byte after the true end as a hard stop in the listing in the xdf

decipha wrote:here's the epiphany, shadow the upper registers too!!!

What specific address range do you mean by this?
I'm thinking processor clock cycles to do all registers?[/quote]

no specific address range, just the individual addresses for any specific payload

its the same as-is done now except all upper memory is read out directly by the QH, the lower registers you wish to log you have to make a list that the patch code simply copies over from the ecu to the QH so you can poll it

all i want to do is simply continue to shadow the upper registers too that way the adx doesn't have to have strategy specific addressing for the upper memory

yes it might take a little more juice but i don't see that being a problem, the benefits far outweigh any slight delay, we aren't talking about many payloads anyway just the important ones

sailorbob wrote:IMHO the eec hardware does not have enough processor speed to be able to copy all the registers over without affecting things adversely. At high engine speeds the foreground routines already start to severely limit background routine use so I don't think it's a good idea to further impact the other background routines.


i'm not copying the full range of registers just the payloads i want to log, the ones that are most critical such as

ATMR1 / atmr3
IPSIBR
ECT
ACT
SAFTOT
LOAD
N
PERLOAD
TP_REL or RATCH
PCT_LOAD / TOTLDST or Backflow clip
IMAF / VMAF
WBO2 / IEVP
LAMBSE1
KAMRF1
IEGO1
DASHPOT
ISCDTY
VSBART_RT or VSBAR
OL_FLG
VBAT
TPS
FUEL_PW1
LAMBSE2
KAMRF2
IEGO2
N/D_FLG
FAN_FLG
AC_FLG
EFTRFF
AEFUEL
------------
BCSDC
GR_CM

in that order
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Fri Oct 14, 2016 10:00 am

decipha wrote:i'm not copying the full range of registers just the payloads i want to log
If you are not copying over all the registers then you will need different patch codes for different strategies because the variables you listed, more often than not, will be in different register addresses.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Fri Oct 14, 2016 10:57 am

the patch code stays the same, the address list is what changes per strategy, but thats done in the xdf not the adx

im only shadowing individual addresses for the specific individual payloads
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Fri Oct 14, 2016 6:44 pm

decipha wrote:0xC100 is memory on the QH that you can copy out ram to in order to make it accessible for reading,


jsa wrote:0xC100 in GHAJ0, and others, is in the middle of Scalars and Functions.

decipha wrote:note above, QHxC100.


jsa wrote:Are you saying there is a way to have the registers copied to the QH, that does not overwrite the code and data?

decipha wrote:yes


decipha wrote:as noted above QHxC000, its quarterhorse memory not ecu memory


OK, can you explain the mechanisms that allows that to happen.
I'm not getting past the patch code attempting to shadow to a ROM address. I'm thinking that should cause the 8061/8065 to ignore the instruction or throw an error.

Does the QH watch for writes to EEC ROM addresses and act on those?
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Sat Oct 15, 2016 4:41 am

decipha wrote:the patch code stays the same, the address list is what changes per strategy,
As far as I'm concerned the address list is part of the patch code. It sounds like you are now going to be datalogging pretty much how BE does it :D

jsa wrote:Does the QH watch for writes to EEC ROM addresses and act on those?
The QH shadows any writes it sees on the MBUS that are attempted by the eec into its own memory. The eec cannot write to the QH's memory.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Sat Oct 15, 2016 9:10 am

Til just recently, BE and TunerPro handled datalogging the exact same way, 100% identical code between the two

BE populates the list based on what you have selected

I'll be populating the list off what I have selected lol
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Sat Oct 15, 2016 5:42 pm

sailorbob wrote:
jsa wrote:Does the QH watch for writes to EEC ROM addresses and act on those?
The QH shadows any writes it sees on the MBUS that are attempted by the eec into its own memory. The eec cannot write to the QH's memory.


Ok, in the case of 8061, anything from 0x0100 through 0xFFFF is shadowed by the QH.

So the QH sees EEC writes to 0xC000, or anything from 0x2000 through 0xFFFF, and shadows to some other location so as to preserve the data/code already in that space on the QH?
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Mon Oct 17, 2016 2:53 am

The QH is a 1024 KB device with the memory arranged as 4 banks. All shadowed eec memory gets written to the 3rd bank in the QH.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Mon Oct 17, 2016 6:00 am

Thanks.
Presumedly another has code for the QH itself to function, leaving 2 banks of space for other tunes? 8x64kb tunes for example.
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Tue Jan 03, 2017 10:45 am

the 1024kb flash (4 memory banks i.e. where "Quarter" came from in QH) is accessible flash. The QH operating firmware is not included in that. It was my assumption it wasnt even on those chips and was elsewhere.

Getting back to it, I decided how Im going to format the payload list, it will be organized as follows

XX XX // PAYLOAD ADDRESSES ARE ALL EVEN WORDS, MUST BE ORDERED AS ABOVE, Remember to SWAP bytes, so if you want to read 0x78 youd put in 78 00 not 00 78
XX XX
XX XX
XX XX
XX XX
00 00 // zero word is end of list marker (same as always)
C0 06 // WORD LIST OF UPPER EVEN SHADOWED ADDRESS, to copy hsb to lsb for odd address payloads
XX XX
XX XX
XX XX
XX XX
00 00 // zero word marks end of list, note that no address can possibly be 0
XX XX // hsb = SHADOWED flag offset; lsb= bit to check
XX XX
XX XX
00 00 // zero word end marker
--------------------------

As for the code
---------------
Datalogging()
temp1=C000 // shadowing address
temp2=XX XX // payload list address
Shadow()
[temp1]++ == [temp2]++
if !=0, Shadow() //loop to end
----------
Inc W(temp2) // jump over end marker
-----------
Move() // copy hsb » lsb for odd registers
ldw [temp2]++
If ==0; BitFlags() // end of this list
temp1 >> 8 // move over
goto move() // loop
-----------
inc W // jump over end marker
-----------
BitFlags()
ldw temp3 [temp2+1] // shadowed offset of bitmask
If == 0; Fin() //end when done
ldw temp4 [temp2+2] // bit number to check, 0x: 0,2,4,8,10,20,40,80, respective bits 0 - 7
[temp3] =&& [temp4]
if !=0; [temp3] == 1; ELSE =0
IncB [temp2], IncB [temp2] // no word on odd addy
goto BitFlags() // loop to end marker
--------------
Fin()
F0, ret // end

for the QH its simple, just poll a packet

Q 60 bytes at C000

done!

How you luv dat ?
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Tue Jan 03, 2017 3:02 pm

I think the payload list order should be slightly different, to make it a bit more universal as opposed to N/A V8 auto centric.

Move the engine bank 2 stuff to the very end of the list. Auto stuff 2nd last.

Some applications will want MAP and wastegate duty cycle.
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Tue Jan 03, 2017 5:45 pm

I dont understand what you mean by being n/a v8 auto centric?

All the bank 2 stuff is at the end of the list from lambse2 down
the auto stuff comes after that cuz not all strats support autos

map interchanges with maf

wastegate duty cycle is a custom payload
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Wed Jan 04, 2017 1:05 am

made some excellent progress tonight i got about 80% of it completed, but now its time to rest though i gotta get up in a few minutes

tomorrows another day, hopefully i can chip away at it some more, ill post where im at with her tomorrow for all to see and follow along if you wish
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Wed Jan 04, 2017 4:03 pm

These items are after bank 2 stuff above
FAN_FLG
AC_FLG
EFTRFF
AEFUEL

So your saying those items are less common than bank 2 stuff?

MAP and MAF are related but it is not a fixed relationship. MAF can be many different values for a single MAP value.

Wastegate duty cycle and the like is native Ford code, or you talking custom in reference to your logging list?
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Wed Jan 04, 2017 4:28 pm

i suppose instead of less common i should put less important

I dont understand why it matters though, am i missing something?

I have no idea what your saying about maf and map?

Im referring to custom as its not a common payload, none of the US ford code Ive ever dealt with supports wastegate duty cycle to my knowledge
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Wed Jan 04, 2017 8:36 pm

It only matters, if you think forward to other apps supporting common payload locations.

You suggested MAP interchanges with MAF, I'm saying it doesn't because one MAP number is not always the same MAF number. Naturally aspirated might be as good as for a given RPM, but stick a turbo and wastegate in the mix and things change.

Fair enough, WGDC is an uncommon beast then. What did ford do on the 2.3 turbo mustangs?
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Wed Jan 04, 2017 10:49 pm

you completely lost me I have absolutely no idea what your trying to say in the slightest

what kind of other apps are you referring to?

what does a map number or maf number have to do with anything? I fail to understand the correlation there. The only fueling models ford support is either mass air or speed density. If mass air you log the maf voltage, if speed density then you log the map sensor at that address instead. it doesn't matter if you have a 4 cylinder engine with a crap load of boost making 500rwhp or a naturally aspirated v8 making 500rwhp or 1000 or 2500 etc.. that doesn't change the memory address??

if im not mistaken they have a spring in the wastegate
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby jsa » Thu Jan 05, 2017 3:23 am

Apps that run on a smart phone.

Logging is not just about tuning fuel or spark for that matter. Continuing with the tuning theme, one can look at it for camshaft timing. Alternativly logged EEC data can be overlayed with other performance data and/or video.

Sure either MAP or MAF can be one address, but logging both means an additional address.

Ok they used mechanical only, my application use spring plus EEC control via solenoid valve.
Cheers
John
jsa
Power Poster
 
Posts: 449
Joined: Thu Jan 16, 2014 1:44 am
Location: In the shed or On the Computer, 'straya
Name: John
Vehicle Information: Escort RS Cosworth
EEC-IV GHAJ0
ANTI, COSY, QUIK or CARD

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Fri Jan 13, 2017 1:29 am

decipha wrote:made some excellent progress tonight i got about 80% of it completed, but now its time to rest though i gotta get up in a few minutes

tomorrows another day, hopefully i can chip away at it some more, ill post where im at with her tomorrow for all to see and follow along if you wish



well tomorrow came and went, 9 days later I finally got a chance to get back to it, I whipped it up and still have to proof it but here's the gist of it for those interested

<updated code posted below>
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby ranga83 » Fri Jan 13, 2017 2:27 am

and here i was thinking i was making progress in understanding the code in my bin haha. itll take me a while, but ill get my head around it eventually
ranga83
Power Poster
 
Posts: 259
Joined: Sat May 24, 2014 10:40 pm
Location: melbourne, victoria, australia
Name: kendall
Vehicle Information: 1996 EF Falcon 4.0 inline 6, 4TAD ecu, tunerpro, and moates q/h

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Fri Jan 13, 2017 1:09 pm

you'll get it, here I revised it a touch during my lunch break and commented it out a tad more in depth, lmk if it makes more sense

<removed> updated code below
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Fri Jan 13, 2017 9:36 pm

alright finally, got two questionable operands in there, maybe derek will see this

<updated code posted below>
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby ranga83 » Fri Jan 13, 2017 11:43 pm

it does moake a bit more sense, ill look harder at it tonight when i get home.
but quick question first. when the patch code is implemented, does that overwrite existing code in the tune? if so, wouldnt that be overwriting the subroutine after the console routine? if not and it inserts it, wouldn't that push all call addresses out?
ranga83
Power Poster
 
Posts: 259
Joined: Sat May 24, 2014 10:40 pm
Location: melbourne, victoria, australia
Name: kendall
Vehicle Information: 1996 EF Falcon 4.0 inline 6, 4TAD ecu, tunerpro, and moates q/h

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Sat Jan 14, 2017 2:41 am

The line at 0x84D5 is this:
Code: Select all
shrw   reg_1c,reg_80
This right shifts the contents of 0x001C according to the number held in the 5 lowermost bits of 0x0080.

The line at 0x84E8 is this:
Code: Select all
ad3b  reg_18,Zero,$C000[reg_14]
I don't know why you are using ad3b when ldb would suffice.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Sat Jan 14, 2017 9:15 pm

both can be done with simple ldb's that's what I'll do

R18=c000
R18+=R1c
to save for later

then simply
R1c=r1d
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Sun Jan 15, 2017 5:59 am

If at line 0x84D5 all you wanted to do was transfer the contents of 0x001D into 0x001C then, yes, LDB would be better and it saves 11 states times of instruction execution time.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Sun Jan 15, 2017 10:56 am

hey derek a ? for greater understanding

how do you bit shift a byte?

lets say i have 10001001 and i need to bit shift it >> by 7 bits
so my result is 00000010

do those bits wrap around or get blown to oblivion or get pushed to the next byte?

and does the same apply for a word?
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Sun Jan 15, 2017 3:34 pm

Shifts can be performed on byte, word or double word sized data.

A right shift moves all the bits right with a zero getting pushed into the MSB and the LSB getting pushed into the carry.
e.g. for a byte: 0 -> 7..0 -> C

A left shift moves all the bits left with a zero getting pushed into the LSB and the MSB getting pushed into the carry.
e.g. for a byte: C <- 7..0 <- 0

The carry does not get pushed anywhere.

An operand value of 0 to 15 specifies the number of shifts to perform. An operand value of 15 to 255 specifies a register that holds the number of shifts to perform (up to a maximum of 31).

For your example of shifting 0b10001001 to get the result 0b00000010 you would shift 6 times to the right.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Sun Jan 15, 2017 6:46 pm

excellent that's how I thought it functioned

here it is, a final beta revision of the universal logging patch code, I'm going to load this in on a 2000 explorer I have here now and try it out, lmk if you see something off or anything that can be improved upon, its pretty rudimentary with the triple bytes taken out

<updated code posted below>

ranga83 wrote:when the patch code is implemented, does that overwrite existing code in the tune? if so, wouldnt that be overwriting the subroutine after the console routine? if not and it inserts it, wouldn't that push all call addresses out?


the patch code has always overwritten the console call routine, its been that way since conception

the patch code is small enough that it doesnt overwrite the next routine, but even if it did any code that called the next routines original address would have to be updated
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Mon Jan 16, 2017 12:52 am

well i loaded it in and it seemed to have worked

i didnt feel like going outside so used an rzas0 ecu i had on the bench, she gave me sane values for a bit then my power supply crapped out in the middle of it, it took me a bit before i realized it

Anywho, it seems to be working well, now i have an issue of reading bulk blocks at once, when i tried to read more than 0x20 addresses at once the QH freaked out

we shall see
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Tue Jan 17, 2017 12:42 am

Well its not working not quite sure if its the patch code or the QH i can get to function correctly

i figured
51 20 20 01 C0 00
would poll 0x20 bytes from ram 1 address c0 00 but it doesnt seem to work, it wont even let me request it so im fighting the QH config right now. ill give craig a call tomorrow and see whats up with it
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Tue Jan 17, 2017 3:02 am

Since you are only polling one location the second byte of the message should be 01. You also need a checksum.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Tue Jan 17, 2017 8:51 am

ah i see, i thought the second byte was the number of bytes read total, i tried 01 02 and even 10 last night, anything less than 20 wasnt polling any data i didnt think

i have tunerpro set to calculate the checksum and send it as the last byte
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Re: Universal ADX - One ADX file to datalog all fords

Unread postby sailorbob » Tue Jan 17, 2017 9:05 am

I think the 4th byte should be 03 since you are using this on an eec-iv.
sailorbob
Tuning Extraordinaire
 
Posts: 158
Joined: Tue Jul 16, 2013 1:04 am

Re: Universal ADX - One ADX file to datalog all fords

Unread postby decipha » Tue Jan 17, 2017 9:20 am

i was testing it on a 4 bank i had on the bench

i found a bigger problem though, when i typed in my payload registers list i didnt swap the bytes, getting garbage in from the jump doesnt help lol

im going to go through it tonight and give it a stab
User avatar
decipha
Tooner
 
Posts: 17556
Joined: Mon Jul 15, 2013 5:29 pm
Location: New Orleans, LA
Name: Michael Ponthieux
Vehicle Information: Supercoupin' x10
90 (4x 5spds) - Dante, Ruby, Daja, Ava
91 4r70w - Skarlett
92 (2x) 5spd & auto - Bianqa, Andrea
93 auto - Danika
94 5spd Rionda
95 auto Aisha
Vehicle 2 Information: Others:
00 Lincoln LS - Luanda
98 Camaro SS - Bounquisha
02 Harley F-150 - Sasasha
03 Marauder - DyShyKy
00 Explorer 5L - Bernyce
07 GMC 2500HD 6L - Veranafer

Next

Return to Programming & Coding

Who is online

Users browsing this forum: No registered users and 1 guest