File syn_canopen_mgr.c¶
FileList > proto > syn_canopen_mgr.c
Go to the source code of this file
Implementation of CANopen CiA 302 Manager, SDO Client & NMT Master.
#include "syn_canopen_mgr.h"#include "../util/syn_assert.h"#include "../util/syn_pack.h"#include <string.h>
Public Functions¶
| Type | Name |
|---|---|
| void | syn_canopen_mgr_build_nmt (SYN_CAN_Frame * frame, uint8_t target_node, uint8_t nmt_cmd) Build an NMT Master command frame. |
| void | syn_canopen_mgr_init (SYN_CANOpenManager * mgr) Initialize CANopen Manager master instance. |
| void | syn_canopen_mgr_process_frame (SYN_CANOpenManager * mgr, const SYN_CAN_Frame * frame) Process an incoming CAN frame for Manager processing (Heartbeats, SDO responses). |
| SYN_Status | syn_canopen_mgr_sdo_read_init (SYN_CANOpenManager * mgr, SYN_CAN_Frame * frame, uint8_t node_id, uint16_t index, uint8_t subindex) Initiate an SDO Read request to a remote slave node. |
| SYN_Status | syn_canopen_mgr_sdo_write_init (SYN_CANOpenManager * mgr, SYN_CAN_Frame * frame, uint8_t node_id, uint16_t index, uint8_t subindex, const void * data, size_t len) Initiate an SDO Write request to a remote slave node. |
| void | syn_canopen_mgr_step (SYN_CANOpenManager * mgr, uint16_t delta_ms) Advance CANopen Manager periodic timer ticks. |
Public Functions Documentation¶
function syn_canopen_mgr_build_nmt¶
Build an NMT Master command frame.
Parameters:
frameOutput CAN frame buffer.target_nodeTarget node ID (1..127 or 0 for broadcast).nmt_cmdCommand (SYN_CANOPEN_NMT_CMD_*).
function syn_canopen_mgr_init¶
Initialize CANopen Manager master instance.
Parameters:
mgrPointer to manager handle.
function syn_canopen_mgr_process_frame¶
Process an incoming CAN frame for Manager processing (Heartbeats, SDO responses).
Parameters:
mgrPointer to manager handle.frameIncoming CAN frame.
function syn_canopen_mgr_sdo_read_init¶
Initiate an SDO Read request to a remote slave node.
SYN_Status syn_canopen_mgr_sdo_read_init (
SYN_CANOpenManager * mgr,
SYN_CAN_Frame * frame,
uint8_t node_id,
uint16_t index,
uint8_t subindex
)
Parameters:
mgrPointer to manager handle.frameOutput CAN request frame buffer.node_idTarget slave Node-ID.indexTarget Object Dictionary Index.subindexTarget Object Dictionary Subindex.
Returns:
SYN_OK if initiated, SYN_BUSY if SDO client is busy.
function syn_canopen_mgr_sdo_write_init¶
Initiate an SDO Write request to a remote slave node.
SYN_Status syn_canopen_mgr_sdo_write_init (
SYN_CANOpenManager * mgr,
SYN_CAN_Frame * frame,
uint8_t node_id,
uint16_t index,
uint8_t subindex,
const void * data,
size_t len
)
Parameters:
mgrPointer to manager handle.frameOutput CAN request frame buffer.node_idTarget slave Node-ID.indexTarget Object Dictionary Index.subindexTarget Object Dictionary Subindex.dataPointer to payload bytes to write.lenData length (1..4 bytes for expedited write).
Returns:
SYN_OK if initiated, SYN_BUSY if busy.
function syn_canopen_mgr_step¶
Advance CANopen Manager periodic timer ticks.
Parameters:
mgrPointer to manager handle.delta_msMilliseconds elapsed since last call.
The documentation for this class was generated from the following file src/syntropic/proto/syn_canopen_mgr.c