rusefi-1/firmware/controllers/system_fsio.h

78 lines
2.9 KiB
C
Raw Normal View History

2017-01-19 14:04:15 -08:00
// this https://en.wikipedia.org/wiki/Reverse_Polish_notation is generated automatically
// from controllers/system_fsio.txt
2019-09-08 13:45:02 -07:00
// on 2019-09-08_16_41_20_788
2017-01-19 14:04:15 -08:00
//
//
// in this file we define system FSIO expressions
//
2017-06-13 16:39:49 -07:00
// system_fsio.txt is input for compile_fsio_file tool, see gen_system_fsio.bat
//
2017-01-19 14:04:15 -08:00
// see http://rusefi.com/wiki/index.php?title=Manual:Flexible_Logic
//
// Jan 19, 2017
// Andrey Belomutskiy, (c) 2012-2017
//
2019-09-11 16:30:36 -07:00
// Human-readable: (fan and (coolant > cfg_fanOffTemperature)) | (coolant > cfg_fanOnTemperature) | is_clt_broken
#define FAN_CONTROL_LOGIC "fan coolant cfg_fanOffTemperature > and coolant cfg_fanOnTemperature > | is_clt_broken |"
2017-01-19 14:04:15 -08:00
// Human-readable: (time_since_boot < startup_fuel_pump_duration) | (rpm > 0)
#define FUEL_PUMP_LOGIC "time_since_boot startup_fuel_pump_duration < rpm 0 > |"
2017-01-19 14:04:15 -08:00
// Human-readable: vbatt < 14.5
#define ALTERNATOR_LOGIC "vbatt 14.5 <"
2019-05-31 13:20:33 -07:00
// Human-readable: coolant > 120
#define TOO_HOT_LOGIC "coolant 120 >"
2019-09-11 17:46:50 -07:00
// Human-readable: ac_on_switch & rpm > 850 & time_since_ac_on_switch > 0.3
// ac_on_switch rpm & 850 time_since_ac_on_switch & > 0.3 >
2019-09-08 13:45:02 -07:00
#define AC_RELAY_LOGIC "ac_on_switch rpm & 850 >"
2017-06-12 15:14:39 -07:00
// Combined RPM, CLT and VBATT warning light
2017-04-25 05:29:24 -07:00
2017-04-27 10:05:48 -07:00
// Human-readable: (rpm > fsio_setting(2)) | ((coolant > fsio_setting(3)) | (vbatt < fsio_setting(4)))
#define COMBINED_WARNING_LIGHT "rpm 2 fsio_setting > coolant 3 fsio_setting > vbatt 4 fsio_setting < | |"
2017-06-12 15:14:39 -07:00
//needed by EFI_MAIN_RELAY_CONTROL
// Human-readable: (time_since_boot < 2) | (vbatt > 5) | in_shutdown
#define MAIN_RELAY_LOGIC "time_since_boot 2 < vbatt 5 > | in_shutdown |"
2017-06-13 16:39:49 -07:00
// could be used for simple variable intake geometry setups or warning light or starter block
// Human-readable: rpm > fsio_setting(1)
#define RPM_ABOVE_USER_SETTING_1 "rpm 1 fsio_setting >"
// could be used for simple variable intake geometry setups or warning light or starter block
2017-07-14 19:11:04 -07:00
// Human-readable: rpm > fsio_setting(1)
#define RPM_ABOVE_USER_SETTING_1 "rpm 1 fsio_setting >"
2017-06-13 16:39:49 -07:00
// Human-readable: rpm > fsio_setting(2)
#define RPM_ABOVE_USER_SETTING_2 "rpm 2 fsio_setting >"
2017-07-14 19:11:04 -07:00
// Human-readable: rpm > 5500
#define RPM_ABOVE_5500_ON_OFF "rpm 5500 >"
// Human-readable: rpm > 6000
#define RPM_ABOVE_6000_ON_OFF "rpm 6000 >"
// Human-readable: (rpm > 1000) * 0.7
#define RPM_ABOVE_1000_SOLENOID_70_DUTY "rpm 1000 > 0.7 *"
// Human-readable: (rpm > 2000) * 0.5
#define RPM_ABOVE_2000_SOLENOID_50_DUTY "rpm 2000 > 0.5 *"
// Human-readable: (rpm > 6000) * 0.8
#define RPM_ABOVE_6000_SOLENOID_80_DUTY "rpm 6000 > 0.8 *"
2017-06-13 16:39:49 -07:00
// Human-readable: rpm < fsio_setting(1)
#define RPM_BELOW_USER_SETTING_1 "rpm 1 fsio_setting <"
2017-06-14 02:39:00 -07:00
// starter block using configurable parameter
// Human-readable: rpm < cranking_rpm
#define STARTER_RELAY_LOGIC "rpm cranking_rpm <"
2017-08-03 05:06:13 -07:00
// Human-readable: fsio_table (3, rpm, map) / 100
#define BOOST_CONTROLLER "3 rpm map fsio_table 100 /"
2017-08-06 18:12:05 -07:00
2019-11-19 15:17:03 -08:00
// Human-readable: if (fsio_setting (0) > 20, 0, 10)
#define ANALOG_CONDITION "0 fsio_setting 20 > 0 10 if"