47 lines
894 B
C++
47 lines
894 B
C++
/*
|
|
* @file knock_logic.c
|
|
*
|
|
* @date Apr 04, 2021
|
|
* @author Andrey Gusakov
|
|
*/
|
|
|
|
#include "engine.h"
|
|
#include "knock_logic.h"
|
|
#include "os_access.h"
|
|
|
|
EXTERN_ENGINE;
|
|
|
|
int getCylinderKnockBank(uint8_t cylinderIndex) {
|
|
// C/C++ can't index in to bit fields, we have to provide lookup ourselves
|
|
switch (cylinderIndex) {
|
|
#if EFI_PROD_CODE
|
|
case 0:
|
|
return CONFIG(knockBankCyl1);
|
|
case 1:
|
|
return CONFIG(knockBankCyl2);
|
|
case 2:
|
|
return CONFIG(knockBankCyl3);
|
|
case 3:
|
|
return CONFIG(knockBankCyl4);
|
|
case 4:
|
|
return CONFIG(knockBankCyl5);
|
|
case 5:
|
|
return CONFIG(knockBankCyl6);
|
|
case 6:
|
|
return CONFIG(knockBankCyl7);
|
|
case 7:
|
|
return CONFIG(knockBankCyl8);
|
|
case 8:
|
|
return CONFIG(knockBankCyl9);
|
|
case 9:
|
|
return CONFIG(knockBankCyl10);
|
|
case 10:
|
|
return CONFIG(knockBankCyl11);
|
|
case 11:
|
|
return CONFIG(knockBankCyl12);
|
|
#endif
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|