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,87 @@
// SPDX-License-Identifier: Apache-2.0
// Copyright Pionix GmbH and Contributors to EVerest
#include <gtest/gtest.h>
#include <everest/util/enum/EnumFlags.hpp>
enum class ErrorHandlingFlags : std::uint8_t {
prevent_charging,
prevent_charging_welded,
all_errors_cleared,
last = all_errors_cleared
};
enum class BspErrors : std::uint8_t {
DiodeFault,
VentilationNotAvailable,
BrownOut,
EnergyManagement,
PermanentFault,
MREC2GroundFailure,
MREC4OverCurrentFailure,
MREC5OverVoltage,
MREC6UnderVoltage,
MREC8EmergencyStop,
MREC10InvalidVehicleMode,
MREC14PilotFault,
MREC15PowerLoss,
MREC17EVSEContactorFault,
MREC19CableOverTempStop,
MREC20PartialInsertion,
MREC23ProximityFault,
MREC24ConnectorVoltageHigh,
MREC25BrokenLatch,
MREC26CutCable,
VendorError,
last = VendorError
};
using namespace everest::lib::util;
TEST(AtomicEnumFlagsTest, init) {
AtomicEnumFlags<ErrorHandlingFlags> flags;
EXPECT_TRUE(flags.all_reset());
}
TEST(AtomicEnumFlagsTest, init_large) {
AtomicEnumFlags<BspErrors> flags;
EXPECT_TRUE(flags.all_reset());
}
TEST(AtomicEnumFlagsTest, set_reset_one) {
AtomicEnumFlags<ErrorHandlingFlags> flags;
EXPECT_TRUE(flags.all_reset());
flags.set(ErrorHandlingFlags::all_errors_cleared);
EXPECT_FALSE(flags.all_reset());
flags.reset(ErrorHandlingFlags::all_errors_cleared);
EXPECT_TRUE(flags.all_reset());
}
TEST(AtomicEnumFlagsTest, set_reset_two) {
AtomicEnumFlags<ErrorHandlingFlags> flags;
EXPECT_TRUE(flags.all_reset());
flags.set(ErrorHandlingFlags::all_errors_cleared);
EXPECT_FALSE(flags.all_reset());
flags.set(ErrorHandlingFlags::prevent_charging);
EXPECT_FALSE(flags.all_reset());
flags.reset(ErrorHandlingFlags::all_errors_cleared);
EXPECT_FALSE(flags.all_reset());
flags.reset(ErrorHandlingFlags::prevent_charging);
EXPECT_TRUE(flags.all_reset());
}
TEST(AtomicEnumFlagsTest, set_reset_three) {
AtomicEnumFlags<ErrorHandlingFlags> flags;
EXPECT_TRUE(flags.all_reset());
flags.set(ErrorHandlingFlags::all_errors_cleared);
EXPECT_FALSE(flags.all_reset());
flags.set(ErrorHandlingFlags::prevent_charging);
EXPECT_FALSE(flags.all_reset());
flags.set(ErrorHandlingFlags::prevent_charging_welded);
EXPECT_FALSE(flags.all_reset());
flags.reset();
EXPECT_TRUE(flags.all_reset());
}