uds.diagnostic_configuration.ecu_configuration
Implementation for diagnostic ECU Configuration.
Classes
Configuration of restrictions used by ECU for diagnostic messages. |
Module Contents
- class uds.diagnostic_configuration.ecu_configuration.EcuDiagnosticConfiguration(*, states, sid_restrictions, subfunction_restrictions, did_restrictions, rid_restrictions)[source]
Configuration of restrictions used by ECU for diagnostic messages.
Configure restrictions used by ECU for diagnostic messages.
- Parameters:
states (Collection[uds.diagnostic_configuration.state.State]) – ECU states relevant for diagnostic communication.
sid_restrictions (Mapping[uds.message.SidAlias, RequiredStatesAlias]) – Requirements on states to execute request message successfully with given SID value.
subfunction_restrictions (Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]) – Requirements on states to execute request message successfully with given SubFunction value.
did_restrictions (Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]) – Requirements on states to execute request message successfully with given DID value.
rid_restrictions (Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]) – Requirements on states to execute request message successfully with given RID value.
Note
By default all possible restrictions are applied.
- Conclusions:
If some parameter is always supported, all states and their values have to be provided. If some parameter is never support, no need to include restrictions with empty values.
- RequiredStatesAlias
Alias storing states names and required values.
- property states: Set[uds.diagnostic_configuration.state.State]
Get ECU states that are relevant for diagnostic communication.
- Return type:
- property sid_restrictions: Mapping[uds.message.SidAlias, RequiredStatesAlias]
Get ECU restrictions for SID handling.
- Return type:
Mapping[uds.message.SidAlias, RequiredStatesAlias]
- property subfunction_restrictions: Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]
Get ECU restrictions for SubFunctions handling.
- Return type:
Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]
- property did_restrictions: Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]
Get ECU restrictions for DIDs handling.
- Return type:
Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]
- property rid_restrictions: Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]
Get ECU restrictions for SID handling.
- Return type:
Mapping[uds.message.SidAlias, Mapping[int, RequiredStatesAlias]]
- property states_mapping: Mapping[str, uds.diagnostic_configuration.state.State]
Get names of all ECU states.
- Return type:
Mapping[str, uds.diagnostic_configuration.state.State]
- __validate_required_states(required_states)
Validate required states mapping.
- Parameters:
required_states (RequiredStatesAlias) – State name to restricted state values.
- Raises:
InconsistencyError – Provided mapping is not consistent with configured states.
- Returns:
The same mapping using non-mutable types.
- Return type:
- static __extract_subfunction(message_payload)
Extract subfunction from message payload.
- Parameters:
message_payload (uds.utilities.RawBytesAlias)
- Return type:
Optional[int]
- static __extract_dids(decoded_message)
Extract DIDs from decoded message.
- Parameters:
decoded_message (uds.translator.DecodedMessageAlias)
- Return type:
Set[int]
- static __extract_rids(decoded_message)
Extract RIDs from decoded message.
- Parameters:
decoded_message (uds.translator.DecodedMessageAlias)
- Return type:
Set[int]
- combine_restrictions(*restrictions)[source]
Combine multiple restrictions.
- Parameters:
restrictions (RequiredStatesAlias) – Restrictions to combine.
- Raises:
ValueError – At least one restriction must be provided.
- Returns:
Combined restrictions.
- Return type:
- get_restrictions(message_payload)[source]
Get restrictions used by ECU for given diagnostic message.
- Parameters:
message_payload (uds.utilities.RawBytesAlias) – Payload of message to get restrictions for.
- Returns:
Mapping with diagnostic message restrictions, where: - key is a state name - value is a collection of values that given state have to take to successfully execute the message
- Return type: