Lely core libraries 2.3.4
nmt.h
Go to the documentation of this file.
1
22#ifndef LELY_CO_NMT_H_
23#define LELY_CO_NMT_H_
24
25#include <lely/can/net.h>
26#include <lely/co/type.h>
27
28#ifndef LELY_CO_NMT_TIMEOUT
33#define LELY_CO_NMT_TIMEOUT 100
34#endif
35
37#define CO_NMT_CS_CANID 0x000
38
40#define CO_NMT_CS_START 0x01
41
43#define CO_NMT_CS_STOP 0x02
44
46#define CO_NMT_CS_ENTER_PREOP 0x80
47
49#define CO_NMT_CS_RESET_NODE 0x81
50
52#define CO_NMT_CS_RESET_COMM 0x82
53
55#define CO_NMT_ST_BOOTUP 0x00
56
58#define CO_NMT_ST_STOP 0x04
59
61#define CO_NMT_ST_START 0x05
62
64#define CO_NMT_ST_RESET_NODE 0x06
65
67#define CO_NMT_ST_RESET_COMM 0x07
68
70#define CO_NMT_ST_PREOP 0x7f
71
73#define CO_NMT_ST_TOGGLE 0x80
74
76#define CO_NMT_EC_CANID(id) (0x700 + ((id)&0x7f))
77
78enum {
83};
84
85enum {
90};
91
92#ifdef __cplusplus
93extern "C" {
94#endif
95
110typedef void co_nmt_cs_ind_t(co_nmt_t *nmt, co_unsigned8_t cs, void *data);
111
126typedef void co_nmt_ng_ind_t(co_nmt_t *nmt, co_unsigned8_t id, int state,
127 int reason, void *data);
128
139typedef void co_nmt_lg_ind_t(co_nmt_t *nmt, int state, void *data);
140
155typedef void co_nmt_hb_ind_t(co_nmt_t *nmt, co_unsigned8_t id, int state,
156 int reason, void *data);
157
176typedef void co_nmt_st_ind_t(co_nmt_t *nmt, co_unsigned8_t id,
177 co_unsigned8_t st, void *data);
178
188typedef void co_nmt_lss_req_t(co_nmt_t *nmt, co_lss_t *lss, void *data);
189
200typedef void co_nmt_boot_ind_t(co_nmt_t *nmt, co_unsigned8_t id,
201 co_unsigned8_t st, char es, void *data);
202
214typedef void co_nmt_cfg_ind_t(
215 co_nmt_t *nmt, co_unsigned8_t id, co_csdo_t *sdo, void *data);
216
227typedef void co_nmt_cfg_con_t(co_nmt_t *nmt, co_unsigned8_t id,
228 co_unsigned32_t ac, void *data);
229
246typedef void co_nmt_sdo_ind_t(co_nmt_t *nmt, co_unsigned8_t id,
247 co_unsigned16_t idx, co_unsigned8_t subidx, size_t size,
248 size_t nbyte, void *data);
249
260typedef void co_nmt_sync_ind_t(co_nmt_t *nmt, co_unsigned8_t cnt, void *data);
261
273co_unsigned32_t co_dev_cfg_hb(
274 co_dev_t *dev, co_unsigned8_t id, co_unsigned16_t ms);
275
277const char *co_nmt_es2str(char es);
278
279void *__co_nmt_alloc(void);
280void __co_nmt_free(void *ptr);
281struct __co_nmt *__co_nmt_init(
282 struct __co_nmt *nmt, can_net_t *net, co_dev_t *dev);
283void __co_nmt_fini(struct __co_nmt *nmt);
284
297
299void co_nmt_destroy(co_nmt_t *nmt);
300
303
305co_dev_t *co_nmt_get_dev(const co_nmt_t *nmt);
306
319 const co_nmt_t *nmt, co_nmt_cs_ind_t **pind, void **pdata);
320
331void co_nmt_set_cs_ind(co_nmt_t *nmt, co_nmt_cs_ind_t *ind, void *data);
332
345 const co_nmt_t *nmt, co_nmt_ng_ind_t **pind, void **pdata);
346
359void co_nmt_set_ng_ind(co_nmt_t *nmt, co_nmt_ng_ind_t *ind, void *data);
360
368void co_nmt_on_ng(co_nmt_t *nmt, co_unsigned8_t id, int state, int reason);
369
382 const co_nmt_t *nmt, co_nmt_lg_ind_t **pind, void **pdata);
383
396void co_nmt_set_lg_ind(co_nmt_t *nmt, co_nmt_lg_ind_t *ind, void *data);
397
405void co_nmt_on_lg(co_nmt_t *nmt, int state);
406
419 const co_nmt_t *nmt, co_nmt_hb_ind_t **pind, void **pdata);
420
433void co_nmt_set_hb_ind(co_nmt_t *nmt, co_nmt_hb_ind_t *ind, void *data);
434
444void co_nmt_on_hb(co_nmt_t *nmt, co_unsigned8_t id, int state, int reason);
445
458 const co_nmt_t *nmt, co_nmt_st_ind_t **pind, void **pdata);
459
472void co_nmt_set_st_ind(co_nmt_t *nmt, co_nmt_st_ind_t *ind, void *data);
473
482void co_nmt_on_st(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned8_t st);
483
497 const co_nmt_t *nmt, co_nmt_lss_req_t **pind, void **pdata);
498
511void co_nmt_set_lss_req(co_nmt_t *nmt, co_nmt_lss_req_t *ind, void *data);
512
526 const co_nmt_t *nmt, co_nmt_boot_ind_t **pind, void **pdata);
527
539void co_nmt_set_boot_ind(co_nmt_t *nmt, co_nmt_boot_ind_t *ind, void *data);
540
554 const co_nmt_t *nmt, co_nmt_cfg_ind_t **pind, void **pdata);
555
567void co_nmt_set_cfg_ind(co_nmt_t *nmt, co_nmt_cfg_ind_t *ind, void *data);
568
582 const co_nmt_t *nmt, co_nmt_sdo_ind_t **pind, void **pdata);
583
595void co_nmt_set_dn_ind(co_nmt_t *nmt, co_nmt_sdo_ind_t *ind, void *data);
596
610 const co_nmt_t *nmt, co_nmt_sdo_ind_t **pind, void **pdata);
611
623void co_nmt_set_up_ind(co_nmt_t *nmt, co_nmt_sdo_ind_t *ind, void *data);
624
638 const co_nmt_t *nmt, co_nmt_sync_ind_t **pind, void **pdata);
639
651void co_nmt_set_sync_ind(co_nmt_t *nmt, co_nmt_sync_ind_t *ind, void *data);
652
662void co_nmt_on_sync(co_nmt_t *nmt, co_unsigned8_t cnt);
663
671void co_nmt_on_err(co_nmt_t *nmt, co_unsigned16_t eec, co_unsigned8_t er,
672 const co_unsigned8_t msef[5]);
673
687void co_nmt_on_tpdo_event(co_nmt_t *nmt, co_unsigned16_t n);
688
696
702
715void co_nmt_on_sam_mpdo_event(co_nmt_t *nmt, co_unsigned16_t n,
716 co_unsigned16_t idx, co_unsigned8_t subidx);
717
719co_unsigned8_t co_nmt_get_id(const co_nmt_t *nmt);
720
734int co_nmt_set_id(co_nmt_t *nmt, co_unsigned8_t id);
735
741co_unsigned8_t co_nmt_get_st(const co_nmt_t *nmt);
742
744int co_nmt_is_master(const co_nmt_t *nmt);
745
752int co_nmt_get_timeout(const co_nmt_t *nmt);
753
763void co_nmt_set_timeout(co_nmt_t *nmt, int timeout);
764
778int co_nmt_cs_req(co_nmt_t *nmt, co_unsigned8_t cs, co_unsigned8_t id);
779
788int co_nmt_lss_con(co_nmt_t *nmt);
789
801int co_nmt_boot_req(co_nmt_t *nmt, co_unsigned8_t id, int timeout);
802
807int co_nmt_is_booting(const co_nmt_t *nmt, co_unsigned8_t id);
808
819int co_nmt_chk_bootup(const co_nmt_t *nmt, co_unsigned8_t id);
820
835int co_nmt_cfg_req(co_nmt_t *nmt, co_unsigned8_t id, int timeout,
836 co_nmt_cfg_con_t *con, void *data);
837
850int co_nmt_cfg_res(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned32_t ac);
851
865int co_nmt_ng_req(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned16_t gt,
866 co_unsigned8_t ltf);
867
888int co_nmt_cs_ind(co_nmt_t *nmt, co_unsigned8_t cs);
889
896
908int co_nmt_node_err_ind(co_nmt_t *nmt, co_unsigned8_t id);
909
916co_rpdo_t *co_nmt_get_rpdo(const co_nmt_t *nmt, co_unsigned16_t n);
917
924co_tpdo_t *co_nmt_get_tpdo(const co_nmt_t *nmt, co_unsigned16_t n);
925
932co_ssdo_t *co_nmt_get_ssdo(const co_nmt_t *nmt, co_unsigned8_t n);
933
940co_csdo_t *co_nmt_get_csdo(const co_nmt_t *nmt, co_unsigned8_t n);
941
944
947
950
952co_lss_t *co_nmt_get_lss(const co_nmt_t *nmt);
953
954#ifdef __cplusplus
955}
956#endif
957
958#endif // !LELY_CO_NMT_H_
This header file is part of the CAN library; it contains the CAN network interface declarations.
void co_nmt_destroy(co_nmt_t *nmt)
Destroys a CANopen NMT master/slave service.
Definition nmt.c:1258
void co_nmt_set_sync_ind(co_nmt_t *nmt, co_nmt_sync_ind_t *ind, void *data)
Sets the indication function invoked by co_nmt_on_sync() after all PDOs have been transmitted/process...
Definition nmt.c:1601
void co_nmt_get_sync_ind(const co_nmt_t *nmt, co_nmt_sync_ind_t **pind, void **pdata)
Retrieves the indication function invoked by co_nmt_on_sync() after all PDOs have been transmitted/pr...
Definition nmt.c:1590
void co_nmt_lss_req_t(co_nmt_t *nmt, co_lss_t *lss, void *data)
The type of a CANopen LSS request function, invoked by an NMT master before booting the slaves (see F...
Definition nmt.h:188
int co_nmt_cs_ind(co_nmt_t *nmt, co_unsigned8_t cs)
Processes an NMT command from the master or the application.
Definition nmt.c:2098
void co_nmt_on_sync(co_nmt_t *nmt, co_unsigned8_t cnt)
Implements the default behavior after a SYNC object is received or transmitted.
Definition nmt.c:1610
void co_nmt_get_cs_ind(const co_nmt_t *nmt, co_nmt_cs_ind_t **pind, void **pdata)
Retrieves the indication function invoked when an NMT command is received.
Definition nmt.c:1283
void co_nmt_get_up_ind(const co_nmt_t *nmt, co_nmt_sdo_ind_t **pind, void **pdata)
Retrieves the indication function used to notify the user of the progress of the current SDO upload r...
Definition nmt.c:1568
const char * co_nmt_es2str(char es)
Returns a pointer to a string describing an NMT boot error status.
Definition nmt.c:786
void co_nmt_lg_ind_t(co_nmt_t *nmt, int state, void *data)
The type of a CANopen NMT life guarding indication function, invoked when a life guarding event occur...
Definition nmt.h:139
void co_nmt_set_cfg_ind(co_nmt_t *nmt, co_nmt_cfg_ind_t *ind, void *data)
Sets the indication function invoked when a CANopen NMT 'configuration request' process is received.
Definition nmt.c:1537
void co_nmt_get_st_ind(const co_nmt_t *nmt, co_nmt_st_ind_t **pind, void **pdata)
Retrieves the indication function invoked when a state change is detected.
Definition nmt.c:1434
void co_nmt_get_lss_req(const co_nmt_t *nmt, co_nmt_lss_req_t **pind, void **pdata)
Retrieves the request function invoked to perform LSS when booting an NMT master.
Definition nmt.c:1478
void co_nmt_set_up_ind(co_nmt_t *nmt, co_nmt_sdo_ind_t *ind, void *data)
Sets the indication function used to notify the user of the progress of the current SDO upload reques...
Definition nmt.c:1579
void co_nmt_on_lg(co_nmt_t *nmt, int state)
Implements the default behavior when a life guarding event occurs (see section 7.2....
Definition nmt.c:1362
co_ssdo_t * co_nmt_get_ssdo(const co_nmt_t *nmt, co_unsigned8_t n)
Returns a pointer to a Server-SDO service.
Definition nmt.c:2211
void co_nmt_on_st(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned8_t st)
Implements the default behavior when a state change is detected by the node guarding or heartbeat pro...
Definition nmt.c:1454
void co_nmt_get_dn_ind(const co_nmt_t *nmt, co_nmt_sdo_ind_t **pind, void **pdata)
Retrieves the indication function used to notify the user of the progress of the current SDO download...
Definition nmt.c:1548
void co_nmt_set_hb_ind(co_nmt_t *nmt, co_nmt_hb_ind_t *ind, void *data)
Sets the indication function invoked when a heartbeat event occurs.
Definition nmt.c:1392
co_rpdo_t * co_nmt_get_rpdo(const co_nmt_t *nmt, co_unsigned16_t n)
Returns a pointer to a Receive-PDO service.
Definition nmt.c:2175
void co_nmt_ng_ind_t(co_nmt_t *nmt, co_unsigned8_t id, int state, int reason, void *data)
The type of a CANopen NMT node guarding indication function, invoked when a node guarding event occur...
Definition nmt.h:126
void co_nmt_get_ng_ind(const co_nmt_t *nmt, co_nmt_ng_ind_t **pind, void **pdata)
Retrieves the indication function invoked when a node guarding event occurs.
Definition nmt.c:1307
void co_nmt_on_tpdo_event(co_nmt_t *nmt, co_unsigned16_t n)
Implements the default behavior when an event is indicated for an event-driven (asynchronous) Transmi...
Definition nmt.c:1659
void co_nmt_get_boot_ind(const co_nmt_t *nmt, co_nmt_boot_ind_t **pind, void **pdata)
Retrieves the indication function invoked when a CANopen NMT 'boot slave' process completes.
Definition nmt.c:1502
co_nmt_t * co_nmt_create(can_net_t *net, co_dev_t *dev)
Creates a new CANopen NMT master/slave service.
Definition nmt.c:1233
void co_nmt_set_lss_req(co_nmt_t *nmt, co_nmt_lss_req_t *ind, void *data)
Sets the request function invoked to perform LSS when booting an NMT master.
Definition nmt.c:1489
int co_nmt_get_timeout(const co_nmt_t *nmt)
Returns the default SDO timeout used during the NMT 'boot slave' and 'check configuration' processes.
Definition nmt.c:1790
void co_nmt_st_ind_t(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned8_t st, void *data)
The type of a CANopen NMT state change indication function, invoked when a state change is detected b...
Definition nmt.h:176
void co_nmt_on_tpdo_event_lock(co_nmt_t *nmt)
Postpones the transmission of PDOs triggered by co_nmt_on_tpdo_event() until a matching call to co_nm...
Definition nmt.c:1690
void co_nmt_on_err(co_nmt_t *nmt, co_unsigned16_t eec, co_unsigned8_t er, const co_unsigned8_t msef[5])
Implements the default error handling behavior by generating an EMCY message with co_emcy_push() and ...
Definition nmt.c:1636
int co_nmt_cfg_req(co_nmt_t *nmt, co_unsigned8_t id, int timeout, co_nmt_cfg_con_t *con, void *data)
Issues the NMT 'configuration request' for the specified node.
Definition nmt.c:1979
co_lss_t * co_nmt_get_lss(const co_nmt_t *nmt)
Returns a pointer to the LSS master/slave service.
Definition nmt.c:2282
void co_nmt_on_tpdo_event_unlock(co_nmt_t *nmt)
Undoes the effect of a single call to co_nmt_on_tpdo_event_lock() and possibly triggers the transmiss...
Definition nmt.c:1698
co_unsigned8_t co_nmt_get_id(const co_nmt_t *nmt)
Returns the pending node-ID.
Definition nmt.c:1743
void co_nmt_get_lg_ind(const co_nmt_t *nmt, co_nmt_lg_ind_t **pind, void **pdata)
Retrieves the indication function invoked when a life guarding event occurs.
Definition nmt.c:1342
void co_nmt_set_boot_ind(co_nmt_t *nmt, co_nmt_boot_ind_t *ind, void *data)
Sets the indication function invoked when a CANopen NMT 'boot slave' process completes.
Definition nmt.c:1513
int co_nmt_is_booting(const co_nmt_t *nmt, co_unsigned8_t id)
Returns 1 if the NMT 'boot slave' process is currently running for the specified node,...
Definition nmt.c:1929
void co_nmt_cfg_ind_t(co_nmt_t *nmt, co_unsigned8_t id, co_csdo_t *sdo, void *data)
The type of a CANopen NMT 'update configuration' indication function, invoked when a configuration re...
Definition nmt.h:214
can_net_t * co_nmt_get_net(const co_nmt_t *nmt)
Returns a pointer to the CAN network of an NMT master/slave service.
Definition nmt.c:1267
void co_nmt_on_hb(co_nmt_t *nmt, co_unsigned8_t id, int state, int reason)
Implements the default behavior when a heartbeat event occurs (see sections 7.2.8....
Definition nmt.c:1401
co_dev_t * co_nmt_get_dev(const co_nmt_t *nmt)
Returns a pointer to the CANopen device of an NMT master/slave service.
Definition nmt.c:1275
void co_nmt_get_cfg_ind(const co_nmt_t *nmt, co_nmt_cfg_ind_t **pind, void **pdata)
Retrieves the indication function invoked when a CANopen NMT 'configuration request' is received.
Definition nmt.c:1526
int co_nmt_boot_req(co_nmt_t *nmt, co_unsigned8_t id, int timeout)
Requests the NMT 'boot slave' process for the specified node.
Definition nmt.c:1871
@ CO_NMT_EC_STATE
An NMT error control state change event.
Definition nmt.h:89
@ CO_NMT_EC_TIMEOUT
An NMT error control timeout event.
Definition nmt.h:87
void co_nmt_boot_ind_t(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned8_t st, char es, void *data)
The type of a CANopen NMT 'boot slave' indication function, invoked when the 'boot slave' process com...
Definition nmt.h:200
void co_nmt_sync_ind_t(co_nmt_t *nmt, co_unsigned8_t cnt, void *data)
The type of a SYNC indication function, invoked by co_nmt_on_sync() after PDOs are transmitted/proces...
Definition nmt.h:260
void co_nmt_hb_ind_t(co_nmt_t *nmt, co_unsigned8_t id, int state, int reason, void *data)
The type of a CANopen NMT heartbeat indication function, invoked when a heartbeat event occurs (see s...
Definition nmt.h:155
void co_nmt_cs_ind_t(co_nmt_t *nmt, co_unsigned8_t cs, void *data)
The type of a CANopen NMT command indication function, invoked when an NMT command is received (and a...
Definition nmt.h:110
void co_nmt_set_lg_ind(co_nmt_t *nmt, co_nmt_lg_ind_t *ind, void *data)
Sets the indication function invoked when a life guarding event occurs.
Definition nmt.c:1353
co_unsigned8_t co_nmt_get_st(const co_nmt_t *nmt)
Returns the current state of a CANopen NMT service (one of CO_NMT_ST_BOOTUP, CO_NMT_ST_STOP,...
Definition nmt.c:1766
int co_nmt_chk_bootup(const co_nmt_t *nmt, co_unsigned8_t id)
Checks if a boot-up message has been received from the specified node(s).
Definition nmt.c:1946
int co_nmt_cfg_res(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned32_t ac)
Indicates the result of the 'update configuration' step of an NMT 'request configuration' request for...
Definition nmt.c:2040
void co_nmt_set_timeout(co_nmt_t *nmt, int timeout)
Sets the default SDO timeout used during the NMT 'boot slave' and 'check configuration' processes.
Definition nmt.c:1798
co_emcy_t * co_nmt_get_emcy(const co_nmt_t *nmt)
Returns a pointer to the EMCY producer/consumer service.
Definition nmt.c:2268
int co_nmt_node_err_ind(co_nmt_t *nmt, co_unsigned8_t id)
Indicates the occurrence of an error event and triggers the error handling process (see Fig.
Definition nmt.c:2132
int co_nmt_ng_req(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned16_t gt, co_unsigned8_t ltf)
Request the node guarding service for the specified node, even if it is not in the network list.
Definition nmt.c:2061
co_unsigned32_t co_dev_cfg_hb(co_dev_t *dev, co_unsigned8_t id, co_unsigned16_t ms)
Configures heartbeat consumption for the specified node by updating CANopen object 1016 (Consumer hea...
Definition nmt.c:744
void co_nmt_set_ng_ind(co_nmt_t *nmt, co_nmt_ng_ind_t *ind, void *data)
Sets the indication function invoked when a node guarding event occurs.
Definition nmt.c:1318
co_csdo_t * co_nmt_get_csdo(const co_nmt_t *nmt, co_unsigned8_t n)
Returns a pointer to a Client-SDO service.
Definition nmt.c:2222
void co_nmt_set_dn_ind(co_nmt_t *nmt, co_nmt_sdo_ind_t *ind, void *data)
Sets the indication function used to notify the user of the progress of the current SDO download requ...
Definition nmt.c:1559
void co_nmt_comm_err_ind(co_nmt_t *nmt)
Indicates the occurrence of a communication error and invokes the specified error behavior (object 10...
Definition nmt.c:2116
int co_nmt_cs_req(co_nmt_t *nmt, co_unsigned8_t cs, co_unsigned8_t id)
Submits an NMT request to a slave.
Definition nmt.c:1806
void co_nmt_set_cs_ind(co_nmt_t *nmt, co_nmt_cs_ind_t *ind, void *data)
Sets the indication function invoked when an NMT command is received.
Definition nmt.c:1294
int co_nmt_set_id(co_nmt_t *nmt, co_unsigned8_t id)
Sets the pending node-ID.
Definition nmt.c:1751
void co_nmt_on_ng(co_nmt_t *nmt, co_unsigned8_t id, int state, int reason)
Implements the default behavior when a node guarding event occurs (see sections 7....
Definition nmt.c:1327
int co_nmt_is_master(const co_nmt_t *nmt)
Returns 1 if the specified CANopen NMT service is a master, and 0 if not.
Definition nmt.c:1774
void co_nmt_get_hb_ind(const co_nmt_t *nmt, co_nmt_hb_ind_t **pind, void **pdata)
Retrieves the indication function invoked when a heartbeat event occurs.
Definition nmt.c:1381
co_time_t * co_nmt_get_time(const co_nmt_t *nmt)
Returns a pointer to the TIME producer/consumer service.
Definition nmt.c:2254
co_tpdo_t * co_nmt_get_tpdo(const co_nmt_t *nmt, co_unsigned16_t n)
Returns a pointer to a Transmit-PDO service.
Definition nmt.c:2193
co_sync_t * co_nmt_get_sync(const co_nmt_t *nmt)
Returns a pointer to the SYNC producer/consumer service.
Definition nmt.c:2240
@ CO_NMT_EC_OCCURRED
An NMT error control event occurred.
Definition nmt.h:80
@ CO_NMT_EC_RESOLVED
An NMT error control event was resolved.
Definition nmt.h:82
void co_nmt_set_st_ind(co_nmt_t *nmt, co_nmt_st_ind_t *ind, void *data)
Sets the indication function invoked when a state change is detected.
Definition nmt.c:1445
int co_nmt_lss_con(co_nmt_t *nmt)
Confirms the completion of the process when booting an NMT master.
Definition nmt.c:1853
void co_nmt_on_sam_mpdo_event(co_nmt_t *nmt, co_unsigned16_t n, co_unsigned16_t idx, co_unsigned8_t subidx)
Implements the default behavior when an event is indicated for a source address mode multiplex PDO by...
Definition nmt.c:1729
void co_nmt_sdo_ind_t(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned16_t idx, co_unsigned8_t subidx, size_t size, size_t nbyte, void *data)
The type of an SDO request progress indication function, invoked by a CANopen NMT master to notify th...
Definition nmt.h:246
void co_nmt_cfg_con_t(co_nmt_t *nmt, co_unsigned8_t id, co_unsigned32_t ac, void *data)
The type of a CANopen NMT 'configuration request' confirmation callback function, invoked when a conf...
Definition nmt.h:227
A CAN network interface.
Definition net.c:37
A CANopen Client-SDO.
Definition csdo.c:71
A CANopen device.
Definition dev.h:30
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
int timeout
The default SDO timeout (in milliseconds) used during the NMT 'boot slave' and 'check configuration' ...
Definition nmt.c:255
co_dev_t * dev
A pointer to a CANopen device.
Definition nmt.c:152
co_unsigned16_t gt
The guard time (in milliseconds).
Definition nmt.c:193
can_net_t * net
A pointer to a CAN network interface.
Definition nmt.c:150
co_unsigned8_t ltf
The lifetime factor.
Definition nmt.c:195
co_nmt_state_t * state
The current state.
Definition nmt.c:162
co_unsigned8_t st
The state of the NMT service (including the toggle bit).
Definition nmt.c:190
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
This header file is part of the CANopen library; it contains the CANopen type definitions.