better API

only:uaefi
This commit is contained in:
rusefillc 2025-01-19 15:36:04 -05:00
parent 8f9ae6bf3f
commit 3e9817d06e
2 changed files with 9 additions and 11 deletions

View File

@ -84,6 +84,8 @@ typedef enum __attribute__ ((__packed__)) {
} firing_order_e;
size_t getFiringOrderCylinderId(size_t index);
#if EFI_HIP_9011_LOGIC
size_t getNextFiringCylinderId(size_t prevCylinderId);
#endif // EFI_HIP_9011_LOGIC
size_t getCylinderNumberAtIndex(size_t cylinderIndex);

View File

@ -226,30 +226,30 @@ static const uint8_t* getFiringOrderTable() {
* @param index from zero to cylindersCount - 1
* @return cylinderId from one to cylindersCount
*/
size_t getFiringOrderCylinderId(size_t index) {
size_t getCylinderNumberAtIndex(size_t index) {
const size_t firingOrderLength = getFiringOrderLength();
if (firingOrderLength < 1 || firingOrderLength > MAX_CYLINDER_COUNT) {
firmwareError(ObdCode::CUSTOM_FIRING_LENGTH, "fol %d", firingOrderLength);
return 1;
return 0;
}
if (engineConfiguration->cylindersCount != firingOrderLength) {
// May 2020 this somehow still happens with functional tests, maybe race condition?
firmwareError(ObdCode::CUSTOM_OBD_WRONG_FIRING_ORDER, "Wrong cyl count for firing order, expected %d cylinders", firingOrderLength);
return 1;
return 0;
}
if (index >= firingOrderLength) {
// May 2020 this somehow still happens with functional tests, maybe race condition?
warning(ObdCode::CUSTOM_ERR_6686, "firing order index %d", index);
return 1;
return 0;
}
if (auto firingOrderTable = getFiringOrderTable()) {
return firingOrderTable[index];
return firingOrderTable[index] - 1;
} else {
// error already reported
return 1;
return 0;
}
}
@ -271,7 +271,3 @@ size_t getNextFiringCylinderId(size_t prevCylinderId) {
return 1;
}
size_t getCylinderNumberAtIndex(size_t cylinderIndex) {
return ID2INDEX(getFiringOrderCylinderId(cylinderIndex));
}