|
static int | co_ssdo_update (co_ssdo_t *sdo) |
| Updates and (de)activates a Server-SDO service. More...
|
|
static co_unsigned32_t | co_1200_dn_ind (co_sub_t *sub, struct co_sdo_req *req, void *data) |
| The download indication function for (all sub-objects of) CANopen objects 1200..127F (SDO server parameter). More...
|
|
static int | co_ssdo_recv (const struct can_msg *msg, void *data) |
| The CAN receive callback function for a Server-SDO service. More...
|
|
static int | co_ssdo_timer (const struct timespec *tp, void *data) |
| The CAN timer callback function for a Server-SDO service. More...
|
|
static void | co_ssdo_enter (co_ssdo_t *sdo, co_ssdo_state_t *next) |
| Enters the specified state of a Server-SDO service.
|
|
static void | co_ssdo_emit_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| Invokes the 'abort' transition function of the current state of a Server-SDO service. More...
|
|
static void | co_ssdo_emit_time (co_ssdo_t *sdo, const struct timespec *tp) |
| Invokes the 'timeout' transition function of the current state of a Server-SDO service. More...
|
|
static void | co_ssdo_emit_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| Invokes the 'CAN frame received' transition function of the current state of a Server-SDO service. More...
|
|
static co_ssdo_state_t * | co_ssdo_wait_on_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| The 'abort' transition function of the 'waiting' state.
|
|
static co_ssdo_state_t * | co_ssdo_wait_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'waiting' state.
|
|
static co_ssdo_state_t * | co_ssdo_dn_ini_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'download initiate' state.
|
|
static co_ssdo_state_t * | co_ssdo_dn_seg_on_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| The 'download initiate' state. More...
|
|
static co_ssdo_state_t * | co_ssdo_dn_seg_on_time (co_ssdo_t *sdo, const struct timespec *tp) |
| The 'timeout' transition function of the 'download segment' state.
|
|
static co_ssdo_state_t * | co_ssdo_dn_seg_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'download segment' state.
|
|
static co_ssdo_state_t * | co_ssdo_up_ini_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'upload initiate' state.
|
|
static co_ssdo_state_t * | co_ssdo_up_seg_on_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| The 'upload initiate' state. More...
|
|
static co_ssdo_state_t * | co_ssdo_up_seg_on_time (co_ssdo_t *sdo, const struct timespec *tp) |
| The 'timeout' transition function of the 'upload segment' state.
|
|
static co_ssdo_state_t * | co_ssdo_up_seg_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'upload segment' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_dn_ini_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'block download initiate' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_dn_sub_on_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| The 'block download initiate' state. More...
|
|
static co_ssdo_state_t * | co_ssdo_blk_dn_sub_on_time (co_ssdo_t *sdo, const struct timespec *tp) |
| The 'timeout' transition function of the 'block download sub-block' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_dn_sub_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'block download sub-block' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_dn_end_on_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| The 'abort' transition function of the 'block download end' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_dn_end_on_time (co_ssdo_t *sdo, const struct timespec *tp) |
| The 'timeout' transition function of the 'block download end' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_dn_end_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'block download end' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_up_ini_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'block upload initiate' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_up_sub_on_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| The 'block upload initiate' state. More...
|
|
static co_ssdo_state_t * | co_ssdo_blk_up_sub_on_time (co_ssdo_t *sdo, const struct timespec *tp) |
| The 'timeout' transition function of the 'block upload sub-block' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_up_sub_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'block upload sub-block' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_up_end_on_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| The 'abort' transition function of the 'block upload end' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_up_end_on_time (co_ssdo_t *sdo, const struct timespec *tp) |
| The 'timeout' transition function of the 'block upload end' state.
|
|
static co_ssdo_state_t * | co_ssdo_blk_up_end_on_recv (co_ssdo_t *sdo, const struct can_msg *msg) |
| The 'CAN frame received' transition function of the 'block upload end' state.
|
|
static co_ssdo_state_t * | co_ssdo_abort_ind (co_ssdo_t *sdo) |
| Processes an abort transfer indication by aborting any ongoing transfer of a Server-SDO and returning it to the waiting state. More...
|
|
static co_ssdo_state_t * | co_ssdo_abort_res (co_ssdo_t *sdo, co_unsigned32_t ac) |
| Sends an abort transfer request and aborts any ongoing transfer by invoking co_ssdo_abort_ind(). More...
|
|
static co_unsigned32_t | co_ssdo_dn_ind (co_ssdo_t *sdo) |
| Processes a download indication of a Server-SDO by checking access to the requested sub-object and reading the data from the frame. More...
|
|
static co_unsigned32_t | co_ssdo_up_ind (co_ssdo_t *sdo) |
| Processes an upload indication of a Server-SDO by checking access to the requested sub-object and writing the data to the internal buffer. More...
|
|
static co_unsigned32_t | co_ssdo_up_buf (co_ssdo_t *sdo, size_t nbyte) |
| Copies at most nbyte bytes from a CANopen SDO upload request, obtaining more bytes with co_ssdo_up_ind() as necessary. More...
|
|
static void | co_ssdo_send_abort (co_ssdo_t *sdo, co_unsigned32_t ac) |
| Sends an abort transfer request. More...
|
|
static void | co_ssdo_send_dn_ini_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'download initiate' response.
|
|
static void | co_ssdo_send_dn_seg_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'download segment' response.
|
|
static void | co_ssdo_send_up_exp_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'upload initiate' (expedited) response.
|
|
static void | co_ssdo_send_up_ini_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'upload initiate' response.
|
|
static void | co_ssdo_send_up_seg_res (co_ssdo_t *sdo, int last) |
| Sends a Server-SDO 'upload segment' response. More...
|
|
static void | co_ssdo_send_blk_dn_ini_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'block download initiate' response.
|
|
static void | co_ssdo_send_blk_dn_sub_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'block upload sub-block' response.
|
|
static void | co_ssdo_send_blk_dn_end_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'block download end' response.
|
|
static void | co_ssdo_send_blk_up_ini_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'block upload initiate' response.
|
|
static void | co_ssdo_send_blk_up_sub_res (co_ssdo_t *sdo, int last) |
| Sends a Server-SDO 'block upload sub-block' response. More...
|
|
static void | co_ssdo_send_blk_up_end_res (co_ssdo_t *sdo) |
| Sends a Server-SDO 'block upload end' response.
|
|
static void | co_ssdo_init_ini_res (co_ssdo_t *sdo, struct can_msg *msg, co_unsigned8_t cs) |
| Initializes a Server-SDO download/upload initiate response CAN frame. More...
|
|
static void | co_ssdo_init_seg_res (co_ssdo_t *sdo, struct can_msg *msg, co_unsigned8_t cs) |
| Initializes a Server-SDO download/upload segment response CAN frame. More...
|
|
co_ssdo_t * | co_ssdo_create (can_net_t *net, co_dev_t *dev, co_unsigned8_t num) |
| Creates a new CANopen Server-SDO service. More...
|
|
void | co_ssdo_destroy (co_ssdo_t *ssdo) |
| Destroys a CANopen Server-SDO service. More...
|
|
int | co_ssdo_start (co_ssdo_t *sdo) |
| Starts a Server-SDO service. More...
|
|
void | co_ssdo_stop (co_ssdo_t *sdo) |
| Stops a Server-SDO service. More...
|
|
int | co_ssdo_is_stopped (const co_ssdo_t *sdo) |
| Retuns 1 if the specified Server-SDO service is stopped, and 0 if not. More...
|
|
can_net_t * | co_ssdo_get_net (const co_ssdo_t *sdo) |
| Returns a pointer to the CAN network of a Server-SDO.
|
|
co_dev_t * | co_ssdo_get_dev (const co_ssdo_t *sdo) |
| Returns a pointer to the CANopen device of a Server-SDO.
|
|
co_unsigned8_t | co_ssdo_get_num (const co_ssdo_t *sdo) |
| Returns the SDO number of a Server-SDO.
|
|
const struct co_sdo_par * | co_ssdo_get_par (const co_ssdo_t *sdo) |
| Returns a pointer to the SDO parameter record of a Server-SDO.
|
|
int | co_ssdo_get_timeout (const co_ssdo_t *sdo) |
| Returns the timeout (in milliseconds) of a Server-SDO. More...
|
|
void | co_ssdo_set_timeout (co_ssdo_t *sdo, int timeout) |
| Sets the timeout of a Server-SDO. More...
|
|
This file is part of the CANopen library; it contains the implementation of the Server-SDO functions.
- See also
- lely/co/ssdo.h, src/sdo.h
- Copyright
- 2016-2022 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 ssdo.c.