DriveWorks SDK Reference
5.8.83 Release
For Test and Development only

Signal Status

Detailed Description

Defines of signal status types, and encoder/decorder functions.

Typedefs

typedef uint8_t dwSignalValidity
 The type of the encoded status field. More...
 

Enumerations

enum  dwSignalE2EStatus {
  DW_SIGNAL_E2E_NO_ERROR = 0 ,
  DW_SIGNAL_E2E_SEQ_ERROR = 1 ,
  DW_SIGNAL_E2E_HASH_ERROR = 2 ,
  DW_SIGNAL_E2E_NO_INFORMATION = 3 ,
  DW_SIGNAL_E2E_MAX_ENUM_VALUE = 3
}
 End-2-End related status of the signal. More...
 
enum  dwSignalStatus {
  DW_SIGNAL_STATUS_INIT = 0 ,
  DW_SIGNAL_STATUS_LAST_VALID = 1 ,
  DW_SIGNAL_STATUS_ERROR = 2 ,
  DW_SIGNAL_STATUS_OUT_OF_BOUNDS_ERROR = 3 ,
  DW_SIGNAL_STATUS_MAX_ENUM_VALUE = 3
}
 Overall status of the signal. More...
 
enum  dwSignalTimeoutStatus {
  DW_SIGNAL_TIMEOUT_NEVER_RECEIVED = 0 ,
  DW_SIGNAL_TIMEOUT_NONE = 1 ,
  DW_SIGNAL_TIMEOUT_OVERDUE = 2 ,
  DW_SIGNAL_TIMEOUT_NO_INFORMATION = 3 ,
  DW_SIGNAL_TIMEOUT_DELAYED = 4 ,
  DW_SIGNAL_TIMEOUT_MAX_ENUM_VALUE = 4
}
 Timeout related status of the signal. More...
 

Functions

DW_API_PUBLIC dwStatus dwSignal_decodeSignalValidity (dwSignalStatus *status, dwSignalTimeoutStatus *timeoutStatus, dwSignalE2EStatus *e2eStatus, dwSignalValidity const validity)
 Decode dwSignal*Status values from a dwSignalValidity value. More...
 
DW_API_PUBLIC dwStatus dwSignal_encodeSignalValidity (dwSignalValidity *validity, dwSignalStatus const status, dwSignalTimeoutStatus const timeoutStatus, dwSignalE2EStatus const e2eStatus)
 Encode dwSignal*Status values into a dwSignalValidity value. More...
 

Typedef Documentation

◆ dwSignalValidity

typedef uint8_t dwSignalValidity

The type of the encoded status field.

Definition at line 57 of file SignalStatus.h.

Enumeration Type Documentation

◆ dwSignalE2EStatus

End-2-End related status of the signal.

Enumerator
DW_SIGNAL_E2E_NO_ERROR 

No E2E error.

DW_SIGNAL_E2E_SEQ_ERROR 

E2E Sequence error.

Signal arrived out of sequence or having skipped values

DW_SIGNAL_E2E_HASH_ERROR 

Hash error. Signal did not verify against hash properly.

DW_SIGNAL_E2E_NO_INFORMATION 

No E2E information.

DW_SIGNAL_E2E_MAX_ENUM_VALUE 

Signal enum max value.

Definition at line 96 of file SignalStatus.h.

◆ dwSignalStatus

Overall status of the signal.

Enumerator
DW_SIGNAL_STATUS_INIT 

Initial value. Means that the signal has never had an assigned value.

DW_SIGNAL_STATUS_LAST_VALID 

Signal contains the last valid value that was set.

DW_SIGNAL_STATUS_ERROR 

Signal value is in error.

DW_SIGNAL_STATUS_OUT_OF_BOUNDS_ERROR 

Signal value is outside acceptable bounds.

DW_SIGNAL_STATUS_MAX_ENUM_VALUE 

Signal enum max value.

Definition at line 62 of file SignalStatus.h.

◆ dwSignalTimeoutStatus

Timeout related status of the signal.

Enumerator
DW_SIGNAL_TIMEOUT_NEVER_RECEIVED 

This signal has never been received.

DW_SIGNAL_TIMEOUT_NONE 

No timeout error.

DW_SIGNAL_TIMEOUT_OVERDUE 

Signal is overdue.

DW_SIGNAL_TIMEOUT_NO_INFORMATION 

No timeout information.

DW_SIGNAL_TIMEOUT_DELAYED 

Signal received but not for more than twice the specified cycle.

DW_SIGNAL_TIMEOUT_MAX_ENUM_VALUE 

Signal enum max value.

Definition at line 78 of file SignalStatus.h.

Function Documentation

◆ dwSignal_decodeSignalValidity()

DW_API_PUBLIC dwStatus dwSignal_decodeSignalValidity ( dwSignalStatus status,
dwSignalTimeoutStatus timeoutStatus,
dwSignalE2EStatus e2eStatus,
dwSignalValidity const  validity 
)

Decode dwSignal*Status values from a dwSignalValidity value.

Parameters
[out]statusSignal status after decoding
[out]timeoutStatusSignal timeout status after decoding
[out]e2eStatusSignal E2E status after decoding
[in]validityEncoded signal validity data to decode
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT - If validity contains invalid data or if one of the statuses is null

◆ dwSignal_encodeSignalValidity()

DW_API_PUBLIC dwStatus dwSignal_encodeSignalValidity ( dwSignalValidity validity,
dwSignalStatus const  status,
dwSignalTimeoutStatus const  timeoutStatus,
dwSignalE2EStatus const  e2eStatus 
)

Encode dwSignal*Status values into a dwSignalValidity value.

Parameters
[out]validityEncoded signal validity data
[in]statusSignal status to encode
[in]timeoutStatusSignal timeout status to encode
[in]e2eStatusSignal E2E status to encode
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT - If one of the arguments has an invalid value or if validity is null