etisserant@0: /* etisserant@506: This file is part of CanFestival, a library implementing CanOpen Stack. etisserant@0: etisserant@0: Copyright (C): Edouard TISSERANT and Francis DUPIN etisserant@0: etisserant@0: See COPYING file for copyrights details. etisserant@0: etisserant@0: This library is free software; you can redistribute it and/or etisserant@0: modify it under the terms of the GNU Lesser General Public etisserant@0: License as published by the Free Software Foundation; either etisserant@0: version 2.1 of the License, or (at your option) any later version. etisserant@0: etisserant@0: This library is distributed in the hope that it will be useful, etisserant@0: but WITHOUT ANY WARRANTY; without even the implied warranty of etisserant@0: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU etisserant@0: Lesser General Public License for more details. etisserant@0: etisserant@0: You should have received a copy of the GNU Lesser General Public etisserant@0: License along with this library; if not, write to the Free Software etisserant@0: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA etisserant@0: */ etisserant@0: greg@528: /** @defgroup comobj Communication Objects greg@528: * @ingroup userapi greg@528: */ greg@528: greg@528: /** @defgroup sdo Service Data Object (SDO) greg@528: * SDOs provide the access to entries in the CANopen Object Dictionary. greg@528: * An SDO is made up of at least two CAN messages with different identifiers. greg@528: * SDO s are always confirmed point-to-point communications services. greg@528: * @ingroup comobj greg@528: */ greg@528: etisserant@0: #ifndef __sdo_h__ etisserant@0: #define __sdo_h__ etisserant@0: etisserant@0: struct struct_s_transfer; etisserant@0: etisserant@0: #include "timer.h" etisserant@0: etisserant@32: typedef void (*SDOCallback_t)(CO_Data* d, UNS8 nodeId); etisserant@32: etisserant@0: /* The Transfer structure etisserant@506: Used to store the different segments of etisserant@506: - a SDO received before writing in the dictionary etisserant@506: - the reading of the dictionary to put on a SDO to transmit etisserant@0: */ etisserant@0: etisserant@0: struct struct_s_transfer { greg@528: UNS8 nodeId; /**