Compare commits
No commits in common. "2d0b0c63ed63787dc5bdad2c3f4672df2f3402dc" and "44d0e3de6451db05b1884661be08079c4a347b8e" have entirely different histories.
2d0b0c63ed
...
44d0e3de64
|
|
@ -119,10 +119,6 @@ void init_idevicesettings(pybind11::module_& m) {
|
||||||
|
|
||||||
.def("set_misc_io_analog_output_enabled", &IDeviceSettings::setMiscIOAnalogOutputEnabled, pybind11::call_guard<pybind11::gil_scoped_release>())
|
.def("set_misc_io_analog_output_enabled", &IDeviceSettings::setMiscIOAnalogOutputEnabled, pybind11::call_guard<pybind11::gil_scoped_release>())
|
||||||
.def("set_misc_io_analog_output", &IDeviceSettings::setMiscIOAnalogOutput, pybind11::call_guard<pybind11::gil_scoped_release>())
|
.def("set_misc_io_analog_output", &IDeviceSettings::setMiscIOAnalogOutput, pybind11::call_guard<pybind11::gil_scoped_release>())
|
||||||
|
|
||||||
// Performance blast
|
|
||||||
.def("is_perf_test_enabled", &IDeviceSettings::isPerfTestEnabled, pybind11::call_guard<pybind11::gil_scoped_release>())
|
|
||||||
.def("set_perf_test_enable", &IDeviceSettings::setPerfTestEnable, pybind11::call_guard<pybind11::gil_scoped_release>())
|
|
||||||
|
|
||||||
// Status properties
|
// Status properties
|
||||||
.def_readonly("disabled", &IDeviceSettings::disabled)
|
.def_readonly("disabled", &IDeviceSettings::disabled)
|
||||||
|
|
|
||||||
|
|
@ -1265,16 +1265,6 @@ public:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual std::optional<bool> isPerfTestEnabled() const {
|
|
||||||
report(APIEvent::Type::SettingNotAvaiableDevice, APIEvent::Severity::EventWarning);
|
|
||||||
return std::nullopt;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool setPerfTestEnable(bool enable) {
|
|
||||||
(void)enable;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool setMiscIOAnalogOutputEnabled(uint8_t pin, bool enabled);
|
virtual bool setMiscIOAnalogOutputEnabled(uint8_t pin, bool enabled);
|
||||||
virtual bool setMiscIOAnalogOutput(uint8_t pin, MiscIOAnalogVoltage voltage);
|
virtual bool setMiscIOAnalogOutput(uint8_t pin, MiscIOAnalogVoltage voltage);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<etherbadge_settings_t>();
|
auto cfg = getStructurePointer<etherbadge_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -93,7 +92,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const LIN_SETTINGS* getLINSettingsFor(Network net) const override {
|
const LIN_SETTINGS* getLINSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<etherbadge_settings_t>();
|
auto cfg = getStructurePointer<etherbadge_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -105,23 +103,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<etherbadge_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<etherbadge_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neoviconnect_settings_t>();
|
auto cfg = getStructurePointer<neoviconnect_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -140,7 +139,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const LIN_SETTINGS* getLINSettingsFor(Network net) const override {
|
const LIN_SETTINGS* getLINSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neoviconnect_settings_t>();
|
auto cfg = getStructurePointer<neoviconnect_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -154,23 +152,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<neoviconnect_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<neoviconnect_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CAN_SETTINGS* getLSFTCANSettingsFor(Network net) const override { return getCANSettingsFor(net); }
|
const CAN_SETTINGS* getLSFTCANSettingsFor(Network net) const override { return getCANSettingsFor(net); }
|
||||||
const SWCAN_SETTINGS* getSWCANSettingsFor(Network net) const override {
|
const SWCAN_SETTINGS* getSWCANSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neovifire_settings_t>();
|
auto cfg = getStructurePointer<neovifire_settings_t>();
|
||||||
|
|
@ -134,7 +133,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const LIN_SETTINGS* getLINSettingsFor(Network net) const override {
|
const LIN_SETTINGS* getLINSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neovifire_settings_t>();
|
auto cfg = getStructurePointer<neovifire_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -152,23 +150,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<neovifire_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<neovifire_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neovifire2_settings_t>();
|
auto cfg = getStructurePointer<neovifire2_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -181,7 +180,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CAN_SETTINGS* getLSFTCANSettingsFor(Network net) const override { return getCANSettingsFor(net); }
|
const CAN_SETTINGS* getLSFTCANSettingsFor(Network net) const override { return getCANSettingsFor(net); }
|
||||||
const SWCAN_SETTINGS* getSWCANSettingsFor(Network net) const override {
|
const SWCAN_SETTINGS* getSWCANSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neovifire2_settings_t>();
|
auto cfg = getStructurePointer<neovifire2_settings_t>();
|
||||||
|
|
@ -236,23 +234,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<neovifire2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<neovifire2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
||||||
auto cfg = getStructurePointer<neovifire2_settings_t>();
|
auto cfg = getStructurePointer<neovifire2_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neovifire3_settings_t>();
|
auto cfg = getStructurePointer<neovifire3_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -398,23 +397,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<neovifire3_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<neovifire3_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
||||||
auto cfg = getStructurePointer<neovifire3_settings_t>();
|
auto cfg = getStructurePointer<neovifire3_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neovifire3flexray_settings_t>();
|
auto cfg = getStructurePointer<neovifire3flexray_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -237,23 +236,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<neovifire3flexray_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<neovifire3flexray_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
||||||
auto cfg = getStructurePointer<neovifire3flexray_settings_t>();
|
auto cfg = getStructurePointer<neovifire3flexray_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neovifire3t1slin_settings_t>();
|
auto cfg = getStructurePointer<neovifire3t1slin_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -467,23 +466,6 @@ public:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<neovifire3t1slin_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<neovifire3t1slin_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
||||||
auto cfg = getStructurePointer<neovifire3t1slin_settings_t>();
|
auto cfg = getStructurePointer<neovifire3t1slin_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<neovired2_settings_t>();
|
auto cfg = getStructurePointer<neovired2_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -296,23 +295,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<neovired2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<neovired2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
||||||
auto cfg = getStructurePointer<neovired2_settings_t>();
|
auto cfg = getStructurePointer<neovired2_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<rada2b_settings_t>();
|
auto cfg = getStructurePointer<rada2b_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -242,23 +241,6 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
static constexpr uint8_t a2bSettingsFlag16bit = 0x01;
|
static constexpr uint8_t a2bSettingsFlag16bit = 0x01;
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<rada2b_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<rada2b_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radcomet2_settings_t>();
|
auto cfg = getStructurePointer<radcomet2_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -245,23 +244,6 @@ public:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radcomet2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radcomet2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
||||||
auto cfg = getStructurePointer<radcomet2_settings_t>();
|
auto cfg = getStructurePointer<radcomet2_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radcomet3_settings_t>();
|
auto cfg = getStructurePointer<radcomet3_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -639,23 +638,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radcomet3_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radcomet3_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
||||||
auto cfg = getStructurePointer<radcomet3_settings_t>();
|
auto cfg = getStructurePointer<radcomet3_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radepsilon_settings_t>();
|
auto cfg = getStructurePointer<radepsilon_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -270,23 +269,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radepsilon_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radepsilon_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum class EpsilonPhyMode : uint8_t {
|
enum class EpsilonPhyMode : uint8_t {
|
||||||
Auto = 0,
|
Auto = 0,
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radgalaxy_settings_t>();
|
auto cfg = getStructurePointer<radgalaxy_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -161,7 +160,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const SWCAN_SETTINGS* getSWCANSettingsFor(Network net) const override {
|
const SWCAN_SETTINGS* getSWCANSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radgalaxy_settings_t>();
|
auto cfg = getStructurePointer<radgalaxy_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -273,23 +271,6 @@ public:
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radgalaxy_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radgalaxy_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radgalaxy2_settings_t>();
|
auto cfg = getStructurePointer<radgalaxy2_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -260,23 +259,6 @@ public:
|
||||||
|
|
||||||
return GetNetworkEnabled(bitfields, 2, networkID);
|
return GetNetworkEnabled(bitfields, 2, networkID);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radgalaxy2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radgalaxy2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radgigastar_settings_t>();
|
auto cfg = getStructurePointer<radgigastar_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -179,23 +178,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radgigastar_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radgigastar_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
||||||
auto cfg = getStructurePointer<radgigastar_settings_t>();
|
auto cfg = getStructurePointer<radgigastar_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -176,7 +176,6 @@ namespace icsneo
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS *getCANFDSettingsFor(Network net) const override
|
const CANFD_SETTINGS *getCANFDSettingsFor(Network net) const override
|
||||||
{
|
{
|
||||||
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
||||||
|
|
@ -538,23 +537,6 @@ namespace icsneo
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radgigastar2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
||||||
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radjupiter_settings_t>();
|
auto cfg = getStructurePointer<radjupiter_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -119,7 +118,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const LIN_SETTINGS* getLINSettingsFor(Network net) const override {
|
const LIN_SETTINGS* getLINSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radjupiter_settings_t>();
|
auto cfg = getStructurePointer<radjupiter_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -131,23 +129,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radjupiter_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radjupiter_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -154,23 +154,6 @@ public:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radmoont1s_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radmoont1s_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
const ETHERNET10T1S_SETTINGS* getT1SSettingsFor(Network net) const {
|
||||||
auto cfg = getStructurePointer<radmoont1s_settings_t>();
|
auto cfg = getStructurePointer<radmoont1s_settings_t>();
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radpluto_settings_t>();
|
auto cfg = getStructurePointer<radpluto_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -116,23 +115,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radpluto_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radpluto_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,21 +35,6 @@ public:
|
||||||
ProductID getProductID() const override {
|
ProductID getProductID() const override {
|
||||||
return ProductID::RADStar2;
|
return ProductID::RADStar2;
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<ChipInfo>& getChipInfo() const override {
|
|
||||||
static std::vector<ChipInfo> chips = {
|
|
||||||
{ChipID::RADStar2_ZYNQ, true, "ZCHIP", "RADStar2_SW_bin", 0, FirmwareType::Zip}
|
|
||||||
};
|
|
||||||
return chips;
|
|
||||||
}
|
|
||||||
|
|
||||||
BootloaderPipeline getBootloader() override {
|
|
||||||
return BootloaderPipeline()
|
|
||||||
.add<EnterBootloaderPhase>()
|
|
||||||
.add<FlashPhase>(ChipID::RADStar2_ZYNQ, BootloaderCommunication::RAD, false)
|
|
||||||
.add<EnterApplicationPhase>(ChipID::RADStar2_ZYNQ)
|
|
||||||
.add<WaitPhase>(std::chrono::milliseconds(3000));
|
|
||||||
}
|
|
||||||
protected:
|
protected:
|
||||||
RADStar2(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
RADStar2(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
||||||
initialize<RADStar2Settings>(makeDriver);
|
initialize<RADStar2Settings>(makeDriver);
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
const CANFD_SETTINGS* getCANFDSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<radstar2_settings_t>();
|
auto cfg = getStructurePointer<radstar2_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -117,23 +116,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<radstar2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<radstar2_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,23 +51,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<valuecan3_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<valuecan3_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CAN_SETTINGS* getLSFTCANSettingsFor(Network net) const override {
|
const CAN_SETTINGS* getLSFTCANSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<vividcan_settings_t>();
|
auto cfg = getStructurePointer<vividcan_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -74,7 +73,6 @@ public:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const SWCAN_SETTINGS* getSWCANSettingsFor(Network net) const override {
|
const SWCAN_SETTINGS* getSWCANSettingsFor(Network net) const override {
|
||||||
auto cfg = getStructurePointer<vividcan_settings_t>();
|
auto cfg = getStructurePointer<vividcan_settings_t>();
|
||||||
if(cfg == nullptr)
|
if(cfg == nullptr)
|
||||||
|
|
@ -117,23 +115,6 @@ public:
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<bool> isPerfTestEnabled() const override {
|
|
||||||
auto cfg = getStructurePointer<vividcan_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return std::nullopt;
|
|
||||||
|
|
||||||
return std::make_optional<bool>(cfg->perf_en != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool setPerfTestEnable(bool enable) override {
|
|
||||||
auto cfg = getMutableStructurePointer<vividcan_settings_t>();
|
|
||||||
if(cfg == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
cfg->perf_en = !!enable;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override {
|
||||||
// Check the structure pointer even though we're not using it so
|
// Check the structure pointer even though we're not using it so
|
||||||
|
|
|
||||||
|
|
@ -137,9 +137,6 @@ public:
|
||||||
if (::poll(&pfd, 1, static_cast<int>(timeout.count())) == -1) {
|
if (::poll(&pfd, 1, static_cast<int>(timeout.count())) == -1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (pfd.revents & (POLLHUP | POLLERR)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
in = pfd.revents & POLLIN;
|
in = pfd.revents & POLLIN;
|
||||||
return true;
|
return true;
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -158,12 +155,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
bool send(const void* buffer, size_t size) {
|
bool send(const void* buffer, size_t size) {
|
||||||
#ifdef _WIN32
|
auto sent = ::send(mFD, (const char*)buffer, (int)size, 0);
|
||||||
int flags = 0;
|
|
||||||
#else
|
|
||||||
int flags = MSG_NOSIGNAL;
|
|
||||||
#endif
|
|
||||||
auto sent = ::send(mFD, (const char*)buffer, (int)size, flags);
|
|
||||||
if(sent == -1) {
|
if(sent == -1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -113,10 +113,6 @@ bool Servd::open() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const auto tokens = split(response);
|
const auto tokens = split(response);
|
||||||
if(tokens.size() == 1 && tokens[0] == "0") {
|
|
||||||
EventManager::GetInstance().add(APIEvent::Type::DeviceDisconnected, APIEvent::Severity::Error);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if(tokens.size() != 2) {
|
if(tokens.size() != 2) {
|
||||||
EventManager::GetInstance().add(APIEvent::Type::ServdInvalidResponseError, APIEvent::Severity::Error);
|
EventManager::GetInstance().add(APIEvent::Type::ServdInvalidResponseError, APIEvent::Severity::Error);
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue