Lely core libraries 2.3.4
nmt_srv.h
Go to the documentation of this file.
1
23#ifndef LELY_CO_INTERN_NMT_SRV_H_
24#define LELY_CO_INTERN_NMT_SRV_H_
25
26#include "co.h"
27#include <lely/co/nmt.h>
28
30struct co_nmt_srv {
38 int set;
39#if !LELY_NO_CO_RPDO
43 co_unsigned16_t nrpdo;
44#endif
45#if !LELY_NO_CO_TPDO
49 co_unsigned16_t ntpdo;
50#endif
54 co_unsigned8_t nssdo;
55#if !LELY_NO_CO_CSDO
59 co_unsigned8_t ncsdo;
60#endif
61#if !LELY_NO_CO_SYNC
64#endif
65#if !LELY_NO_CO_TIME
68#endif
69#if !LELY_NO_CO_EMCY
72#endif
73#if !LELY_NO_CO_LSS
76#endif
77};
78
80#define CO_NMT_SRV_PDO 0x01
81
83#define CO_NMT_SRV_SDO 0x02
84
86#define CO_NMT_SRV_SYNC 0x04
87
89#define CO_NMT_SRV_TIME 0x08
90
92#define CO_NMT_SRV_EMCY 0x10
93
95#define CO_NMT_SRV_LSS 0x20
96
97#ifdef __cplusplus
98extern "C" {
99#endif
100
102void co_nmt_srv_init(struct co_nmt_srv *srv, co_nmt_t *nmt);
103
105void co_nmt_srv_fini(struct co_nmt_srv *srv);
106
117void co_nmt_srv_set(struct co_nmt_srv *srv, co_nmt_t *nmt, int set);
118
119#ifdef __cplusplus
120}
121#endif
122
123#endif // !LELY_CO_INTERN_NMT_SRV_H_
This header file is part of the CANopen library; it contains the network management (NMT) declaration...
void co_nmt_srv_set(struct co_nmt_srv *srv, co_nmt_t *nmt, int set)
Enables/disables the specified CANopen services.
Definition: nmt_srv.c:160
void co_nmt_srv_fini(struct co_nmt_srv *srv)
Finalizes a CANopen NMT service manager.
Definition: nmt_srv.c:152
void co_nmt_srv_init(struct co_nmt_srv *srv, co_nmt_t *nmt)
Initializes a CANopen NMT service manager.
Definition: nmt_srv.c:111
This is the internal header file of the CANopen library.
A CANopen Client-SDO.
Definition: csdo.c:71
A CANopen EMCY producer/consumer service.
Definition: emcy.c:85
A CANopen LSS master/slave service.
Definition: lss.c:44
A CANopen NMT master/slave service.
Definition: nmt.c:148
A CANopen Receive-PDO.
Definition: rpdo.c:44
A CANopen Server-SDO.
Definition: ssdo.c:63
A CANopen SYNC producer/consumer service.
Definition: sync.c:40
A CANopen TIME producer/consumer service.
Definition: time.c:41
A CANopen Transmit-PDO.
Definition: tpdo.c:53
A CANopen NMT service manager.
Definition: nmt_srv.h:30
co_tpdo_t ** tpdos
An array of pointers to the Transmit-PDO services.
Definition: nmt_srv.h:47
co_unsigned16_t ntpdo
The number of Transmit-PDO services.
Definition: nmt_srv.h:49
co_lss_t * lss
A pointer to the LSS master/slave service.
Definition: nmt_srv.h:75
co_ssdo_t ** ssdos
An array of pointers to the Server-SDO services.
Definition: nmt_srv.h:52
int set
The currently enabled CANopen services (any combination of CO_NMT_SRV_PDO, CO_NMT_SRV_SDO,...
Definition: nmt_srv.h:38
co_rpdo_t ** rpdos
An array of pointers to the Receive-PDO services.
Definition: nmt_srv.h:41
co_unsigned8_t ncsdo
The number of Client-SDO services.
Definition: nmt_srv.h:59
co_unsigned8_t nssdo
The number of Server-SDO services.
Definition: nmt_srv.h:54
co_nmt_t * nmt
A pointer to the NMT master/slave service.
Definition: nmt_srv.h:32
co_time_t * time
A pointer to the TIME producer/consumer service.
Definition: nmt_srv.h:67
co_csdo_t ** csdos
An array of pointers to the Client-SDO services.
Definition: nmt_srv.h:57
co_emcy_t * emcy
A pointer to the EMCY producer/consumer service.
Definition: nmt_srv.h:71
co_unsigned16_t nrpdo
The number of Receive-PDO services.
Definition: nmt_srv.h:43
co_sync_t * sync
A pointer to the SYNC producer/consumer service.
Definition: nmt_srv.h:63