etisserant@0: /* etisserant@0: 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: etisserant@0: #ifndef __can_h__ etisserant@0: #define __can_h__ etisserant@0: /** Used for the Can message structure */ etisserant@0: /* etisserant@0: union SHORT_CAN { etisserant@0: struct { UNS8 b0,b1; } b; etisserant@0: UNS32 w; etisserant@0: }; etisserant@0: */ etisserant@0: etisserant@0: typedef struct { etisserant@0: UNS32 w; // 32 bits etisserant@0: } SHORT_CAN; etisserant@0: etisserant@0: etisserant@0: /** Can message structure */ etisserant@0: typedef struct { etisserant@0: SHORT_CAN cob_id; // l'ID du mesg etisserant@0: UNS8 rtr; // remote transmission request. 0 if not rtr, etisserant@0: // 1 for a rtr message etisserant@0: UNS8 len; // message length (0 to 8) etisserant@0: UNS8 data[8]; // data etisserant@0: } Message; etisserant@0: etisserant@0: etisserant@0: typedef UNS8 (*canSend_t)(Message *); etisserant@0: etisserant@0: #endif // __can_h__