refactoring - auto-generating names
This commit is contained in:
parent
d438f9f9cb
commit
0635060e4f
|
@ -0,0 +1,90 @@
|
||||||
|
#include "global.h"
|
||||||
|
#include "sensor_type.h"
|
||||||
|
// was generated automatically by rusEFI tool from sensor_type.h // by enum2string.jar tool on Sat Oct 16 17:24:03 EDT 2021
|
||||||
|
// see also gen_config_and_enums.bat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const char *getSensorType(SensorType value){
|
||||||
|
switch(value) {
|
||||||
|
case AcceleratorPedal:
|
||||||
|
return "AcceleratorPedal";
|
||||||
|
case AcceleratorPedalPrimary:
|
||||||
|
return "AcceleratorPedalPrimary";
|
||||||
|
case AcceleratorPedalSecondary:
|
||||||
|
return "AcceleratorPedalSecondary";
|
||||||
|
case Aux1:
|
||||||
|
return "Aux1";
|
||||||
|
case Aux2:
|
||||||
|
return "Aux2";
|
||||||
|
case Aux3:
|
||||||
|
return "Aux3";
|
||||||
|
case Aux4:
|
||||||
|
return "Aux4";
|
||||||
|
case AuxTemp1:
|
||||||
|
return "AuxTemp1";
|
||||||
|
case AuxTemp2:
|
||||||
|
return "AuxTemp2";
|
||||||
|
case BarometricPressure:
|
||||||
|
return "BarometricPressure";
|
||||||
|
case BatteryVoltage:
|
||||||
|
return "BatteryVoltage";
|
||||||
|
case Clt:
|
||||||
|
return "Clt";
|
||||||
|
case DriverThrottleIntent:
|
||||||
|
return "DriverThrottleIntent";
|
||||||
|
case FuelEthanolPercent:
|
||||||
|
return "FuelEthanolPercent";
|
||||||
|
case FuelLevel:
|
||||||
|
return "FuelLevel";
|
||||||
|
case FuelPressureHigh:
|
||||||
|
return "FuelPressureHigh";
|
||||||
|
case FuelPressureInjector:
|
||||||
|
return "FuelPressureInjector";
|
||||||
|
case FuelPressureLow:
|
||||||
|
return "FuelPressureLow";
|
||||||
|
case Iat:
|
||||||
|
return "Iat";
|
||||||
|
case IdlePosition:
|
||||||
|
return "IdlePosition";
|
||||||
|
case Invalid:
|
||||||
|
return "Invalid";
|
||||||
|
case Lambda1:
|
||||||
|
return "Lambda1";
|
||||||
|
case Lambda2:
|
||||||
|
return "Lambda2";
|
||||||
|
case Maf:
|
||||||
|
return "Maf";
|
||||||
|
case Map:
|
||||||
|
return "Map";
|
||||||
|
case MapFast:
|
||||||
|
return "MapFast";
|
||||||
|
case MapSlow:
|
||||||
|
return "MapSlow";
|
||||||
|
case OilPressure:
|
||||||
|
return "OilPressure";
|
||||||
|
case PlaceholderLast:
|
||||||
|
return "PlaceholderLast";
|
||||||
|
case Rpm:
|
||||||
|
return "Rpm";
|
||||||
|
case Tps1:
|
||||||
|
return "Tps1";
|
||||||
|
case Tps1Primary:
|
||||||
|
return "Tps1Primary";
|
||||||
|
case Tps1Secondary:
|
||||||
|
return "Tps1Secondary";
|
||||||
|
case Tps2:
|
||||||
|
return "Tps2";
|
||||||
|
case Tps2Primary:
|
||||||
|
return "Tps2Primary";
|
||||||
|
case Tps2Secondary:
|
||||||
|
return "Tps2Secondary";
|
||||||
|
case TurbochargerSpeed:
|
||||||
|
return "TurbochargerSpeed";
|
||||||
|
case VehicleSpeed:
|
||||||
|
return "VehicleSpeed";
|
||||||
|
case WastegatePosition:
|
||||||
|
return "WastegatePosition";
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
// was generated automatically by rusEFI tool from sensor_type.h // by enum2string.jar tool on Sat Oct 16 17:24:03 EDT 2021
|
||||||
|
// see also gen_config_and_enums.bat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "sensor_type.h"
|
||||||
|
#pragma once
|
||||||
|
const char *getSensorType(SensorType value);
|
|
@ -1,62 +1,5 @@
|
||||||
#include "pch.h"
|
#include "pch.h"
|
||||||
|
#include "auto_generated_sensor.h"
|
||||||
static const char* const s_sensorNames[] = {
|
|
||||||
"Invalid",
|
|
||||||
"CLT",
|
|
||||||
"IAT",
|
|
||||||
"RPM",
|
|
||||||
"MAP",
|
|
||||||
"MAF",
|
|
||||||
|
|
||||||
"Oil Pressure",
|
|
||||||
|
|
||||||
"Fuel Pressure (LP)",
|
|
||||||
"Fuel Pressure (HP)",
|
|
||||||
"Fuel Pressure (injector)",
|
|
||||||
|
|
||||||
"TPS 1",
|
|
||||||
"TPS 1 Primary",
|
|
||||||
"TPS 1 Secondary",
|
|
||||||
|
|
||||||
"TPS 2",
|
|
||||||
"TPS 2 Primary",
|
|
||||||
"TPS 2 Secondary",
|
|
||||||
|
|
||||||
"Acc Pedal",
|
|
||||||
"Acc Pedal Primary",
|
|
||||||
"Acc Pedal Secondary",
|
|
||||||
|
|
||||||
"Driver Acc Intent",
|
|
||||||
|
|
||||||
"Aux Temp 1",
|
|
||||||
"Aux Temp 2",
|
|
||||||
|
|
||||||
"Lambda 1",
|
|
||||||
"Lambda 2",
|
|
||||||
|
|
||||||
"Wastegate Position",
|
|
||||||
"Idle Valve Position",
|
|
||||||
|
|
||||||
"Flex Fuel",
|
|
||||||
|
|
||||||
"Battery Voltage",
|
|
||||||
|
|
||||||
"Barometric Pressure",
|
|
||||||
|
|
||||||
"Fuel Level %",
|
|
||||||
|
|
||||||
"Aux 1",
|
|
||||||
"Aux 2",
|
|
||||||
"Aux 3",
|
|
||||||
"Aux 4",
|
|
||||||
|
|
||||||
"Vehicle speed",
|
|
||||||
|
|
||||||
"Turbo speed",
|
|
||||||
|
|
||||||
"MAP (fast)",
|
|
||||||
"MAP (slow)",
|
|
||||||
};
|
|
||||||
|
|
||||||
// This struct represents one sensor in the registry.
|
// This struct represents one sensor in the registry.
|
||||||
// It stores whether the sensor should use a mock value,
|
// It stores whether the sensor should use a mock value,
|
||||||
|
@ -171,8 +114,6 @@ private:
|
||||||
|
|
||||||
static SensorRegistryEntry s_sensorRegistry[static_cast<size_t>(SensorType::PlaceholderLast)] = {};
|
static SensorRegistryEntry s_sensorRegistry[static_cast<size_t>(SensorType::PlaceholderLast)] = {};
|
||||||
|
|
||||||
static_assert(efi::size(s_sensorNames) == efi::size(s_sensorRegistry));
|
|
||||||
|
|
||||||
bool Sensor::Register() {
|
bool Sensor::Register() {
|
||||||
return s_sensorRegistry[getIndex()].Register(this);
|
return s_sensorRegistry[getIndex()].Register(this);
|
||||||
}
|
}
|
||||||
|
@ -263,7 +204,7 @@ bool Sensor::Register() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*static*/ const char* Sensor::getSensorName(SensorType type) {
|
/*static*/ const char* Sensor::getSensorName(SensorType type) {
|
||||||
return s_sensorNames[static_cast<size_t>(type)];
|
return getSensorType(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*static*/ bool Sensor::s_inhibitSensorTimeouts = false;
|
/*static*/ bool Sensor::s_inhibitSensorTimeouts = false;
|
||||||
|
@ -276,7 +217,7 @@ bool Sensor::Register() {
|
||||||
/*static*/ void Sensor::showAllSensorInfo() {
|
/*static*/ void Sensor::showAllSensorInfo() {
|
||||||
for (size_t i = 1; i < efi::size(s_sensorRegistry); i++) {
|
for (size_t i = 1; i < efi::size(s_sensorRegistry); i++) {
|
||||||
auto& entry = s_sensorRegistry[i];
|
auto& entry = s_sensorRegistry[i];
|
||||||
const char* name = s_sensorNames[i];
|
const char* name = getSensorType((SensorType)i);
|
||||||
|
|
||||||
entry.showInfo(name);
|
entry.showInfo(name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,9 +13,6 @@
|
||||||
/**
|
/**
|
||||||
**************************************
|
**************************************
|
||||||
* SEE sensor.h ON HOW TO ADD NEW SENSOR TYPES
|
* SEE sensor.h ON HOW TO ADD NEW SENSOR TYPES
|
||||||
* While changing SensorType make sure to change s_sensorNames
|
|
||||||
* TODO: SensorType to s_sensorNames mapping has to be done by code generation! We already have relevant tools
|
|
||||||
* maybe we just need a better naming convention?
|
|
||||||
**************************************
|
**************************************
|
||||||
*/
|
*/
|
||||||
typedef enum __attribute__ ((__packed__)) {
|
typedef enum __attribute__ ((__packed__)) {
|
||||||
|
|
|
@ -3,6 +3,7 @@ CONTROLLERS_SENSORS_SRC =
|
||||||
|
|
||||||
CONTROLLERS_SENSORS_SRC_CPP = $(PROJECT_DIR)/controllers/sensors/thermistors.cpp \
|
CONTROLLERS_SENSORS_SRC_CPP = $(PROJECT_DIR)/controllers/sensors/thermistors.cpp \
|
||||||
$(PROJECT_DIR)/controllers/sensors/allsensors.cpp \
|
$(PROJECT_DIR)/controllers/sensors/allsensors.cpp \
|
||||||
|
$(PROJECT_DIR)/controllers/sensors/auto_generated_sensor.cpp \
|
||||||
$(PROJECT_DIR)/controllers/sensors/map.cpp \
|
$(PROJECT_DIR)/controllers/sensors/map.cpp \
|
||||||
$(PROJECT_DIR)/controllers/sensors/maf.cpp \
|
$(PROJECT_DIR)/controllers/sensors/maf.cpp \
|
||||||
$(PROJECT_DIR)/controllers/sensors/tps.cpp \
|
$(PROJECT_DIR)/controllers/sensors/tps.cpp \
|
||||||
|
|
|
@ -12,12 +12,16 @@ java -DSystemOut.name=gen_enum_to_string \
|
||||||
-generatedFile codes \
|
-generatedFile codes \
|
||||||
-enumInputFile controllers/algo/obd_error_codes.h
|
-enumInputFile controllers/algo/obd_error_codes.h
|
||||||
|
|
||||||
|
[ $? -eq 0 ] || { echo "ERROR generating obd_error_codes"; exit 1; }
|
||||||
|
|
||||||
java -DSystemOut.name=gen_enum_to_string \
|
java -DSystemOut.name=gen_enum_to_string \
|
||||||
-jar ../java_tools/enum2string.jar \
|
-jar ../java_tools/enum2string.jar \
|
||||||
-outputPath controllers/algo \
|
-outputPath controllers/algo \
|
||||||
-generatedFile commonenum \
|
-generatedFile commonenum \
|
||||||
-enumInputFile controllers/algo/rusefi_enums.h
|
-enumInputFile controllers/algo/rusefi_enums.h
|
||||||
|
|
||||||
|
[ $? -eq 0 ] || { echo "ERROR generating enums"; exit 1; }
|
||||||
|
|
||||||
# TODO: rearrange enums so that we have WAY less duplicated generated code? at the moment too many enums are generated 4 times
|
# TODO: rearrange enums so that we have WAY less duplicated generated code? at the moment too many enums are generated 4 times
|
||||||
|
|
||||||
java -DSystemOut.name=gen_enum_to_string \
|
java -DSystemOut.name=gen_enum_to_string \
|
||||||
|
@ -25,6 +29,16 @@ java -DSystemOut.name=gen_enum_to_string \
|
||||||
-outputPath controllers/algo \
|
-outputPath controllers/algo \
|
||||||
-enumInputFile controllers/algo/rusefi_hw_enums.h \
|
-enumInputFile controllers/algo/rusefi_hw_enums.h \
|
||||||
|
|
||||||
|
[ $? -eq 0 ] || { echo "ERROR generating hw_enums"; exit 1; }
|
||||||
|
|
||||||
|
java -DSystemOut.name=gen_enum_to_string \
|
||||||
|
-jar ../java_tools/enum2string.jar \
|
||||||
|
-outputPath controllers/sensors \
|
||||||
|
-generatedFile sensor \
|
||||||
|
-enumInputFile controllers/sensors/sensor_type.h
|
||||||
|
|
||||||
|
[ $? -eq 0 ] || { echo "ERROR generating sensors"; exit 1; }
|
||||||
|
|
||||||
pwd
|
pwd
|
||||||
cd config/boards/kinetis/config
|
cd config/boards/kinetis/config
|
||||||
bash kinetis_gen_enum_to_string.sh
|
bash kinetis_gen_enum_to_string.sh
|
||||||
|
|
Loading…
Reference in New Issue