This file is part of the CANopen library; it contains the implementation of the emergency (EMCY) object functions.
More...
|
static int | co_emcy_node_recv (const struct can_msg *msg, void *data) |
| The CAN receive callback function for a remote CANopen EMCY producer node. More...
|
|
static int | co_emcy_set_1003 (co_emcy_t *emcy) |
| Sets the value of CANopen object 1003 (Pre-defined error field). More...
|
|
static co_unsigned32_t | co_1003_dn_ind (co_sub_t *sub, struct co_sdo_req *req, void *data) |
| The download indication function for (all sub-objects of) CANopen object 1003 (Pre-defined error field). More...
|
|
static co_unsigned32_t | co_1014_dn_ind (co_sub_t *sub, struct co_sdo_req *req, void *data) |
| The download indication function for (all sub-objects of) CANopen object 1014 (COB-ID emergency message). More...
|
|
static void | co_emcy_set_1028 (co_emcy_t *emcy, co_unsigned8_t id, co_unsigned32_t cobid) |
| Sets the value of CANopen object 1028 (Emergency consumer object). More...
|
|
static co_unsigned32_t | co_1028_dn_ind (co_sub_t *sub, struct co_sdo_req *req, void *data) |
| The download indication function for (all sub-objects of) CANopen object 1028 (Emergency consumer object). More...
|
|
static int | co_emcy_timer (const struct timespec *tp, void *data) |
| The CAN timer callback function for an EMCY service. More...
|
|
static int | co_emcy_send (co_emcy_t *emcy, co_unsigned16_t eec, co_unsigned8_t er, const co_unsigned8_t msef[5]) |
| Adds an EMCY message to the CAN frame buffer and sends it if possible. More...
|
|
static void | co_emcy_flush (co_emcy_t *emcy) |
| Sends any messages in the CAN frame buffer unless the inhibit time has not yet elapsed, in which case it sets the CAN timer.
|
|
co_emcy_t * | co_emcy_create (can_net_t *net, co_dev_t *dev) |
| Creates a new CANopen EMCY producer/consumer service. More...
|
|
void | co_emcy_destroy (co_emcy_t *emcy) |
| Destroys a CANopen EMCY producer/consumer service. More...
|
|
int | co_emcy_start (co_emcy_t *emcy) |
| Starts an EMCY service. More...
|
|
void | co_emcy_stop (co_emcy_t *emcy) |
| Stops an EMCY service. More...
|
|
int | co_emcy_is_stopped (const co_emcy_t *emcy) |
| Retuns 1 if the specified EMCY service is stopped, and 0 if not. More...
|
|
can_net_t * | co_emcy_get_net (const co_emcy_t *emcy) |
| Returns a pointer to the CAN network of an EMCY producer/consumer service.
|
|
co_dev_t * | co_emcy_get_dev (const co_emcy_t *emcy) |
| Returns a pointer to the CANopen device of an EMCY producer/consumer service.
|
|
int | co_emcy_push (co_emcy_t *emcy, co_unsigned16_t eec, co_unsigned8_t er, const co_unsigned8_t msef[5]) |
| Pushes a CANopen EMCY message to the stack and broadcasts it if the EMCY producer service is active. More...
|
|
int | co_emcy_pop (co_emcy_t *emcy, co_unsigned16_t *peec, co_unsigned8_t *per) |
| Pops the most recent CANopen EMCY message from the stack and broadcasts an 'error reset' message if the EMCY producer service is active. More...
|
|
void | co_emcy_peek (const co_emcy_t *emcy, co_unsigned16_t *peec, co_unsigned8_t *per) |
| Retrieves, but does not pop, the most recent CANopen EMCY message from the stack. More...
|
|
int | co_emcy_remove (co_emcy_t *emcy, size_t n) |
| Pops a CANopen EMCY message from the stack, even if it is not the most recent message, and broadcasts an 'error reset' message if the EMCY producer service is active. More...
|
|
ssize_t | co_emcy_find (const co_emcy_t *emcy, co_unsigned16_t eec) |
| Finds a CANopen EMCY message in the stack. More...
|
|
int | co_emcy_clear (co_emcy_t *emcy) |
| Clears the CANopen EMCY message stack and broadcasts the 'error reset/no error' message if the EMCY producer service is active. More...
|
|
void | co_emcy_get_ind (const co_emcy_t *emcy, co_emcy_ind_t **pind, void **pdata) |
| Retrieves the indication function invoked when a CANopen EMCY message is received. More...
|
|
void | co_emcy_set_ind (co_emcy_t *emcy, co_emcy_ind_t *ind, void *data) |
| Sets the indication function invoked when a CANopen EMCY message is received. More...
|
|
This file is part of the CANopen library; it contains the implementation of the emergency (EMCY) object functions.
- See also
- lely/co/emcy.h
- Copyright
- 2017-2024 Lely Industries N.V.
- Author
- J. S. Seldenthuis jseld.nosp@m.enth.nosp@m.uis@l.nosp@m.ely..nosp@m.com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file emcy.c.