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
|
### Added
|
||||||
- Staged injection: a second set of fuel injectors that inject part of the fuel load when you run out of primary injector
|
- 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
|
- 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
|
## December 2023 Release
|
||||||
|
|
||||||
|
|
|
@ -314,6 +314,25 @@ static int lua_getDigital(lua_State* l) {
|
||||||
return 1;
|
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) {
|
static int lua_setDebug(lua_State* l) {
|
||||||
// wrong debug mode, ignore
|
// wrong debug mode, ignore
|
||||||
if (engineConfiguration->debugMode != DBG_LUA) {
|
if (engineConfiguration->debugMode != DBG_LUA) {
|
||||||
|
@ -623,6 +642,7 @@ void configureRusefiLuaHooks(lua_State* l) {
|
||||||
lua_register(l, "readPin", lua_readpin);
|
lua_register(l, "readPin", lua_readpin);
|
||||||
lua_register(l, "vin", lua_vin);
|
lua_register(l, "vin", lua_vin);
|
||||||
lua_register(l, "getAuxAnalog", lua_getAuxAnalog);
|
lua_register(l, "getAuxAnalog", lua_getAuxAnalog);
|
||||||
|
lua_register(l, "getAuxDigital", lua_getAuxDigital);
|
||||||
lua_register(l, "getSensorByIndex", lua_getSensorByIndex);
|
lua_register(l, "getSensorByIndex", lua_getSensorByIndex);
|
||||||
lua_register(l, "getSensor", lua_getSensorByName);
|
lua_register(l, "getSensor", lua_getSensorByName);
|
||||||
lua_register(l, "getSensorRaw", lua_getSensorRaw);
|
lua_register(l, "getSensorRaw", lua_getSensorRaw);
|
||||||
|
|
|
@ -51,7 +51,7 @@ static void deInitOldAnalogInputs() {
|
||||||
static void initAuxDigital() {
|
static void initAuxDigital() {
|
||||||
#if EFI_PROD_CODE
|
#if EFI_PROD_CODE
|
||||||
for (size_t i = 0;i<efi::size(engineConfiguration->luaDigitalInputPins);i++) {
|
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
|
#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@@
|
custom fuel_pressure_sensor_mode_e 1 bits, U08, @OFFSET@, [0:1], @@fuel_pressure_sensor_mode_e_enum@@
|
||||||
fuel_pressure_sensor_mode_e fuelPressureSensorMode
|
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
|
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 ALSMinRPM;;"rpm", 1, 0, 0, 20000, 0
|
||||||
int16_t ALSMaxRPM;;"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 = vvtTable2Tbl, "VVT exhaust target", { vvtMode2 != @@vvt_mode_e_VVT_INACTIVE@@ }
|
||||||
|
|
||||||
subMenu = std_separator
|
subMenu = std_separator
|
||||||
subMenu = auxInputsDialog, "Lua Analog Inputs"
|
subMenu = auxInputsDialog, "Lua Analog Aux Inputs"
|
||||||
subMenu = luaDigitalInputsDialog, "Lua Digital Inputs"
|
subMenu = luaDigitalInputsDialog, "Lua Digital Aux Inputs"
|
||||||
subMenu = luaOutputs, "Lua Script PWM Outputs"
|
subMenu = luaOutputs, "Lua Script PWM Outputs"
|
||||||
|
|
||||||
groupMenu = "Lua Calibrations"
|
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 #7", luaDigitalInputPinModes7
|
||||||
field = "Mode #8", luaDigitalInputPinModes8
|
field = "Mode #8", luaDigitalInputPinModes8
|
||||||
|
|
||||||
dialog = luaDigitalInputsDialog, "Lua Digital Inputs", border
|
dialog = luaDigitalInputsDialog, "Lua Digital Aux Inputs", border
|
||||||
panel = luaDigitalInputsLeftDialog, West
|
panel = luaDigitalInputsLeftDialog, West
|
||||||
panel = luaDigitalInputsRightDialog, East
|
panel = luaDigitalInputsRightDialog, East
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue