Page 2 of 3

Re: Which 'load' is used in the PC calculations?

Posted: Tue Apr 21, 2015 12:56 pm
by Addicted
OK thanks Lance! the custom.ini causes an error when I open the sp3 table..

Can not subscribe to OutputChannel Speed
It is not defined in ECU Configuration Shift.

But it appears to open OK, doesnt seem to matter what name i put in the ini, still gets the error.

Re: Which 'load' is used in the PC calculations?

Posted: Tue Apr 21, 2015 3:40 pm
by Bernard Fife
That's odd, because I tried it here before I posted it and it works fine. I get no errors at all, and I see this for the sp3 PWM table:
sp3pwmTable.JPG
sp3pwmTable.JPG (51.58 KiB) Viewed 20747 times
That's with TS 2.6.18 (Lite).

I'll re-attach the file in case it got corrupted somehow:
custom.ini
(446 Bytes) Downloaded 1157 times
FWIW, MShift doesn't have an output channel called "Speed", it only has one called "speedo". Is it possible there is a typo in your INI? The names you put in the custom.ini aren't just labels, they tell TS which cell to highlight. So they must correspond to an actual output channel, i.e. one of these:

Code: Select all

  seconds           = scalar, U16,    0,     "sec",      1.000, 0.0 
  speedo            = scalar, U16,    2,     "kph",      0.16093, 0.0
  odometer          = scalar, U32,    4,      "km",      0.00161, 0.0 
  auto_mode         = scalar, U08,    8,       " ",      1.000, 0.0 
  downbutton        = bits,   U08,    9,   [0:0]
  upbutton          = bits,   U08,    9,   [1:1]
  downshift_request = bits,   U08,    9,   [2:2]
  upshift_request   = bits,   U08,    9,   [3:3]
  error             = scalar, U08,   10,       " ",      1.000, 0.0
  serialComm        = bits, U08,   10,   [0:0]
  CAN error         = bits, U08,   10,   [1:1]
  revshiftblock     = bits, U08,   10,   [2:2] 
  VSSreset          = bits, U08,   10,   [3:3] 
  VSSerr            = bits, U08,   10,   [4:4] 
  gearRangeErr      = bits, U08,   10,   [5:5] 
  lowVolts          = bits, U08,   10,   [6:6]
  noBrake           = bits, U08,   10,   [7:7]        
  manual_gear       = scalar, S08,   11,       " ",      1.000, 0.0
  current_gear      = scalar, S08,   12,       " ",      1.000, 0.0
  target_gear       = scalar, S08,   13,       " ",      1.000, 0.0
  engine_rpm        = scalar, U16,   14,     "rpm",      1.000, 0.0
  LOAD              = scalar, S16,   16,     "kpa",      0.100, 0.0
  clt               = scalar, S16,   18,    "ºF",        0.100, 0.0
  linepressure      = scalar, S16,   20,     "bar",      0.0068947, 0.0
  lock_TCC          = scalar, U08,   22,       "%",      1.000, 0.0
  brake             = bits,   U08,   23,   [0:0]
  burnstatus        = bits,   U08,   23,   [1:1]
  FWD               = bits,   U08,   23,   [2:2]
  forceUP			= bits,   U08,   23,   [3:3]
  forceDWN			= bits,   U08,   23,   [4:4]
  JakeBrake         = bits,   U08,   23,   [5:5]
  baudERR           = bits,   U08,   23,   [6:6]
  LOAD_short        = scalar, U16,   24,     "kpa",      0.100, 0.0
  aux_volts         = scalar, U16,   26,       "V",      0.00488, 0.0
  PC_duty           = scalar, U08,   28,       "%",      1.000, 0.0
  slip              = scalar, U08,   29,       "%",      1.000, 0.0
  dbug              = scalar, U16,   30,       " ",      1.000, 0.0 
  In1adc            = scalar, U16,   32,   "volts",      0.00488, 0.0
  In2adc            = scalar, U16,   34,   "volts",      0.00488, 0.0
  In3adc            = scalar, U16,   36,   "volts",      0.00488, 0.0  
  solst             = scalar, U16,   38,       " ",      1.000, 0.0
  Output1           = bits,   U16,   38,   [0:0]
  Output2           = bits,   U16,   38,   [1:1]
  Output3           = bits,   U16,   38,   [2:2]
  Output4           = bits,   U16,   38,   [3:3]	
  Output5           = bits,   U16,   38,   [4:4]
  Output6           = bits,   U16,   38,   [5:5]
  Output7           = bits,   U16,   38,   [6:6]
  Output8           = bits,   U16,   38,   [7:7] 
  Output9           = bits,   U16,   38,   [8:8]   
  chcksum           = scalar, U08,   40,       " ",      1.000, 0.0
  mileage           = scalar, U16,   41,     "mpg",      0.010, 0.0       
  FuelAdj           = scalar, S16,   43,       "%",      0.100, 0.0
  SpkAdj            = scalar, S16,   45,       "°",      0.100, 0.0
  IdleAdj           = scalar, S16,   47,       " ",      1.000, 0.0
  SprAdj            = scalar, S16,   49,       " ",      1.000, 0.0
  In1               = bits,   U08,   51,   [0:0]
  In2               = bits,   U08,   51,   [1:1]
  In3               = bits,   U08,   51,   [2:2]
  In4               = bits,   U08,   51,   [3:3]
  leverError		= bits,   U08,   51,   [7:7]
  sp1PWM            = scalar, U08,   52,      "%",       1.000, 0.0 
  is_rpm            = scalar, U16,   53,    "rpm",       1.000, 0.0  
  butADC            = scalar, U16,   55,  "volts",     0.00488, 0.0  
  sp2PWM            = scalar, U08,   57,      "%",       1.000, 0.0
  TCC_count         = scalar, U08,   58,    "sec",       0.100, 0.0
  sp0PWM   			= scalar, U08,   59,      "%",       1.000, 0.0
  sp09inx           = scalar, S16,   60,       ""'       0.100, 0.0 
  sp016inx          = scalar, S16,   62,       ""'       0.100, 0.0 
  sp3PWM   			= scalar, U08,   64,      "%",       1.000, 0.0
  sp39inx           = scalar, S16,   65,       ""'       0.100, 0.0 
  sp316inx          = scalar, S16,   67,       ""'       0.100, 0.0
  rawMAP            = scalar, U16,   69,       "",       0.100, 0.0
  rawTPS            = scalar, U16,   71,       "",       0.100, 0.0
  hyst              = scalar, U08,   73,    "sec",       0.100, 0.0
  mloop				= scalar, U32,   74,       "",       1.000, 0.0
  Slip_Adjust       = scalar, U08,   78,      "%",       1.000, 0.0
  LED1              = bits,   U08,   79,   [0:0]
  LED2              = bits,   U08,   79,   [1:1]
  LED3              = bits,   U08,   79,   [2:2]
  LED4              = bits,   U08,   79,   [3:3]
  porta             = scalar, U08,   80,       "",       1.000, 0.0
  porte             = scalar, U08,   81,       "",       1.000, 0.0
  estimated_gear    = scalar, S08,   82,       "",       1.000, 0.0
  RPM_short         = scalar, U16,   83,       "",       1.000, 0.0
  cruise_flag       = scalar, U16,   85,       "",       1.000, 0.0
  ashiftrevs        = scalar, U16,   87,       "",       1.000, 0.0
  decel_flag        = scalar, U08,   89,       "",       0.100, 0.0
  VSS_per           = scalar, U32,   90,       "",       0.001, 0.0
  instant_ratio 	= scalar, U16,   94,     ":1",       0.001, 0.0
You'll likely be using rawMAP and speedo, I suspect.

Re: Which 'load' is used in the PC calculations?

Posted: Tue Apr 21, 2015 8:54 pm
by Addicted
You are correct, as usual. I'd missed the o

Re: Which 'load' is used in the PC calculations?

Posted: Tue Apr 21, 2015 10:09 pm
by Addicted
OK, tested it on the road with SP3 set as PWM.. didn't seem to work. Looking at the log it appears that SP3 continued as Line Pressure Table..

Edit: or maybe it is reading the PWM table, but its not getting x and y variables and therefore operating at zero rawMAP and zero speedo. I can see in the log that sp3x and sp3y are pegged at zero this will then mean it will read from the bottom left cell which is 40, 100-40=60 and thats whats showing in the log for SP3% (except during shifts)

Re: Which 'load' is used in the PC calculations?

Posted: Wed Apr 22, 2015 6:17 am
by Bernard Fife
Addicted,

Okay, thanks, something must be wrong in the code. I will have a look and post back here when I have an answer.

Lance.

Re: Which 'load' is used in the PC calculations?

Posted: Wed Apr 22, 2015 8:43 am
by Bernard Fife
Addicted,

I tried your MSQ on my bench, and the sp3 PWM responds appropriately to the MAP and speed changes (and the highlighted cell moves in TS to the right cell). It's possible that either the controller needs a reset (power-off/power-on after loading a code or MSQ) on the code is corrupted (so you might reload 5.100 code; be sure to use 5.100 and not a 5.099 beta code). I'll attach the 5.100 MSQ of your settings (you might get a units error that you can ignore):
Addicted_2015-04-22_09.38.46.msq
(57.33 KiB) Downloaded 1227 times
I added the spare port 3 indexes (and rawMAP as well as the spare port 0 indexes) to the INI gauges in the attached INI which makes it easier to see what is going on. This INI also datalogs raw MAP (and raw TPS):
GPIO_MShift_5100.ini
(285.19 KiB) Downloaded 1304 times
So try resetting and/or reloading the code; and if that doesn't help, could you post another short datalog using the new INI (which will make it easier to see what's going on)?

