- 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
67 lines
1.2 KiB
C++
67 lines
1.2 KiB
C++
// SPDX-License-Identifier: Apache-2.0
|
|
// Copyright Pionix GmbH and Contributors to EVerest
|
|
|
|
#include "slacImpl.hpp"
|
|
|
|
namespace module {
|
|
namespace evse {
|
|
|
|
using types::slac::State;
|
|
|
|
void slacImpl::init() {
|
|
}
|
|
|
|
void slacImpl::ready() {
|
|
publish_state(state);
|
|
}
|
|
|
|
void slacImpl::handle_reset(bool& enable) {
|
|
set_state_to_unmatched();
|
|
}
|
|
|
|
void slacImpl::handle_enter_bcd() {
|
|
set_state_to_matching();
|
|
}
|
|
|
|
void slacImpl::handle_leave_bcd() {
|
|
set_state_to_unmatched();
|
|
}
|
|
|
|
void slacImpl::handle_dlink_terminate() {
|
|
set_state_to_unmatched();
|
|
}
|
|
|
|
void slacImpl::handle_dlink_error() {
|
|
set_state_to_unmatched();
|
|
}
|
|
|
|
void slacImpl::handle_dlink_pause() {
|
|
// No action needed for D-LINK_PAUSE in simulation
|
|
}
|
|
|
|
void slacImpl::set_state_to_unmatched() {
|
|
if (state != State::UNMATCHED) {
|
|
state = State::UNMATCHED;
|
|
publish_state(state);
|
|
publish_dlink_ready(false);
|
|
}
|
|
}
|
|
|
|
void slacImpl::set_state_to_matching() {
|
|
state = State::MATCHING;
|
|
mod->cntmatching = 0;
|
|
publish_state(state);
|
|
}
|
|
|
|
State slacImpl::get_state() const {
|
|
return state;
|
|
}
|
|
|
|
void slacImpl::set_state_matched() {
|
|
state = State::MATCHED;
|
|
publish_state(state);
|
|
publish_dlink_ready(true);
|
|
};
|
|
} // namespace evse
|
|
} // namespace module
|