Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter

- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
This commit is contained in:
Eric F
2026-06-08 00:38:27 -04:00
parent 468cfeaa50
commit d398a6ced2
7326 changed files with 1177561 additions and 7 deletions

View File

@@ -0,0 +1,134 @@
// SPDX-License-Identifier: Apache-2.0
// Copyright Pionix GmbH and Contributors to EVerest
#include "errors.hpp"
#include "everest/logging.hpp"
std::tuple<bool, std::optional<ErrorDefinition>> parse_error_type(const std::string& payload) {
// parsing, getting raise
const auto e = json::parse(payload);
const auto raise = (e.value("raise", "false") == "true") ? true : false;
const auto error_type = static_cast<std::string>(e.at("error_type"));
if (error_type == "powermeter/CommunicationFault") {
return {raise, error_definitions::powermeter_CommunicationFault};
}
if (error_type == "DiodeFault") {
return {raise, error_definitions::evse_board_support_DiodeFault};
}
if (error_type == "BrownOut") {
return {raise, error_definitions::evse_board_support_BrownOut};
}
if (error_type == "EnergyManagement") {
return {raise, error_definitions::evse_board_support_EnergyManagement};
}
if (error_type == "PermanentFault") {
return {raise, error_definitions::evse_board_support_PermanentFault};
}
if (error_type == "MREC2GroundFailure") {
return {raise, error_definitions::evse_board_support_MREC2GroundFailure};
}
if (error_type == "MREC3HighTemperature") {
return {raise, error_definitions::evse_board_support_MREC3HighTemperature};
}
if (error_type == "MREC4OverCurrentFailure") {
return {raise, error_definitions::evse_board_support_MREC4OverCurrentFailure};
}
if (error_type == "MREC5OverVoltage") {
return {raise, error_definitions::evse_board_support_MREC5OverVoltage};
}
if (error_type == "MREC6UnderVoltage") {
return {raise, error_definitions::evse_board_support_MREC6UnderVoltage};
}
if (error_type == "MREC8EmergencyStop") {
return {raise, error_definitions::evse_board_support_MREC8EmergencyStop};
}
if (error_type == "MREC10InvalidVehicleMode") {
return {raise, error_definitions::evse_board_support_MREC10InvalidVehicleMode};
}
if (error_type == "MREC14PilotFault") {
return {raise, error_definitions::evse_board_support_MREC14PilotFault};
}
if (error_type == "MREC15PowerLoss") {
return {raise, error_definitions::evse_board_support_MREC15PowerLoss};
}
if (error_type == "MREC17EVSEContactorFault") {
return {raise, error_definitions::evse_board_support_MREC17EVSEContactorFault};
}
if (error_type == "MREC18CableOverTempDerate") {
return {raise, error_definitions::evse_board_support_MREC18CableOverTempDerate};
}
if (error_type == "MREC19CableOverTempStop") {
return {raise, error_definitions::evse_board_support_MREC19CableOverTempStop};
}
if (error_type == "MREC20PartialInsertion") {
return {raise, error_definitions::evse_board_support_MREC20PartialInsertion};
}
if (error_type == "MREC23ProximityFault") {
return {raise, error_definitions::evse_board_support_MREC23ProximityFault};
}
if (error_type == "MREC24ConnectorVoltageHigh") {
return {raise, error_definitions::evse_board_support_MREC24ConnectorVoltageHigh};
}
if (error_type == "MREC25BrokenLatch") {
return {raise, error_definitions::evse_board_support_MREC25BrokenLatch};
}
if (error_type == "MREC26CutCable") {
return {raise, error_definitions::evse_board_support_MREC26CutCable};
}
if (error_type == "TiltDetected") {
return {raise, error_definitions::evse_board_support_TiltDetected};
}
if (error_type == "WaterIngressDetected") {
return {raise, error_definitions::evse_board_support_WaterIngressDetected};
}
if (error_type == "EnclosureOpen") {
return {raise, error_definitions::evse_board_support_EnclosureOpen};
}
if (error_type == "ac_rcd_MREC2GroundFailure") {
return {raise, error_definitions::ac_rcd_MREC2GroundFailure};
}
if (error_type == "ac_rcd_VendorError") {
return {raise, error_definitions::ac_rcd_VendorError};
}
if (error_type == "ac_rcd_Selftest") {
return {raise, error_definitions::ac_rcd_Selftest};
}
if (error_type == "ac_rcd_AC") {
return {raise, error_definitions::ac_rcd_AC};
}
if (error_type == "ac_rcd_DC") {
return {raise, error_definitions::ac_rcd_DC};
}
if (error_type == "lock_ConnectorLockCapNotCharged") {
return {raise, error_definitions::connector_lock_ConnectorLockCapNotCharged};
}
if (error_type == "lock_ConnectorLockUnexpectedOpen") {
return {raise, error_definitions::connector_lock_ConnectorLockUnexpectedOpen};
}
if (error_type == "lock_ConnectorLockUnexpectedClose") {
return {raise, error_definitions::connector_lock_ConnectorLockUnexpectedClose};
}
if (error_type == "lock_ConnectorLockFailedLock") {
return {raise, error_definitions::connector_lock_ConnectorLockFailedLock};
}
if (error_type == "lock_ConnectorLockFailedUnlock") {
return {raise, error_definitions::connector_lock_ConnectorLockFailedUnlock};
}
if (error_type == "lock_MREC1ConnectorLockFailure") {
return {raise, error_definitions::connector_lock_MREC1ConnectorLockFailure};
}
if (error_type == "lock_VendorError") {
return {raise, error_definitions::connector_lock_VendorError};
}
EVLOG_error << "Unknown error raised via MQTT";
return {raise, std::nullopt};
}
Everest::error::Error create_error(const Everest::error::ErrorFactory& error_factory, const ErrorDefinition& def) {
return error_factory.create_error(def.type, def.sub_type, def.message, def.severity);
}