Page 3 of 3

Re: Z32, knock gauge gone

Posted: Wed Mar 21, 2012 11:17 pm
by Matt
Nothing available as configurable by end user for normal use (ie no gauge etc to match) but user can use the RAM trace monitor under 'Display'

Re: Z32, knock gauge gone

Posted: Wed Mar 21, 2012 11:49 pm
by RomChip200
But I suppose Consult RAM Trace is not saved to disk !? No link with the Consult Log Player we use daily !?

Purpose is to log RAM locations and to be able to correlate the values with other COnsult values to look into afterwards ...

Re: Z32, knock gauge gone

Posted: Thu Mar 22, 2012 5:15 am
by Torque
That would be interesting!

Re: Z32, knock gauge gone

Posted: Thu Mar 22, 2012 4:15 pm
by Matt
Added to list. Would need to create some more 'auxillary' registers and map these to the extra consult registers. Note that there are not really any 'spare' registers in Nissan ECUs because some models dont use them but others do. So I have to be careful when putting a change like this in since there is only one 'reserved' register in the Nissan consult 1 specification

Re: Z32, knock gauge gone

Posted: Thu Mar 22, 2012 7:15 pm
by RomChip200
Basically, here is the list for the Z32.
Matt, could you complete this table according to other Nissan cars, to have a complete table and to really see where the spare bytes are.

Code: Select all


CODE:EA00 register_table:     fdb rpm                       ; ...
CODE:EA00                                                   ; Register 0
CODE:EA02                     fdb rpm+1                     ; Register 1
CODE:EA04                     fdb rpm_ref                   ; Register 2
CODE:EA06                     fdb rpm_ref+1                 ; Register 3
CODE:EA08                     fdb maf                       ; Register 4
CODE:EA0A                     fdb maf+1                     ; Register 5
CODE:EA0C                     fdb $FFFF                     ; Register 6 RH MAF voltage
CODE:EA0E                     fdb $FFFF                     ; Register 7 RH MAF voltage
CODE:EA10                     fdb engine_temp               ; Register 8
CODE:EA12                     fdb lambda_left               ; Register 9
CODE:EA14 mil_const1:         fdb lambda_right              ; ...
CODE:EA14                                                   ; Register A
CODE:EA16                     fdb speed                     ; Register B
CODE:EA18                     fdb battery                   ; Register C
CODE:EA1A                     fdb throttle1                 ; Register D
CODE:EA1C                     fdb $FFFF                     ; Register E empty
CODE:EA1E                     fdb fuel_temp                 ; Register F
CODE:EA20                     fdb $FFFF                     ; Register 10 empty
CODE:EA22                     fdb $FFFF                     ; Register 11 Intake air temp
CODE:EA24                     fdb $FFFF                     ; Register 12 Exhaust gas temp
CODE:EA26                     fdb digital1                  ; Register 13
CODE:EA28                     fdb inj_bbb2                  ; Register 14
CODE:EA2A                     fdb inj_bbb2+1                ; Register 15
CODE:EA2C                     fdb ign_timing                ; Register 16
CODE:EA2E                     fdb idle_air                  ; Register 17
CODE:EA30                     fdb $FFFF                     ; Register 18 empty
CODE:EA32                     fdb $FFFF                     ; Register 19 empty
CODE:EA34                     fdb afr_left                  ; Register 1A
CODE:EA36                     fdb afr_right                 ; Register 1B
CODE:EA38                     fdb afr_learn_left            ; Register 1C
CODE:EA3A                     fdb afr_learn_right           ; Register 1D
CODE:EA3C                     fdb digital2                  ; Register 1E
CODE:EA3E                     fdb digital3                  ; Register 1F
CODE:EA40                     fdb $FFFF                     ; Register 20 empty
CODE:EA42                     fdb mr_fc_mnt                 ; Register 21
CODE:EA44                     fdb inj_bbb1                  ; Register 22
CODE:EA46                     fdb inj_bbb1+1                ; Register 23
CODE:EA48                     fdb $FFFF                     ; Register 24 empty
CODE:EA4A                     fdb $FFFF                     ; Register 25 empty
CODE:EA4C                     fdb $FFFF                     ; Register 26 empty
CODE:EA4E                     fdb $FFFF                     ; Register 27 empty



Re: Z32, knock gauge gone

Posted: Thu Mar 22, 2012 9:09 pm
by Matt
These are consult 1 registers

00 CONSULT_DESC_REGISTER_POS_RPM_MSB,
01 CONSULT_DESC_REGISTER_POS_RPM_LSB,
02 CONSULT_DESC_REGISTER_POS_CAS_REF_RPM_MSB,
03 CONSULT_DESC_REGISTER_POS_CAS_REF_RPM_LSB,
04 CONSULT_DESC_REGISTER_MAF_LHS_VOLTAGE_MSB,
05 CONSULT_DESC_REGISTER_MAF_LHS_VOLTAGE_LSB,
06 CONSULT_DESC_REGISTER_MAF_RHS_VOLTAGE_MSB,
07 CONSULT_DESC_REGISTER_MAF_RHS_VOLTAGE_LSB,
08 CONSULT_DESC_REGISTER_COOLANT_TEMP,
09 CONSULT_DESC_REGISTER_LH_O2_VOLTAGE,
0A CONSULT_DESC_REGISTER_RH_O2_VOLTAGE,
0B CONSULT_DESC_REGISTER_VEHICLE_SPEED,
0C CONSULT_DESC_REGISTER_BATTERY_VOLTAGE,
0D CONSULT_DESC_REGISTER_THROTTLE_POSITION,
0E CONSULT_DESC_REGISTER_THROTTLE_POSITION2,
0F CONSULT_DESC_REGISTER_FUEL_TEMP_SENSE,
10 CONSULT_DESC_REGISTER_EGR_TEMP_SENSE,
11 CONSULT_DESC_REGISTER_INTAKE_AIR_TEMP,
12 CONSULT_DESC_REGISTER_EXHAUST_GAS_TEMP_LHS,
13 CONSULT_DESC_REGISTER_DIGITAL_CONTROL1,
14 CONSULT_DESC_REGISTER_INJECTION_TIME_LHS_MSB,
15 CONSULT_DESC_REGISTER_INJECTION_TIME_LHS_LSB,
16 CONSULT_DESC_REGISTER_IGNITION_TIMING,
17 CONSULT_DESC_REGISTER_AAC_VALVE,
18 CONSULT_DESC_REGISTER_AAC_VALVE_STEP,
19 *RESERVED*
1A CONSULT_DESC_REGISTER_AF_ALPHA_LH,
1B CONSULT_DESC_REGISTER_AF_ALPHA_RH,
1C CONSULT_DESC_REGISTER_AF_ALPHA_LH_LEARN,
1D CONSULT_DESC_REGISTER_AF_ALPHA_RH_LEARN,
1E CONSULT_DESC_REGISTER_DIGITAL_CONTROL2,
1F CONSULT_DESC_REGISTER_DIGITAL_CONTROL3,
20 CONSULT_DESC_REGISTER_DIGITAL_CONTROL5,
21 CONSULT_DESC_REGISTER_DIGITAL_CONTROL4,
22 CONSULT_DESC_REGISTER_INJECTION_TIME_RHS_MSB,
23 CONSULT_DESC_REGISTER_INJECTION_TIME_RHS_LSB,
24 CONSULT_DESC_REGISTER_EXHAUST_GAS_TEMP_RHS,
25 CONSULT_DESC_REGISTER_WASTE_GATE_SOLENOID,
26 CONSULT_DESC_REGISTER_TURBO_BOOST_SENSOR*,
27 CONSULT_DESC_REGISTER_ENGINE_MOUNT*,

So you only have one free register for Consult I Nissan ECUs. 26/27 Used for TP MSB, LSB inside Nistune. These last two registers are used on vehicles like ER34/WC34/Y33

Re: Z32, knock gauge gone

Posted: Thu Mar 22, 2012 9:48 pm
by RomChip200
On a daily use, these are more or less useless:

Code: Select all

1E CONSULT_DESC_REGISTER_DIGITAL_CONTROL2,
1F CONSULT_DESC_REGISTER_DIGITAL_CONTROL3,
20 CONSULT_DESC_REGISTER_DIGITAL_CONTROL5,
21 CONSULT_DESC_REGISTER_DIGITAL_CONTROL4,

Re: Z32, knock gauge gone

Posted: Fri Mar 23, 2012 12:00 am
by Matt
Disagree with DIG REG 2. This contains VTC which is very useful when tuners are changing the VTC points. Next version highlights the VTC area on the map. I use fuel pump relay sometimes when testing ECUs on the bench against the output wire

Also DIG REG 3 contains coolant low/high fans which are useful for determining when those are starting to kick in (especially if adjusting in the software)

Regardless I would not replace any of these in the firmware

Re: Z32, knock gauge gone

Posted: Fri Mar 23, 2012 12:17 am
by Torque
Matt wrote: Next version highlights the VTC area on the map. I
Interesting, how is this going to work?
Do you mean while connected to the ECU you highlight the specific cells where it is engaged?

Re: Z32, knock gauge gone

Posted: Fri Mar 23, 2012 12:38 am
by RomChip200
Matt wrote:Disagree with DIG REG 2. This contains VTC which is very useful when tuners are changing the VTC points. Next version highlights the VTC area on the map. I use fuel pump relay sometimes when testing ECUs on the bench against the output wire

Also DIG REG 3 contains coolant low/high fans which are useful for determining when those are starting to kick in (especially if adjusting in the software)

Regardless I would not replace any of these in the firmware
I agree this is not the right track, that would make it messy/noisy at the end.

There's an alternative (requiring code patch though), extending virtually the Consult registers table:
There's some spare bytes after the activation table (that can be shifted in the memory space btw):

Code: Select all

CODE:EA50 activation_table:   fdb  $101, $203, $405,$FFFF,$1009,$FFFF,$FFFF,$800F ; ...
CODE:EA50                     fdb  $151, $253, $455, $857,$1059,$205B,$FFFF,$805F
CODE:EA50                     fdb $FFFF,$FFFF,$FFFF, $8A7,$10A9,$FFFF,$FFFF,$FFFF
CODE:EA80                     fcb  $FF ;  
CODE:EA81                     fcb  $FF ;  
CODE:EA82                     fcb  $FF ;  
CODE:EA83                     fcb  $FF ;  
CODE:EA84                     fcb  $3F ; ?
CODE:EA85                     fcb  $3F ; ?
CODE:EA86                     fcb  $3F ; ?
CODE:EA87                     fcb  $3F ; ?
CODE:EA88                     fcb  $3F ; ?
CODE:EA89                     fcb  $3F ; ?
(...)


So, EA50 could become EA80 or EA90 (EAC0 has new table)

The end of the Consult regs table is checked here:

Code: Select all

CODE:AABC ; Read register parameters mode --------------------------------------------------
CODE:AABC 
CODE:AABC sr_register_params:                               ; ...
CODE:AABC                     tim #%1000, sio_flags2        ; $5A mode ?
CODE:AABF                     beq sr_activation_params      ; If not $5A mode then branch
CODE:AABF 
CODE:AAC1                     cmpb #39                      ; The register table contains 39 values
CODE:AAC1                                                   ; B is the index parameter
CODE:AAC3                     bls sr_28
CODE:AAC3 
CODE:AAC5 
CODE:AAC5 sr_27:                                            ; ...
CODE:AAC5                     jmp sr_error                  ; Outside of register table
CODE:AAC5 
CODE:AAC8 
CODE:AAC8 sr_28:                                            ; ...
I can write to do such .... I did it for other things.
Maybe the underlying problem is that you can only stream up to 20 bytes, and in Nistune, the end user can only tick the known Consult regs. Matt, are you ready to do a beta version to achieve that, and select what I want in term of ROM/RAM locations into the "Select ECU Consult registers" panel ? Purpose would be to specify absolute hex addresses (e.g. EA50, EA52, EA58, ...)

Btw, I don't remember at the moment the exact purpose of the activation table, they are bitfields, right ? Could you remind me ? I'm lazy reading the source again.

Re: Z32, knock gauge gone

Posted: Fri Mar 23, 2012 1:50 am
by Matt
Its part 1am so im going to quit it for tonight (tiredness = bugs) however:
Do you mean while connected to the ECU you highlight the specific cells where it is engaged?
It will highlight a region of the map (ie block) using the TP min/max and RPM min/max values available in the address file to give an indication where VTC is currently working
There's an alternative (requiring code patch though), extending virtually the Consult registers table
I need to be very careful here - already have the problem of TP MSB/LSB using a space where known registers are and need to fix that now

Consult tables come in all sizes... some examples beyond the standard 0x28 registers since I've been digging through a LOT of ECU code lately trying to work out how to best 'ram read' these tables but I need look up values during the patching process
S15_SR20_LOOKUP: // 0xF510-F569 (0x5A) = 45
ER34_RB25_LOOKUP: // 1100-117F (0x80) = 64
B14_SR20DE_LOOKUP_95_96: // FE00-FE8F (0x90) = 72
K11_CG10_LATE_LOOKUP: // 8F80-8FD9 (0xDA) = 109 (72)
A32_VG30_LOOKUP: //E000-E09F (0x100) = 128 (72)
These tables are even larger because they hold consult 2 registers. Best idea is to move the whole table and extend into a consult 2 table perhaps? Not sure yet. Need more thinking time

Yes there an activation table after (01 01 02...) but not sure how its used again without revisiting code

Nistune has been modified in latest version to alter the standard registers and display as other things if necessary but none of that is available to the user yet.

I'm not ready for a beta version for putting this in yet since its a bit of coding to do and I've got a ton of other stuff still to sort through.

Re: Z32, knock gauge gone

Posted: Fri Mar 23, 2012 1:53 am
by Matt
Also most consult 2 registers are actually used. Only a couple of reserved items. Putting user definated stuff in an already defined consult 2 register would break it when using other tools (ie Consult II scan tool)