Yes, i only use "sport" mode and "Normal" mode. To toggle between them i use the sport switch. I reversed the intention of sport mode so that it is the default state. Normal mode is used when weather conditions are not favourable and regen torque could cause slip. I dont use map2 at all.
With sport mode i use two regen states during pedal positions. This will give me "sort of" single pedal driving experience. Later with pedal position torque increases as you rearly need so much power, but when needed you need it quick. Value 24 is total overkill which i inserted to test if inverter would give more than 75kW or 200Nm. Sadly i wasnt able to get this even though i tried to increase HV voltage to 96S.
In the future i may smooth out the starting part of the curve so that i keep value at 3 for longer time. I noticed i need precise throttle movement only at really low speed such as congested traffic or at stop light.
Max speed with 10000rpm seems to be at 160km/h which is my calculation for 15in wheels.
Code: Select all
const int pedal_map_one[21][22] = {
// Normal
// map 1..
/*250*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*500*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*625*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*750*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*1000*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*1250*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*1500*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*2000*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*2500*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*3000*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*3500*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*4000*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 8, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*4500*/ {0, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*5000*/ {0, 3, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*5500*/ {0, 3, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*6000*/ {0, 3, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*6500*/ {0, 3, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*7000*/ {0, 3, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*7500*/ {0, 3, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*8000*/ {0, 3, 3, 4, 5, 5, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*10000*/ {0, 3, 3, 4, 5, 5, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
};
const int pedal_map_two[21][22] = {
// Backup
// map 2..
/*250*/ {0, 0, 3, 4, 8, 10, 12, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*500*/ {-60, 0, 3, 4, 8, 10, 12, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*625*/ {-60, 0, 3, 4, 8, 12, 12, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*750*/ {-60, 0, 3, 4, 8, 12, 12, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*1000*/ {-90, 0, 3, 4, 8, 12, 12, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*1250*/ {-90, 0, 3, 4, 8, 12, 12, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*1500*/ {-110, 0, 3, 4, 8, 12, 12, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 16},
/*2000*/ {-110, 0, 3, 4, 8, 12, 10, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*2500*/ {-130, 0, 3, 4, 8, 12, 10, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*3000*/ {-130, 0, 3, 4, 8, 12, 10, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*3500*/ {-150, 0, 3, 4, 8, 10, 10, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*4000*/ {-150, 0, 3, 4, 8, 10, 10, 8, 8, 8, 8, 8, 9, 10, 10, 10, 10, 12, 12, 14, 14},
/*4500*/ {-150, 0, 3, 4, 6, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 14, 14},
/*5000*/ {-160, 0, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 12, 14},
/*5500*/ {-160, 0, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 12, 12},
/*6000*/ {-160, 0, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 12, 12},
/*6500*/ {-160, 0, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 12, 12},
/*7000*/ {-160, 0, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 12, 12},
/*7500*/ {-160, 0, 3, 4, 5, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 12, 12},
/*8000*/ {-160, 0, 3, 4, 5, 5, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 12, 12},
/*10000*/ {-160, 0, 3, 4, 5, 5, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 12, 12, 12, 12},
};
const int pedal_map_three[21][22] = {
// Sport
// map 3..
/*250*/ {0, 0, 0, 3, 3, 4, 6, 6, 8, 8, 8, 10, 12, 12, 16, 16, 18, 18, 20, 24, 24},
/*500*/ {-50, -30, 0, 3, 3, 4, 6, 6, 8, 8, 8, 10, 12, 12, 16, 16, 18, 18, 20, 24, 24},
/*625*/ {-90, -60, 0, 3, 3, 4, 6, 6, 8, 8, 8, 10, 12, 12, 16, 16, 18, 18, 20, 24, 24},
/*750*/ {-90, -60, 0, 3, 3, 4, 6, 6, 8, 8, 8, 10, 12, 12, 14, 16, 18, 18, 20, 24, 24},
/*1000*/ {-120, -90, 0, 3, 3, 4, 6, 6, 8, 8, 8, 10, 12, 12, 14, 14, 16, 16, 18, 22, 24},
/*1250*/ {-120, -90, 0, 3, 3, 4, 6, 6, 8, 8, 8, 10, 12, 12, 12, 14, 14, 16, 18, 22, 24},
/*1500*/ {-160, -90, 0, 3, 3, 4, 6, 6, 8, 8, 8, 10, 12, 12, 12, 14, 14, 16, 18, 22, 24},
/*2000*/ {-160, -90, 0, 3, 3, 4, 6, 6, 8, 8, 8, 10, 12, 12, 12, 14, 14, 16, 18, 22, 24},
/*2500*/ {-180, -90, 0, 3, 3, 4, 6, 6, 8, 8, 8, 9, 10, 12, 12, 14, 14, 16, 18, 22, 24},
/*3000*/ {-180, -90, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 10, 12, 12, 12, 14, 16, 16, 18, 24},
/*3500*/ {-180, -90, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 9, 10, 12, 12, 14, 16, 16, 18, 24},
/*4000*/ {-180, -90, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 9, 10, 12, 12, 14, 14, 16, 18, 24},
/*4500*/ {-230, -120, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 9, 10, 12, 12, 14, 14, 14, 18, 24},
/*5000*/ {-230, -120, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 9, 10, 12, 12, 14, 14, 14, 18, 24},
/*5500*/ {-230, -120, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 9, 10, 12, 12, 14, 14, 14, 18, 24},
/*6000*/ {-230, -120, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 9, 10, 12, 12, 14, 14, 14, 18, 24},
/*6500*/ {-230, -120, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 9, 10, 12, 12, 12, 14, 14, 18, 24},
/*7000*/ {-230, -120, 0, 3, 3, 4, 6, 6, 8, 8, 9, 9, 9, 10, 10, 12, 12, 12, 14, 18, 20},
/*7500*/ {-260, -120, 0, 3, 3, 4, 6, 6, 8, 8, 8, 8, 8, 10, 10, 12, 12, 12, 14, 16, 18},
/*8000*/ {-260, -120, 0, 3, 3, 4, 4, 6, 6, 8, 8, 8, 8, 10, 10, 10, 12, 12, 14, 16, 18},
/*10000*/ {-260, -120, 0, 3, 3, 4, 4, 6, 6, 8, 8, 8, 8, 10, 10, 10, 10, 12, 14, 16, 18},
};