Okay I think I just discovered something in the app source code...I was looking for other information but then quickly checked the RideMode implementation cause I remembered this thread where people were talking about that beast mode... An option to have more power than the Sport mode config.
It's probably written in Kotlin which compiles to Java so all this is more like generated Java code. Anyway there is this RideMode class with this constructor. Just try to follow me on the constructor arguments here, these all have a specific setting. For example the name of the mode or the integer values for torque, power, brake regen, coast regen, ...
public RideMode(@NotNull RideModeType rideModeType, @NotNull String str, @NotNull TractionControlType tractionControlType2, @NotNull AbsControl absControl2, int i, int i2, int i3, int i4, int i5, int i6, @NotNull DashboardTheme dashboardTheme, @NotNull DashboardTheme dashboardTheme2) {
Intrinsics.checkParameterIsNotNull(rideModeType, Param.TYPE);
Intrinsics.checkParameterIsNotNull(str, "name");
Intrinsics.checkParameterIsNotNull(tractionControlType2, "tractionControlType");
Intrinsics.checkParameterIsNotNull(absControl2, "absControl");
Intrinsics.checkParameterIsNotNull(dashboardTheme, "currentDashboardTheme");
Intrinsics.checkParameterIsNotNull(dashboardTheme2, "originalDashboardTheme");
this.type = rideModeType;
this.name = str;
this.tractionControlType = tractionControlType2;
this.absControl = absControl2;
this.maxSpeed = i;
this.maxPower = i2;
this.maxTorque = i3;
this.neutralRegeneration = i4;
this.brakeRegeneration = i5;
this.swap = i6;
this.currentDashboardTheme = dashboardTheme;
this.originalDashboardTheme = dashboardTheme2;
}
And then there is a set of pre defined zero specific ride modes all implemented with the ZeroRideMode subclasses. Super indicates it's a call to this previous constructor. Most parameters speak for themselves. Order for the integer values after AbsControl and before DashboardTheme is:
this.maxSpeed = i;
this.maxPower = i2;
this.maxTorque = i3;
this.neutralRegeneration = i4;
this.brakeRegeneration = i5;
this.swap = i6;
ECO
super(rideModeType, string, TractionControlType.STREET, AbsControl.ON, 70, 60, 60, 80, 100, 1, DashboardTheme.DARKGREEN, null);
RAIN
super(rideModeType, string, TractionControlType.RAIN, AbsControl.ON, 60, 60, 60, 70, 70, 1, DashboardTheme.DARKBLUE, null);
SPORT
super(rideModeType, string, TractionControlType.SPORT, AbsControl.ON, 100, 80, 80, 80, 80, 1, DashboardTheme.LIGHTORANGE, null);
STREET
super(rideModeType, string, TractionControlType.STREET, AbsControl.ON, 80, 75, 75, 75, 75, 1, DashboardTheme.LIGHTBLUE, null);
So far so good but there is also a 5th option that isn't on the dashboard.
SPORTPLUS
super(rideModeType, string, TractionControlType.SPORT, AbsControl.ON, 120, 100, 100, 100, 100, 1, DashboardTheme.LIGHTORANGE, null);
I have yet to check what the custom ride mode that is set with these sliders per value accepts as min and max value but it's likely also limited to the values for SPORT and in that case indeed it's not all the way but limited to 100 mph and 80% of torque and power. While the hidden sport plus mode dus 120 mph and 100% torque and power.