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:
79
tools/EVerest-main/lib/everest/slac/fsm/evse/src/context.cpp
Normal file
79
tools/EVerest-main/lib/everest/slac/fsm/evse/src/context.cpp
Normal file
@@ -0,0 +1,79 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
// Copyright 2023 - 2023 Pionix GmbH and Contributors to EVerest
|
||||
#include <everest/slac/fsm/evse/context.hpp>
|
||||
|
||||
#include <random>
|
||||
|
||||
#include "misc.hpp"
|
||||
|
||||
namespace slac::fsm::evse {
|
||||
|
||||
void EvseSlacConfig::generate_nmk() {
|
||||
const std::string CHARACTERS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
|
||||
std::random_device random_device;
|
||||
std::mt19937 generator(random_device());
|
||||
std::uniform_int_distribution<> distribution(0, CHARACTERS.size() - 1);
|
||||
|
||||
for (std::size_t i = 0; i < slac::defs::NMK_LEN; ++i) {
|
||||
session_nmk[i] = (uint8_t)CHARACTERS[distribution(generator)];
|
||||
}
|
||||
}
|
||||
|
||||
void Context::signal_cm_slac_parm_req(const uint8_t* mac) {
|
||||
if (callbacks.signal_ev_mac_address_parm_req) {
|
||||
const auto mac_string = format_mac_addr(mac);
|
||||
callbacks.signal_ev_mac_address_parm_req(mac_string);
|
||||
}
|
||||
}
|
||||
|
||||
void Context::signal_cm_slac_match_cnf(const uint8_t* mac) {
|
||||
if (callbacks.signal_ev_mac_address_match_cnf) {
|
||||
const auto mac_string = format_mac_addr(mac);
|
||||
callbacks.signal_ev_mac_address_match_cnf(mac_string);
|
||||
}
|
||||
}
|
||||
|
||||
void Context::signal_dlink_ready(bool value) {
|
||||
if (callbacks.signal_dlink_ready) {
|
||||
callbacks.signal_dlink_ready(value);
|
||||
}
|
||||
}
|
||||
|
||||
void Context::signal_error_routine_request() {
|
||||
if (callbacks.signal_error_routine_request) {
|
||||
callbacks.signal_error_routine_request();
|
||||
}
|
||||
}
|
||||
|
||||
void Context::signal_state(const std::string& state) {
|
||||
if (callbacks.signal_state) {
|
||||
callbacks.signal_state(state);
|
||||
}
|
||||
}
|
||||
|
||||
void Context::log_debug(const std::string& text) {
|
||||
if (callbacks.log_debug) {
|
||||
callbacks.log_debug(text);
|
||||
}
|
||||
}
|
||||
|
||||
void Context::log_info(const std::string& text) {
|
||||
if (callbacks.log_info) {
|
||||
callbacks.log_info(text);
|
||||
}
|
||||
}
|
||||
|
||||
void Context::log_warn(const std::string& text) {
|
||||
if (callbacks.log_warn) {
|
||||
callbacks.log_warn(text);
|
||||
}
|
||||
}
|
||||
|
||||
void Context::log_error(const std::string& text) {
|
||||
if (callbacks.log_error) {
|
||||
callbacks.log_error(text);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace slac::fsm::evse
|
||||
Reference in New Issue
Block a user