mirror of https://github.com/FOME-Tech/fome-fw.git
getAuxDigital #351
This commit is contained in:
parent
362969ac16
commit
b81c30bd4a
|
@ -33,6 +33,7 @@ or
|
|||
### Added
|
||||
- Staged injection: a second set of fuel injectors that inject part of the fuel load when you run out of primary injector
|
||||
- VE/Ign/Boost blend tables can select a Y axis override for even more flexibility
|
||||
- Added Lua function `getAuxDigital` for parity with rusEFI #351
|
||||
|
||||
## December 2023 Release
|
||||
|
||||
|
|
|
@ -314,6 +314,25 @@ static int lua_getDigital(lua_State* l) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
static int lua_getAuxDigital(lua_State* l) {
|
||||
auto idx = luaL_checkinteger(l, 1);
|
||||
if (idx < 0 || idx >= LUA_DIGITAL_INPUT_COUNT) {
|
||||
// Return nil to indicate invalid parameter
|
||||
lua_pushnil(l);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!isBrainPinValid(engineConfiguration->luaDigitalInputPins[idx])) {
|
||||
// Return nil to indicate invalid pin
|
||||
lua_pushnil(l);
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool state = efiReadPin(engineConfiguration->luaDigitalInputPins[idx]);
|
||||
lua_pushboolean(l, state);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lua_setDebug(lua_State* l) {
|
||||
// wrong debug mode, ignore
|
||||
if (engineConfiguration->debugMode != DBG_LUA) {
|
||||
|
@ -623,6 +642,7 @@ void configureRusefiLuaHooks(lua_State* l) {
|
|||
lua_register(l, "readPin", lua_readpin);
|
||||
lua_register(l, "vin", lua_vin);
|
||||
lua_register(l, "getAuxAnalog", lua_getAuxAnalog);
|
||||
lua_register(l, "getAuxDigital", lua_getAuxDigital);
|
||||
lua_register(l, "getSensorByIndex", lua_getSensorByIndex);
|
||||
lua_register(l, "getSensor", lua_getSensorByName);
|
||||
lua_register(l, "getSensorRaw", lua_getSensorRaw);
|
||||
|
|
|
@ -51,7 +51,7 @@ static void deInitOldAnalogInputs() {
|
|||
static void initAuxDigital() {
|
||||
#if EFI_PROD_CODE
|
||||
for (size_t i = 0;i<efi::size(engineConfiguration->luaDigitalInputPins);i++) {
|
||||
efiSetPadMode("Lua Digital", engineConfiguration->luaDigitalInputPins[i], getInputMode(PI_DEFAULT));
|
||||
efiSetPadMode("Lua Digital", engineConfiguration->luaDigitalInputPins[i], engineConfiguration->luaDigitalInputPinModes[i]);
|
||||
}
|
||||
#endif // EFI_PROD_CODE
|
||||
}
|
||||
|
|
|
@ -1445,7 +1445,7 @@ SentEtbType sentEtbType
|
|||
custom fuel_pressure_sensor_mode_e 1 bits, U08, @OFFSET@, [0:1], @@fuel_pressure_sensor_mode_e_enum@@
|
||||
fuel_pressure_sensor_mode_e fuelPressureSensorMode
|
||||
|
||||
Gpio[LUA_DIGITAL_INPUT_COUNT iterate] luaDigitalInputPins;
|
||||
switch_input_pin_e[LUA_DIGITAL_INPUT_COUNT iterate] luaDigitalInputPins;
|
||||
uint8_t[TPS_TPS_ACCEL_CLT_CORR_TABLE] autoscale tpsTspCorrValuesBins;;"RPM", 50, 0, 0, 17500, 0
|
||||
int16_t ALSMinRPM;;"rpm", 1, 0, 0, 20000, 0
|
||||
int16_t ALSMaxRPM;;"rpm", 1, 0, 0, 20000, 0
|
||||
|
|
|
@ -1844,8 +1844,8 @@ menuDialog = main
|
|||
subMenu = vvtTable2Tbl, "VVT exhaust target", { vvtMode2 != @@vvt_mode_e_VVT_INACTIVE@@ }
|
||||
|
||||
subMenu = std_separator
|
||||
subMenu = auxInputsDialog, "Lua Analog Inputs"
|
||||
subMenu = luaDigitalInputsDialog, "Lua Digital Inputs"
|
||||
subMenu = auxInputsDialog, "Lua Analog Aux Inputs"
|
||||
subMenu = luaDigitalInputsDialog, "Lua Digital Aux Inputs"
|
||||
subMenu = luaOutputs, "Lua Script PWM Outputs"
|
||||
|
||||
groupMenu = "Lua Calibrations"
|
||||
|
@ -3927,7 +3927,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_
|
|||
field = "Mode #7", luaDigitalInputPinModes7
|
||||
field = "Mode #8", luaDigitalInputPinModes8
|
||||
|
||||
dialog = luaDigitalInputsDialog, "Lua Digital Inputs", border
|
||||
dialog = luaDigitalInputsDialog, "Lua Digital Aux Inputs", border
|
||||
panel = luaDigitalInputsLeftDialog, West
|
||||
panel = luaDigitalInputsRightDialog, East
|
||||
|
||||
|
|
Loading…
Reference in New Issue