Page 2 of 8

Re: Trigger hysteresis using avload instead of load?

Posted: Fri Mar 20, 2015 8:04 am
by Bernard Fife
Addicted,

Sorry about your ECU dying. Do you remember if the hysteresis issue was with all shifts, or just the 3-4 shift? This is important to narrow down where to look for the bug.

Lance.

Re: Trigger hysteresis using avload instead of load?

Posted: Sat Mar 21, 2015 5:33 am
by Addicted
The ECU failure is down to shoddy chinese jumper wires that break wayyy too easily. Fixed now.

So I am now running 5.099z, just been out for a log run.

The issue is nearly always occurs 3-4... but not always.. see attached log "what turns off hyst" :)

Also from the log this morning is a example of where hysteresis is still engaged after a 3-4 shift, but the unit still downshifts to third!!

edit: another similar log added after a run this afternoon.. again it downshifts to third while hysteresis is active...

Re: Trigger hysteresis using avload instead of load?

Posted: Sat Mar 21, 2015 12:43 pm
by Bernard Fife
Addicted,

I suspect I screwed the hysteresis up when I put in the 'ALWAYS Apply TCC in High Gear' option. I will dig through this section of the code to see what is wrong and post back here when I have a fix. It shouldn't be too hard to sort out.

Lance.

Re: Trigger hysteresis using avload instead of load?

Posted: Sat Mar 21, 2015 2:21 pm
by Bernard Fife
Addicted,

I found an fixed an issue in the hysteresis (a fairly subtle one involving assumptions about how the code shifts from the current gear to the target gear versus the hysteresis blocking or not blocking a shift). This is (hopefully!) corrected in the attached code, which implements the hysteresis blocking in the shift function as well as in the target gear lookup:
Monitor_5099zii.abs.s19
(83.03 KiB) Downloaded 762 times
GPIO_MShift_5099.ini
(278.17 KiB) Downloaded 758 times
This appears to work properly on my bench, but might not be a solution to your particular issue. If you want to give it a try, that would be great.

Lance.

Re: Trigger hysteresis using avload instead of load?

Posted: Sun Mar 22, 2015 9:19 am
by Addicted
Sorry Lance but that doesn't appear to have worked :( see attached datalog where it downshifts while hysteresis is engaged quite a few times. 3-2 as well as 4-3...

Also, it displayed some strange TCC behaviour where it was cycling on and off well below the TCC threshold rpm..

I should point out Lance, that other than these minor niggles Megashift is working brilliantly, the car is an absolute pleasure to drive. I also love that I can map the 'sport' shift table to match the higher than stock peak HP rpm.. although I haven't plucked up the courage to bury the throttle in sport mode yet! :D

Re: Trigger hysteresis using avload instead of load?

Posted: Sun Mar 22, 2015 12:59 pm
by Bernard Fife
Addicted,

This is really good info. While I haven't solved the issue, I now have a much better idea where to look. And thanks for testing, patience, and your supportive words. We will get there, that I promise! Of course I apologize for you having to be at the 'front lines' of fixing this.

Lance.

Re: Trigger hysteresis using avload instead of load?

Posted: Sun Mar 22, 2015 5:21 pm
by Bernard Fife
Martin,

Here is code that might help (it's hard to say for sure because I haven't been able to duplicate this behavior on my bench yet). It fixes some ambiguities in the code regarding when the hysteresis is applied when shifting gears.

However this code also has a new field in it (called "hyst_action" in the output channels, or "HystAction" in the gauges or "hact" in the datalog) that tags exactly where in the code the hysteresis is being turned on or off. So even if this code doesn't fix the problem, it should pinpoint where any problems with the hysteresis are occurring so we can fix them.

Because there are new gauges and datalog fields, you will need to use the attached INI.
Monitor_5099Ziii.abs.s19
(83.09 KiB) Downloaded 740 times
GPIO_MShift_5099.ini
(278.41 KiB) Downloaded 772 times
Lance.

Re: Trigger hysteresis using avload instead of load?

Posted: Mon Mar 23, 2015 11:38 am
by Addicted
Datalogs attached... using the latest code..

Re: Trigger hysteresis using avload instead of load?

Posted: Mon Mar 23, 2015 12:34 pm
by Bernard Fife
Addicted,

Thanks for that! It appears at first glance that the hyst flag is being set appropriately most of the time, but the shift is not been blocked properly (which is what you said before, but unfortunately need to check all the possibilities). I need to look at these logs more closely, but I should have new code for you shortly, as this *should* be straightforward to sort now that I now which exactly part of the code is messing up. I will post again here shortly.

Lance.

Re: Trigger hysteresis using avload instead of load?

Posted: Mon Mar 23, 2015 1:33 pm
by Bernard Fife
Addicted,

Okay, this code might help (again, it works on my bench, but that hasn't proven to be much help previously!).

It has changes to prevent the lookup of a new target gear or any call to the shift function while hysteresis is enabled. These changes are based on the fact that the code is in somewhat of an indeterminate state while shifting, and the current and target gears can get confused (not in the shift function itself, but in other parts of the code that might interrupt that function).

It also has an addition flag to tell us when WOT is achieved (this can override the hysteresis - though I don't think it is even close to that in your logs it might be useful in the future).
Monitor_5099ziv.abs.s19
Uses previous INI
(83.17 KiB) Downloaded 776 times
Lance.