NTURT Zephyr v0.0.1
NTURT common library for Zephyr RTOS
Loading...
Searching...
No Matches
canopen.h File Reference

CANopen support. More...

#include <stdint.h>
#include <zephyr/sys/iterable_sections.h>
#include <canopennode.h>
#include "nturt/msg/aggregation.h"
#include "nturt/msg/msg.h"
#include "nturt/sys/util.h"
#include "nturt/telemetry.h"
+ Include dependency graph for canopen.h:

Data Structures

struct  canopen_od_init
 Struct for initializing OD entries. More...
 

Macros

#define CO_EMC_NTURT   0xFF10
 CANopen error code for reporting NTURT errors.
 
#define TPDO_DATA(data, idx, subidx, ...)
 Specify the telemetry data to be published to TPDOs.
 
#define CANOPEN_TM_TO_TPDO_DEFINE(_name, _period, _min_separation, _watermark, flag, ...)
 Define a telemetry group that publishes data to TPDOs.
 
#define OD_TO_AGG_DATA(subidx, type, convert, member)
 Specify the data in an OD entry to be aggregated. Used in OD_TO_MSG_ENTRY.
 
#define CANOPEN_OD_TO_AGG_DEFINE(_idx, _agg, _agg_type, ...)
 Define a mapping from OD writes (PDO or SDO) to updates of typed data aggregation.
 
#define OD_TO_MSG_DATA(subidx, type, convert, member)
 Specify the data in an OD entry to be aggregated. Used in OD_TO_MSG_ENTRY.
 
#define OD_TO_MSG_ENTRY(idx, ...)
 Specify an OD entry to be aggregated. Used in CANOPEN_OD_TO_MSG_DEFINE.
 
#define CANOPEN_OD_TO_MSG_DEFINE(_msg, _init_val, _period, _min_separation, _watermark, _flag, ...)
 Define a data aggregration for aggregating OD writes (PDO or SDO) to message _msg .
 

Enumerations

enum  canopen_node_id {
  NODE_ID_VCU = 0x01 , NODE_ID_SENSORS = 0x02 , NODE_ID_RPI = 0x04 , NODE_ID_IMU = 0x08 ,
  NODE_ID_GPS , NODE_ID_ACC = 0x10 , NODE_ID_INV_FL , NODE_ID_INV_FR ,
  NODE_ID_INV_RL , NODE_ID_INV_RR
}
 CANopen node ID. More...
 

Functions

void canopen_tm_publish (uint32_t addr, const void *data, size_t size, void *user_data)
 Publishing function for CANOPEN_TM_TO_TPDO_DEFINE.
 

Detailed Description

CANopen support.

Author
quantumspawner
Version
0.0.1
Date
2025-07-01