CANopen Master Documentation
Version 6.08.00
Loading...
Searching...
No Matches
com_dict.h File Reference

Detailed Description

The file com_dicts.c implements the local object dictionary of the CANopen Master protocol stack. The local object dictionary is an array of ComDicEntry_ts elements. By means of ComDictAddList() an object dictionary can be assigned to a logical CANopen network during run-time.

An example for a local object dictionary is given by the file com_dict_master.c inside the template-com directory.

#include "com_defs.h"
+ Include dependency graph for com_dict.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  ComDicEntry_s
 

Typedefs

typedef struct ComDicEntry_s ComDicEntry_ts
 

Functions

ComStatus_tv ComDictAddList (uint8_t ubNetV, ComDicEntry_ts *ptsDictListV)
 

Typedef Documentation

◆ ComDicEntry_ts

typedef struct ComDicEntry_s ComDicEntry_ts

CANopen Master - local object dictionary entry.

The structure ComDicEntry_s describes a single dictionary entry. Each entry is defined by the index, sub-index, access-attribute and data type. The pointer pfnFunction points to a callback function.

◆ ComSdoHandler_Fn

typedef uint8_t(* ComSdoHandler_Fn) (uint8_t ubNetV, uint8_t ubSubIndexV, uint8_t ubReqCodeV)

Enumeration Type Documentation

◆ ComDict_e

enum ComDict_e
Enumerator
eCOM_DICT_FAIL_INDEX 
eCOM_DICT_FAIL_SUBINDEX 
eCOM_DICT_FOUND_OBJECT 

Function Documentation

◆ ComDictAddList()

ComStatus_tv ComDictAddList ( uint8_t ubNetV,
ComDicEntry_ts * ptsDictListV )
Parameters
[in]ubNetVCANopen Network channel
[in]ptsDictListVPointer to dictionary structure
Returns
Value of enumeration ComErr_e

This function adds an local object dictionary structure to the CANopen network channel defined by ubNetV. If a NULL pointer is passed to ptsDictListV the local object dictionary supports only the objects 1000h, 1001h and 1018h by means of an internal object dictionary structure.

◆ ComDictFindEntry()

CPP_CONST ComDicEntry_ts * ComDictFindEntry ( uint8_t ubNetV,
uint16_t uwIndexV,
uint8_t ubSubIndexV,
uint8_t * pubStatusV )

◆ ComIdx1000_DeviceType()

uint8_t ComIdx1000_DeviceType ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1001_ErrorReg()

uint8_t ComIdx1001_ErrorReg ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1005_SyncId()

uint8_t ComIdx1005_SyncId ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1006_SyncCycle()

uint8_t ComIdx1006_SyncCycle ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1008_DeviceName()

uint8_t ComIdx1008_DeviceName ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1009_Hardware()

uint8_t ComIdx1009_Hardware ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx100A_Software()

uint8_t ComIdx100A_Software ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1014_EmcyId()

uint8_t ComIdx1014_EmcyId ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1015_EmcyInhibit()

uint8_t ComIdx1015_EmcyInhibit ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1016_ConsHbTmr()

uint8_t ComIdx1016_ConsHbTmr ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1017_ProdHbTmr()

uint8_t ComIdx1017_ProdHbTmr ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1018_Identity()

uint8_t ComIdx1018_Identity ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1019_SyncCounter()

uint8_t ComIdx1019_SyncCounter ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx102A_NmtInhibit()

uint8_t ComIdx102A_NmtInhibit ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F80_NmtStartup()

uint8_t ComIdx1F80_NmtStartup ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F81_NmtSlaveAssign()

uint8_t ComIdx1F81_NmtSlaveAssign ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F82_NmtRequest()

uint8_t ComIdx1F82_NmtRequest ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F84_DevTypeId()

uint8_t ComIdx1F84_DevTypeId ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F85_VendorId()

uint8_t ComIdx1F85_VendorId ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F86_ProdCode()

uint8_t ComIdx1F86_ProdCode ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F87_RevisionNr()

uint8_t ComIdx1F87_RevisionNr ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F88_SerialNr()

uint8_t ComIdx1F88_SerialNr ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F90_FlyingMaster()

uint8_t ComIdx1F90_FlyingMaster ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

◆ ComIdx1F91_SelfTiming()

uint8_t ComIdx1F91_SelfTiming ( uint8_t ubNetV,
uint8_t ubSubIndexV,
uint8_t ubReqCodeV )

Variable Documentation

◆ pszDeviceNameC

char* CPP_CONST pszDeviceNameC[]
extern

◆ pszHardwareVersionC

char* CPP_CONST pszHardwareVersionC[]
extern

◆ pszSoftwareVersionC

char* CPP_CONST pszSoftwareVersionC[]
extern