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"
|
||||
|
||||
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)",
|
||||
};
|
||||
#include "auto_generated_sensor.h"
|
||||
|
||||
// This struct represents one sensor in the registry.
|
||||
// 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_assert(efi::size(s_sensorNames) == efi::size(s_sensorRegistry));
|
||||
|
||||
bool Sensor::Register() {
|
||||
return s_sensorRegistry[getIndex()].Register(this);
|
||||
}
|
||||
|
@ -263,7 +204,7 @@ bool Sensor::Register() {
|
|||
}
|
||||
|
||||
/*static*/ const char* Sensor::getSensorName(SensorType type) {
|
||||
return s_sensorNames[static_cast<size_t>(type)];
|
||||
return getSensorType(type);
|
||||
}
|
||||
|
||||
/*static*/ bool Sensor::s_inhibitSensorTimeouts = false;
|
||||
|
@ -276,7 +217,7 @@ bool Sensor::Register() {
|
|||
/*static*/ void Sensor::showAllSensorInfo() {
|
||||
for (size_t i = 1; i < efi::size(s_sensorRegistry); i++) {
|
||||
auto& entry = s_sensorRegistry[i];
|
||||
const char* name = s_sensorNames[i];
|
||||
const char* name = getSensorType((SensorType)i);
|
||||
|
||||
entry.showInfo(name);
|
||||
}
|
||||
|
|
|
@ -13,9 +13,6 @@
|
|||
/**
|
||||
**************************************
|
||||
* 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__)) {
|
||||
|
|
|
@ -3,6 +3,7 @@ CONTROLLERS_SENSORS_SRC =
|
|||
|
||||
CONTROLLERS_SENSORS_SRC_CPP = $(PROJECT_DIR)/controllers/sensors/thermistors.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/maf.cpp \
|
||||
$(PROJECT_DIR)/controllers/sensors/tps.cpp \
|
||||
|
|
|
@ -12,12 +12,16 @@ java -DSystemOut.name=gen_enum_to_string \
|
|||
-generatedFile codes \
|
||||
-enumInputFile controllers/algo/obd_error_codes.h
|
||||
|
||||
[ $? -eq 0 ] || { echo "ERROR generating obd_error_codes"; exit 1; }
|
||||
|
||||
java -DSystemOut.name=gen_enum_to_string \
|
||||
-jar ../java_tools/enum2string.jar \
|
||||
-outputPath controllers/algo \
|
||||
-generatedFile commonenum \
|
||||
-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
|
||||
|
||||
java -DSystemOut.name=gen_enum_to_string \
|
||||
|
@ -25,6 +29,16 @@ java -DSystemOut.name=gen_enum_to_string \
|
|||
-outputPath controllers/algo \
|
||||
-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
|
||||
cd config/boards/kinetis/config
|
||||
bash kinetis_gen_enum_to_string.sh
|
||||
|
|
Loading…
Reference in New Issue