ECU reset request handling service. More...
#include <ecu_reset_request.h>
Public Member Functions | |
| EcuResetRequest (const core::InstanceSpecifier &specifier) | |
| Constructor. More... | |
| std::future< OperationOutput > | HandleMessage (const std::vector< uint8_t > &requestData, MetaInfo &metaInfo, CancellationHandler &&cancellationHandler) override |
| Handle an UDS request message. More... | |
| std::future< void > | RequestReset (ResetRequestType resetType, core::Optional< uint8_t > id, const MetaInfo &metaInfo, CancellationHandler &&cancellationHandler) |
| Request the ECU to reset. More... | |
| void | ExecuteReset (const MetaInfo &metaInfo) |
| Execute the ECU reset after the request handling. More... | |
| std::future< void > | EnableRapidShutdown (bool enable, const MetaInfo &metaInfo, CancellationHandler &&cancellationHandler) |
| Set enable state of the rapid shutdown (stand-by) mode. More... | |
Public Member Functions inherited from ara::diag::routing::RoutableUdsService | |
| uint8_t | GetSid () const noexcept |
| Get SID. More... | |
| ara::core::Result< void > | Offer () |
| Offer handling DM requests. More... | |
| bool | IsOffered () const noexcept |
| Get offering status of the service. More... | |
| void | StopOffer () noexcept |
| Stop offering request handling. | |
Additional Inherited Members | |
Static Public Attributes inherited from ara::diag::routing::RoutableUdsService | |
| static const uint8_t | cNegativeResponseCodeSid {0x7f} |
| Negative response code service ID. | |
Protected Member Functions inherited from ara::diag::routing::RoutableUdsService | |
| RoutableUdsService (const ara::core::InstanceSpecifier &specifier, uint8_t sid) noexcept | |
| Constructor. More... | |
| void | GenerateNegativeResponse (OperationOutput &response, uint8_t nrc) const |
| Generate a negative response with a specific NRC. More... | |
| template<class T > | |
| bool | TryExtractValue (MetaInfo &metaInfo, std::string key, T &value) const |
| Try to extract a value from the given meta-info. More... | |
Protected Attributes inherited from ara::diag::routing::RoutableUdsService | |
| const uint8_t | cSubFunctionNotSupported {0x12} |
| Unsupported sub-function NRC. | |
| const uint8_t | cIncorrectMessageLength {0x13} |
| Incorrect message length NRC. | |
| const uint8_t | cRequestSequenceError {0x24} |
| Incorrect request sequence NRC. | |
Static Protected Attributes inherited from ara::diag::routing::RoutableUdsService | |
| static const uint8_t | cPositiveResponseSidIncrement {0x40} |
| SID increment for a positive response. | |
ECU reset request handling service.
|
explicit |
Constructor.
| specifier | Instance specifier that owns the service |
| std::future< void > ara::diag::EcuResetRequest::EnableRapidShutdown | ( | bool | enable, |
| const MetaInfo & | metaInfo, | ||
| CancellationHandler && | cancellationHandler | ||
| ) |
Set enable state of the rapid shutdown (stand-by) mode.
| enable | Indicate whether or not the rapid shutdown should be enabled |
| metaInfo | Request handling meta-info |
| cancellationHandler | Request cancellation token |
| void ara::diag::EcuResetRequest::ExecuteReset | ( | const MetaInfo & | metaInfo | ) |
Execute the ECU reset after the request handling.
| metaInfo | ECU reset execution meta-info |
| std::logic_error | Throws when the reset has not been requested |
|
overridevirtual |
Handle an UDS request message.
| requestData | Request message byte array |
| metaInfo | Request message metainfo |
| cancellationHandler | Callback to be invoked when the current conversation is cancelled |
Implements ara::diag::routing::RoutableUdsService.
| std::future< void > ara::diag::EcuResetRequest::RequestReset | ( | ResetRequestType | resetType, |
| core::Optional< uint8_t > | id, | ||
| const MetaInfo & | metaInfo, | ||
| CancellationHandler && | cancellationHandler | ||
| ) |
Request the ECU to reset.
| resetType | ECU reset type |
| id | Type of the custom ECU reset ID (if applicable) |
| metaInfo | Request handling meta-info |
| cancellationHandler | Request cancellation token |