Page 3 of 4

Posted: Wed Mar 19, 2008 8:12 am
by JCD
Matt wrote: What this will mean for those who want this fixed in your board... I'll have to update the firmware. I dont have any exchange over boards here at the moment, so if you wanted to post your board here I can update it
Matt. is that something we can do here with a Willem programmer?

Posted: Wed Mar 19, 2008 1:14 pm
by Matt
Unfortunately not. the Willem programmer in DS1230Y will work with NVRAM but not with the NTProg software anymore

To perform the burn operation after programming requires a specific sequence of addresses to be read, and the parallel lines on the willem were not stable enough on most PCs to clock the lines just once

That is why we spent many months getting our NIStune programmer working right

For this I am going to override the addresses used in CA18 with the NIStune software to report more usable timing

Posted: Wed Mar 19, 2008 6:24 pm
by JCD
OK if it's absolutely necessary to send back the board I will not hesitate.

Does it make sense to organise a European service point for this?
I can put you in contact with someone with competences in the same field and -as I guess- at the same level. Off course there are issues like protection of design but I expect you to be armed with terms and conditions for that :D

Posted: Wed Mar 19, 2008 11:15 pm
by Matt
Dont worry. I've got a software workaround (hack) for this. I've done some more investigation on CA18 with new code

Download the latest 0.9246 NIStune (uploaded tonight)

Edit your CA18 address file to change some stuff

Firstly add the line
REGISTER_FIX=1

TIMING_MAP_OFFSET=22

Knock sensor connected. Not knocking
=> No knocking 'KNOCK' on detection screen
=> Timing map changes from primary display at new address correctly with
CONSULT_TIMING_OFFSET=6
=> Affects coil timing as values changed (tested with fill of 15 degrees)
=> Idle timing map matches if 'filtered' enabled and set to
IDLE_TIMING_MAP_OFFSET=21
But dont know if this reflects real timing

Knock sensor disconnected / active
=> 'KNOCK' on detection screen (due to KNOCK DTC fault or knock)
=> Uses Knock maps value WITH 5 degree retard. Eg current knock map value is 20 degrees, timing is 15 degrees

I've also included in this change a fix for reporting proper injection on older boards (this was fixed in later ones)

Hopefully this closes the problem. Both maps have effect, depending if knock sensor connected/knock detect or not

Now knocking probably wont be picked up often/at all because the sampling rates over USB to NIStune are too slow. I have to start looking into knock counting in the firmware and capture this. That is part of ongoing investigation

Posted: Thu Mar 20, 2008 1:15 am
by Vetal
So I must add
REGISTER_FIX=1
IDLE_TIMING_MAP_OFFSET=21

and set CONSULT_TIMING_OFFSET to 6 instead of 16 ?

Posted: Thu Mar 20, 2008 5:30 am
by Vetal
Address files - "Update 19 March 08 (Updated HR31 RB20 and S13 CA18)"
I can't see updated CA18 adr file...

Posted: Thu Mar 20, 2008 7:10 am
by JCD
Yeah this isn't clear for me neither.
I wouldn't even know where to add that REGISTER_FIX=1, just under the header, anywhere in the text...?
Would be nice to have an updated address file to download.
I know it will be ok. I'm patient :)

Posted: Thu Mar 20, 2008 3:50 pm
by Matt
Sorry for the confusion

For now I've limited the changes above to information in this forum thread, rather than the downloadable address files files on the main site

(Otherwise older versions of NIStune will barf on the REGISTER_FIX parameter added to the latest version)

Also if I have multiple versions of the CA18 address file floating around it can confuse people. I might put this in the 'misc' directory of the ZIP file next time I upload the package

1. Remove the old parameters and paste in the following around the same area
REGISTER_FIX=1
IDLE_TIMING_MAP_OFFSET=21
CONSULT_TIMING_OFFSET=6
IDLE_TIMING_MAP_OFFSET=21
2. Download latest NIStune

3. Check if 'knock' is reporting on 'D' display knock window. Ensure you have no KNOCK DTC code raised

4. Changes to primary ignition map should affect engine operation. Timing displayed should be accurate to this map also

5. Changes to knock ignition map will happen if you disconnect knock sensor (or if knocking). Timing changes should follow this map minus 5 degrees BDTC

6. Injector pulsewidth should reflect actual injector output (the fuel map pulsewidth does not match this perfectly... note it is target injection)

Posted: Thu Mar 20, 2008 6:18 pm
by JCD
OK Matt I did 1 so under
#ECU SPECIFIC PARAMETERS I have:

REGISTER_FIX=1
IDLE_TIMING_MAP_OFFSET=21
CONSULT_TIMING_OFFSET=6
IDLE_TIMING_MAP_OFFSET=21

instead of:
NTLOOKUPID=32
CONSULT_TIMING_OFFSET=22
TIMING_MAP_OFFSET=22

then installed the 0.9246 and started Nistune.
Pops up a window:

Errors in address file cannot process!
Error: ROM offset is not specified
Error: ROM origin is not specified
Error: ROM length is not specified
Error: CPU type is not specified

What am I doing wrong?

Posted: Thu Mar 20, 2008 7:19 pm
by Vetal
why did you delete NTLOOKUPID=32 ? :)

Posted: Thu Mar 20, 2008 10:15 pm
by Matt
Attached is the address file I prepared earlier :D

Posted: Thu Mar 20, 2008 10:58 pm
by Vetal
won't switching address files few times make Nistune "expire"? :) there was something about 5 files max

Posted: Fri Mar 21, 2008 12:55 am
by JCD
Vetal wrote:won't switching address files few times make Nistune "expire"? :) there was something about 5 files max
Good question.

At least it works now with the downloaded file :wink:
Previous instructions were not enough "foolproof" :mrgreen:

In the new address file I also noticed a line VERSION=2.
What does that mean?

Posted: Fri Mar 21, 2008 3:25 am
by Vetal
Matt you have "#" in the address file before REGISTER_FIX=1 - is that correct?

Posted: Sun Mar 23, 2008 1:32 am
by Matt
Ah crap.... take out the # from the REGISTER_FIX line :?

I put that in when testing it out before releasing... and forgot to put it back

It doesnt matter if you change/update/swap the address file since the NTLOOKUPID is the thing that NIStune keeps record of. Since it is always the same wont be any problems

VERSION_ID is just what is displayed at the top of the screen. It is so I can keep track of incremental changes to address files. Doesnt actually do anything else...