etisserant@400: /* etisserant@400: Copyright (C): Giuseppe Massimo BERTANI etisserant@400: gmbertani@users.sourceforge.net etisserant@400: etisserant@400: etisserant@400: See COPYING file for copyrights details. etisserant@400: etisserant@400: This library is free software; you can redistribute it and/or etisserant@400: modify it under the terms of the GNU Lesser General Public etisserant@400: License as published by the Free Software Foundation; either etisserant@400: version 2.1 of the License, or (at your option) any later version. etisserant@400: etisserant@400: This library is distributed in the hope that it will be useful, etisserant@400: but WITHOUT ANY WARRANTY; without even the implied warranty of etisserant@400: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU etisserant@400: Lesser General Public License for more details. etisserant@400: etisserant@400: You should have received a copy of the GNU Lesser General Public etisserant@400: License along with this library; if not, write to the Free Software etisserant@400: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA etisserant@400: */ etisserant@400: etisserant@400: /** etisserant@400: * @file slave.h etisserant@400: * @author GMB etisserant@400: * @date 17/1/08 etisserant@400: * etisserant@400: * This file is part of SillySlave demo for CANfestival etisserant@400: * open source CANopen stack. etisserant@400: */ etisserant@400: etisserant@400: etisserant@400: etisserant@400: #include "data.h" etisserant@400: etisserant@400: INTEGER8 InitCANdevice( UNS8 bus, UNS32 baudrate, UNS8 node ); etisserant@400: etisserant@400: void SillySlave_heartbeatError(CO_Data* d, UNS8); etisserant@400: etisserant@400: UNS8 SillySlave_canSend(Message *); etisserant@400: etisserant@400: void SillySlave_initialisation(CO_Data* d); etisserant@400: void SillySlave_preOperational(CO_Data* d); etisserant@400: void SillySlave_operational(CO_Data* d); etisserant@400: void SillySlave_stopped(CO_Data* d); etisserant@400: etisserant@400: void SillySlave_post_sync(CO_Data* d); etisserant@400: void SillySlave_post_TPDO(CO_Data* d); etisserant@400: void SillySlave_storeODSubIndex(CO_Data* d, UNS16 wIndex, UNS8 bSubindex); etisserant@400: void SillySlave_post_emcy(CO_Data* d, UNS8 nodeID, UNS16 errCode, UNS8 errReg); etisserant@400: