Originally posted by Bry5on
View Post
Announcement
Collapse
No announcement yet.
CSL '0401' Program Binary Disassembly Notes
Collapse
X
-
You do not want to defeat that unless you enjoy a motor that has unstable combustion and pings!
- Likes 1
Leave a comment:
-
Originally posted by karter16 View PostI have no idea what scenario it's trying to mitigate. If someone wants to give it a go and report back on whether they can detect any difference that would be super cool.
Also, just came back from my lunchtime test drive. Did it a little differently, mostly because I hadn't read your post before heading out
This is what I did:- Take car out for a spin without modifying anything in the tune. Made sure to hit redline in first, starting from 2500 rpm.
- Set K_NOISE_CFG to 0x00, flash DME.
- Repeat step 1.
Leave a comment:
-
Okay so this is very limited.
Essentially what it does is monitor for the condition where the car is in 4th gear and has been cruising between 44 and 54 km/h for more than 3 seconds. At that point it enters "noise" mode where the max requestable torque is limited. As soon a different gear is selected or the car drops below 44 km/h or goes about 70 km/h noise mode ends.
It's worth noting that in the 1801 binary the parameters are different (3rd gear instead of 4th, and speed thresholds differ) so this has been tuned specifically for the CSL binary.
So it's super restricted. I have no idea what scenario it's trying to mitigate. If someone wants to give it a go and report back on whether they can detect any difference that would be super cool.
To validly test this.
Control test
1: Drive in 4th gear and maintain speed between 44 and 54 km/h (28-33 mph) for more than 3 seconds.
2: Boot it and monitor noise and acceleration. (bonus points for logging rather than going by feel)
Test
1: Turn noise control off by setting K_NOISE_CFG to 0x00.
2: Drive in 4th gear and maintain speed between 44 and 54 km/h (28-33 mph) for more than 3 seconds.
3: Boot it and monitor noise and acceleration. (bonus points for logging rather than going by feel)
Bry5on and heinzboehmer - with regard to limits at low speed/rpm it is worth noting that the DME DOES limit throttle plate opening below 3000 RPM. (I have no idea whether there's anything at all to be gained by making any change)
This is controlled by KF_EGAS_WDK (when CSL flap is closed) and kf_egas_wdk_ask (when CSL flap is open). Now I'm not suggesting that there's a whole bunch of torque hidden there or anything, and (if there is anything to be gained at all in terms of torque and/or noise) I would imagine that changes to this would require co-ordinated changes across timing, fueling, VANOS tables, etc. but there are a range of reasons the engineers might have done this and some of it might have been for noise control and for smoother application of torque.
Some tuners do make changes to this (interestingly some actually reduce the throttle plate opening further under 3000 rpm, I wonder what the reasoning for this is, or maybe it's to enhance the feeling of the car coming onto the power), although amusingly they do so only to KF_EGAS_WDK (after having lowered the CSL flap open threshold) so half the time the adjustments they've made aren't actually in effect. Given kf_egas_wdk_ask was only identified when I worked through the disassembly hunting the "CSL specific" parameters I would suspect they simply weren't aware that the table exists. The more I see of some tunes the more I do wonder how much they understand everything they're doing.
Please note: I am NOT in any way suggesting that I have the skills of a professional tuner or that I can do a better job than them. But simply reading some changes in the context of the disassembled code it does appear that people don't always actually understand what they changes they are making do and the effect that they do (or in this case don't) have.
Last edited by karter16; 06-13-2025, 01:44 PM.
- Likes 3
Leave a comment:
-
I haven't worked through the logic end to end, but pretty sure this is quite limited compared to being a blanket suppression of max torque under 60kph, I think it's targeting only certain conditions, but let me work it through.
- Likes 2
Leave a comment:
-
Originally posted by karter16 View PostOne of the torque limitations in the Moment Manager is to restrict maximum torque below a certain vehicle speed under certain conditions in order to quote "reduce noise". I've seen others edit this out by adjusting KL_MD_BEGR_NOISE to not have restricted torque below 60 km/h.
Disabling this is the first thing I'm doing tomorrow before my test drive, now that the car is finally back together.
- Likes 1
Leave a comment:
-
Well I’m definitely going to be disabling this now that modern tires are grippier. That’s an extra 50ft-lbs in first gear! Here we go.
Also, this would be a cool thing to have enabled/disabled based on sport mode. Wonder why they didn’t do that.
- Likes 2
Leave a comment:
-
Originally posted by Bry5on View PostYou mean I’ve only had 80% torque in first gear this whole time?! Ha
- Likes 3
Leave a comment:
-
You mean I’ve only had 80% torque in first gear this whole time?! Ha
punched this in to ChatGPT for fun. It immediately figured out this is a noise management routine for a car
START noise_st_calc
|
|-- Is speed in mid range AND correct gear selected AND motor is active?
| |
| |-- YES --> Add time since last check to "valid condition timer"
| |
| |-- NO -->
| |
| |-- Is speed out of bounds OR wrong gear AND noise mode is not active?
| |
| |-- YES --> Reset "valid condition timer" to 0
|
|-- Is:
| - throttle/power demand high enough
| - speed in valid range
| - correct gear selected
| - "valid condition timer" exceeds required threshold?
| |
| |-- YES --> Set noise mode to ACTIVE (set high bit)
|
|-- Is:
| - noise mode currently ACTIVE
| AND
| - throttle is too low OR wrong gear selected OR speed out of acceptable range?
| |
| |-- YES --> Deactivate noise mode (clear high bit) AND reset timer
|
|-- Save current system time as "last checked time"
|
|-- Is noise mode INACTIVE OR noise feature is DISABLED in configuration?
| |
| |-- YES --> Clear low bits (0 and 1) of noise state
|
| |-- NO --> Noise is ACTIVE AND config is enabled:
| |
| |-- Is "mode bit 0" enabled in config?
| | |
| | |-- YES --> Set bit 0 in noise state
| |
| |-- Is "mode bit 1" enabled in config?
| |
| |-- YES --> Set bit 1 in noise state AND RETURN
|
RETURNLast edited by Bry5on; 06-12-2025, 09:43 PM.
- Likes 1
Leave a comment:
-
Random aside.
One of the torque limitations in the Moment Manager is to restrict maximum torque below a certain vehicle speed under certain conditions in order to quote "reduce noise". I've seen others edit this out by adjusting KL_MD_BEGR_NOISE to not have restricted torque below 60 km/h.
Worth noting that if you want to turn this off completely you can simply set K_NOISE_CFG to 0.
Other notes:
- If you set bit 0 of K_NOISE_CFG to 1 you can make the car use the VANOS noise tables.Last edited by karter16; 06-12-2025, 09:02 PM.
- Likes 3
Leave a comment:
-
Originally posted by karter16 View PostIf you guys had to reduce that list by 2 bytes what would you drop? Lambda Integrator 2? (I only say that cause like Heinz I've found bank 1 runs consistently slightly leaner than bank 2 so I only really need to use Lambda 1)
- Likes 1
Leave a comment:
-
If you guys had to reduce that list by 2 bytes what would you drop? Lambda Integrator 2? (I only say that cause like Heinz I've found bank 1 runs consistently slightly leaner than bank 2 so I only really need to use Lambda 1)
- Likes 1
Leave a comment:
Leave a comment: