VERSION_TO_HW_VERSION = {
        '211322000701J404': 7831815,
        '211322000701J409': 7831815,
        '211322000701QD04': 7831815,
        '211322000701QD09': 7831815,
        '211322001401J424': 7833892,
        '211322001501J444': 7833892,
        '211322001501J464': 7833892,
        '211322001501J449': 7833892,
        '211322001501JD34': 7833892,
        '211322001501JD54': 7833892,
        '211322001501JD74': 7833892,
        '211322001501JD59': 7833892,
        '211322001501J4E9': 7833892,
        '211322001501J4G9': 7833892,
        '211322001501JDD9': 7833892,
        '211322001501JDF9': 7833892,
        '211322002101J424': 7837941,
        '211322002101J444': 7837941,
        '211322002101J464': 7837941,
        '211322002101J449': 7837941,
        '211322002101Q424': 7837941,
        '211322002101Q444': 7837941,
        '211322002101Q464': 7837941,
        '211322002101Q449': 7837941,
        '211322002101JD34': 7837941,
        '211322002101JD54': 7837941,
        '211322002101JD74': 7837941,
        '211322002101JD59': 7837941,
        '211323002601JD39': 7842559,
        '211323002601JD79': 7842559,
        '211322002801J429': 7842975,
        '211322002801J469': 7842975,
        '211323002801JD39': 7842975,
        '211323002801JD79': 7842975,
        '211323002801Q429': 7842975,
}

HW_VERSION_SHIFT_LIGHTS_OFFSET = {
        7831815: 0x28CB,
        7833892: 0x1A7D,
        7837941: 0x1AB3,
        7842559: 0x1AB3,
        7842975: 0x1AB3,
}

SHIFT_LIGHTS_STATUS_STR = {
        0x00: 'off',
        0x01: 'on',
        0x02: 'on w/sport mode',
}

HW_VERSION_SPORT_MODE_OFFSET = {
        7831815: 0x4024,
        7833892: 0x4024,
        7837941: 0x4024,
        7842559: 0x4024,
        7842975: 0x4024,
}

SPORT_MODE_STATUS_STR = {
        0x00: 'on w/DSC',
        0x01: 'on',
        0x02: 'off',
        0x03: 'button',
        0x04: 'button w/ memory',
}

HW_VERSION_VMAX_OFFSET = {
        7831815: 0x6E72,
        7833892: 0x6F02,
        7837941: 0x6ED2,
        7842559: 0x6ED2,
        7842975: 0x6ED2,
}

HW_VERSION_GEAR_RATIOS_OFFSET = {
        7831815: 0x19E4,
        7833892: 0x1A7E,
        7837941: 0x1AB4,
        7842559: 0x1AB4,
        7842975: 0x1AB4,
}

HW_VERSION_REV_LIMIT_OFFSET = {
        7831815: 0x03B6,
        7833892: 0x03BA,
        7837941: 0x03BA,
        7842559: 0x03BA,
        7842975: 0x03BA,
}

# Not entirely sure these are correct.
HW_VERSION_DYNO_REV_LIMIT_OFFSET = {
        7831815: 0x74,
        7833892: 0x76,
        7837941: 0x76,
        7842559: 0x76,
        7842975: 0x76,
}

HW_VERSION_OIL_WARMUP_LEVELS_OFFSET = {
        7831815: 0xAC74,
        7833892: 0x5454,
        7837941: 0x5370,
        7842559: 0x5370,
        7842975: 0x5370,
}

VERSION_TO_HW_VERSION = {
        '211322000701J404': 7831815,
        '211322000701J409': 7831815,
        '211322000701QD04': 7831815,
        '211322000701QD09': 7831815,
        '211322001401J424': 7833892,
        '211322001501J444': 7833892,
        '211322001501J464': 7833892,
        '211322001501J449': 7833892,
        '211322001501JD34': 7833892,
        '211322001501JD54': 7833892,
        '211322001501JD74': 7833892,
        '211322001501JD59': 7833892,
        '211322001501J4E9': 7833892,
        '211322001501J4G9': 7833892,
        '211322001501JDD9': 7833892,
        '211322001501JDF9': 7833892,
        '211322002101J424': 7837941,
        '211322002101J444': 7837941,
        '211322002101J464': 7837941,
        '211322002101J449': 7837941,
        '211322002101Q424': 7837941,
        '211322002101Q444': 7837941,
        '211322002101Q464': 7837941,
        '211322002101Q449': 7837941,
        '211322002101JD34': 7837941,
        '211322002101JD54': 7837941,
        '211322002101JD74': 7837941,
        '211322002101JD59': 7837941,
        '211323002601JD39': 7842559,
        '211323002601JD79': 7842559,
        '211322002801J429': 7842975,
        '211322002801J469': 7842975,
        '211323002801JD39': 7842975,
        '211323002801JD79': 7842975,
        '211323002801Q429': 7842975,
}

HW_VERSION_SHIFT_LIGHTS_OFFSET = {
        7831815: 0x28CB,
        7833892: 0x1A7D,
        7837941: 0x1AB3,
        7842559: 0x1AB3,
        7842975: 0x1AB3,
}

SHIFT_LIGHTS_STATUS_STR = {
        0x00: 'off',
        0x01: 'on',
        0x02: 'on w/sport mode',
}

HW_VERSION_SPORT_MODE_OFFSET = {
        7831815: 0x4024,
        7833892: 0x4024,
        7837941: 0x4024,
        7842559: 0x4024,
        7842975: 0x4024,
}

SPORT_MODE_STATUS_STR = {
        0x00: 'on w/DSC',
        0x01: 'on',
        0x02: 'off',
        0x03: 'button',
        0x04: 'button w/ memory',
}

HW_VERSION_VMAX_OFFSET = {
        7831815: 0x6E72,
        7833892: 0x6F02,
        7837941: 0x6ED2,
        7842559: 0x6ED2,
        7842975: 0x6ED2,
}

HW_VERSION_GEAR_RATIOS_OFFSET = {
        7831815: 0x19E4,
        7833892: 0x1A7E,
        7837941: 0x1AB4,
        7842559: 0x1AB4,
        7842975: 0x1AB4,
}

HW_VERSION_REV_LIMIT_OFFSET = {
        7831815: 0x03B6,
        7833892: 0x03BA,
        7837941: 0x03BA,
        7842559: 0x03BA,
        7842975: 0x03BA,
}

# Not entirely sure these are correct.
HW_VERSION_DYNO_REV_LIMIT_OFFSET = {
        7831815: 0x74,
        7833892: 0x76,
        7837941: 0x76,
        7842559: 0x76,
        7842975: 0x76,
}

HW_VERSION_OIL_WARMUP_LEVELS_OFFSET = {
        7831815: 0xAC74,
        7833892: 0x5454,
        7837941: 0x5370,
        7842559: 0x5370,
        7842975: 0x5370,
}

# Not entirely sure these are correct.