diff --git a/docs/source/_static/images/charge_som_contactor_feedback_evb-circuit.drawio.svg b/docs/source/_static/images/charge_som_contactor_feedback_evb-circuit.drawio.svg
new file mode 100644
index 0000000..af5f680
--- /dev/null
+++ b/docs/source/_static/images/charge_som_contactor_feedback_evb-circuit.drawio.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/docs/source/safety_controller_parameterization.rst b/docs/source/safety_controller_parameterization.rst
index de6a6ad..60145fb 100644
--- a/docs/source/safety_controller_parameterization.rst
+++ b/docs/source/safety_controller_parameterization.rst
@@ -32,15 +32,21 @@ To make the handling of parameters human-friendly, all parameters can be put tog
.. code-block:: yaml
+ version: 1
pt1000s:
- - 75.0 °C
- - 85.0 °C
- - disabled
+ - abort-temperature: 75.0 °C
+ resistance-offset: 0.85 Ω
+ - abort-temperature: 85.0 °C
+ resistance-offset: 1.042 Ω
+ - 80.0 °C
- disabled
contactors:
+ - type: without-feedback
+ close-time: 100 ms
+ open-time: 100 ms
- without-feedback
- - without-feedback
+ - disabled
estops:
- active-low
@@ -52,35 +58,71 @@ To make the handling of parameters human-friendly, all parameters can be put tog
The YAML file is required to be encoded in UTF-8. While most parameters are ASCII only, temperature thresholds require
trailing `°C` suffix which has a special UTF-8 encoding sequence. This might be displayed incorrectly in the editor
when editing on the device itself and/or finally stored wrong in the YAML file.
+ The same applies to the resistance offsets in Ohm.
When unsure, adapt/create the YAML file on your Linux host system with your preferred editor and transfer it
to the board via Ethernet network (e.g. SCP/SFTP).
Such a YAML file must be converted to a binary parameter block file afterwards. And this binary parameter block file
must finally be flashed to the safety controller's flash memory, see below.
+.. important::
+
+ The YAML file allows to specify a numeric parameter block version. This version is used internally by the
+ safety controller firmware to detect the binary structure of the parameter block. It must thus match the
+ safety firmware's expectation, otherwise the safety controller will refuse to work and enters safe state directly.
+
Temperature Channel (PT1000) Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The safety controller supports up to 4 PT1000 temperature channels. Thus the YAML file expects for each channel
-either a temperature threshold in °C at which the safety controller stops and/or prevents charging.
-In a PT1000 channel is not wired/used, it is required to disable this channel using the special word `disabled`
+a temperature threshold in °C at which the safety controller stops and/or prevents charging. Also for each channel,
+an offset value in Ohm can be specified. This offset depends on the actual physical wiring and must be determined
+in the specific customer setup.
+If a PT1000 channel is not wired/used, it is required to disable this channel using the special word `disabled`
instead of a temperature value.
+The example YAML file above shows that the PT1000 configuration is an array with up to 4 items. Each item can either
+be a single temperature threshold, the special token `disabled` or it is a key-value list. Valid keys are
+`abort-temperature` and `resistance-offset`. If no `resistance-offset` is given, then it is assumed to be zero.
+
+The accepted value range for `abort-temperature` is -80.0 °C to 200.0 °C and it is stored with one decimal digit.
+
+The range for `resistance-offset` is -32.0 Ω ... 32.0 Ω and these values are stored with three decimal digits internally.
Contactor and Contactor Feedback Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The safety controller allows to control up to 2 high-voltage contactors and can monitor corresponding mirror contacts.
-The mirror contacts need to have `Normally Closed` semantic. In the YAML parameterization, it is possible to
-specify whether the safety controller should actually switch the corresponding output pin and whether to monitor
-the feedback input pins.
+The safety controller allows to control up to 3 high-voltage contactors and can monitor corresponding feedback contacts.
+The feedback contacts support `Normally Closed` and `Normally Open` semantic, but customer must follow chargebyte's
+Charge SOM's EVB reference design otherwise the logic might be inverted.
+
+.. figure:: _static/images/charge_som_contactor_feedback_evb-circuit.drawio.svg
+ :width: 800px
+
+ Simplified Reference Circuit used on Charge SOM's EVB for Contactor Feedback Signal
+
+In the YAML parameterization, it is possible to specify whether the safety controller should actually switch the
+corresponding output pin and whether to monitor the feedback input pins. When using the feedback, it is also
+required to specify the opening and closing times of the used contactor. These times are expected in milliseconds and
+used by the safety firmware to check after the given time whether the feedback pin has the expected level. If the level
+differs from the expectation, then the safety firmware assumes a malfunction and thus enters safe state.
-Possible parameter values are:
+The example YAML file above shows all allowed variants how to parameterize a contactor.
+Possible values for the `type` are:
- `disabled`
- `without-feedback`
-- `with-feedback`
+- `with-feedback-normally-open`
+- `with-feedback-normally-closed`
+
+Since the open/close timings make no sense in case of `disabled` or `without-feedback`, it is possible to use these
+tokens directly as array item (actually, it is also possible to use the `with-feedback...` ones, but then the timings
+are considered zero which will result in an error due to the physical latency in the contactor).
+
+Both `close-time` and `open-time` accept integer values in the range 10 to 2550 ms. Internally, the
+safety controller operates with time slots of 10 ms, so the last digit of the given integer is just discarded.
+(In other words, the given integer is integer-divided by 10 before it is stored in the parameter block.)
Emergency Input Configuration
@@ -105,15 +147,19 @@ The following session transcript shows how the install procedure works:
# create a YAML file on-the-fly
$ cat < /tmp/my-parameters.yaml
+ version: 1
pt1000s:
- - 75.0 °C
- - 85.0 °C
+ - abort-temperature: 85.0 °C
+ resistance-offset: 0.85 Ω
+ - abort-temperature: 75.0 °C
+ resistance-offset: 1.1 Ω
- disabled
- disabled
contactors:
- without-feedback
- without-feedback
+ - disabled
estops:
- active-low
diff --git a/docs/source/safety_protocol.rst b/docs/source/safety_protocol.rst
index 231a402..ab3c262 100644
--- a/docs/source/safety_protocol.rst
+++ b/docs/source/safety_protocol.rst
@@ -7,7 +7,7 @@ ChargeControl1
**Description**: This message shall be sent from the host processor to the safety controller to control the peripherals connected to the safety controller.
-**Senders**: Default_HostController
+**Senders**: chargeSOM_HostController
.. list-table:: Signals in ChargeControl1
:widths: 30 6 6 10 7 7 7 6 30
@@ -58,6 +58,15 @@ ChargeControl1
- 0
-
- Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed contactor. The contactors are only closed if the system has no errors and is in state C.
+ * - CC_Contactor3State
+ - 18
+ - 1
+ -
+ - No
+ - 1
+ - 0
+ -
+ - Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed contactor. The contactors are only closed if the system has no errors and is in state C.
**Bitfield Layout**
@@ -70,7 +79,7 @@ ChargeControl1
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
1| | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
- 2| | | | | | | CC_Contactor2State | CC_Contactor1State |
+ 2| | | | | | CC_Contactor3State | CC_Contactor2State | CC_Contactor1State |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
3| | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
@@ -92,7 +101,7 @@ ChargeState1
**Description**: This message shall be sent from safety controller to host processor for indicating the state of the charging session as well as the state of connected peripherals.
-**Senders**: Safety Controller
+**Senders**: chargeSOM_SafetyController
.. list-table:: Signals in ChargeState1
:widths: 30 6 6 10 7 7 7 6 30
@@ -116,6 +125,15 @@ ChargeState1
- 0
- %
- The current duty cycle between 0.0% and 100.0%. If the PWM is not aczive this signal is 0
+ * - CS_SafeStateActive
+ - 3
+ - 2
+ -
+ - No
+ - 1
+ - 0
+ -
+ - This signal reports, if the controller is in safeState or not.
* - CS_PWM_Active
- 7
- 1
@@ -169,34 +187,25 @@ ChargeState1
- 1
- 0
-
- - Is set when the contactor is closed
- * - CS_Contactor1Error
- - 34
- - 1
- -
- - No
- - 1
- - 0
- -
- - Is set when an error in the contactor is detected
+ - State of contactor 1
* - CS_Contactor2State
- - 36
+ - 35
- 2
-
- No
- 1
- 0
-
- - Is set when the contactor is closed
- * - CS_Contactor2Error
+ - State of contactor 2
+ * - CS_Contactor3State
- 37
- - 1
+ - 2
-
- No
- 1
- 0
-
- - Is set when an error in the contactor is detected
+ - State of contactor 3
* - CS_HV_Ready
- 38
- 1
@@ -233,9 +242,24 @@ ChargeState1
- 0
-
- *No description available*
+ * - CS_SafeStateReason
+ - 55
+ - 8
+ -
+ - No
+ - 1
+ - 0
+ -
+ - This signal describes in which module a fault was detected, why the controller went into safeState
**Value Descriptions**
+- **CS_SafeStateActive**
+
+ - 0x0 = NormalState
+ - 0x1 = SafeState
+ - 0x3 = SNA
+
- **CS_CurrentCpState**
- 0x0 = Unknown
@@ -260,14 +284,23 @@ ChargeState1
- **CS_Contactor1State**
- - 0x0 = OPEN
- - 0x1 = CLOSE
+ - 0x0 = UNDEFINED
+ - 0x1 = OPEN
+ - 0x2 = CLOSE
- 0x3 = NotConfigured
- **CS_Contactor2State**
- - 0x0 = OPEN
- - 0x1 = CLOSE
+ - 0x0 = UNDEFINED
+ - 0x1 = OPEN
+ - 0x2 = CLOSE
+ - 0x3 = NotConfigured
+
+- **CS_Contactor3State**
+
+ - 0x0 = UNDEFINED
+ - 0x1 = OPEN
+ - 0x2 = CLOSE
- 0x3 = NotConfigured
- **CS_Estop1ChargingAbort**
@@ -288,6 +321,28 @@ ChargeState1
- 0x1 = TRUE
- 0x3 = NotConfigured
+- **CS_SafeStateReason**
+
+ - 0x0 = NoStop
+ - 0x1 = InternalError
+ - 0x2 = ComTimeout
+ - 0x3 = Temp1_Malfunction
+ - 0x4 = Temp2_Malfunction
+ - 0x5 = Temp3_Malfunction
+ - 0x6 = Temp4_Malfunction
+ - 0x7 = Temp1_Overtemp
+ - 0x8 = Temp2_Overtemp
+ - 0x9 = Temp3_Overtemp
+ - 0xA = Temp4_Overtemp
+ - 0xB = PP_Malfunction
+ - 0xC = CP_Malfunction
+ - 0xD = CP_ShortCircuit
+ - 0xE = CP_DiodeFault
+ - 0xF = HVSW_Malfunction
+ - 0x10 = EmergencyInput1
+ - 0x11 = EmergencyInput2
+ - 0x12 = EmergencyInput3
+
**Bitfield Layout**
::
@@ -295,7 +350,7 @@ ChargeState1
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
- 0| CS_PWM_Active | | | | | |CS_CurrentDutyCycle | |
+ 0| CS_PWM_Active | | | | CS_SafeStateActive | |CS_CurrentDutyCycle | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
1| | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
@@ -303,11 +358,11 @@ ChargeState1
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
3| | | | | | CS_CurrentPpState | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
- 4| | CS_HV_Ready | CS_Contactor2Error | CS_Contactor2State | | CS_Contactor1Error | CS_Contactor1State | |
+ 4| | CS_HV_Ready | CS_Contactor3State | | CS_Contactor2State | | CS_Contactor1State | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
5| | |CS_Estop3ChargingAbo| |CS_Estop2ChargingAbo| |CS_Estop1ChargingAbo| |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
- 6| | | | | | | | |
+ 6| CS_SafeStateReason | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
7| | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
@@ -321,7 +376,7 @@ PT1000State
**Description**: This message shall be sent from safety controller to host processor for indicating the state of the connected temperature sensors
-**Senders**: Safety Controller
+**Senders**: chargeSOM_SafetyController
.. list-table:: Signals in PT1000State
:widths: 30 6 6 10 7 7 7 6 30
@@ -496,7 +551,7 @@ FirmwareVersion
**Description**: This message provides information about the type and version of the flashed firmware
-**Senders**: Safety Controller
+**Senders**: chargeSOM_SafetyController
.. list-table:: Signals in FirmwareVersion
:widths: 30 6 6 10 7 7 7 6 30
@@ -556,6 +611,15 @@ FirmwareVersion
- 0
-
- The type of firmware. See possible values below
+ * - ParameterVersion
+ - 47
+ - 16
+ - Big Endian
+ - No
+ - 1
+ - 0
+ -
+ - Version of the parameter file
**Value Descriptions**
@@ -585,9 +649,9 @@ FirmwareVersion
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
3| PlatformType | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
- 4| ApplicationType | | | | | | | |
+ 4| ParameterVersion | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
- 5| | | | | | | | |
+ 5| ParameterVersion | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
6| | | | | | | | |
+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+--------------------+
@@ -603,7 +667,7 @@ GitHash
**Description**: This message provides information about the GIT hash, written in the firmware
-**Senders**: Safety Controller
+**Senders**: chargeSOM_SafetyController
.. list-table:: Signals in GitHash
:widths: 30 6 6 10 7 7 7 6 30
@@ -661,7 +725,7 @@ InquiryPacket
**Description**: This packet is used to request a special message from the safety controller
-**Senders**: Default_HostController, CCY_HostController
+**Senders**: chargeSOM_HostController, CCY_HostController
.. list-table:: Signals in InquiryPacket
:widths: 30 6 6 10 7 7 7 6 30
diff --git a/docs/source/utils/uart_com.dbc b/docs/source/utils/uart_com.dbc
index 6769525..07284e9 100644
--- a/docs/source/utils/uart_com.dbc
+++ b/docs/source/utils/uart_com.dbc
@@ -1,4 +1,4 @@
-VERSION "0.0.1"
+VERSION "0.0.3"
NS_ :
@@ -33,165 +33,177 @@ NS_ :
BS_:
-BU_: Default_HostController Default_SafetyController CCY_HostController CCY_SafetyController
-
-
-BO_ 255 InquiryPacket: 8 Default_HostController
- SG_ PacketId : 7|8@0+ (1,0) [0|0] "" CCY_SafetyController,Default_SafetyController
-
-BO_ 0 DigitalOutput: 4 Default_HostController
- SG_ DO_SAFETY_HVSW3_PRECHARGE : 9|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_CP_INVERT : 3|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_CP_Dutycycle : 31|8@0+ (1,0) [0|0] "%" Default_SafetyController
- SG_ DO_PP_SAE_IEC : 15|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_SAFETY_CP_STATE_C : 18|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_SAFETY_GPIO_EXP : 12|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_SAFETY_IMD_OD_EN : 11|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_SAFETY_MOTOR_OUT2 : 5|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_SAFETY_MOTOR_OUT1 : 6|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_SAFETY_HVSW2_HS : 13|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_SAFETY_HVSW1_HS : 14|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_PT1000_CTRLEN4 : 10|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_PT1000_CTRLEN3 : 19|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_PT1000_CTRLEN2 : 20|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ DO_PT1000_CTRLEN1 : 21|1@0+ (1,0) [0|0] "" Default_SafetyController
+BU_: chargeSOM_HostController chargeSOM_SafetyController CCY_HostController CCY_SafetyController
+
+
+BO_ 255 InquiryPacket: 8 chargeSOM_HostController
+ SG_ PacketId : 7|8@0+ (1,0) [0|0] "" CCY_SafetyController,chargeSOM_SafetyController
+
+BO_ 0 DigitalOutput: 8 chargeSOM_HostController
+ SG_ DO_SAFETY_HVSW3_PRECHARGE : 9|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_CP_INVERT : 3|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_CP_Dutycycle : 31|8@0+ (1,0) [0|0] "%" chargeSOM_SafetyController
+ SG_ DO_PP_SAE_IEC : 15|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_SAFETY_CP_STATE_C : 18|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController,CCY_SafetyController
+ SG_ DO_SAFETY_GPIO_EXP : 12|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_SAFETY_IMD_OD_EN : 11|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_SAFETY_MOTOR_OUT2 : 5|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_SAFETY_MOTOR_OUT1 : 6|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_SAFETY_HVSW2_HS : 13|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_SAFETY_HVSW1_HS : 14|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ DO_PT1000_CTRLEN4 : 10|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController,CCY_SafetyController
+ SG_ DO_PT1000_CTRLEN3 : 19|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController,CCY_SafetyController
+ SG_ DO_PT1000_CTRLEN2 : 20|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController,CCY_SafetyController
+ SG_ DO_PT1000_CTRLEN1 : 21|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController,CCY_SafetyController
+ SG_ DO_CE_S3 : 23|1@0+ (1,0) [0|0] "" CCY_SafetyController
BO_ 18 DiagnosticMeasurements2: 8 CCY_SafetyController
SG_ DM_ID_ADC_VAL : 23|16@0+ (1,0) [0|0] "" CCY_HostController
SG_ DM_CE_ADC_VAL : 7|16@0+ (1,0) [0|0] "" CCY_HostController
-BO_ 5 AnalogInput04: 8 Default_SafetyController
- SG_ AI_INT_REFVOLT : 39|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
- SG_ AI_INT_TEMP : 23|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
- SG_ AI_PT1000_CFB3_4 : 7|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
-
-BO_ 4 AnalogInput03: 8 Default_SafetyController
- SG_ AI_SAFETY_HS2_CFB : 39|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
- SG_ AI_SAFETY_HS1_CFB : 23|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
- SG_ AI_SAFETY_PRECHARGE_CFB : 7|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
- SG_ AI_PT1000_CFB1_2 : 55|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
-
-BO_ 3 AnalogInput02: 8 Default_SafetyController
- SG_ AI_SAFETY_U_IN_ADC : 55|16@0+ (1,0) [0|0] "" Default_HostController
- SG_ AI_PP_VALUE_ADC : 39|16@0+ (1,0) [0|0] "" Default_HostController
- SG_ AI_CP_BUFFERED_POS_ADC : 23|16@0+ (1,0) [0|0] "" Default_HostController
- SG_ AI_CP_BUFFERED_NEG_ADC : 7|16@0+ (1,0) [0|0] "" Default_HostController
-
-BO_ 2 AnalogInput01: 8 Default_SafetyController
- SG_ AI_PT1000_LEAD1_4 : 55|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
- SG_ AI_PT1000_LEAD1_3 : 39|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
- SG_ AI_PT1000_LEAD1_2 : 23|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
- SG_ AI_PT1000_LEAD1_1 : 7|16@0+ (1,0) [0|0] "" CCY_HostController,Default_HostController
+BO_ 5 AnalogInput04: 8 chargeSOM_SafetyController
+ SG_ AI_PT1000_CFB3_4 : 7|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
+
+BO_ 4 AnalogInput03: 8 chargeSOM_SafetyController
+ SG_ AI_SAFETY_HVSW2_FB : 39|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
+ SG_ AI_SAFETY_HVSW1_FB : 23|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
+ SG_ AI_SAFETY_HVSW3_FB : 7|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
+ SG_ AI_PT1000_CFB1_2 : 55|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
+
+BO_ 3 AnalogInput02: 8 chargeSOM_SafetyController
+ SG_ AI_SAFETY_U_IN_ADC : 55|16@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ AI_PP_VALUE_ADC : 39|16@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ AI_CP_BUFFERED_POS_ADC : 23|16@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ AI_CP_BUFFERED_NEG_ADC : 7|16@0+ (1,0) [0|0] "" chargeSOM_HostController
+
+BO_ 19 AnalogInput05: 8 CCY_SafetyController
+ SG_ AI_HV_READY : 39|16@0+ (1,0) [0|0] "" CCY_HostController
+ SG_ AI_CE_ADC : 23|16@0+ (1,0) [0|0] "" CCY_HostController
+ SG_ AI_ID_ADC : 7|16@0+ (1,0) [0|0] "" CCY_HostController
+
+BO_ 2 AnalogInput01: 8 chargeSOM_SafetyController
+ SG_ AI_PT1000_LEAD1_4 : 55|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
+ SG_ AI_PT1000_LEAD1_3 : 39|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
+ SG_ AI_PT1000_LEAD1_2 : 23|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
+ SG_ AI_PT1000_LEAD1_1 : 7|16@0+ (1,0) [0|0] "" CCY_HostController,chargeSOM_HostController
BO_ 17 ChargeControl2: 8 CCY_HostController
SG_ CC_ControllerReset : 3|2@0+ (1,0) [0|0] "" CCY_SafetyController
SG_ CC_CCSReady : 7|4@0+ (1,0) [0|0] "" CCY_SafetyController
BO_ 16 ChargeState2: 8 CCY_SafetyController
+ SG_ CS_SafeStateActive : 23|2@0+ (1,0) [0|0] "" CCY_HostController
SG_ CS_EStop_Reason : 15|8@0+ (1,0) [0|0] "" CCY_HostController
SG_ CS_ID_State : 3|4@0+ (1,0) [0|0] "" CCY_HostController
SG_ CS_CE_State : 7|4@0+ (1,0) [0|0] "" CCY_HostController
-BO_ 7 ChargeState1: 8 Default_SafetyController
- SG_ CS_Estop1ChargingAbort : 41|2@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_Estop2ChargingAbort : 43|2@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_Estop3ChargingAbort : 45|2@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_Contactor1State : 33|2@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_Contactor2State : 36|2@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_Contactor1Error : 34|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_Contactor2Error : 37|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_HV_Ready : 38|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_CurrentPpState : 26|3@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_CurrentCpState : 18|3@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_CpShortCircuit : 19|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_DiodeFault : 20|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ CS_CurrentDutyCycle : 1|10@0+ (0.1,0) [0|0] "%" Default_HostController
- SG_ CS_PWM_Active : 7|1@0+ (1,0) [0|0] "" Default_HostController
-
-BO_ 6 ChargeControl1: 8 Default_HostController
- SG_ CC_Contactor1State : 16|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ CC_Contactor2State : 17|1@0+ (1,0) [0|0] "" Default_SafetyController
- SG_ CC_TargetDutyCycle : 1|10@0+ (0.1,0) [0|0] "%" Default_SafetyController
- SG_ CC_PWM_Active : 7|1@0+ (1,0) [0|0] "" Default_SafetyController
-
-BO_ 10 FirmwareVersion: 8 Default_SafetyController
- SG_ MajorVersion : 7|8@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ MinorVersion : 15|8@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ BuildVersion : 23|8@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ PlatformType : 31|8@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ ApplicationType : 39|8@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
-
-BO_ 11 GitHash: 8 Default_SafetyController
- SG_ HashSignal : 7|64@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
-
-BO_ 14 ErrorMessage: 8 Default_SafetyController
- SG_ ErrorAddData2 : 55|16@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ ErrorAddData1 : 39|16@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ ErrorModule : 6|15@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ ErrorReason : 23|16@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ ErrorActive : 7|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
-
-BO_ 9 DiagnosticMeasurements: 8 Default_SafetyController
- SG_ DM_PP_Voltage : 39|16@0- (1,0) [0|0] "" Default_SafetyController,Default_HostController
- SG_ DM_CP_VoltagePositiveSide : 23|16@0- (1,0) [0|0] "" Default_SafetyController,Default_HostController
- SG_ DM_CP_VoltageNegativeSide : 7|16@0- (1,0) [0|0] "" Default_SafetyController,Default_HostController
-
-BO_ 8 PT1000State: 8 Default_SafetyController
- SG_ PT4_Temperature : 55|14@0- (0.1,0) [0|0] "°C" Default_HostController,CCY_HostController
- SG_ PT4_SelftestFailed : 57|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ PT4_ChargingStopped : 56|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ PT3_Temperature : 39|14@0- (0.1,0) [0|0] "°C" Default_HostController,CCY_HostController
- SG_ PT3_SelftestFailed : 41|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ PT3_ChargingStopped : 40|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ PT2_Temperature : 23|14@0- (0.1,0) [0|0] "°C" Default_HostController,CCY_HostController
- SG_ PT2_SelftestFailed : 25|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ PT2_ChargingStopped : 24|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ PT1_Temperature : 7|14@0- (0.1,0) [0|0] "°C" Default_HostController,CCY_HostController
- SG_ PT1_SelftestFailed : 9|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ PT1_ChargingStopped : 8|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
-
-BO_ 1 DigitalInput: 3 CCY_SafetyController
- SG_ DI_SAFETY_CP_STATE_C : 19|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ DI_SAFETY_MOTOR_OUT1 : 6|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ DI_SAFETY_MOTOR_OUT2 : 5|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ DI_SAFETY_MOTOR_FAULT : 4|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ DI_SAFETY_HVSW2_HS : 13|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ DI_SAFETY_HVSW1_HS : 14|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ DI_SAFETY_HVSW3_PRECHARGE : 9|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ DI_PP_SAE_IEC : 15|1@0+ (1,0) [0|0] "" Default_HostController
- SG_ DI_SAFETY_DEV_1 : 0|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_SAFETY_DEV_2 : 1|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_EV_CP_EDGE : 2|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_CP_INVERT : 3|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_SAFETY_K1_IN : 7|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_PT4_EN : 10|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_PT3_EN : 20|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_PT2_EN : 21|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_PT1_EN : 22|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_SAFETY_IMD_OD_EN : 11|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_SAFETY_GPIO_EXP : 12|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_ESTOP3 : 16|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_ESTOP2 : 17|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_ESTOP1 : 18|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
- SG_ DI_SAFETY_K2_IN : 8|1@0+ (1,0) [0|0] "" Default_HostController,CCY_HostController
-
-BO_TX_BU_ 255 : CCY_HostController,Default_HostController;
-BO_TX_BU_ 5 : CCY_SafetyController,Default_SafetyController;
-BO_TX_BU_ 4 : CCY_SafetyController,Default_SafetyController;
-BO_TX_BU_ 2 : CCY_SafetyController,Default_SafetyController;
-BO_TX_BU_ 10 : CCY_SafetyController,Default_SafetyController;
-BO_TX_BU_ 14 : CCY_SafetyController,Default_SafetyController;
-BO_TX_BU_ 8 : CCY_SafetyController,Default_SafetyController;
-BO_TX_BU_ 1 : Default_SafetyController,CCY_SafetyController;
+BO_ 7 ChargeState1: 8 chargeSOM_SafetyController
+ SG_ CS_SafeStateReason : 55|8@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_SafeStateActive : 3|2@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_Estop1ChargingAbort : 41|2@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_Estop2ChargingAbort : 43|2@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_Estop3ChargingAbort : 45|2@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_Contactor1State : 33|2@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_Contactor2State : 35|2@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_Contactor3State : 37|2@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_HV_Ready : 38|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_CurrentPpState : 26|3@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_CurrentCpState : 18|3@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_CpShortCircuit : 19|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_DiodeFault : 20|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ CS_CurrentDutyCycle : 1|10@0+ (0.1,0) [0|0] "%" chargeSOM_HostController
+ SG_ CS_PWM_Active : 7|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+
+BO_ 6 ChargeControl1: 8 chargeSOM_HostController
+ SG_ CC_Contactor1State : 16|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ CC_Contactor2State : 17|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ CC_Contactor3State : 18|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+ SG_ CC_TargetDutyCycle : 1|10@0+ (0.1,0) [0|0] "%" chargeSOM_SafetyController
+ SG_ CC_PWM_Active : 7|1@0+ (1,0) [0|0] "" chargeSOM_SafetyController
+
+BO_ 10 FirmwareVersion: 8 chargeSOM_SafetyController
+ SG_ MajorVersion : 7|8@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ MinorVersion : 15|8@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ BuildVersion : 23|8@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ PlatformType : 31|8@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ ApplicationType : 39|8@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ ParameterVersion : 47|16@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+
+BO_ 11 GitHash: 8 chargeSOM_SafetyController
+ SG_ HashSignal : 7|64@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+
+BO_ 14 ErrorMessage: 8 chargeSOM_SafetyController
+ SG_ ErrorAddData2 : 55|16@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ ErrorAddData1 : 39|16@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ ErrorModule : 6|15@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ ErrorReason : 23|16@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ ErrorActive : 7|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+
+BO_ 9 DiagnosticMeasurements: 8 chargeSOM_SafetyController
+ SG_ DM_PP_Voltage : 39|16@0- (1,0) [0|0] "" chargeSOM_SafetyController,chargeSOM_HostController
+ SG_ DM_CP_VoltagePositiveSide : 23|16@0- (1,0) [0|0] "" chargeSOM_SafetyController,chargeSOM_HostController
+ SG_ DM_CP_VoltageNegativeSide : 7|16@0- (1,0) [0|0] "" chargeSOM_SafetyController,chargeSOM_HostController
+
+BO_ 8 PT1000State: 8 chargeSOM_SafetyController
+ SG_ PT4_Temperature : 55|14@0- (0.1,0) [0|0] "°C" chargeSOM_HostController,CCY_HostController
+ SG_ PT4_SelftestFailed : 57|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ PT4_ChargingStopped : 56|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ PT3_Temperature : 39|14@0- (0.1,0) [0|0] "°C" chargeSOM_HostController,CCY_HostController
+ SG_ PT3_SelftestFailed : 41|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ PT3_ChargingStopped : 40|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ PT2_Temperature : 23|14@0- (0.1,0) [0|0] "°C" chargeSOM_HostController,CCY_HostController
+ SG_ PT2_SelftestFailed : 25|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ PT2_ChargingStopped : 24|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ PT1_Temperature : 7|14@0- (0.1,0) [0|0] "°C" chargeSOM_HostController,CCY_HostController
+ SG_ PT1_SelftestFailed : 9|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ PT1_ChargingStopped : 8|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+
+BO_ 1 DigitalInput: 8 CCY_SafetyController
+ SG_ DI_SAFETY_CP_STATE_C : 19|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ DI_SAFETY_MOTOR_OUT1 : 6|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_MOTOR_OUT2 : 5|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_MOTOR_FAULT : 4|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_HVSW2_HS : 13|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_HVSW1_HS : 14|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_HVSW3_PRECHARGE : 9|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_PP_SAE_IEC : 15|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_DEV_1 : 0|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_DEV_2 : 1|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_EV_CP_EDGE : 2|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_CP_INVERT : 3|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_K1_IN : 7|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_PT4_EN : 10|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ DI_PT3_EN : 20|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ DI_PT2_EN : 21|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ DI_PT1_EN : 22|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ DI_SAFETY_IMD_OD_EN : 11|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_SAFETY_GPIO_EXP : 12|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_ESTOP3 : 16|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_ESTOP2 : 17|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_ESTOP1 : 18|1@0+ (1,0) [0|0] "" chargeSOM_HostController,CCY_HostController
+ SG_ DI_SAFETY_K2_IN : 8|1@0+ (1,0) [0|0] "" chargeSOM_HostController
+ SG_ DI_CE_S3 : 23|1@0+ (1,0) [0|0] "" CCY_HostController
+
+BO_TX_BU_ 255 : CCY_HostController,chargeSOM_HostController;
+BO_TX_BU_ 5 : CCY_SafetyController,chargeSOM_SafetyController;
+BO_TX_BU_ 4 : CCY_SafetyController,chargeSOM_SafetyController;
+BO_TX_BU_ 2 : CCY_SafetyController,chargeSOM_SafetyController;
+BO_TX_BU_ 10 : CCY_SafetyController,chargeSOM_SafetyController;
+BO_TX_BU_ 11 : CCY_SafetyController,chargeSOM_SafetyController;
+BO_TX_BU_ 14 : CCY_SafetyController,chargeSOM_SafetyController;
+BO_TX_BU_ 8 : CCY_SafetyController,chargeSOM_SafetyController;
+BO_TX_BU_ 1 : chargeSOM_SafetyController,CCY_SafetyController;
CM_ BO_ 255 "This packet is used to request a special message from the safety controller";
CM_ SG_ 255 PacketId "The ID, which message shall be requested. Supported values are described below.";
+CM_ SG_ 16 CS_SafeStateActive "This signal reports, if the controller is in safeState or not.";
CM_ BO_ 7 "This message shall be sent from safety controller to host processor for indicating the state of the charging session as well as the state of connected peripherals.";
-CM_ SG_ 7 CS_Contactor1State "Is set when the contactor is closed";
-CM_ SG_ 7 CS_Contactor2State "Is set when the contactor is closed";
-CM_ SG_ 7 CS_Contactor1Error "Is set when an error in the contactor is detected";
-CM_ SG_ 7 CS_Contactor2Error "Is set when an error in the contactor is detected";
+CM_ SG_ 7 CS_SafeStateReason "This signal describes in which module a fault was detected, why the controller went into safeState";
+CM_ SG_ 7 CS_SafeStateActive "This signal reports, if the controller is in safeState or not.";
+CM_ SG_ 7 CS_Contactor1State "State of contactor 1";
+CM_ SG_ 7 CS_Contactor2State "State of contactor 2";
+CM_ SG_ 7 CS_Contactor3State "State of contactor 3";
CM_ SG_ 7 CS_HV_Ready "This is the state of the HV ready or State C output. This output is high, if the chargeSOM dont see any errors and CP is at state C. Otherwise it is low.";
CM_ SG_ 7 CS_CurrentPpState "State of the proximity pin. For fixed cables at CCS2, this value is 0x0: No Cable detected";
CM_ SG_ 7 CS_CurrentCpState "Current state of the control pilot. See value mappings below";
@@ -202,6 +214,7 @@ CM_ SG_ 7 CS_PWM_Active "Feedback if PWM is active. 0 means not active, 1 means
CM_ BO_ 6 "This message shall be sent from the host processor to the safety controller to control the peripherals connected to the safety controller.";
CM_ SG_ 6 CC_Contactor1State "Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed contactor. The contactors are only closed if the system has no errors and is in state C.";
CM_ SG_ 6 CC_Contactor2State "Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed contactor. The contactors are only closed if the system has no errors and is in state C.";
+CM_ SG_ 6 CC_Contactor3State "Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed contactor. The contactors are only closed if the system has no errors and is in state C.";
CM_ SG_ 6 CC_TargetDutyCycle "Duty cycle between 0.0 and 100.0%. Values above 100.0% are set as 100%. Only valid if the signal CC_PWM_Active is 1";
CM_ SG_ 6 CC_PWM_Active "This flag indicates if the PWM should be activated. At a value of 0, the CP level is also 0V. At a value of 1, the CP level is dependant of the duty cycle";
CM_ BO_ 10 "This message provides information about the type and version of the flashed firmware";
@@ -210,6 +223,7 @@ CM_ SG_ 10 MinorVersion "Minor version of the firmware";
CM_ SG_ 10 BuildVersion "Build or patch version of the firmware";
CM_ SG_ 10 PlatformType "This firmware can be used for several products with minor changes in the build process. The platform type describes the used platform";
CM_ SG_ 10 ApplicationType "The type of firmware. See possible values below";
+CM_ SG_ 10 ParameterVersion "Version of the parameter file";
CM_ BO_ 11 "This message provides information about the GIT hash, written in the firmware";
CM_ SG_ 11 HashSignal "First 8 byte of the 160 bit (SHA-1) GIT hash";
CM_ BO_ 8 "This message shall be sent from safety controller to host processor for indicating the state of the connected temperature sensors";
@@ -232,14 +246,18 @@ BA_DEF_DEF_ "BusType" "";
BA_ "BusType" "J1708";
VAL_ 255 PacketId 10 "FirmwareVersion" 11 "GitHash" ;
VAL_ 17 CC_CCSReady 2 "CCS_EmergencyStop" 1 "CCS_Ready" 0 "CCS_NotReady" ;
-VAL_ 16 CS_EStop_Reason 13 "HVReady_Malfunction" 12 "CE_Malfunction" 11 "ID_Malfunction" 10 "Temp4_Overtemp" 9 "Temp3_Overtemp" 8 "Temp2_Overtemp" 7 "Temp1_Overtemp" 6 "Temp4_Malfunction" 5 "Temp3_Malfunction" 4 "Temp2_Malfunction" 3 "Temp1_Malfunction" 2 "ComTimeout" 1 "EmergencyInput" 0 "NoStop" ;
-VAL_ 16 CS_ID_State 15 "SNA" 14 "Invalid" 1 "Connected" 0 "Not_Connected" ;
-VAL_ 16 CS_CE_State 15 "SNA" 7 "Invalid" 6 "B0" 5 "EC" 4 "E" 3 "D" 2 "C" 1 "B" 0 "A" ;
+VAL_ 16 CS_SafeStateActive 3 "SNA" 1 "SafeState" 0 "NormalState" ;
+VAL_ 16 CS_EStop_Reason 14 "EmergencyInput" 13 "HVReady_Malfunction" 12 "CE_Malfunction" 11 "ID_Malfunction" 10 "Temp4_Overtemp" 9 "Temp3_Overtemp" 8 "Temp2_Overtemp" 7 "Temp1_Overtemp" 6 "Temp4_Malfunction" 5 "Temp3_Malfunction" 4 "Temp2_Malfunction" 3 "Temp1_Malfunction" 2 "ComTimeout" 1 "InternalError" 0 "NoStop" ;
+VAL_ 16 CS_ID_State 3 "Invalid" 2 "Connected" 1 "Not Connected" 0 "Unknown" ;
+VAL_ 16 CS_CE_State 7 "Invalid" 6 "EC" 5 "E" 4 "C" 3 "B" 2 "B0" 1 "A" 0 "Unknown" ;
+VAL_ 7 CS_SafeStateReason 18 "EmergencyInput3" 17 "EmergencyInput2" 16 "EmergencyInput1" 15 "HVSW_Malfunction" 14 "CP_DiodeFault" 13 "CP_ShortCircuit" 12 "CP_Malfunction" 11 "PP_Malfunction" 10 "Temp4_Overtemp" 9 "Temp3_Overtemp" 8 "Temp2_Overtemp" 7 "Temp1_Overtemp" 6 "Temp4_Malfunction" 5 "Temp3_Malfunction" 4 "Temp2_Malfunction" 3 "Temp1_Malfunction" 2 "ComTimeout" 1 "InternalError" 0 "NoStop" ;
+VAL_ 7 CS_SafeStateActive 3 "SNA" 1 "SafeState" 0 "NormalState" ;
VAL_ 7 CS_Estop1ChargingAbort 0 "FALSE" 1 "TRUE" 3 "NotConfigured" ;
VAL_ 7 CS_Estop2ChargingAbort 0 "FALSE" 1 "TRUE" 3 "NotConfigured" ;
VAL_ 7 CS_Estop3ChargingAbort 0 "FALSE" 1 "TRUE" 3 "NotConfigured" ;
-VAL_ 7 CS_Contactor1State 0 "OPEN" 1 "CLOSE" 3 "NotConfigured" ;
-VAL_ 7 CS_Contactor2State 0 "OPEN" 1 "CLOSE" 3 "NotConfigured" ;
+VAL_ 7 CS_Contactor1State 0 "UNDEFINED" 1 "OPEN" 2 "CLOSE" 3 "NotConfigured" ;
+VAL_ 7 CS_Contactor2State 0 "UNDEFINED" 1 "OPEN" 2 "CLOSE" 3 "NotConfigured" ;
+VAL_ 7 CS_Contactor3State 0 "UNDEFINED" 1 "OPEN" 2 "CLOSE" 3 "NotConfigured" ;
VAL_ 7 CS_CurrentPpState 7 "Error" 6 "Type1_ConnectedButtonPressed" 5 "Type1_Connected" 4 "63/70A" 3 "32A" 2 "20A" 1 "13A" 0 "NoCableDetected" ;
VAL_ 7 CS_CurrentCpState 0 "Unknown" 7 "Invalid" 6 "F" 5 "E" 4 "D" 3 "C" 2 "B" 1 "A" ;
VAL_ 10 PlatformType 129 "chargeSOM" 130 "CCY" ;