etisserant@0: /* etisserant@0: This file is part of CanFestival, a library implementing CanOpen Stack. etisserant@0: etisserant@0: Author: CANopen Canada (canfestival@canopencanada.ca) 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: nvram.c etisserant@0: etisserant@0: save the content of the dictionnary into non-volatile memory etisserant@0: the order of storage must be the same as the order of retrieving etisserant@0: etisserant@0: note (1) etisserant@0: may need to store/retrieve specific data from non-volatile etisserant@0: in that case, we need to address where it is stored etisserant@0: without storing the address in a vector etisserant@0: - solution 1 : walk throught the list without action until the etisserant@0: sought object is found. etisserant@0: etisserant@0: */ etisserant@0: etisserant@0: #include etisserant@0: #include etisserant@0: #include etisserant@0: #include etisserant@0: #include "can_driver.h" etisserant@0: etisserant@0: etisserant@0: int canSaveData(indextable *dict, int max_index) etisserant@0: { etisserant@0: int i, j; etisserant@0: etisserant@0: if (nvram_open() < 0) etisserant@0: return -1; etisserant@0: etisserant@0: subindex *pSubindex; etisserant@0: etisserant@0: for(i=0; i