diff --git a/Software/Software.cpp b/Software/Software.cpp index 73cdea2c..0702406e 100644 --- a/Software/Software.cpp +++ b/Software/Software.cpp @@ -30,7 +30,7 @@ #include "src/inverter/INVERTERS.h" #if !defined(HW_LILYGO) && !defined(HW_LILYGO2CAN) && !defined(HW_STARK) && !defined(HW_3LB) && !defined(HW_DEVKIT) -#error You must select a target hardware in the USER_SETTINGS.h file! +#error You must select a target hardware! #endif // The current software version, shown on webserver @@ -396,9 +396,10 @@ void core_loop(void*) { } led_exe(); handle_contactors(); // Take care of startup precharge/contactor closing -#ifdef PRECHARGE_CONTROL - handle_precharge_control(currentMillis); -#endif // PRECHARGE_CONTROL + if (precharge_control_enabled) { + handle_precharge_control(currentMillis); //Drive the hia4v1 via PWM + } + if (datalayer.system.info.performance_measurement_active) { END_TIME_MEASUREMENT_MAX(10ms, datalayer.system.status.time_10ms_us); } diff --git a/Software/src/inverter/AFORE-CAN.h b/Software/src/inverter/AFORE-CAN.h index f98a582a..96e59ec6 100644 --- a/Software/src/inverter/AFORE-CAN.h +++ b/Software/src/inverter/AFORE-CAN.h @@ -1,10 +1,6 @@ #ifndef AFORE_CAN_H #define AFORE_CAN_H -#ifdef AFORE_CAN -#define SELECTED_INVERTER_CLASS AforeCanInverter -#endif - #include "CanInverterProtocol.h" class AforeCanInverter : public CanInverterProtocol { diff --git a/Software/src/inverter/BYD-CAN.h b/Software/src/inverter/BYD-CAN.h index b61d0a5c..07fd1189 100644 --- a/Software/src/inverter/BYD-CAN.h +++ b/Software/src/inverter/BYD-CAN.h @@ -1,10 +1,6 @@ #ifndef BYD_CAN_H #define BYD_CAN_H -#ifdef BYD_CAN -#define SELECTED_INVERTER_CLASS BydCanInverter -#endif - #include "../../USER_SETTINGS.h" #include "../datalayer/datalayer.h" #include "CanInverterProtocol.h" diff --git a/Software/src/inverter/BYD-MODBUS.h b/Software/src/inverter/BYD-MODBUS.h index a51010c5..83da47db 100644 --- a/Software/src/inverter/BYD-MODBUS.h +++ b/Software/src/inverter/BYD-MODBUS.h @@ -1,10 +1,6 @@ #ifndef BYD_MODBUS_H #define BYD_MODBUS_H -#ifdef BYD_MODBUS -#define SELECTED_INVERTER_CLASS BydModbusInverter -#endif - #include "../devboard/utils/types.h" #include "ModbusInverterProtocol.h" diff --git a/Software/src/inverter/FERROAMP-CAN.h b/Software/src/inverter/FERROAMP-CAN.h index 00ec78bd..aa4f064f 100644 --- a/Software/src/inverter/FERROAMP-CAN.h +++ b/Software/src/inverter/FERROAMP-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef FERROAMP_CAN -#define SELECTED_INVERTER_CLASS FerroampCanInverter -#endif - class FerroampCanInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/FOXESS-CAN.h b/Software/src/inverter/FOXESS-CAN.h index 2bb82df4..cd756807 100644 --- a/Software/src/inverter/FOXESS-CAN.h +++ b/Software/src/inverter/FOXESS-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef FOXESS_CAN -#define SELECTED_INVERTER_CLASS FoxessCanInverter -#endif - class FoxessCanInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/GROWATT-HV-CAN.h b/Software/src/inverter/GROWATT-HV-CAN.h index cf9d1b9a..44b86745 100644 --- a/Software/src/inverter/GROWATT-HV-CAN.h +++ b/Software/src/inverter/GROWATT-HV-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef GROWATT_HV_CAN -#define SELECTED_INVERTER_CLASS GrowattHvInverter -#endif - class GrowattHvInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/GROWATT-LV-CAN.h b/Software/src/inverter/GROWATT-LV-CAN.h index ae6c71b2..a55a1ef9 100644 --- a/Software/src/inverter/GROWATT-LV-CAN.h +++ b/Software/src/inverter/GROWATT-LV-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef GROWATT_LV_CAN -#define SELECTED_INVERTER_CLASS GrowattLvInverter -#endif - class GrowattLvInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/GROWATT-WIT-CAN.h b/Software/src/inverter/GROWATT-WIT-CAN.h index d94f6c18..fceef3d5 100644 --- a/Software/src/inverter/GROWATT-WIT-CAN.h +++ b/Software/src/inverter/GROWATT-WIT-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef GROWATT_WIT_CAN -#define SELECTED_INVERTER_CLASS GrowattWitInverter -#endif - class GrowattWitInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/KOSTAL-RS485.h b/Software/src/inverter/KOSTAL-RS485.h index 0768461f..d67b7438 100644 --- a/Software/src/inverter/KOSTAL-RS485.h +++ b/Software/src/inverter/KOSTAL-RS485.h @@ -3,11 +3,6 @@ #include #include "Rs485InverterProtocol.h" -#ifdef BYD_KOSTAL_RS485 -#define RS485_INVERTER_SELECTED -#define SELECTED_INVERTER_CLASS KostalInverterProtocol -#endif - class KostalInverterProtocol : public Rs485InverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/PYLON-CAN.h b/Software/src/inverter/PYLON-CAN.h index 33a8b1b6..7f03fa82 100644 --- a/Software/src/inverter/PYLON-CAN.h +++ b/Software/src/inverter/PYLON-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef PYLON_CAN -#define SELECTED_INVERTER_CLASS PylonInverter -#endif - class PylonInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/PYLON-LV-CAN.h b/Software/src/inverter/PYLON-LV-CAN.h index 24800621..af2e7342 100644 --- a/Software/src/inverter/PYLON-LV-CAN.h +++ b/Software/src/inverter/PYLON-LV-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef PYLON_LV_CAN -#define SELECTED_INVERTER_CLASS PylonLvInverter -#endif - class PylonLvInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SCHNEIDER-CAN.h b/Software/src/inverter/SCHNEIDER-CAN.h index e895e939..dbaa2441 100644 --- a/Software/src/inverter/SCHNEIDER-CAN.h +++ b/Software/src/inverter/SCHNEIDER-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef SCHNEIDER_CAN -#define SELECTED_INVERTER_CLASS SchneiderInverter -#endif - class SchneiderInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SMA-BYD-H-CAN.h b/Software/src/inverter/SMA-BYD-H-CAN.h index 9d9eda6b..88a5b845 100644 --- a/Software/src/inverter/SMA-BYD-H-CAN.h +++ b/Software/src/inverter/SMA-BYD-H-CAN.h @@ -4,10 +4,6 @@ #include "../devboard/hal/hal.h" #include "SmaInverterBase.h" -#ifdef SMA_BYD_H_CAN -#define SELECTED_INVERTER_CLASS SmaBydHInverter -#endif - class SmaBydHInverter : public SmaInverterBase { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SMA-BYD-HVS-CAN.h b/Software/src/inverter/SMA-BYD-HVS-CAN.h index c3d78b07..2f9dac67 100644 --- a/Software/src/inverter/SMA-BYD-HVS-CAN.h +++ b/Software/src/inverter/SMA-BYD-HVS-CAN.h @@ -4,10 +4,6 @@ #include "../devboard/hal/hal.h" #include "SmaInverterBase.h" -#ifdef SMA_BYD_HVS_CAN -#define SELECTED_INVERTER_CLASS SmaBydHvsInverter -#endif - class SmaBydHvsInverter : public SmaInverterBase { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SMA-LV-CAN.h b/Software/src/inverter/SMA-LV-CAN.h index 4ceef71b..e414f305 100644 --- a/Software/src/inverter/SMA-LV-CAN.h +++ b/Software/src/inverter/SMA-LV-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef SMA_LV_CAN -#define SELECTED_INVERTER_CLASS SmaLvInverter -#endif - class SmaLvInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SMA-TRIPOWER-CAN.h b/Software/src/inverter/SMA-TRIPOWER-CAN.h index ace38bf9..7a18ea2a 100644 --- a/Software/src/inverter/SMA-TRIPOWER-CAN.h +++ b/Software/src/inverter/SMA-TRIPOWER-CAN.h @@ -4,10 +4,6 @@ #include "../devboard/hal/hal.h" #include "SmaInverterBase.h" -#ifdef SMA_TRIPOWER_CAN -#define SELECTED_INVERTER_CLASS SmaTripowerInverter -#endif - class SmaTripowerInverter : public SmaInverterBase { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SOFAR-CAN.h b/Software/src/inverter/SOFAR-CAN.h index 9a6a8642..59959688 100644 --- a/Software/src/inverter/SOFAR-CAN.h +++ b/Software/src/inverter/SOFAR-CAN.h @@ -2,10 +2,6 @@ #define SOFAR_CAN_H #include "CanInverterProtocol.h" -#ifdef SOFAR_CAN -#define SELECTED_INVERTER_CLASS SofarInverter -#endif - class SofarInverter : public CanInverterProtocol { public: bool setup() override; diff --git a/Software/src/inverter/SOL-ARK-LV-CAN.h b/Software/src/inverter/SOL-ARK-LV-CAN.h index 98b2cf9f..7e28f944 100644 --- a/Software/src/inverter/SOL-ARK-LV-CAN.h +++ b/Software/src/inverter/SOL-ARK-LV-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef SOL_ARK_LV_CAN -#define SELECTED_INVERTER_CLASS SolArkLvInverter -#endif - class SolArkLvInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SOLAX-CAN.h b/Software/src/inverter/SOLAX-CAN.h index 6a67e8bf..2599133c 100644 --- a/Software/src/inverter/SOLAX-CAN.h +++ b/Software/src/inverter/SOLAX-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef SOLAX_CAN -#define SELECTED_INVERTER_CLASS SolaxInverter -#endif - class SolaxInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SOLXPOW-CAN.h b/Software/src/inverter/SOLXPOW-CAN.h index f45970ee..8010c944 100644 --- a/Software/src/inverter/SOLXPOW-CAN.h +++ b/Software/src/inverter/SOLXPOW-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef SOLXPOW_CAN -#define SELECTED_INVERTER_CLASS SolxpowInverter -#endif - class SolxpowInverter : public CanInverterProtocol { public: const char* name() override { return Name; } diff --git a/Software/src/inverter/SUNGROW-CAN.h b/Software/src/inverter/SUNGROW-CAN.h index a28a2372..d4f5a7c9 100644 --- a/Software/src/inverter/SUNGROW-CAN.h +++ b/Software/src/inverter/SUNGROW-CAN.h @@ -3,10 +3,6 @@ #include "CanInverterProtocol.h" -#ifdef SUNGROW_CAN -#define SELECTED_INVERTER_CLASS SungrowInverter -#endif - class SungrowInverter : public CanInverterProtocol { public: const char* name() override { return Name; }