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,5 @@
filegroup(
name = "errors",
srcs = glob(["*.yaml"]),
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,25 @@
description: >-
Errors for AC RCD
MREC error code should be triggered in parallel with the more fine grained non-standardized AC/DC errors.
All error codes that begin with MREC needs to be implemented to fulfill the Minimum Required Error Codes defined by the ChargeX consortium:
https://inl.gov/content/uploads/2023/07/ChargeX_MREC_Rev5_09.12.23.pdf
errors:
- name: Selftest
description: The Selftest failed, device permanently broken
- name: DC
description: RCD was triggered by a DC fault
- name: AC
description: RCD was triggered by an AC fault
- name: MREC2GroundFailure
description: >-
MREC compliant fault code
- name: VendorError
description: >-
Vendor specific error code. Will stop charging session.
- name: VendorWarning
description: >-
Vendor specific error code. Charging may continue.

View File

@@ -0,0 +1,33 @@
description: >-
Errors for Connector Lock
The following error types give more details about connector lock errors.
You should consider setting a MREC_1_ConnectorLockFailure to indicate a generic lock failure with an MREC error code as well
as one of the more detailed but custom error codes to specify the reason:
All error codes that begin with MREC needs to be implemented to fulfill the Minimum Required Error Codes defined by the ChargeX consortium:
https://inl.gov/content/uploads/2023/07/ChargeX_MREC_Rev5_09.12.23.pdf
errors:
- name: ConnectorLockCapNotCharged
description: The capacitor for connector lock motor failed to charge within expected time
- name: ConnectorLockUnexpectedOpen
description: The connector lock feedback returns open while it should be closed
- name: ConnectorLockUnexpectedClose
description: The connector lock feedback returns closed while it should be open
- name: ConnectorLockFailedLock
description: The connector lock failed to lock (feedback still returns open)
- name: ConnectorLockFailedUnlock
description: The connector lock failed to unlock (feedback still returns closed)
- name: MREC1ConnectorLockFailure
description: >-
Failure to lock or unlock connector on the vehicle side as per MREC definition.
How should that be implemented? We can only find out about locking on the EVSE side,
so we will use this error to report EVSE side lock failures. It is probably a mistake in the MREC definition.
- name: VendorError
description: >-
Vendor specific error code. Will stop charging session.
- name: VendorWarning
description: >-
Vendor specific error code. Charging may continue.

View File

@@ -0,0 +1,65 @@
description: >-
Errors for the evse_board_support interface.
All error codes that begin with MREC need to be implemented to fulfill the Minimum Required Error Codes defined by the ChargeX consortium:
https://inl.gov/content/uploads/2023/07/ChargeX_MREC_Rev5_09.12.23.pdf
errors:
- name: DiodeFault
description: The CP diode in the EV is shorted.
- name: VentilationNotAvailable
description: EV requested state D but no ventilation is available.
- name: BrownOut
description: The hardware/MCU detected a brown out.
- name: EnergyManagement
description: Energy could not be delivered because an (external) energy management failed.
- name: PermanentFault
description: The EVSE is permanently broken and requires repair.
- name: MREC2GroundFailure
description: Ground fault circuit interrupter has been activated.
- name: MREC3HighTemperature
description: High temperature inside the EVSE is derating power delivery.
- name: MREC4OverCurrentFailure
description: Over current protection device has tripped.
- name: MREC5OverVoltage
description: Input voltage to the vehicle has risen above an acceptable level.
- name: MREC6UnderVoltage
description: Input voltage to the vehicle has dropped below an acceptable level.
- name: MREC8EmergencyStop
description: Emergency stop is pressed by the user (required if equipped).
- name: MREC10InvalidVehicleMode
description: The vehicle is in an invalid mode for charging (Reported by IEC stack)
- name: MREC14PilotFault
description: The control pilot voltage is out of range.
- name: MREC15PowerLoss
description: The EVSE is unable to supply any power due to mains failure
- name: MREC17EVSEContactorFault
description: Contactors fail to open or close on EVSE's side. May also include welding related errors.
- name: MREC18CableOverTempDerate
description: Temperature of charging cable or connector assembly is too high, resulting in reduced power operation.
- name: MREC19CableOverTempStop
description: Temperature of charging cable or connector assembly is too high, resulting in a stopped charging session.
- name: MREC20PartialInsertion
description: Cable latch is raised due to incomplete insertion into the vehicle charging port.
- name: MREC23ProximityFault
description: The proximity voltage is out of range.
- name: MREC24ConnectorVoltageHigh
description: The output voltage of EVSE is high before charging starts or after charging ends.
- name: MREC25BrokenLatch
description: The latch on the connector is broken.
- name: MREC26CutCable
description: The output cable has been severed from the EVSE.
- name: TiltDetected
description: The EVSE has been tilted beyond acceptable limits.
- name: WaterIngressDetected
description: A substantial amount of water has been detected inside the EVSE.
- name: EnclosureOpen
description: The EVSE enclosure is open, e.g. a door or panel is not properly closed.
- name: VendorError
description: >-
Vendor specific error code. Will stop charging session.
- name: VendorWarning
description: >-
Vendor specific error code. Charging may continue.
- name: CommunicationFault
description: >-
The communication to the hardware or underlying driver is lost or has errors.

View File

@@ -0,0 +1,25 @@
description: >-
Errors for EvseManager
All error codes that begin with MREC need to be implemented to fulfill the Minimum Required Error Codes defined by the ChargeX consortium:
https://inl.gov/content/uploads/2023/07/ChargeX_MREC_Rev5_09.12.23.pdf
errors:
- name: Internal
description: Internal error of the state machine
- name: MREC4OverCurrentFailure
description: Over current event
- name: MREC5OverVoltage
description: Over voltage event
- name: MREC9AuthorizationTimeout
description: No authorization was provided within timeout after plugin
- name: PowermeterTransactionStartFailed
description: Transaction could not be started at the powermeter
- name: Inoperative
description: Charging is not possible. Usually caused by another error from one of the requirements.
- name: MREC22ResistanceFault
description: An Isolation Monitoring Device tripped due to low resistance to the chassis during active charging.
- name: MREC11CableCheckFault
description: Cable check failed. Isolation monitor self test failed before charging.
- name: VoltagePlausibilityFault
description: Voltage plausibility check failed. Standard deviation between voltage measurements from different sources exceeded threshold for configured duration.

View File

@@ -0,0 +1,10 @@
description: Example group of errors used by example modules to demonstrate error handling
errors:
- name: ExampleErrorA
description: Example error A
- name: ExampleErrorB
description: Example error B
- name: ExampleErrorC
description: Example error C
- name: ExampleErrorD
description: Example error D

View File

@@ -0,0 +1,11 @@
description: >-
Generic errors used by multiple modules
errors:
- name: CommunicationFault
description: Communication with the underlying hardware or device has a fault
- name: VendorError
description: >-
Vendor specific error code.
- name: VendorWarning
description: >-
Vendor specific error code.

View File

@@ -0,0 +1,20 @@
description: >-
Errors for Isolation Monitor
Note that actual isolation faults should just be reported as resistance values,
EvseManager will interpret them according to the limits given in the norm and stop charging.
This is only to report device errors to indicate valid isolation resistance measurements etc
are no longer possible.
errors:
- name: DeviceFault
description: The IMD device is not fully functional anymore and cannot be used to monitor the isolation resistance.
- name: CommunicationFault
description: >-
The communication to the hardware or underlying driver is lost or has errors.
- name: VendorError
description: >-
Vendor specific error code. Will stop charging session.
- name: VendorWarning
description: >-
Vendor specific error code. Charging may continue.

View File

@@ -0,0 +1,22 @@
description: >-
Errors for Over Voltage Monitor
Note that the actual shutdown needs to be performed by lower layers outside of EVerest.
In the event of a shutdown, this error needs to be raised to indicate the nature of the shutdown
to EVerest after the fact.
errors:
- name: MREC5OverVoltage
description: >-
The output voltage was above IEC61851-23:2023 6.3.1.106.2 Table 103 limits for more than 9ms. (severity high)
or above Table 104 (medium or low severity).
- name: DeviceFault
description: The over voltage monitoring device is no longer functional.
- name: CommunicationFault
description: >-
The communication to the hardware or underlying driver is lost or has errors.
- name: VendorError
description: >-
Vendor specific error code. Will stop charging session.
- name: VendorWarning
description: >-
Vendor specific error code. Charging may continue.

View File

@@ -0,0 +1,11 @@
description: >-
Errors for PaymentTerminal
errors:
- name: TerminalIdNotSet
description: >-
The terminal identifier has not been set properly
- name: IncorrectDeviceId
description: The device id of the payment terminal is incorrect.
- name: GenericPaymentTerminalError
description: >-
The terminal reported an error

View File

@@ -0,0 +1,36 @@
description: >-
Errors for DC power supply
Except for VendorWarning, all error codes will stop the charging session.
During all errors, follow the commands for setMode and setVoltageCurrent from EvseManager. If they cannot be sent to the hardware, cache the last values received.
Once the PSU is back on-line (e.g. after a CommunicationFault), set the last mode and voltage/current values and only after that clear the error.
errors:
- name: CommunicationFault
description: >-
The communication to the hardware or underlying driver is lost or has errors.
- name: HardwareFault
description: The hardware reported a fault
- name: OverTemperature
description: >-
The hardware shut down because of over temperature. This should not be used if the power supply can handle temperature reduction by reducing output power,
in this case update the capabilities as needed.
- name: UnderTemperature
description: The hardware cannot operate because it is too cold
- name: UnderVoltageAC
description: The AC input voltage is too low
- name: OverVoltageAC
description: The AC input voltage is too high
- name: UnderVoltageDC
description: The DC output voltage is too low
- name: OverVoltageDC
description: The DC output voltage is too high
- name: OverCurrentAC
description: The AC input current is too high
- name: OverCurrentDC
description: The DC output current it too high
- name: VendorError
description: >-
Vendor specific error code. Will stop charging session.
- name: VendorWarning
description: >-
Vendor specific error code. Charging may continue.

View File

@@ -0,0 +1,11 @@
description: >-
Powermeter errors
errors:
- name: CommunicationFault
description: Communication with the underlying hardware or device has a fault
- name: VendorError
description: >-
Vendor specific error code.
- name: VendorWarning
description: >-
Vendor specific error code.

View File

@@ -0,0 +1,6 @@
description: >-
Errors for System
errors:
- name: CommunicationFault
description: >-
The communication to the hardware or underlying driver is lost or has errors.