-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathscale.py
31 lines (27 loc) · 1.02 KB
/
scale.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
################################################################################
# Constants
################################################################################
RPM_SCALE_FACTOR = 40
INJECTION_TIMING_SCALE_FACTOR = 255 # usecs / 255
INJECTION_TIMING_PRESCALER = 0xff
LOAD_PRESCALER = 0x85
MAF_PRESCALER = 0x02
RPM_PRESCALER = 0xc8
################################################################################
# Scaling functions
################################################################################
# See VAG-Blocks Github project for scaling
def scale_rpm(rpm):
return min(rpm / RPM_SCALE_FACTOR, 0xff)
def scale_injection_timing(timing):
return [INJECTION_TIMING_SCALE_FACTOR, min(
int(round(timing / float(INJECTION_TIMING_SCALE_FACTOR))),
0xff)]
def scale_load(load):
return [LOAD_PRESCALER, min(
int(round(load / (100.0/LOAD_PRESCALER))),
0xff)]
def scale_maf(maf):
return [MAF_PRESCALER, min(
int(round(maf / (100.0/MAF_PRESCALER))),
0xff)]