Lance.

Re: Which 'load' is used in the PC calculations?

Posted: Wed Apr 22, 2015 10:23 am
by Bernard Fife
BTW, this is the custom.ini I am using with your MSQ:
custom.ini
(444 Bytes) Downloaded 1176 times
Also, just to be 100% clear, the line pressure value (and gauge) has no meaning anymore once you switch to SP3 in PWM mode. The pulse width modulation percentage value on the output is then Sp3% in the datalog, and the gauge is labeled "SP3 PWM%"

Re: Which 'load' is used in the PC calculations?

Posted: Wed Apr 22, 2015 11:08 am
by Addicted
Thanks Lance,

Who said I was I was running 5.100? ;) I was still on 5.099..

Ive now loaded up everything you posted above and suprise suprise it works!

Bad news for me though, the slip hasnt improved :( even at 80% it slips. It didnt slip a couple of months ago so I can only assume something has gone bad in the transmission. :(

Re: Which 'load' is used in the PC calculations?

Posted: Wed Apr 22, 2015 11:40 am
by Bernard Fife
Martin,

That's too bad. I checked the physical output for sp3 on my scope and it appears to work properly with your settings, matching the sp3% value from the table.

A disconnected output would give you 100% line pressure (0% PWM) all the time, so that's not likely to be the case.

However, if the wiring to the PC was shorted to ground, it could cause slippage, so that's what I would check before tearing the transmission apart.

If this were mine I would pull the connector from the trans and check the resistance from the PC pin on the harness side to ground. If it is 'infinite', then the harness isn't shorted. If the resistance isn't infinite, then try also disconnecting the ampseal connector at the GPIO board and rechecking the resistance on the PC pin to ground. If it is still not infinite (or at least many, many thousands of Ohms) then the problem is likely in the harness.

If the resistance is infinite when the connector(s) are disconnected, then the problem is probably inside the trans itself.

Lance.

Re: Which 'load' is used in the PC calculations?

Posted: Wed Apr 22, 2015 12:07 pm
by Addicted
Cheers Lance,

Incidently, looking at the attached log, Sp3% drops to zero during Ureq and Dreq.. is this right? thats effectively increasing line pressure to 100% during shifts..