// C1MA double voltESS = pabRecord[cbRecordHeader + 4]; double ampESS = *(int16_t *) &pabRecord[cbRecordHeader + 6]; // Scott451 double ampLine = *(uint16_t *)&pabRecord[cbRecordHeader + 8]; double voltLine = *(uint16_t *)&pabRecord[cbRecordHeader + 10]; double tempCoolant = pabRecord[cbRecordHeader + 15]; // Scott451 double tempESSMin = *(uint16_t *)&pabRecord[cbRecordHeader + 28]; // Scott451 double tempESSMax = *(uint16_t *)&pabRecord[cbRecordHeader + 30]; // Scott451 // C1MB Assert(s_rver == rver20); uint16_t ampLine = *(uint16_t *)&pabRecord[cbRecordHeader + 4]; uint16_t voltLine = *(uint16_t *)&pabRecord[cbRecordHeader + 6]; double tempCoolant = pabRecord[cbRecordHeader + 11]; // Scott451 double tempESSMin = *(uint16_t *)&pabRecord[cbRecordHeader + 24]; // Scott451 double tempESSMax = *(uint16_t *)&pabRecord[cbRecordHeader + 26]; // Scott451 // DR1M double tempPEM = pabRecord[cbRecordHeader + 7] * 0.5; // Steve Casner double tempMotor = s_rver == rver15 ? *(int16_t *)&pabRecord[cbRecordHeader + 8] / 256.0 // Steve Casner : pabRecord[cbRecordHeader + 8]; // my guess double tempCoolant = pabRecord[cbRecordHeader + 10] * 0.5 - 30.0; // Steve Casner double tempESSMin = *(int16_t *)&pabRecord[cbRecordHeader + 16] / 256.0; // Steve Casner double tempESSMax = *(int16_t *)&pabRecord[cbRecordHeader + 18] / 256.0; // Steve Casner double tempMotor2 = s_rver == rver15 ? 0 : pabRecord[cbRecordHeader + 24]; // v2 cars have 2 motor temp sensors