Files
cariflex/tools/EVerest-main/modules/HardwareDrivers/EVSE/TIDA010939/rcd/ac_rcdImpl.cpp
Eric F d398a6ced2 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
2026-06-08 00:38:27 -04:00

45 lines
1.4 KiB
C++

// SPDX-License-Identifier: Apache-2.0
// Copyright Pionix GmbH and Contributors to EVerest
#include "ac_rcdImpl.hpp"
namespace module {
namespace rcd {
void ac_rcdImpl::init() {
mod->serial.signalErrorFlags.connect([this](ErrorFlags error_flags) {
if (error_flags.rcd_triggered and not last_error_flags.rcd_triggered) {
Everest::error::Error error_object =
this->error_factory->create_error("ac_rcd/DC", "", "RDC-MD triggered", Everest::error::Severity::High);
this->raise_error(error_object);
} else if (not error_flags.rcd_triggered and last_error_flags.rcd_triggered) {
this->clear_error("ac_rcd/DC");
}
if (error_flags.rcd_selftest_failed and not last_error_flags.rcd_selftest_failed) {
Everest::error::Error error_object = this->error_factory->create_error(
"ac_rcd/Selftest", "", "RCD self-test failed", Everest::error::Severity::High);
this->raise_error(error_object);
} else if (not error_flags.rcd_selftest_failed and last_error_flags.rcd_selftest_failed) {
this->clear_error("ac_rcd/Selftest");
}
last_error_flags = error_flags;
});
}
void ac_rcdImpl::ready() {
}
void ac_rcdImpl::handle_self_test() {
mod->serial.set_rcd_test(true);
}
bool ac_rcdImpl::handle_reset() {
mod->serial.reset_rcd(true);
return true;
}
} // namespace rcd
} // namespace module