File syn_cannm.h¶
FileList > proto > syn_cannm.h
Go to the source code of this file
AUTOSAR CAN Network Management (CanNm) Protocol. More...
#include "../common/syn_defs.h"#include "../drivers/syn_can.h"#include <stdbool.h>#include <stddef.h>#include <stdint.h>
Classes¶
| Type | Name |
|---|---|
| struct | SYN_CanNM_Config AUTOSAR CAN Network Management Configuration. |
| struct | SYN_CanNM_Session AUTOSAR CAN Network Management Session Context. |
Public Types¶
| Type | Name |
|---|---|
| enum | SYN_CanNM_State AUTOSAR CAN Network Management States. |
Public Functions¶
| Type | Name |
|---|---|
| void | syn_cannm_init (SYN_CanNM_Session * session, const SYN_CanNM_Config * cfg) Initialize CAN NM Session. |
| bool | syn_cannm_process_rx_frame (SYN_CanNM_Session * session, const SYN_CAN_Frame * frame) Process an incoming CAN frame for CAN NM filtering and state machine. |
| void | syn_cannm_release_network (SYN_CanNM_Session * session) Release network request (allow transition to sleep). |
| void | syn_cannm_request_network (SYN_CanNM_Session * session) Request network active operation (keep awake / active wakeup). |
| void | syn_cannm_request_repeat_msg (SYN_CanNM_Session * session) Request Repeat Message state transition. |
| void | syn_cannm_set_user_data (SYN_CanNM_Session * session, const uint8_t * data, size_t len) Set local NM user payload bytes (6 bytes max). |
| bool | syn_cannm_step (SYN_CanNM_Session * session, uint32_t delta_ms, SYN_CAN_Frame * tx_frame) Step CAN NM state machine and timer tick. |
Detailed Description¶
Implements AUTOSAR CAN Network Management non-blocking state machine for ECU sleep/wake coordination over CAN bus.
Public Types Documentation¶
enum SYN_CanNM_State¶
AUTOSAR CAN Network Management States.
enum SYN_CanNM_State {
SYN_CANNM_STATE_BUS_SLEEP = 0,
SYN_CANNM_STATE_PRE_BUS_SLEEP,
SYN_CANNM_STATE_REPEAT_MSG,
SYN_CANNM_STATE_NORMAL_OP,
SYN_CANNM_STATE_READY_SLEEP
};
Public Functions Documentation¶
function syn_cannm_init¶
Initialize CAN NM Session.
Parameters:
sessionSession handle pointercfgConfiguration structure (or NULL for defaults)
function syn_cannm_process_rx_frame¶
Process an incoming CAN frame for CAN NM filtering and state machine.
Parameters:
sessionSession handle pointerframeIncoming CAN frame pointer
Returns:
true if frame was a valid matching CAN NM PDU
function syn_cannm_release_network¶
Release network request (allow transition to sleep).
Parameters:
sessionSession handle pointer
function syn_cannm_request_network¶
Request network active operation (keep awake / active wakeup).
Parameters:
sessionSession handle pointer
function syn_cannm_request_repeat_msg¶
Request Repeat Message state transition.
Parameters:
sessionSession handle pointer
function syn_cannm_set_user_data¶
Set local NM user payload bytes (6 bytes max).
Parameters:
sessionSession handle pointerdataData pointerlenData length (0 to 6 bytes)
function syn_cannm_step¶
Step CAN NM state machine and timer tick.
Parameters:
sessionSession handle pointerdelta_msElapsed time in millisecondstx_framePointer to CAN frame structure to receive pending CAN NM message
Returns:
true if a CAN frame is ready in tx_frame to be transmitted
The documentation for this class was generated from the following file src/syntropic/proto/syn_cannm.h