fp@409: /****************************************************************************** fp@409: * fp@409: * $Id$ fp@409: * fp@1326: * Copyright (C) 2006-2008 Florian Pose, Ingenieurgemeinschaft IgH fp@409: * fp@409: * This file is part of the IgH EtherCAT Master. fp@409: * fp@1326: * The IgH EtherCAT Master is free software; you can redistribute it and/or fp@1326: * modify it under the terms of the GNU General Public License version 2, as fp@1326: * published by the Free Software Foundation. fp@409: * fp@1326: * The IgH EtherCAT Master is distributed in the hope that it will be useful, fp@1326: * but WITHOUT ANY WARRANTY; without even the implied warranty of fp@1326: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General fp@1326: * Public License for more details. fp@409: * fp@1326: * You should have received a copy of the GNU General Public License along fp@1326: * with the IgH EtherCAT Master; if not, write to the Free Software fp@409: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA fp@409: * fp@1363: * --- fp@1363: * fp@1363: * The license mentioned above concerns the source code only. Using the fp@1363: * EtherCAT technology and brand is only permitted in compliance with the fp@1363: * industrial property and similar rights of Beckhoff Automation GmbH. fp@409: * fp@409: *****************************************************************************/ fp@409: fp@409: /** fp@409: \file fp@1327: CANopen over EtherCAT SDO entry functions. fp@409: */ fp@409: fp@409: /*****************************************************************************/ fp@409: fp@991: #include fp@409: fp@847: #include "sdo_entry.h" fp@847: fp@847: /*****************************************************************************/ fp@847: fp@991: /** Constructor. fp@847: */ fp@991: void ec_sdo_entry_init( fp@1327: ec_sdo_entry_t *entry, /**< SDO entry. */ fp@1327: ec_sdo_t *sdo, /**< Parent SDO. */ fp@991: uint8_t subindex /**< Subindex. */ fp@847: ) fp@409: { fp@430: entry->sdo = sdo; fp@409: entry->subindex = subindex; fp@409: entry->data_type = 0x0000; fp@409: entry->bit_length = 0; fp@1382: entry->read_access[EC_SDO_ENTRY_ACCESS_PREOP] = 0; fp@1382: entry->read_access[EC_SDO_ENTRY_ACCESS_SAFEOP] = 0; fp@1382: entry->read_access[EC_SDO_ENTRY_ACCESS_OP] = 0; fp@1382: entry->write_access[EC_SDO_ENTRY_ACCESS_PREOP] = 0; fp@1382: entry->write_access[EC_SDO_ENTRY_ACCESS_SAFEOP] = 0; fp@1382: entry->write_access[EC_SDO_ENTRY_ACCESS_OP] = 0; fp@409: entry->description = NULL; fp@409: } fp@409: fp@409: /*****************************************************************************/ fp@409: fp@991: /** Destructor. fp@847: */ fp@991: void ec_sdo_entry_clear( fp@1327: ec_sdo_entry_t *entry /**< SDO entry. */ fp@847: ) fp@448: { fp@991: fp@991: if (entry->description) fp@991: kfree(entry->description); fp@448: } fp@448: fp@448: /*****************************************************************************/