# HG changeset patch # User nico # Date 1181061801 -7200 # Node ID 6b5a4c21e061b72fabff8a650483aa48f02205d7 # Parent 2cb34a4ac65ad2f2cd4c853c797bb157c71418f5 Manual and Documentation finish diff -r 2cb34a4ac65a -r 6b5a4c21e061 Makefile.in --- a/Makefile.in Tue Jun 05 17:34:33 2007 +0200 +++ b/Makefile.in Tue Jun 05 18:43:21 2007 +0200 @@ -26,16 +26,11 @@ examples: canfestival driver $(MAKE) -C examples all -documentation: - echo Doxygen generation!! - doxygen doc/doxygen/Doxyfile +documentation: + $(MAKE) -C doc/doxygen manual: - cd doc/manual/en && \ - pdflatex manual.tex && \ - pdflatex manual.tex && \ - rm manual.aux manual.log manual.out manual.toc && \ - xpdf manual.pdf + $(MAKE) -C doc/manual objdictgen: $(MAKE) -C objdictgen all diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/code_debug.txt --- a/doc/code_debug.txt Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ - -# Debug and warning codes -------------------------- - -Errors are managed by the macro -MSG_ERR(nbr, string, value) - -Warnings and Informations are managed by the macro -MSG_WAR(nbr, string, value) - - - -The format of nbr -++++++++++++++++++++ -16 bits, writen in hexadecimal: 0xtfxx - -t : 1 -> Error - 2 -> Warning - 3 -> Information - -f : 0 -> In file sync.c - 1 -> lifegrd.c - 2 -> objacces.c - 3 -> timer.c - 4 -> nmtSlave.c - 5 -> nmtMaster.c - 6 -> canOpenDriver.c, interrupt.c, variahw.c (errors nb 20 .. 30) - 7 -> initObjdict.c - 8 -> Maps_module_utilisé.cpp - 9 -> pdo.c - A -> sdo.c - B -> objacces.c - D -> user's application - E -> user's application - F -> user's application - -xx : a number - - -The format of string -++++++++++++++++++++ -A string, ended by a space, whithout a newline - -The format of value -++++++++++++++++++++ -Unsigned 32 bits or less - - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/Doxyfile --- a/doc/doxygen/Doxyfile Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/Doxyfile Tue Jun 05 18:43:21 2007 +0200 @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- PROJECT_NAME = CanFestival PROJECT_NUMBER = 3 -OUTPUT_DIRECTORY = ./doc/doxygen +OUTPUT_DIRECTORY = ./ CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English USE_WINDOWS_ENCODING = NO @@ -72,7 +72,7 @@ #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ./src +INPUT = ./../../src FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.C *.CC *.C++ *.II *.I++ *.H *.HH *.H++ *.CS *.PHP *.PHP3 *.M *.MM *.PY RECURSIVE = YES EXCLUDE = @@ -125,7 +125,7 @@ #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -GENERATE_LATEX = YES +GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/Makefile Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,29 @@ +#! gmake + +# +# Copyright (C) 2006 Nicolas GRANDEMANGE +# +# This file is part of canfestival, a library implementing the canopen +# stack +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +documentation: + echo "Doxygen generation!!" + rm -rf html + doxygen Doxyfile + firefox html/index.html& + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/DS301__index_8py-source.html --- a/doc/doxygen/html/DS301__index_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/doc_index/DS301_index.py Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/objdictgen/doc_index/DS301_index.py

Go to the documentation of this file.
00001 #!/usr/bin/env python
-00002 # -*- coding: utf-8 -*-
-00003 
-00004 import os
-00005 
-00006 DS301_PDF_INDEX = {0x1000: 86, 0x1001: 87, 0x1002: 87, 0x1003: 88, 0x1005: 89, 0x1006: 90, 0x1007: 90, 0x1008: 91, 0x1009: 91, 0x100A: 91, 0x100C: 92, 0x100D: 92, 0x1010: 92, 0x1011: 94, 0x1012: 97, 0x1013: 98, 0x1014: 98, 0x1015: 99, 0x1016: 100, 0x1017: 101, 0x1018: 101, 0x1020: 117, 0x1200: 103, 0x1201: 103, 0x1280: 105, 0x1400: 106, 0x1600: 109, 0x1800: 111, 0x1A00: 112}
-00007 
-00008 def OpenPDFDocIndex(index, cwd):
-00009     if not os.path.isfile(os.path.join(cwd, "doc/301_v04000201.pdf")):
-00010         return """No documentation file available.
-00011 Please read can festival documentation to know how to obtain one."""
-00012     try:
-00013         if index in DS301_PDF_INDEX:
-00014             os.system("xpdf -remote DS301 %s %d &"%(os.path.join(cwd, "doc/301_v04000201.pdf"), DS301_PDF_INDEX[index]))
-00015         else:
-00016             os.system("xpdf -remote DS301 %s &"%os.path.join(cwd, "doc/301_v04000201.pdf"))
-00017         return True
-00018     except:
-00019         return """Check if xpdf is correctly installed on your computer"""
-00020         
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/DS301__index_8py.html --- a/doc/doxygen/html/DS301__index_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/doc_index/DS301_index.py File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/objdictgen/doc_index/DS301_index.py File Reference

-

-Go to the source code of this file. - - - - - - - -

Namespaces

namespace  doc_index::DS301_index

Functions

def doc_index::DS301_index::OpenPDFDocIndex
-


Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/Master_8c.html --- a/doc/doxygen/html/Master_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,301 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/Master.c File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/Master.c File Reference

#include "Master.h"
-#include "Slave.h"
-#include "TestMasterSlave.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

void TestMaster_heartbeatError (UNS8 heartbeatID)
void TestMaster_initialisation ()
static void ConfigureSlaveNode (CO_Data *d, UNS8 nodeId)
static void CheckSDOAndContinue (CO_Data *d, UNS8 nodeId)
void TestMaster_preOperational ()
void TestMaster_operational ()
void TestMaster_stopped ()
void TestMaster_post_sync ()
void TestMaster_post_TPDO ()

Variables

static init_step = 0
char query_result = 0
char waiting_answer = 0
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
static void CheckSDOAndContinue (CO_Data d,
UNS8  nodeId 
) [static]
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
static void ConfigureSlaveNode (CO_Data d,
UNS8  nodeId 
) [static]
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_heartbeatError (UNS8  heartbeatID  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_initialisation (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_operational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_post_sync (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_post_TPDO (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_preOperational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_stopped (void   ) 
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
init_step = 0 [static]
-
-
- -

- -

-

- -

-
- - - - -
char query_result = 0
-
-
- -

- -

-

- -

-
- - - - -
char waiting_answer = 0
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/Master_8h.html --- a/doc/doxygen/html/Master_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/Master.h File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/Master.h File Reference

#include "TestMaster.h"
- - - - - - - - - - - - - - - - - - - -

Functions

void TestMaster_heartbeatError (UNS8)
UNS8 TestMaster_canSend (Message *)
void TestMaster_initialisation (void)
void TestMaster_preOperational (void)
void TestMaster_operational (void)
void TestMaster_stopped (void)
void TestMaster_post_sync (void)
void TestMaster_post_TPDO (void)
-

Function Documentation

- -
-
- - - - - - - - - -
UNS8 TestMaster_canSend (Message  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_heartbeatError (UNS8   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_initialisation (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_operational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_post_sync (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_post_TPDO (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_preOperational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_stopped (void   ) 
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/Slave_8c.html --- a/doc/doxygen/html/Slave_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,217 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/Slave.c File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/Slave.c File Reference

#include "Slave.h"
-#include "Master.h"
-#include "TestMasterSlave.h"
- - - - - - - - - - - - - - - - - - - -

Functions

void TestSlave_heartbeatError (UNS8 heartbeatID)
void TestSlave_initialisation ()
void TestSlave_preOperational ()
void TestSlave_operational ()
void TestSlave_stopped ()
void TestSlave_post_sync ()
void TestSlave_post_TPDO ()
void TestSlave_storeODSubIndex (UNS16 wIndex, UNS8 bSubindex)
-

Function Documentation

- -
-
- - - - - - - - - -
void TestSlave_heartbeatError (UNS8  heartbeatID  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_initialisation (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_operational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_post_sync (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_post_TPDO (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_preOperational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_stopped (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
void TestSlave_storeODSubIndex (UNS16  wIndex,
UNS8  bSubindex 
)
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/Slave_8h.html --- a/doc/doxygen/html/Slave_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,237 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/Slave.h File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/Slave.h File Reference

#include "TestSlave.h"
- - - - - - - - - - - - - - - - - - - - - -

Functions

void TestSlave_heartbeatError (UNS8)
UNS8 TestSlave_canSend (Message *)
void TestSlave_initialisation (void)
void TestSlave_preOperational (void)
void TestSlave_operational (void)
void TestSlave_stopped (void)
void TestSlave_post_sync (void)
void TestSlave_post_TPDO (void)
void TestSlave_storeODSubIndex (UNS16 wIndex, UNS8 bSubindex)
-

Function Documentation

- -
-
- - - - - - - - - -
UNS8 TestSlave_canSend (Message  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_heartbeatError (UNS8   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_initialisation (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_operational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_post_sync (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_post_TPDO (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_preOperational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestSlave_stopped (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
void TestSlave_storeODSubIndex (UNS16  wIndex,
UNS8  bSubindex 
)
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterMicroMod_2TestMaster_8c.html --- a/doc/doxygen/html/TestMasterMicroMod_2TestMaster_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1497 +0,0 @@ - - -CanFestival: examples/TestMasterMicroMod/TestMaster.c File Reference - - - - -
-
-
-
-

examples/TestMasterMicroMod/TestMaster.c File Reference

#include "TestMaster.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

UNS32 TestMaster_valueRangeTest (UNS8 typeValue, void *value)
const indextableTestMaster_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)

Variables

UNS8 DO = 0x0
UNS8 DI1 = 0x0
UNS8 DI2 = 0x0
UNS8 DI3 = 0x0
UNS8 DI4 = 0x0
UNS8 DI5 = 0x0
UNS8 DI6 = 0x0
UNS8 DI7 = 0x0
UNS8 DI8 = 0x0
UNS8 TestMaster_bDeviceNodeId = 0x01
const UNS8 TestMaster_iam_a_slave = 0
TIMER_HANDLE TestMaster_heartBeatTimers [1] = {TIMER_NONE,}
UNS32 TestMaster_obj1000 = 0x191
subindex TestMaster_Index1000 []
UNS8 TestMaster_obj1001 = 0x0
subindex TestMaster_Index1001 []
UNS32 TestMaster_obj1005 = 0x40000080
ODCallback_t TestMaster_Index1005_callbacks []
subindex TestMaster_Index1005 []
UNS32 TestMaster_obj1006 = 0xC350
ODCallback_t TestMaster_Index1006_callbacks []
subindex TestMaster_Index1006 []
UNS8 TestMaster_highestSubIndex_obj1016 = 1
UNS32 TestMaster_obj1016 []
subindex TestMaster_Index1016 []
UNS16 TestMaster_obj1017 = 0x0
UNS8 TestMaster_highestSubIndex_obj1018 = 4
UNS32 TestMaster_obj1018_Vendor_ID = 0x0
UNS32 TestMaster_obj1018_Product_Code = 0x0
UNS32 TestMaster_obj1018_Revision_Number = 0x0
UNS32 TestMaster_obj1018_Serial_Number = 0x0
subindex TestMaster_Index1018 []
UNS8 TestMaster_highestSubIndex_obj1280 = 3
UNS32 TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x640
UNS32 TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x5C0
INTEGER32 TestMaster_obj1280_Node_ID_of_the_SDO_Server = 0x40
subindex TestMaster_Index1280 []
UNS8 TestMaster_highestSubIndex_obj1400 = 5
UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x220
UNS8 TestMaster_obj1400_Transmission_Type = 0x1
UNS16 TestMaster_obj1400_Inhibit_Time = 0x0
UNS8 TestMaster_obj1400_Compatibility_Entry = 0x0
UNS16 TestMaster_obj1400_Event_Timer = 0x0
subindex TestMaster_Index1400 []
UNS8 TestMaster_highestSubIndex_obj1600 = 8
UNS32 TestMaster_obj1600 []
subindex TestMaster_Index1600 []
UNS8 TestMaster_highestSubIndex_obj1800 = 5
UNS32 TestMaster_obj1800_COB_ID_used_by_PDO = 0x240
UNS8 TestMaster_obj1800_Transmission_Type = 0x1
UNS16 TestMaster_obj1800_Inhibit_Time = 0x0
UNS8 TestMaster_obj1800_Compatibility_Entry = 0x0
UNS16 TestMaster_obj1800_Event_Timer = 0x0
subindex TestMaster_Index1800 []
UNS8 TestMaster_highestSubIndex_obj1A00 = 1
UNS32 TestMaster_obj1A00 []
subindex TestMaster_Index1A00 []
subindex TestMaster_Index2000 []
subindex TestMaster_Index200F []
subindex TestMaster_Index2010 []
subindex TestMaster_Index2011 []
subindex TestMaster_Index2012 []
subindex TestMaster_Index2013 []
subindex TestMaster_Index2014 []
subindex TestMaster_Index2015 []
subindex TestMaster_Index2016 []
const indextable TestMaster_objdict []
UNS8 TestMaster_count_sync [1] = {0,}
quick_index TestMaster_firstIndex
quick_index TestMaster_lastIndex
UNS16 TestMaster_ObjdictSize = sizeof(TestMaster_objdict)/sizeof(TestMaster_objdict[0])
CO_Data TestMaster_Data = CANOPEN_NODE_DATA_INITIALIZER(TestMaster)
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
const indextable* TestMaster_scanIndexOD (UNS16  wIndex,
UNS32 *  errorCode,
ODCallback_t **  callbacks 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS32 TestMaster_valueRangeTest (UNS8  typeValue,
void *  value 
)
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
UNS8 DI1 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI2 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI3 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI4 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI5 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI6 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI7 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI8 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DO = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_bDeviceNodeId = 0x01
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_count_sync[1] = {0,}
-
-
- -

- -

-

- -

-
- - - - -
CO_Data TestMaster_Data = CANOPEN_NODE_DATA_INITIALIZER(TestMaster)
-
-
- -

- -

-

- -

-
- - - - -
quick_index TestMaster_firstIndex
-
-
- -

-Initial value:

 {
-  0, 
-  6, 
-  7, 
-  8, 
-  9, 
-  10 
-}
-
-
-

- -

-
- - - - -
TIMER_HANDLE TestMaster_heartBeatTimers[1] = {TIMER_NONE,}
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1016 = 1
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1018 = 4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1280 = 3
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1400 = 5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1600 = 8
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1800 = 5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1A00 = 1
-
-
- -

- -

-

- -

-
- - - - -
const UNS8 TestMaster_iam_a_slave = 0
-
-
- -

- -

-

- -

-
- - - - -
subindex TestMaster_Index1000[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1000 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1001[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_obj1001 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1005[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1005 }
-                     }
-
-
-

- -

-
- - - - -
ODCallback_t TestMaster_Index1005_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1006[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1006 }
-                     }
-
-
-

- -

-
- - - - -
ODCallback_t TestMaster_Index1006_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1016[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1016 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1016[0] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1018[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1018 },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Vendor_ID },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Product_Code },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Revision_Number },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Serial_Number }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1280[]
-
-
- -

-Initial value:

-
-

- -

-
- - - - -
subindex TestMaster_Index1400[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1400 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1400_COB_ID_used_by_PDO },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1400_Transmission_Type },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Inhibit_Time },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1400_Compatibility_Entry },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Event_Timer }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1600[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1600 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[0] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[1] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[2] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[3] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[4] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[5] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[6] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[7] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1800[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1800 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1800_COB_ID_used_by_PDO },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1800_Transmission_Type },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1800_Inhibit_Time },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1800_Compatibility_Entry },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1800_Event_Timer }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1A00[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1A00 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1A00[0] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2000[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&DO }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index200F[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&DI1 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2010[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&DI2 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2011[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&DI3 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2012[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&DI4 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2013[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&DI5 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2014[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&DI6 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2015[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&DI7 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2016[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&DI8 }
-                     }
-
-
-

- -

-
- - - - -
quick_index TestMaster_lastIndex
-
-
- -

-Initial value:

 {
-  0, 
-  6, 
-  7, 
-  8, 
-  9, 
-  10 
-}
-
-
-

- -

-
- - - - -
UNS32 TestMaster_obj1000 = 0x191
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1001 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1005 = 0x40000080
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1006 = 0xC350
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1016[]
-
-
- -

-Initial value:

 
-                    {
-                      0x4005DC  
-                    }
-
-
-

- -

-
- - - - -
UNS16 TestMaster_obj1017 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1018_Product_Code = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1018_Revision_Number = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1018_Serial_Number = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1018_Vendor_ID = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x640
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x5C0
-
-
- -

- -

-

- -

-
- - - - -
INTEGER32 TestMaster_obj1280_Node_ID_of_the_SDO_Server = 0x40
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x220
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1400_Compatibility_Entry = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestMaster_obj1400_Event_Timer = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestMaster_obj1400_Inhibit_Time = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1400_Transmission_Type = 0x1
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1600[]
-
-
- -

-Initial value:

 
-                    {
-                      0x200F0001,       
-                      0x20100001,       
-                      0x20110001,       
-                      0x20120001,       
-                      0x20130001,       
-                      0x20140001,       
-                      0x20150001,       
-                      0x20160001        
-                    }
-
-
-

- -

-
- - - - -
UNS32 TestMaster_obj1800_COB_ID_used_by_PDO = 0x240
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1800_Compatibility_Entry = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestMaster_obj1800_Event_Timer = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestMaster_obj1800_Inhibit_Time = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1800_Transmission_Type = 0x1
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1A00[]
-
-
- -

-Initial value:

 
-                    {
-                      0x20000008        
-                    }
-
-
-

- -

-
- - - - -
const indextable TestMaster_objdict[]
-
-
- -

-Initial value:

 
-{
-  { (subindex*)TestMaster_Index1000,sizeof(TestMaster_Index1000)/sizeof(TestMaster_Index1000[0]), 0x1000},
-  { (subindex*)TestMaster_Index1001,sizeof(TestMaster_Index1001)/sizeof(TestMaster_Index1001[0]), 0x1001},
-  { (subindex*)TestMaster_Index1005,sizeof(TestMaster_Index1005)/sizeof(TestMaster_Index1005[0]), 0x1005},
-  { (subindex*)TestMaster_Index1006,sizeof(TestMaster_Index1006)/sizeof(TestMaster_Index1006[0]), 0x1006},
-  { (subindex*)TestMaster_Index1016,sizeof(TestMaster_Index1016)/sizeof(TestMaster_Index1016[0]), 0x1016},
-  { (subindex*)TestMaster_Index1018,sizeof(TestMaster_Index1018)/sizeof(TestMaster_Index1018[0]), 0x1018},
-  { (subindex*)TestMaster_Index1280,sizeof(TestMaster_Index1280)/sizeof(TestMaster_Index1280[0]), 0x1280},
-  { (subindex*)TestMaster_Index1400,sizeof(TestMaster_Index1400)/sizeof(TestMaster_Index1400[0]), 0x1400},
-  { (subindex*)TestMaster_Index1600,sizeof(TestMaster_Index1600)/sizeof(TestMaster_Index1600[0]), 0x1600},
-  { (subindex*)TestMaster_Index1800,sizeof(TestMaster_Index1800)/sizeof(TestMaster_Index1800[0]), 0x1800},
-  { (subindex*)TestMaster_Index1A00,sizeof(TestMaster_Index1A00)/sizeof(TestMaster_Index1A00[0]), 0x1A00},
-  { (subindex*)TestMaster_Index2000,sizeof(TestMaster_Index2000)/sizeof(TestMaster_Index2000[0]), 0x2000},
-  { (subindex*)TestMaster_Index200F,sizeof(TestMaster_Index200F)/sizeof(TestMaster_Index200F[0]), 0x200F},
-  { (subindex*)TestMaster_Index2010,sizeof(TestMaster_Index2010)/sizeof(TestMaster_Index2010[0]), 0x2010},
-  { (subindex*)TestMaster_Index2011,sizeof(TestMaster_Index2011)/sizeof(TestMaster_Index2011[0]), 0x2011},
-  { (subindex*)TestMaster_Index2012,sizeof(TestMaster_Index2012)/sizeof(TestMaster_Index2012[0]), 0x2012},
-  { (subindex*)TestMaster_Index2013,sizeof(TestMaster_Index2013)/sizeof(TestMaster_Index2013[0]), 0x2013},
-  { (subindex*)TestMaster_Index2014,sizeof(TestMaster_Index2014)/sizeof(TestMaster_Index2014[0]), 0x2014},
-  { (subindex*)TestMaster_Index2015,sizeof(TestMaster_Index2015)/sizeof(TestMaster_Index2015[0]), 0x2015},
-  { (subindex*)TestMaster_Index2016,sizeof(TestMaster_Index2016)/sizeof(TestMaster_Index2016[0]), 0x2016},
-}
-
-
-

- -

-
- - - - -
UNS16 TestMaster_ObjdictSize = sizeof(TestMaster_objdict)/sizeof(TestMaster_objdict[0])
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterMicroMod_2TestMaster_8h.html --- a/doc/doxygen/html/TestMasterMicroMod_2TestMaster_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,270 +0,0 @@ - - -CanFestival: examples/TestMasterMicroMod/TestMaster.h File Reference - - - - -
-
-
-
-

examples/TestMasterMicroMod/TestMaster.h File Reference

#include "data.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

UNS32 TestMaster_valueRangeTest (UNS8 typeValue, void *value)
const indextableTestMaster_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)

Variables

CO_Data TestMaster_Data
UNS8 DO
UNS8 DI1
UNS8 DI2
UNS8 DI3
UNS8 DI4
UNS8 DI5
UNS8 DI6
UNS8 DI7
UNS8 DI8
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
const indextable* TestMaster_scanIndexOD (UNS16  wIndex,
UNS32 *  errorCode,
ODCallback_t **  callbacks 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS32 TestMaster_valueRangeTest (UNS8  typeValue,
void *  value 
)
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
UNS8 DI1
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI2
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI3
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI6
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI7
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DI8
-
-
- -

- -

-

- -

-
- - - - -
UNS8 DO
-
-
- -

- -

-

- -

-
- - - - -
CO_Data TestMaster_Data
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterMicroMod_2getopt_8c.html --- a/doc/doxygen/html/TestMasterMicroMod_2getopt_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,522 +0,0 @@ - - -CanFestival: examples/TestMasterMicroMod/getopt.c File Reference - - - - -
-
-
-
-

examples/TestMasterMicroMod/getopt.c File Reference

#include <stdio.h>
-#include "getopt.h"
-#include <strings.h>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Defines

#define GETOPT_INTERFACE_VERSION   2
#define _(msgid)   (msgid)
#define SWAP_FLAGS(ch1, ch2)
#define NONOPTION_P   (argv[optind][0] != '-' || argv[optind][1] == '\0')

Enumerations

enum  { REQUIRE_ORDER, -PERMUTE, -RETURN_IN_ORDER - }

Functions

char * getenv ()
static char * my_index (char *str, int chr) const
static void exchange (char **argv)
static const char * _getopt_initialize (int argc, char *const *argv, const char *optstring)
int _getopt_internal (int argc, char *const *argv, const char *optstring, const struct option *longopts, int *longind, int long_only)
int getopt (int argc, char *const *argv, const char *optstring)

Variables

char * optarg
int optind = 1
int __getopt_initialized
static char * nextchar
int opterr = 1
int optopt = '?'
static enum { ... }  ordering
static char * posixly_correct
static int first_nonopt
static int last_nonopt
-

Define Documentation

- -
-
- - - - - - - - - -
#define _ (msgid   )    (msgid)
-
-
- -

- -

-

- -

-
- - - - -
#define GETOPT_INTERFACE_VERSION   2
-
-
- -

- -

-

- -

-
- - - - -
#define NONOPTION_P   (argv[optind][0] != '-' || argv[optind][1] == '\0')
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - -
#define SWAP_FLAGS (ch1,
ch2   ) 
-
-
- -

- -

-

-


Enumeration Type Documentation

- -
-
- - - - -
anonymous enum
-
-
- -

-

Enumerator:
- - - - -
REQUIRE_ORDER  -
PERMUTE  -
RETURN_IN_ORDER  -
-
- -
-

-


Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
static const char* _getopt_initialize (int  argc,
char *const *  argv,
const char *  optstring 
) [static]
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int _getopt_internal (int  argc,
char *const *  argv,
const char *  optstring,
const struct option longopts,
int *  longind,
int  long_only 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - -
static void exchange (char **  argv  )  [static]
-
-
- -

- -

-

- -

-
- - - - - - - - -
char* getenv (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
int getopt (int  argc,
char *const *  argv,
const char *  optstring 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
static char* my_index (char *  str,
int  chr 
) const [static]
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
int __getopt_initialized
-
-
- -

- -

-

- -

-
- - - - -
int first_nonopt [static]
-
-
- -

- -

-

- -

-
- - - - -
int last_nonopt [static]
-
-
- -

- -

-

- -

-
- - - - -
char* nextchar [static]
-
-
- -

- -

-

- -

-
- - - - -
char* optarg
-
-
- -

- -

-

- -

-
- - - - -
int opterr = 1
-
-
- -

- -

-

- -

-
- - - - -
int optind = 1
-
-
- -

- -

-

- -

-
- - - - -
int optopt = '?'
-
-
- -

- -

-

- -

-
- - - - -
enum { ... } ordering [static]
-
-
- -

- -

-

- -

-
- - - - -
char* posixly_correct [static]
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterMicroMod_2getopt_8h.html --- a/doc/doxygen/html/TestMasterMicroMod_2getopt_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,257 +0,0 @@ - - -CanFestival: examples/TestMasterMicroMod/getopt.h File Reference - - - - -
-
-
-
-

examples/TestMasterMicroMod/getopt.h File Reference

#include <ctype.h>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Data Structures

struct  option

Defines

#define _GETOPT_H   1
#define no_argument   0
#define required_argument   1
#define optional_argument   2

Functions

int getopt ()
int getopt_long ()
int getopt_long_only ()
int _getopt_internal ()

Variables

char * optarg
int optind
int opterr
int optopt
-

Define Documentation

- -
-
- - - - -
#define _GETOPT_H   1
-
-
- -

- -

-

- -

-
- - - - -
#define no_argument   0
-
-
- -

- -

-

- -

-
- - - - -
#define optional_argument   2
-
-
- -

- -

-

- -

-
- - - - -
#define required_argument   1
-
-
- -

- -

-

-


Function Documentation

- -
-
- - - - - - - - -
int _getopt_internal (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - -
int getopt (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - -
int getopt_long (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - -
int getopt_long_only (  ) 
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
char* optarg
-
-
- -

- -

-

- -

-
- - - - -
int opterr
-
-
- -

- -

-

- -

-
- - - - -
int optind
-
-
- -

- -

-

- -

-
- - - - -
int optopt
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterMicroMod_8c.html --- a/doc/doxygen/html/TestMasterMicroMod_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,411 +0,0 @@ - - -CanFestival: examples/TestMasterMicroMod/TestMasterMicroMod.c File Reference - - - - -
-
-
-
-

examples/TestMasterMicroMod/TestMasterMicroMod.c File Reference

#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <signal.h>
-#include "canfestival.h"
-#include "TestMasterMicroMod.h"
-#include "TestMaster.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

void TestMaster_heartbeatError (UNS8 heartbeatID)
void TestMaster_initialisation ()
static void ConfigureSlaveNode (CO_Data *d, UNS8 nodeId)
static void CheckSDOAndContinue (CO_Data *d, UNS8 nodeId)
void TestMaster_preOperational ()
void TestMaster_operational ()
void TestMaster_stopped ()
void TestMaster_post_sync ()
void TestMaster_post_TPDO ()
void catch_signal (int sig)
void help ()
void InitNodes (CO_Data *d, UNS32 id)
int main (int argc, char **argv)

Variables

UNS8 slavenodeid
static init_step = 0
s_BOARD MasterBoard = {"32", "125K"}
-

Function Documentation

- -
-
- - - - - - - - - -
void catch_signal (int  sig  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
static void CheckSDOAndContinue (CO_Data d,
UNS8  nodeId 
) [static]
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
static void ConfigureSlaveNode (CO_Data d,
UNS8  nodeId 
) [static]
-
-
- -

- -

-

- -

-
- - - - - - - - -
void help (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
void InitNodes (CO_Data d,
UNS32  id 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
int main (int  argc,
char **  argv 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_heartbeatError (UNS8  heartbeatID  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_initialisation (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_operational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_post_sync (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_post_TPDO (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_preOperational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void TestMaster_stopped (void   ) 
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
init_step = 0 [static]
-
-
- -

- -

-

- -

-
- - - - -
s_BOARD MasterBoard = {"32", "125K"}
-
-
- -

- -

-

- -

-
- - - - -
UNS8 slavenodeid
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterMicroMod_8h.html --- a/doc/doxygen/html/TestMasterMicroMod_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ - - -CanFestival: examples/TestMasterMicroMod/TestMasterMicroMod.h File Reference - - - - -
-
-
-
-

examples/TestMasterMicroMod/TestMasterMicroMod.h File Reference

#include "canfestival.h"
- - - - - -

Defines

#define eprintf(...)   printf (__VA_ARGS__)
-

Define Documentation

- -
-
- - - - - - - - - -
#define eprintf ( ...   )    printf (__VA_ARGS__)
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterSlave_2TestMaster_8c.html --- a/doc/doxygen/html/TestMasterSlave_2TestMaster_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1864 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/TestMaster.c File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/TestMaster.c File Reference

#include "TestMaster.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

UNS32 TestMaster_valueRangeTest (UNS8 typeValue, void *value)
const indextableTestMaster_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)

Variables

UNS8 MasterMap1 = 0x0
UNS8 MasterMap2 = 0x0
UNS8 MasterMap3 = 0x0
UNS8 MasterMap4 = 0x0
UNS8 MasterMap5 = 0x0
UNS8 MasterMap6 = 0x0
UNS8 MasterMap7 = 0x0
UNS8 MasterMap8 = 0x0
UNS8 MasterMap9 = 0x0
UNS32 MasterMap10 = 0x0
UNS16 MasterMap11 = 0x0
UNS8 TestMaster_bDeviceNodeId = 0x01
const UNS8 TestMaster_iam_a_slave = 0
TIMER_HANDLE TestMaster_heartBeatTimers [1] = {TIMER_NONE,}
UNS32 TestMaster_obj1000 = 0x12D
subindex TestMaster_Index1000 []
UNS8 TestMaster_obj1001 = 0x0
subindex TestMaster_Index1001 []
UNS32 TestMaster_obj1005 = 0x40000080
ODCallback_t TestMaster_Index1005_callbacks []
subindex TestMaster_Index1005 []
UNS32 TestMaster_obj1006 = 0xC350
ODCallback_t TestMaster_Index1006_callbacks []
subindex TestMaster_Index1006 []
UNS8 TestMaster_highestSubIndex_obj1010 = 4
UNS32 TestMaster_obj1010_Save_All_Parameters = 0x0
UNS32 TestMaster_obj1010_Save_Communication_Parameters = 0x0
UNS32 TestMaster_obj1010_Save_Application_Parameters = 0x0
UNS32 TestMaster_obj1010_Save_Manufacturer_Parameters = 0x0
subindex TestMaster_Index1010 []
UNS8 TestMaster_highestSubIndex_obj1011 = 4
UNS32 TestMaster_obj1011_Restore_All_Default_Parameters = 0x0
UNS32 TestMaster_obj1011_Restore_Communication_Default_Parameters = 0x0
UNS32 TestMaster_obj1011_Restore_Application_Default_Parameters = 0x0
UNS32 TestMaster_obj1011_Restore_Manufacturer_Default_Parameters = 0x0
subindex TestMaster_Index1011 []
UNS8 TestMaster_highestSubIndex_obj1016 = 1
UNS32 TestMaster_obj1016 []
subindex TestMaster_Index1016 []
UNS16 TestMaster_obj1017 = 0x0
UNS8 TestMaster_highestSubIndex_obj1018 = 4
UNS32 TestMaster_obj1018_Vendor_ID = 0x0
UNS32 TestMaster_obj1018_Product_Code = 0x0
UNS32 TestMaster_obj1018_Revision_Number = 0x0
UNS32 TestMaster_obj1018_Serial_Number = 0x0
subindex TestMaster_Index1018 []
UNS8 TestMaster_highestSubIndex_obj1280 = 3
UNS32 TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x602
UNS32 TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x582
INTEGER32 TestMaster_obj1280_Node_ID_of_the_SDO_Server = 0x2
subindex TestMaster_Index1280 []
UNS8 TestMaster_highestSubIndex_obj1400 = 5
UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x182
UNS8 TestMaster_obj1400_Transmission_Type = 0x1
UNS16 TestMaster_obj1400_Inhibit_Time = 0x0
UNS8 TestMaster_obj1400_Compatibility_Entry = 0x0
UNS16 TestMaster_obj1400_Event_Timer = 0x0
subindex TestMaster_Index1400 []
UNS8 TestMaster_highestSubIndex_obj1401 = 5
UNS32 TestMaster_obj1401_COB_ID_used_by_PDO = 0x0
UNS8 TestMaster_obj1401_Transmission_Type = 0x0
UNS16 TestMaster_obj1401_Inhibit_Time = 0x0
UNS8 TestMaster_obj1401_Compatibility_Entry = 0x0
UNS16 TestMaster_obj1401_Event_Timer = 0x0
subindex TestMaster_Index1401 []
UNS8 TestMaster_highestSubIndex_obj1600 = 10
UNS32 TestMaster_obj1600 []
subindex TestMaster_Index1600 []
UNS8 TestMaster_highestSubIndex_obj1601 = 1
UNS32 TestMaster_obj1601 []
subindex TestMaster_Index1601 []
UNS8 TestMaster_highestSubIndex_obj1F22 = 2
UNS8 * TestMaster_obj1F22 []
subindex TestMaster_Index1F22 []
subindex TestMaster_Index2000 []
subindex TestMaster_Index2001 []
subindex TestMaster_Index2002 []
subindex TestMaster_Index2003 []
subindex TestMaster_Index2004 []
subindex TestMaster_Index2005 []
subindex TestMaster_Index2006 []
subindex TestMaster_Index2007 []
subindex TestMaster_Index2008 []
subindex TestMaster_Index2009 []
subindex TestMaster_Index200A []
const indextable TestMaster_objdict []
UNS8 TestMaster_count_sync [1] = {0,}
quick_index TestMaster_firstIndex
quick_index TestMaster_lastIndex
UNS16 TestMaster_ObjdictSize = sizeof(TestMaster_objdict)/sizeof(TestMaster_objdict[0])
CO_Data TestMaster_Data = CANOPEN_NODE_DATA_INITIALIZER(TestMaster)
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
const indextable* TestMaster_scanIndexOD (UNS16  wIndex,
UNS32 *  errorCode,
ODCallback_t **  callbacks 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS32 TestMaster_valueRangeTest (UNS8  typeValue,
void *  value 
)
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
UNS8 MasterMap1 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 MasterMap10 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 MasterMap11 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap2 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap3 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap4 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap5 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap6 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap7 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap8 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap9 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_bDeviceNodeId = 0x01
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_count_sync[1] = {0,}
-
-
- -

- -

-

- -

-
- - - - -
CO_Data TestMaster_Data = CANOPEN_NODE_DATA_INITIALIZER(TestMaster)
-
-
- -

- -

-

- -

-
- - - - -
quick_index TestMaster_firstIndex
-
-
- -

-Initial value:

 {
-  0, 
-  8, 
-  9, 
-  11, 
-  0, 
-  0 
-}
-
-
-

- -

-
- - - - -
TIMER_HANDLE TestMaster_heartBeatTimers[1] = {TIMER_NONE,}
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1010 = 4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1011 = 4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1016 = 1
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1018 = 4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1280 = 3
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1400 = 5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1401 = 5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1600 = 10
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1601 = 1
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_highestSubIndex_obj1F22 = 2
-
-
- -

- -

-

- -

-
- - - - -
const UNS8 TestMaster_iam_a_slave = 0
-
-
- -

- -

-

- -

-
- - - - -
subindex TestMaster_Index1000[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1000 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1001[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_obj1001 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1005[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1005 }
-                     }
-
-
-

- -

-
- - - - -
ODCallback_t TestMaster_Index1005_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1006[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1006 }
-                     }
-
-
-

- -

-
- - - - -
ODCallback_t TestMaster_Index1006_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1010[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1010 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1010_Save_All_Parameters },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1010_Save_Communication_Parameters },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1010_Save_Application_Parameters },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1010_Save_Manufacturer_Parameters }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1011[]
-
-
- -

-Initial value:

-
-

- -

-
- - - - -
subindex TestMaster_Index1016[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1016 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1016[0] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1018[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1018 },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Vendor_ID },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Product_Code },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Revision_Number },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Serial_Number }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1280[]
-
-
- -

-Initial value:

-
-

- -

-
- - - - -
subindex TestMaster_Index1400[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1400 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1400_COB_ID_used_by_PDO },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1400_Transmission_Type },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Inhibit_Time },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1400_Compatibility_Entry },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Event_Timer }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1401[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1401 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1401_COB_ID_used_by_PDO },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1401_Transmission_Type },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Inhibit_Time },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1401_Compatibility_Entry },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Event_Timer }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1600[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1600 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[0] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[1] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[2] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[3] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[4] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[5] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[6] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[7] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[8] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[9] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1601[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1601 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[0] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index1F22[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1F22 },
-                       { RW, domain, 0, (void*)&TestMaster_obj1F22[0] },
-                       { RW, domain, 13, (void*)&TestMaster_obj1F22[1] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2000[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&MasterMap1 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2001[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&MasterMap2 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2002[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&MasterMap3 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2003[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&MasterMap4 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2004[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&MasterMap5 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2005[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&MasterMap6 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2006[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&MasterMap7 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2007[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&MasterMap8 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2008[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&MasterMap9 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index2009[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint32, sizeof (UNS32), (void*)&MasterMap10 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestMaster_Index200A[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint16, sizeof (UNS16), (void*)&MasterMap11 }
-                     }
-
-
-

- -

-
- - - - -
quick_index TestMaster_lastIndex
-
-
- -

-Initial value:

 {
-  0, 
-  8, 
-  10, 
-  12, 
-  0, 
-  0 
-}
-
-
-

- -

-
- - - - -
UNS32 TestMaster_obj1000 = 0x12D
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1001 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1005 = 0x40000080
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1006 = 0xC350
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1010_Save_All_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1010_Save_Application_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1010_Save_Communication_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1010_Save_Manufacturer_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1011_Restore_All_Default_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1011_Restore_Application_Default_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1011_Restore_Communication_Default_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1011_Restore_Manufacturer_Default_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1016[]
-
-
- -

-Initial value:

 
-                    {
-                      0x205DC   
-                    }
-
-
-

- -

-
- - - - -
UNS16 TestMaster_obj1017 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1018_Product_Code = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1018_Revision_Number = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1018_Serial_Number = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1018_Vendor_ID = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x602
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x582
-
-
- -

- -

-

- -

-
- - - - -
INTEGER32 TestMaster_obj1280_Node_ID_of_the_SDO_Server = 0x2
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x182
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1400_Compatibility_Entry = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestMaster_obj1400_Event_Timer = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestMaster_obj1400_Inhibit_Time = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1400_Transmission_Type = 0x1
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1401_COB_ID_used_by_PDO = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1401_Compatibility_Entry = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestMaster_obj1401_Event_Timer = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestMaster_obj1401_Inhibit_Time = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestMaster_obj1401_Transmission_Type = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestMaster_obj1600[]
-
-
- -

-Initial value:

 
-                    {
-                      0x20000001,       
-                      0x20010001,       
-                      0x20020001,       
-                      0x20030001,       
-                      0x20040001,       
-                      0x20050001,       
-                      0x20060001,       
-                      0x20070001,       
-                      0x20080008,       
-                      0x20090020        
-                    }
-
-
-

- -

-
- - - - -
UNS32 TestMaster_obj1601[]
-
-
- -

-Initial value:

 
-                    {
-                      0x200A0010        
-                    }
-
-
-

- -

-
- - - - -
UNS8* TestMaster_obj1F22[]
-
-
- -

-Initial value:

 
-                    {
-                      "",
-                      "\x01\x00\x00\x00\x17\x10\x00\x02\x00\x00\x00\xe8\x03"
-                    }
-
-
-

- -

-
- - - - -
const indextable TestMaster_objdict[]
-
-
- -

-Initial value:

 
-{
-  { (subindex*)TestMaster_Index1000,sizeof(TestMaster_Index1000)/sizeof(TestMaster_Index1000[0]), 0x1000},
-  { (subindex*)TestMaster_Index1001,sizeof(TestMaster_Index1001)/sizeof(TestMaster_Index1001[0]), 0x1001},
-  { (subindex*)TestMaster_Index1005,sizeof(TestMaster_Index1005)/sizeof(TestMaster_Index1005[0]), 0x1005},
-  { (subindex*)TestMaster_Index1006,sizeof(TestMaster_Index1006)/sizeof(TestMaster_Index1006[0]), 0x1006},
-  { (subindex*)TestMaster_Index1010,sizeof(TestMaster_Index1010)/sizeof(TestMaster_Index1010[0]), 0x1010},
-  { (subindex*)TestMaster_Index1011,sizeof(TestMaster_Index1011)/sizeof(TestMaster_Index1011[0]), 0x1011},
-  { (subindex*)TestMaster_Index1016,sizeof(TestMaster_Index1016)/sizeof(TestMaster_Index1016[0]), 0x1016},
-  { (subindex*)TestMaster_Index1018,sizeof(TestMaster_Index1018)/sizeof(TestMaster_Index1018[0]), 0x1018},
-  { (subindex*)TestMaster_Index1280,sizeof(TestMaster_Index1280)/sizeof(TestMaster_Index1280[0]), 0x1280},
-  { (subindex*)TestMaster_Index1400,sizeof(TestMaster_Index1400)/sizeof(TestMaster_Index1400[0]), 0x1400},
-  { (subindex*)TestMaster_Index1401,sizeof(TestMaster_Index1401)/sizeof(TestMaster_Index1401[0]), 0x1401},
-  { (subindex*)TestMaster_Index1600,sizeof(TestMaster_Index1600)/sizeof(TestMaster_Index1600[0]), 0x1600},
-  { (subindex*)TestMaster_Index1601,sizeof(TestMaster_Index1601)/sizeof(TestMaster_Index1601[0]), 0x1601},
-  { (subindex*)TestMaster_Index1F22,sizeof(TestMaster_Index1F22)/sizeof(TestMaster_Index1F22[0]), 0x1F22},
-  { (subindex*)TestMaster_Index2000,sizeof(TestMaster_Index2000)/sizeof(TestMaster_Index2000[0]), 0x2000},
-  { (subindex*)TestMaster_Index2001,sizeof(TestMaster_Index2001)/sizeof(TestMaster_Index2001[0]), 0x2001},
-  { (subindex*)TestMaster_Index2002,sizeof(TestMaster_Index2002)/sizeof(TestMaster_Index2002[0]), 0x2002},
-  { (subindex*)TestMaster_Index2003,sizeof(TestMaster_Index2003)/sizeof(TestMaster_Index2003[0]), 0x2003},
-  { (subindex*)TestMaster_Index2004,sizeof(TestMaster_Index2004)/sizeof(TestMaster_Index2004[0]), 0x2004},
-  { (subindex*)TestMaster_Index2005,sizeof(TestMaster_Index2005)/sizeof(TestMaster_Index2005[0]), 0x2005},
-  { (subindex*)TestMaster_Index2006,sizeof(TestMaster_Index2006)/sizeof(TestMaster_Index2006[0]), 0x2006},
-  { (subindex*)TestMaster_Index2007,sizeof(TestMaster_Index2007)/sizeof(TestMaster_Index2007[0]), 0x2007},
-  { (subindex*)TestMaster_Index2008,sizeof(TestMaster_Index2008)/sizeof(TestMaster_Index2008[0]), 0x2008},
-  { (subindex*)TestMaster_Index2009,sizeof(TestMaster_Index2009)/sizeof(TestMaster_Index2009[0]), 0x2009},
-  { (subindex*)TestMaster_Index200A,sizeof(TestMaster_Index200A)/sizeof(TestMaster_Index200A[0]), 0x200A},
-}
-
-
-

- -

-
- - - - -
UNS16 TestMaster_ObjdictSize = sizeof(TestMaster_objdict)/sizeof(TestMaster_objdict[0])
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterSlave_2TestMaster_8h.html --- a/doc/doxygen/html/TestMasterSlave_2TestMaster_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,304 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/TestMaster.h File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/TestMaster.h File Reference

#include "data.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

UNS32 TestMaster_valueRangeTest (UNS8 typeValue, void *value)
const indextableTestMaster_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)

Variables

CO_Data TestMaster_Data
UNS8 MasterMap1
UNS8 MasterMap2
UNS8 MasterMap3
UNS8 MasterMap4
UNS8 MasterMap5
UNS8 MasterMap6
UNS8 MasterMap7
UNS8 MasterMap8
UNS8 MasterMap9
UNS32 MasterMap10
UNS16 MasterMap11
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
const indextable* TestMaster_scanIndexOD (UNS16  wIndex,
UNS32 *  errorCode,
ODCallback_t **  callbacks 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS32 TestMaster_valueRangeTest (UNS8  typeValue,
void *  value 
)
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
UNS8 MasterMap1
-
-
- -

- -

-

- -

-
- - - - -
UNS32 MasterMap10
-
-
- -

- -

-

- -

-
- - - - -
UNS16 MasterMap11
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap2
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap3
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap6
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap7
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap8
-
-
- -

- -

-

- -

-
- - - - -
UNS8 MasterMap9
-
-
- -

- -

-

- -

-
- - - - -
CO_Data TestMaster_Data
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterSlave_2getopt_8c.html --- a/doc/doxygen/html/TestMasterSlave_2getopt_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,522 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/getopt.c File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/getopt.c File Reference

#include <stdio.h>
-#include "getopt.h"
-#include <strings.h>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Defines

#define GETOPT_INTERFACE_VERSION   2
#define _(msgid)   (msgid)
#define SWAP_FLAGS(ch1, ch2)
#define NONOPTION_P   (argv[optind][0] != '-' || argv[optind][1] == '\0')

Enumerations

enum  { REQUIRE_ORDER, -PERMUTE, -RETURN_IN_ORDER - }

Functions

char * getenv ()
static char * my_index (char *str, int chr) const
static void exchange (char **argv)
static const char * _getopt_initialize (int argc, char *const *argv, const char *optstring)
int _getopt_internal (int argc, char *const *argv, const char *optstring, const struct option *longopts, int *longind, int long_only)
int getopt (int argc, char *const *argv, const char *optstring)

Variables

char * optarg
int optind = 1
int __getopt_initialized
static char * nextchar
int opterr = 1
int optopt = '?'
static enum { ... }  ordering
static char * posixly_correct
static int first_nonopt
static int last_nonopt
-

Define Documentation

- -
-
- - - - - - - - - -
#define _ (msgid   )    (msgid)
-
-
- -

- -

-

- -

-
- - - - -
#define GETOPT_INTERFACE_VERSION   2
-
-
- -

- -

-

- -

-
- - - - -
#define NONOPTION_P   (argv[optind][0] != '-' || argv[optind][1] == '\0')
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - -
#define SWAP_FLAGS (ch1,
ch2   ) 
-
-
- -

- -

-

-


Enumeration Type Documentation

- -
-
- - - - -
anonymous enum
-
-
- -

-

Enumerator:
- - - - -
REQUIRE_ORDER  -
PERMUTE  -
RETURN_IN_ORDER  -
-
- -
-

-


Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
static const char* _getopt_initialize (int  argc,
char *const *  argv,
const char *  optstring 
) [static]
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int _getopt_internal (int  argc,
char *const *  argv,
const char *  optstring,
const struct option longopts,
int *  longind,
int  long_only 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - -
static void exchange (char **  argv  )  [static]
-
-
- -

- -

-

- -

-
- - - - - - - - -
char* getenv (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
int getopt (int  argc,
char *const *  argv,
const char *  optstring 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
static char* my_index (char *  str,
int  chr 
) const [static]
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
int __getopt_initialized
-
-
- -

- -

-

- -

-
- - - - -
int first_nonopt [static]
-
-
- -

- -

-

- -

-
- - - - -
int last_nonopt [static]
-
-
- -

- -

-

- -

-
- - - - -
char* nextchar [static]
-
-
- -

- -

-

- -

-
- - - - -
char* optarg
-
-
- -

- -

-

- -

-
- - - - -
int opterr = 1
-
-
- -

- -

-

- -

-
- - - - -
int optind = 1
-
-
- -

- -

-

- -

-
- - - - -
int optopt = '?'
-
-
- -

- -

-

- -

-
- - - - -
enum { ... } ordering [static]
-
-
- -

- -

-

- -

-
- - - - -
char* posixly_correct [static]
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterSlave_2getopt_8h.html --- a/doc/doxygen/html/TestMasterSlave_2getopt_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,257 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/getopt.h File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/getopt.h File Reference

#include <ctype.h>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Data Structures

struct  option

Defines

#define _GETOPT_H   1
#define no_argument   0
#define required_argument   1
#define optional_argument   2

Functions

int getopt ()
int getopt_long ()
int getopt_long_only ()
int _getopt_internal ()

Variables

char * optarg
int optind
int opterr
int optopt
-

Define Documentation

- -
-
- - - - -
#define _GETOPT_H   1
-
-
- -

- -

-

- -

-
- - - - -
#define no_argument   0
-
-
- -

- -

-

- -

-
- - - - -
#define optional_argument   2
-
-
- -

- -

-

- -

-
- - - - -
#define required_argument   1
-
-
- -

- -

-

-


Function Documentation

- -
-
- - - - - - - - -
int _getopt_internal (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - -
int getopt (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - -
int getopt_long (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - -
int getopt_long_only (  ) 
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
char* optarg
-
-
- -

- -

-

- -

-
- - - - -
int opterr
-
-
- -

- -

-

- -

-
- - - - -
int optind
-
-
- -

- -

-

- -

-
- - - - -
int optopt
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterSlave_8c.html --- a/doc/doxygen/html/TestMasterSlave_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,216 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/TestMasterSlave.c File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/TestMasterSlave.c File Reference

#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <signal.h>
-#include "canfestival.h"
-#include "Master.h"
-#include "Slave.h"
-#include "TestMasterSlave.h"
- - - - - - - - - - - - - - - - - - -

Functions

UNS32 OnMasterMap1Update (CO_Data *d, const indextable *unsused_indextable, UNS8 unsused_bSubindex)
void catch_signal (int sig)
void help ()
void InitNodes (CO_Data *d, UNS32 id)
int main (int argc, char **argv)

Variables

s_BOARD SlaveBoard = {"0", "125K"}
s_BOARD MasterBoard = {"1", "125K"}
-

Function Documentation

- -
-
- - - - - - - - - -
void catch_signal (int  sig  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - -
void help (  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
void InitNodes (CO_Data d,
UNS32  id 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
int main (int  argc,
char **  argv 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
UNS32 OnMasterMap1Update (CO_Data d,
const indextable unsused_indextable,
UNS8  unsused_bSubindex 
)
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
s_BOARD MasterBoard = {"1", "125K"}
-
-
- -

- -

-

- -

-
- - - - -
s_BOARD SlaveBoard = {"0", "125K"}
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestMasterSlave_8h.html --- a/doc/doxygen/html/TestMasterSlave_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/TestMasterSlave.h File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/TestMasterSlave.h File Reference

#include "canfestival.h"
- - - - - - - - -

Defines

#define eprintf(...)   printf (__VA_ARGS__)

Functions

void print_message (Message *m)
-

Define Documentation

- -
-
- - - - - - - - - -
#define eprintf ( ...   )    printf (__VA_ARGS__)
-
-
- -

- -

-

-


Function Documentation

- -
-
- - - - - - - - - -
void print_message (Message m  ) 
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestSlave_8c.html --- a/doc/doxygen/html/TestSlave_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1849 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/TestSlave.c File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/TestSlave.c File Reference

#include "TestSlave.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

UNS32 TestSlave_valueRangeTest (UNS8 typeValue, void *value)
const indextableTestSlave_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)

Variables

UNS8 SlaveMap1 = 0x0
UNS8 SlaveMap2 = 0x0
UNS8 SlaveMap3 = 0x0
UNS8 SlaveMap4 = 0x0
UNS8 SlaveMap5 = 0x0
UNS8 SlaveMap6 = 0x0
UNS8 SlaveMap7 = 0x0
UNS8 SlaveMap8 = 0x0
UNS8 SlaveMap9 = 0x0
UNS32 SlaveMap10 = 0x0
UNS16 SlaveMap11 = 0x0
UNS8 TestSlave_bDeviceNodeId = 0x00
const UNS8 TestSlave_iam_a_slave = 1
TIMER_HANDLE TestSlave_heartBeatTimers [1]
UNS32 TestSlave_obj1000 = 0x12D
subindex TestSlave_Index1000 []
UNS8 TestSlave_obj1001 = 0x0
subindex TestSlave_Index1001 []
UNS32 TestSlave_obj1005 = 0x80
ODCallback_t TestSlave_Index1005_callbacks []
subindex TestSlave_Index1005 []
UNS32 TestSlave_obj1006 = 0x0
ODCallback_t TestSlave_Index1006_callbacks []
subindex TestSlave_Index1006 []
UNS8 TestSlave_highestSubIndex_obj1010 = 4
UNS32 TestSlave_obj1010_Save_All_Parameters = 0x0
UNS32 TestSlave_obj1010_Save_Communication_Parameters = 0x0
UNS32 TestSlave_obj1010_Save_Application_Parameters = 0x0
UNS32 TestSlave_obj1010_Save_Manufacturer_Parameters = 0x0
ODCallback_t TestSlave_Index1010_callbacks []
subindex TestSlave_Index1010 []
UNS8 TestSlave_highestSubIndex_obj1011 = 4
UNS32 TestSlave_obj1011_Restore_All_Default_Parameters = 0x0
UNS32 TestSlave_obj1011_Restore_Communication_Default_Parameters = 0x0
UNS32 TestSlave_obj1011_Restore_Application_Default_Parameters = 0x0
UNS32 TestSlave_obj1011_Restore_Manufacturer_Default_Parameters = 0x0
ODCallback_t TestSlave_Index1011_callbacks []
subindex TestSlave_Index1011 []
UNS8 TestSlave_highestSubIndex_obj1016 = 0
UNS32 TestSlave_obj1016 [] = {0}
UNS16 TestSlave_obj1017 = 0x0
ODCallback_t TestSlave_Index1017_callbacks []
subindex TestSlave_Index1017 []
UNS8 TestSlave_highestSubIndex_obj1018 = 4
UNS32 TestSlave_obj1018_Vendor_ID = 0x0
UNS32 TestSlave_obj1018_Product_Code = 0x0
UNS32 TestSlave_obj1018_Revision_Number = 0x0
UNS32 TestSlave_obj1018_Serial_Number = 0x0
subindex TestSlave_Index1018 []
UNS8 TestSlave_highestSubIndex_obj1200 = 2
UNS32 TestSlave_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x601
UNS32 TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x581
subindex TestSlave_Index1200 []
UNS8 TestSlave_highestSubIndex_obj1800 = 5
UNS32 TestSlave_obj1800_COB_ID_used_by_PDO = 0x182
UNS8 TestSlave_obj1800_Transmission_Type = 0x0
UNS16 TestSlave_obj1800_Inhibit_Time = 0x0
UNS8 TestSlave_obj1800_Compatibility_Entry = 0x0
UNS16 TestSlave_obj1800_Event_Timer = 0x0
subindex TestSlave_Index1800 []
UNS8 TestSlave_highestSubIndex_obj1801 = 5
UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x0
UNS8 TestSlave_obj1801_Transmission_Type = 0x0
UNS16 TestSlave_obj1801_Inhibit_Time = 0x0
UNS8 TestSlave_obj1801_Compatibility_Entry = 0x0
UNS16 TestSlave_obj1801_Event_Timer = 0x0
subindex TestSlave_Index1801 []
UNS8 TestSlave_highestSubIndex_obj1A00 = 10
UNS32 TestSlave_obj1A00 []
subindex TestSlave_Index1A00 []
UNS8 TestSlave_highestSubIndex_obj1A01 = 1
UNS32 TestSlave_obj1A01 []
subindex TestSlave_Index1A01 []
subindex TestSlave_Index2000 []
subindex TestSlave_Index2001 []
subindex TestSlave_Index2002 []
subindex TestSlave_Index2003 []
subindex TestSlave_Index2004 []
subindex TestSlave_Index2005 []
subindex TestSlave_Index2006 []
subindex TestSlave_Index2007 []
subindex TestSlave_Index2008 []
subindex TestSlave_Index2009 []
subindex TestSlave_Index200A []
const indextable TestSlave_objdict []
UNS8 TestSlave_count_sync [2] = {0,}
quick_index TestSlave_firstIndex
quick_index TestSlave_lastIndex
UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0])
CO_Data TestSlave_Data = CANOPEN_NODE_DATA_INITIALIZER(TestSlave)
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
const indextable* TestSlave_scanIndexOD (UNS16  wIndex,
UNS32 *  errorCode,
ODCallback_t **  callbacks 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS32 TestSlave_valueRangeTest (UNS8  typeValue,
void *  value 
)
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
UNS8 SlaveMap1 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 SlaveMap10 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 SlaveMap11 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap2 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap3 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap4 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap5 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap6 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap7 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap8 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap9 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_bDeviceNodeId = 0x00
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_count_sync[2] = {0,}
-
-
- -

- -

-

- -

-
- - - - -
CO_Data TestSlave_Data = CANOPEN_NODE_DATA_INITIALIZER(TestSlave)
-
-
- -

- -

-

- -

-
- - - - -
quick_index TestSlave_firstIndex
-
-
- -

-Initial value:

 {
-  8, 
-  0, 
-  0, 
-  0, 
-  9, 
-  11 
-}
-
-
-

- -

-
- - - - -
TIMER_HANDLE TestSlave_heartBeatTimers[1]
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1010 = 4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1011 = 4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1016 = 0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1018 = 4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1200 = 2
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1800 = 5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1801 = 5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1A00 = 10
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_highestSubIndex_obj1A01 = 1
-
-
- -

- -

-

- -

-
- - - - -
const UNS8 TestSlave_iam_a_slave = 1
-
-
- -

- -

-

- -

-
- - - - -
subindex TestSlave_Index1000[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1000 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1001[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestSlave_obj1001 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1005[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1005 }
-                     }
-
-
-

- -

-
- - - - -
ODCallback_t TestSlave_Index1005_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1006[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1006 }
-                     }
-
-
-

- -

-
- - - - -
ODCallback_t TestSlave_Index1006_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1010[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1010 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_All_Parameters },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Communication_Parameters },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Application_Parameters },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Manufacturer_Parameters }
-                     }
-
-
-

- -

-
- - - - -
ODCallback_t TestSlave_Index1010_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                       NULL,
-                       NULL,
-                       NULL,
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1011[]
-
-
- -

-Initial value:

-
-

- -

-
- - - - -
ODCallback_t TestSlave_Index1011_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                       NULL,
-                       NULL,
-                       NULL,
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1017[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1017 }
-                     }
-
-
-

- -

-
- - - - -
ODCallback_t TestSlave_Index1017_callbacks[]
-
-
- -

-Initial value:

 
-                     {
-                       NULL,
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1018[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1018 },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Vendor_ID },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Product_Code },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Revision_Number },
-                       { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Serial_Number }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1200[]
-
-
- -

-Initial value:

-
-

- -

-
- - - - -
subindex TestSlave_Index1800[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1800 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1800_COB_ID_used_by_PDO },
-                       { RW|TO_BE_SAVE, uint8, sizeof (UNS8), (void*)&TestSlave_obj1800_Transmission_Type },
-                       { RW|TO_BE_SAVE, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Inhibit_Time },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1800_Compatibility_Entry },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Event_Timer }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1801[]
-
-
- -

-Initial value:

 
-                     {
-                       { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1801 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1801_COB_ID_used_by_PDO },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1801_Transmission_Type },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Inhibit_Time },
-                       { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1801_Compatibility_Entry },
-                       { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Event_Timer }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1A00[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A00 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[0] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[1] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[2] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[3] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[4] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[5] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[6] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[7] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[8] },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[9] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index1A01[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A01 },
-                       { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A01[0] }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2000[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&SlaveMap1 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2001[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&SlaveMap2 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2002[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&SlaveMap3 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2003[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&SlaveMap4 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2004[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&SlaveMap5 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2005[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&SlaveMap6 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2006[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&SlaveMap7 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2007[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, boolean, sizeof (UNS8), (void*)&SlaveMap8 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2008[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint8, sizeof (UNS8), (void*)&SlaveMap9 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index2009[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint32, sizeof (UNS32), (void*)&SlaveMap10 }
-                     }
-
-
-

- -

-
- - - - -
subindex TestSlave_Index200A[]
-
-
- -

-Initial value:

 
-                     {
-                       { RW, uint16, sizeof (UNS16), (void*)&SlaveMap11 }
-                     }
-
-
-

- -

-
- - - - -
quick_index TestSlave_lastIndex
-
-
- -

-Initial value:

 {
-  8, 
-  0, 
-  0, 
-  0, 
-  10, 
-  12 
-}
-
-
-

- -

-
- - - - -
UNS32 TestSlave_obj1000 = 0x12D
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_obj1001 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1005 = 0x80
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1006 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1010_Save_All_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1010_Save_Application_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1010_Save_Communication_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1010_Save_Manufacturer_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1011_Restore_All_Default_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1011_Restore_Application_Default_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1011_Restore_Communication_Default_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1011_Restore_Manufacturer_Default_Parameters = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1016[] = {0}
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestSlave_obj1017 = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1018_Product_Code = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1018_Revision_Number = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1018_Serial_Number = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1018_Vendor_ID = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x601
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x581
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1800_COB_ID_used_by_PDO = 0x182
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_obj1800_Compatibility_Entry = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestSlave_obj1800_Event_Timer = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestSlave_obj1800_Inhibit_Time = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_obj1800_Transmission_Type = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_obj1801_Compatibility_Entry = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestSlave_obj1801_Event_Timer = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS16 TestSlave_obj1801_Inhibit_Time = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS8 TestSlave_obj1801_Transmission_Type = 0x0
-
-
- -

- -

-

- -

-
- - - - -
UNS32 TestSlave_obj1A00[]
-
-
- -

-Initial value:

 
-                    {
-                      0x20000001,       
-                      0x20010001,       
-                      0x20020001,       
-                      0x20030001,       
-                      0x20040001,       
-                      0x20050001,       
-                      0x20060001,       
-                      0x20070001,       
-                      0x20080008,       
-                      0x20090020        
-                    }
-
-
-

- -

-
- - - - -
UNS32 TestSlave_obj1A01[]
-
-
- -

-Initial value:

 
-                    {
-                      0x200A0010        
-                    }
-
-
-

- -

-
- - - - -
const indextable TestSlave_objdict[]
-
-
- -

-Initial value:

 
-{
-  { (subindex*)TestSlave_Index1000,sizeof(TestSlave_Index1000)/sizeof(TestSlave_Index1000[0]), 0x1000},
-  { (subindex*)TestSlave_Index1001,sizeof(TestSlave_Index1001)/sizeof(TestSlave_Index1001[0]), 0x1001},
-  { (subindex*)TestSlave_Index1005,sizeof(TestSlave_Index1005)/sizeof(TestSlave_Index1005[0]), 0x1005},
-  { (subindex*)TestSlave_Index1006,sizeof(TestSlave_Index1006)/sizeof(TestSlave_Index1006[0]), 0x1006},
-  { (subindex*)TestSlave_Index1010,sizeof(TestSlave_Index1010)/sizeof(TestSlave_Index1010[0]), 0x1010},
-  { (subindex*)TestSlave_Index1011,sizeof(TestSlave_Index1011)/sizeof(TestSlave_Index1011[0]), 0x1011},
-  { (subindex*)TestSlave_Index1017,sizeof(TestSlave_Index1017)/sizeof(TestSlave_Index1017[0]), 0x1017},
-  { (subindex*)TestSlave_Index1018,sizeof(TestSlave_Index1018)/sizeof(TestSlave_Index1018[0]), 0x1018},
-  { (subindex*)TestSlave_Index1200,sizeof(TestSlave_Index1200)/sizeof(TestSlave_Index1200[0]), 0x1200},
-  { (subindex*)TestSlave_Index1800,sizeof(TestSlave_Index1800)/sizeof(TestSlave_Index1800[0]), 0x1800},
-  { (subindex*)TestSlave_Index1801,sizeof(TestSlave_Index1801)/sizeof(TestSlave_Index1801[0]), 0x1801},
-  { (subindex*)TestSlave_Index1A00,sizeof(TestSlave_Index1A00)/sizeof(TestSlave_Index1A00[0]), 0x1A00},
-  { (subindex*)TestSlave_Index1A01,sizeof(TestSlave_Index1A01)/sizeof(TestSlave_Index1A01[0]), 0x1A01},
-  { (subindex*)TestSlave_Index2000,sizeof(TestSlave_Index2000)/sizeof(TestSlave_Index2000[0]), 0x2000},
-  { (subindex*)TestSlave_Index2001,sizeof(TestSlave_Index2001)/sizeof(TestSlave_Index2001[0]), 0x2001},
-  { (subindex*)TestSlave_Index2002,sizeof(TestSlave_Index2002)/sizeof(TestSlave_Index2002[0]), 0x2002},
-  { (subindex*)TestSlave_Index2003,sizeof(TestSlave_Index2003)/sizeof(TestSlave_Index2003[0]), 0x2003},
-  { (subindex*)TestSlave_Index2004,sizeof(TestSlave_Index2004)/sizeof(TestSlave_Index2004[0]), 0x2004},
-  { (subindex*)TestSlave_Index2005,sizeof(TestSlave_Index2005)/sizeof(TestSlave_Index2005[0]), 0x2005},
-  { (subindex*)TestSlave_Index2006,sizeof(TestSlave_Index2006)/sizeof(TestSlave_Index2006[0]), 0x2006},
-  { (subindex*)TestSlave_Index2007,sizeof(TestSlave_Index2007)/sizeof(TestSlave_Index2007[0]), 0x2007},
-  { (subindex*)TestSlave_Index2008,sizeof(TestSlave_Index2008)/sizeof(TestSlave_Index2008[0]), 0x2008},
-  { (subindex*)TestSlave_Index2009,sizeof(TestSlave_Index2009)/sizeof(TestSlave_Index2009[0]), 0x2009},
-  { (subindex*)TestSlave_Index200A,sizeof(TestSlave_Index200A)/sizeof(TestSlave_Index200A[0]), 0x200A},
-}
-
-
-

- -

-
- - - - -
UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0])
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/TestSlave_8h.html --- a/doc/doxygen/html/TestSlave_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,338 +0,0 @@ - - -CanFestival: examples/TestMasterSlave/TestSlave.h File Reference - - - - -
-
-
-
-

examples/TestMasterSlave/TestSlave.h File Reference

#include "data.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

UNS32 TestSlave_valueRangeTest (UNS8 typeValue, void *value)
const indextableTestSlave_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)

Variables

CO_Data TestSlave_Data
ODCallback_t Store_parameters_callbacks []
ODCallback_t Restore_Default_Parameters_callbacks []
UNS8 SlaveMap1
UNS8 SlaveMap2
UNS8 SlaveMap3
UNS8 SlaveMap4
UNS8 SlaveMap5
UNS8 SlaveMap6
UNS8 SlaveMap7
UNS8 SlaveMap8
UNS8 SlaveMap9
UNS32 SlaveMap10
UNS16 SlaveMap11
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
const indextable* TestSlave_scanIndexOD (UNS16  wIndex,
UNS32 *  errorCode,
ODCallback_t **  callbacks 
)
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS32 TestSlave_valueRangeTest (UNS8  typeValue,
void *  value 
)
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
ODCallback_t Restore_Default_Parameters_callbacks[]
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap1
-
-
- -

- -

-

- -

-
- - - - -
UNS32 SlaveMap10
-
-
- -

- -

-

- -

-
- - - - -
UNS16 SlaveMap11
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap2
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap3
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap4
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap5
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap6
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap7
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap8
-
-
- -

- -

-

- -

-
- - - - -
UNS8 SlaveMap9
-
-
- -

- -

-

- -

-
- - - - -
ODCallback_t Store_parameters_callbacks[]
-
-
- -

- -

-

- -

-
- - - - -
CO_Data TestSlave_Data
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/____init_____8py-source.html --- a/doc/doxygen/html/____init_____8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/doc_index/__init__.py Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/objdictgen/doc_index/__init__.py

Go to the documentation of this file.
00001 # Package initialisation
-00002 
-00003 from DS301_index import *
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/____init_____8py.html --- a/doc/doxygen/html/____init_____8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/doc_index/__init__.py File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/objdictgen/doc_index/__init__.py File Reference

-

-Go to the source code of this file. - - - - - - -

Namespaces

namespace  doc_index::__init__
namespace  DS301_index::*
-


Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/annotated.html --- a/doc/doxygen/html/annotated.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ - - -CanFestival: Data Structures - - - - -
-
-
-
-

CanFestival Data Structures

Here are the data structures with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commondialogs::AddSlaveDialog
BODY
can_baudparams_t
can_uvccm_win32
can_uvccm_win32::error
canBusFilterInit
canBusInit
canBusTime
canfilt_t
canmsg_t
CANPipe
CANPort
ccritical_section
class_timers
commondialogs::CommunicationDialog
commondialogs::CreateNodeDialog
driver_data
driver_procs
subindextable::EditingPanel
commondialogs::MapVariableDialog
Message
networkedit::networkedit
node::Node
commondialogs::NodeInfosDialog
nodelist::NodeList
nodemanager::NodeManager
objdictedit::objdictedit
s_quick_index
s_state_communication
SHORT_CAN
struct_CO_Data
struct_s_BOARD
struct_s_PDO
struct_s_process_var
struct_s_SDO
struct_s_timer_entry
struct_s_transfer
subindextable::SubindexTable
t_pointerStack
td_indextable
td_subindex
nodemanager::UndoBuffer
commondialogs::UserTypeDialog
objdictedit::wxHtmlWindowUrlClick
networkedit::wxHtmlWindowUrlClick
networkedit::wxUrlClickHtmlWindow
objdictedit::wxUrlClickHtmlWindow
objdictedit::wxUrlClickHtmlWindow::HtmlFrame
networkedit::wxUrlClickHtmlWindow::HtmlFrame
-
Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/appli_8c.html --- a/doc/doxygen/html/appli_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,356 +0,0 @@ - - -CanFestival: examples/gene_SYNC_HCS12/appli.c File Reference - - - - -
-
-
-
-

examples/gene_SYNC_HCS12/appli.c File Reference

#include <stddef.h>
-#include <asm-m68hc12/portsaccess.h>
-#include <asm-m68hc12/ports_def.h>
-#include <asm-m68hc12/ports.h>
-#include <interrupt.h>
-#include "../include/data.h"
-#include <applicfg.h>
-#include "../include/hcs12/candriver.h"
-#include "../include/hcs12/canOpenDriver.h"
-#include "../include/def.h"
-#include "../include/can.h"
-#include "../include/objdictdef.h"
-#include "../include/objacces.h"
-#include "../include/sdo.h"
-#include "../include/pdo.h"
-#include "../include/timer.h"
-#include "../include/lifegrd.h"
-#include "../include/sync.h"
-#include "../include/nmtSlave.h"
-#include "objdict.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Defines

#define DEBUG_WAR_CONSOLE_ON
#define DEBUG_ERR_CONSOLE_ON

Enumerations

enum  E_CanBaudrate { CAN_BAUDRATE_250K, -CAN_BAUDRATE_500K, -CAN_BAUDRATE_1M - }

Functions

void initCanopencapteur (void)
void initSensor (void)
void initPortB (void)
void initPortH (void)
void gene_SYNC_heartbeatError (UNS8 heartbeatID)
void gene_SYNC_initialisation ()
void gene_SYNC_preOperational ()
void gene_SYNC_operational ()
void gene_SYNC_stopped ()
UNS8 main (void)

Variables

const canBusTime CAN_Baudrates []
-

Define Documentation

- -
-
- - - - -
#define DEBUG_ERR_CONSOLE_ON
-
-
- -

- -

-

- -

-
- - - - -
#define DEBUG_WAR_CONSOLE_ON
-
-
- -

- -

-

-


Enumeration Type Documentation

- -
-
- - - - -
enum E_CanBaudrate
-
-
- -

-

Enumerator:
- - - - -
CAN_BAUDRATE_250K  -
CAN_BAUDRATE_500K  -
CAN_BAUDRATE_1M  -
-
- -
-

-


Function Documentation

- -
-
- - - - - - - - - -
void gene_SYNC_heartbeatError (UNS8  heartbeatID  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void gene_SYNC_initialisation (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void gene_SYNC_operational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void gene_SYNC_preOperational (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void gene_SYNC_stopped (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void initCanopencapteur (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void initPortB (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void initPortH (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
void initSensor (void   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
UNS8 main (void   ) 
-
-
- -

- -

-

-


Variable Documentation

- -
-
- - - - -
const canBusTime CAN_Baudrates[]
-
-
- -

- -

-

-


Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c-source.html --- a/doc/doxygen/html/canOpenDriver_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,736 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/canOpenDriver.c Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/canOpenDriver.c

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 #define DEBUG_WAR_CONSOLE_ON
-00024 #define DEBUG_ERR_CONSOLE_ON
-00025 
-00026 #include <stddef.h> /* for NULL */
-00027 
-00028 #include "../include/hcs12/asm-m68hc12/portsaccess.h"
-00029 #include "../include/hcs12/asm-m68hc12/ports_def.h"
-00030 #include "../include/hcs12/asm-m68hc12/ports.h"
-00031 #include "../include/data.h"
-00032 #include "../include/hcs12/applicfg.h"
-00033 #include "../include/hcs12/candriver.h"
-00034 #include "../include/hcs12/interrupt.h"
-00035 #include "../include/hcs12/canOpenDriver.h"
-00036 #include "../include/can.h"
-00037 #include "../include/objdictdef.h"
-00038 #include "../include/timer.h"
-00039 
-00040 
-00041 
-00042 
-00043 
-00044 
-00045 volatile static Message stackMsgRcv[NB_LINE_CAN][MAX_STACK_MSG_RCV]; 
-00046 volatile static t_pointerStack ptrMsgRcv[NB_LINE_CAN];
-00047  
-00048 volatile static TIMEVAL last_time_set = TIMEVAL_MAX;
-00049 static UNS8 timer_is_set = 0;
-00050 
-00051 /* Prototypes */
-00052 UNS8 f_can_receive(UNS8 notused, Message *m);
-00053 UNS8 canSend(UNS8 notused, Message *m);
-00054 void __attribute__((interrupt)) timer4Hdl (void);
-00055 
-00056 #define max(a,b) a>b?a:b
-00057 
-00058 /******************************************************************************/
-00059 void setTimer(TIMEVAL value)
-00060 {
-00061   IO_PORTS_16(TC4H) += value;
-00062   timer_is_set = 1; 
-00063 }
-00064 
-00065 /******************************************************************************/
-00066 TIMEVAL getElapsedTime()
-00067 {
-00068   return (IO_PORTS_16(TC4H) > last_time_set ? IO_PORTS_16(TC4H) - last_time_set : last_time_set - IO_PORTS_16(TC4H));
-00069 }
-00070 
-00071 
-00072 /******************************************************************************/
-00073 void resetTimer(void)
-00074 {
-00075 
-00076 }
-00077 
-00078 /******************************************************************************/
-00079 void initTimer(void)
-00080 {
-00081   lock();   // Inhibition of interruptions
-00082  
-00083   // Configure the timer channel 4
-00084   IO_PORTS_8(TIOS) |= 0x10; // Canal 4 in output
-00085   IO_PORTS_8(TCTL1) &= ~(0x01 + 0x02); // Canal 4 unconnected to pin output
-00086   IO_PORTS_8(TIE) |= 0x10; // allow interruption channel 4
-00087   IO_PORTS_8(TSCR2) |= 0X05; // Pre-scaler = 32 
-00088                              // If this value is changed, change must be done also
-00089                              // in void __attribute__((interrupt)) timer4Hdl (void)
-00090 
-00091   IO_PORTS_8(TSCR1) |= 0x80; // Start timer
-00092   unlock(); // Allow interruptions
-00093 }
-00094 
-00095 /******************************************************************************/
-00096 void __attribute__((interrupt)) timer4Hdl (void)
-00097 {
-00098   lock();
-00099   last_time_set = IO_PORTS_16(TC4H);
-00100   IO_PORTS_8(TFLG1) = 0x10; // RAZ flag interruption timer channel 4
-00101   // Compute the next event : When the timer reach the value of TC4, an interrupt is
-00102   // started 
-00103   //IO_PORTS_16(TC4H) += 250; // To have an interruption every 1 ms
-00104   //timerInterrupt(0);
-00105   //MSG_WAR(0xFFFF, "timer4 IT", 0);
-00106   {
-00107     //MSG_WAR(0xFFFF, "t4 ", IO_PORTS_16(TCNTH) - IO_PORTS_16(TC4H));
-00108   }
-00109   TimeDispatch();
-00110   unlock();
-00111 }
-00112 
-00113 
-00114 /******************************************************************************/
-00115 void initSCI_0(void)
-00116 {
-00117   IO_PORTS_16(SCI0 + SCIBDH) = 
-00118     ((1000000 / SERIAL_SCI0_BAUD_RATE) * BUS_CLOCK) >> 4 ;  
-00119   IO_PORTS_8(SCI0  + SCICR1) = 0;    // format 8N1
-00120   IO_PORTS_8(SCI0  + SCICR2) = 0x08; // Transmit enable only
-00121 }
-00122 
-00123 /******************************************************************************/
-00124 void initSCI_1(void)
-00125 {
-00126   IO_PORTS_16(SCI1 + SCIBDH) = 
-00127     ((1000000 / SERIAL_SCI1_BAUD_RATE) * BUS_CLOCK) >> 4 ;  
-00128   IO_PORTS_8(SCI1  + SCICR1) = 0;    // format 8N1
-00129   IO_PORTS_8(SCI1  + SCICR2) = 0x08; // Transmit enable only
-00130 }
-00131 
-00132 
-00133 /******************************************************************************/
-00134 char *
-00135 hex_convert (char *buf, unsigned long value, char lastCar)
-00136 {
-00137   //Thanks to Stéphane Carrez for this function
-00138   char num[32];
-00139   int pos;
-00140 
-00141   *buf++ = '0';
-00142   *buf++ = 'x';
-00143 
-00144   pos = 0;
-00145   while (value != 0) {
-00146     char c = value & 0x0F;
-00147     num[pos++] = "0123456789ABCDEF"[(unsigned) c];
-00148     value = (value >> 4) & (0x0fffffffL);
-00149     }
-00150   if (pos == 0)
-00151     num[pos++] = '0';
-00152 
-00153   while (--pos >= 0)
-00154     *buf++ = num[pos];
-00155 
-00156   *buf++ = lastCar;
-00157   *buf = 0;
-00158   return buf;
-00159 }
-00160 
-00161 /******************************************************************************/
-00162 void printSCI_str(char sci, const char * str) 
-00163 {
-00164   char i = 0;
-00165   
-00166   while ((*(str + i) != 0) && (i < 0xFF)) {
-00167     if (*(str + i) == '\n')
-00168       {
-00169         while ((IO_PORTS_8(sci + SCISR1) & 0X80) == 0); // wait if buffer not empty     
-00170         IO_PORTS_8(sci + SCIDRL) = 13; // return to start of line
-00171       }
-00172     while ((IO_PORTS_8(sci + SCISR1) & 0X80) == 0); // wait if buffer not empty
-00173     IO_PORTS_8(sci + SCIDRL) = *(str + i++);
-00174   }
-00175 
-00176 }
-00177 
-00178 /******************************************************************************/
-00179 void printSCI_nbr(char sci, unsigned long nbr, char lastCar) 
-00180 {
-00181   char strNbr[12];
-00182   hex_convert(strNbr, nbr, lastCar);
-00183   printSCI_str(sci, strNbr);
-00184 }
-00185 
-00186 /******************************************************************************/
-00187 // PLL 24 MHZ if quartz on board is 16 MHZ
-00188 void initPLL(void)
-00189 {
-00190   IO_PORTS_8(CLKSEL) &= ~0x80; // unselect the PLL
-00191   IO_PORTS_8(PLLCTL) |= 0X60;  // PLL ON and bandwidth auto
-00192   IO_PORTS_8(SYNR) = 0x02;
-00193   IO_PORTS_8(REFDV) = 0x01;
-00194   while ((IO_PORTS_8(CRGFLG) & 0x08) == 0);
-00195   IO_PORTS_8(CLKSEL) |= 0x80;
-00196 }
-00197 
-00198 /******************************************************************************/
-00199 void initHCS12(void)
-00200 {
-00201 
-00202 # ifdef USE_PLL
-00203   MSG_WAR(0x3620, "Use the PLL ", 0);
-00204   initPLL();
-00205 # endif
-00206 
-00207 }
-00208 
-00209 /***************************************************************************/
-00210 char canAddIdToFilter(UNS16 adrCAN, UNS8 nFilter, UNS16 id)
-00211 {
-00212   UNS8 fiMsb;
-00213   UNS8 fiLsb;
-00214   UNS8 idMsb = (UNS8) (id >> 3);
-00215   UNS8 idLsb = (UNS8) (id << 5);
-00216 
-00217   if (! canTestInitMode(adrCAN)) {
-00218     /* Error because not init mode */
-00219     MSG_WAR(0X2600, "Not in init mode ", 0);
-00220     return 1;   
-00221   }
-00222   switch (nFilter) {
-00223     case 0:
-00224       nFilter = CANIDAR0; /* First  bank */
-00225       break;
-00226     case 1:
-00227       nFilter = CANIDAR2; /* First  bank */
-00228       break;
-00229     case 2:
-00230       nFilter = CANIDAR4; /* Second bank */
-00231       break;
-00232     case 3:
-00233       nFilter = CANIDAR6; /* Second bank */   
-00234   }
-00235   if (! IO_PORTS_16(adrCAN + nFilter)) {
-00236     /* if CANIDARx = 0 */
-00237     IO_PORTS_8(adrCAN + nFilter) = idMsb;
-00238     IO_PORTS_8(adrCAN + nFilter + 1) = idLsb;
-00239   }
-00240   fiMsb = IO_PORTS_8(adrCAN + nFilter) ^ idMsb;
-00241   fiLsb = IO_PORTS_8(adrCAN + nFilter + 1) ^ idLsb;
-00242   /* address of CANIDMRx */
-00243   IO_PORTS_8(adrCAN + nFilter + 4) = IO_PORTS_8(adrCAN + nFilter + 4) | fiMsb;
-00244   IO_PORTS_8(adrCAN + nFilter + 5) = IO_PORTS_8(adrCAN + nFilter + 5) | fiLsb;
-00245   IO_PORTS_8(adrCAN + nFilter + 5) |= 0x10; /* Not filtering on rtr value */
-00246   return 0;
-00247 }
-00248 
-00249 /***************************************************************************/
-00250 char canChangeFilter(UNS16 adrCAN, canBusFilterInit fi)
-00251 {
-00252   /* If not in init mode, go to sleep before going in init mode*/
-00253   if (! canTestInitMode(adrCAN)) {
-00254     canSleepMode(adrCAN);
-00255     canInitMode(adrCAN); 
-00256   }
-00257   //update the filters configuration
-00258   canInitFilter(adrCAN, fi);
-00259   canInitModeQ(adrCAN);
-00260   canSleepModeQ(adrCAN);
-00261   canSetInterrupt(adrCAN);
-00262   return 0;
-00263 }
-00264 
-00265 /***************************************************************************/
-00266 char canEnable(UNS16 adrCAN)
-00267 {
-00268   /* Register CANCTL1
-00269   bit 7 : 1 MSCAN enabled
-00270   Other bits : default reset values
-00271   */
-00272   IO_PORTS_8(adrCAN + CANCTL1) = 0X80;
-00273   return 0;
-00274 }
-00275 
-00276 /***************************************************************************/
-00277 char canInit(UNS16 adrCAN, canBusInit bi)
-00278 {
-00279   /* If not in init mode, go to sleep before going in init mode*/
-00280   if (! canTestInitMode(adrCAN)) {
-00281     canSleepMode(adrCAN);
-00282     canInitMode(adrCAN); 
-00283   }
-00284   
-00285   canEnable(adrCAN);                  /* Does nothing if already enable */
-00286      /* The most secure way to go in init mode : put before MSCAN in sleep mode */
-00287       //canSleepMode(adrCAN);
-00288      /* Put MSCAN in Init mode */ 
-00289      //canInitMode(adrCAN);
-00290   canInitClock(adrCAN, bi.clk); 
-00291   /* Init CANCTL1 register. Must be in init mode */
-00292   IO_PORTS_8(adrCAN + CANCTL1) &=0xC4;// 0xCB; /* Clr the bits that may be modified */
-00293   IO_PORTS_8(adrCAN + CANCTL1) = (bi.cane << 7) | (bi.loopb << 5 ) | 
-00294     (bi.listen << 4) | (bi.wupm << 2);
-00295   /* Initialize the filters for received msgs */
-00296   /* We should decide to accept all the msgs  */
-00297   canInitFilter(adrCAN, bi.fi);
-00298   /* Before to modify CANCTL0, we must leave the init mode */
-00299   canInitModeQ(adrCAN);
-00300   /* Init CANCTL0 register. MSCAN must not be in init mode */
-00301   /* Do not change the value of wupe (should be 0) and slprq (should be 1) */
-00302   /* Do not change the value of initrq (should be 0) */ 
-00303   /* rxfrm is cleared, mupe also (should be before)*/
-00304     IO_PORTS_8(adrCAN + CANCTL0) &= 0x53; /* Clr the bits that may be modified */
-00305     IO_PORTS_8(adrCAN + CANCTL0) = (bi.cswai << 5) | (bi.time << 3);
-00306     canSetInterrupt(adrCAN);
-00307     canInitModeQ(adrCAN); /* Leave the init mode */
-00308     canSleepModeQ(adrCAN); /* Leave the sleep mode */    
-00309   return 0;
-00310 }
-00311 
-00312 /***************************************************************************/
-00313 char canInitClock(UNS16 adrCAN, canBusTime clk)
-00314 {
-00315   if (! canTestInitMode(adrCAN)) {
-00316     /* Not in Init mode */
-00317     MSG_WAR(0X2601, "not in init mode ", 0);
-00318     return 1;   
-00319   }
-00320   /* Set or reset CLKSRC (register CANCTL1). Does not change the other bits*/
-00321   clk.clksrc = clk.clksrc << 6;
-00322   IO_PORTS_8(adrCAN + CANCTL1) &= 0xBF;
-00323   IO_PORTS_8(adrCAN + CANCTL1) |= clk.clksrc;
-00324   /* Build the CANBTR0 register */
-00325   IO_PORTS_8(adrCAN + CANBTR0) = 0x00;        /* Clear before changes */
-00326   IO_PORTS_8(adrCAN + CANBTR0) = (clk.sjw << 6) | (clk.brp);
-00327   /* Build the CANBTR1 register */
-00328   IO_PORTS_8(adrCAN + CANBTR1) = 0x00;        /* Clear before changes */
-00329   IO_PORTS_8(adrCAN + CANBTR1) = (clk.samp << 7) | (clk.tseg2 << 4) | 
-00330     (clk.tseg1);  
-00331   return 0;
-00332 }
-00333 
-00334 /***************************************************************************/
-00335 char canInit1Filter(UNS16 adrCAN, UNS8 nFilter, UNS16 ar, UNS16 mr)
-00336 {
-00337   if (! canTestInitMode(adrCAN)) {
-00338     /* Error because not init mode */
-00339     MSG_WAR(0X2602, "not in init mode ", 0);
-00340     return 1;   
-00341   }
-00342   switch (nFilter) {
-00343     case 0:
-00344       nFilter = CANIDAR0; /* First  bank */
-00345       break; 
-00346     case 1:
-00347       nFilter = CANIDAR2; /* First  bank */
-00348       break;
-00349     case 2:
-00350       nFilter = CANIDAR4; /* Second bank */
-00351       break;
-00352     case 3:
-00353       nFilter = CANIDAR6; /* Second bank */   
-00354   }
-00355   /* address of CANIDARx */
-00356   IO_PORTS_8(adrCAN + nFilter)     = (UNS8) (ar >> 8);
-00357   IO_PORTS_8(adrCAN + nFilter + 1) = (UNS8) (ar);
-00358   IO_PORTS_8(adrCAN + nFilter + 4) = (UNS8) (mr >> 8);
-00359   IO_PORTS_8(adrCAN + nFilter + 5) = (UNS8) (mr);
-00360   return 0;
-00361 }
-00362 
-00363 /***************************************************************************/
-00364 char canInitFilter(UNS16 adrCAN, canBusFilterInit fi)
-00365 {
-00366 if (! canTestInitMode(adrCAN)) {
-00367     /* Error because not init mode */
-00368     MSG_WAR(0X2603, "not in init mode ", 0);
-00369     return 1;   
-00370   }
-00371   IO_PORTS_8(adrCAN + CANIDAC)  = fi.idam << 4;
-00372   IO_PORTS_8(adrCAN + CANIDAR0) = fi.canidar0;
-00373   IO_PORTS_8(adrCAN + CANIDMR0) = fi.canidmr0;
-00374   IO_PORTS_8(adrCAN + CANIDAR1) = fi.canidar1;
-00375   IO_PORTS_8(adrCAN + CANIDMR1) = fi.canidmr1;
-00376   IO_PORTS_8(adrCAN + CANIDAR2) = fi.canidar2;
-00377   IO_PORTS_8(adrCAN + CANIDMR2) = fi.canidmr2;
-00378   IO_PORTS_8(adrCAN + CANIDAR3) = fi.canidar3;
-00379   IO_PORTS_8(adrCAN + CANIDMR3) = fi.canidmr3;
-00380   IO_PORTS_8(adrCAN + CANIDAR4) = fi.canidar4;
-00381   IO_PORTS_8(adrCAN + CANIDMR4) = fi.canidmr4;
-00382   IO_PORTS_8(adrCAN + CANIDAR5) = fi.canidar5;
-00383   IO_PORTS_8(adrCAN + CANIDMR5) = fi.canidmr5;
-00384   IO_PORTS_8(adrCAN + CANIDAR6) = fi.canidar6;
-00385   IO_PORTS_8(adrCAN + CANIDMR6) = fi.canidmr6;
-00386   IO_PORTS_8(adrCAN + CANIDAR7) = fi.canidar7;
-00387   IO_PORTS_8(adrCAN + CANIDMR7) = fi.canidmr7;
-00388   return 0;
-00389 }
-00390 
-00391 /***************************************************************************/
-00392 char canInitMode(UNS16 adrCAN)
-00393 {
-00394   IO_PORTS_8(adrCAN + CANCTL0) |= 0x01; /* Set the bit INITRQ */ 
-00395   while (! canTestInitMode(adrCAN)) {
-00396   }
-00397   return 0;
-00398 }
-00399 
-00400 /***************************************************************************/
-00401 char canInitModeQ(UNS16 adrCAN)
-00402 {
-00403   IO_PORTS_8(adrCAN + CANCTL0) &= 0xFE; /* Clear the bit INITRQ */ 
-00404   while (canTestInitMode(adrCAN)) {
-00405   }
-00406   return 0;
-00407 }
-00408 
-00409 /***************************************************************************/
-00410 char canMsgTransmit(UNS16 adrCAN, Message msg)
-00411 {
-00412   /* Remind : only CAN A msg implemented. ie id on 11 bits, not 29 */
-00413   UNS8 cantflg;
-00414   UNS8 i;
-00415   /* Looking for a free buffer */
-00416   cantflg = IO_PORTS_8(adrCAN + CANTFLG);
-00417   if ( cantflg == 0) { /* all the TXEx are set */
-00418     MSG_WAR(0X2604, "No buffer free. Msg to transmit is losted ", 0);
-00419     return 1; /* No buffer free */
-00420   }
-00421   else{
-00422     /* Selecting a buffer */
-00423     IO_PORTS_8(adrCAN + CANTBSEL) = cantflg;
-00424     /* We put ide = 0 because id is on 11 bits only */
-00425      IO_PORTS_8(adrCAN + CANTRSID) = (UNS8)(msg.cob_id.w >> 3);
-00426     IO_PORTS_8(adrCAN + CANTRSID + 1) = (UNS8)((msg.cob_id.w << 5)|
-00427     (msg.rtr << 4));
-00428    
-00429     IO_PORTS_8(adrCAN + CANTRSLEN) = msg.len & 0X0F;
-00430     /* For the priority, we put the highter bits of the cob_id */
-00431     IO_PORTS_8(adrCAN + CANTRSPRI) = IO_PORTS_8(adrCAN + CANTRSID);
-00432     for (i = 0 ; i < msg.len ; i++) {
-00433       IO_PORTS_8(adrCAN + CANTRSDTA + i) = msg.data[i];
-00434     } 
-00435     /* Transmitting the message */ 
-00436     cantflg = IO_PORTS_8(adrCAN + CANTBSEL);/* to know which buf is selected */
-00437     IO_PORTS_8(adrCAN + CANTBSEL) = 0x00;  
-00438     IO_PORTS_8(adrCAN + CANTFLG) = cantflg;  /* Ready to transmit ! */  
-00439   
-00440  }
-00441   return 0;
-00442 }
-00443 
-00444 /***************************************************************************/
-00445 char canSetInterrupt(UNS16 adrCAN) 
-00446 {
-00447   IO_PORTS_8(adrCAN + CANRIER) = 0X01; /* Allow interruptions on receive */
-00448   IO_PORTS_8(adrCAN + CANTIER) = 0X00; /* disallow  interruptions on transmit */
-00449   return 0;  
-00450 }
-00451 /***************************************************************************/
-00452 char canSleepMode(UNS16 adrCAN)
-00453 {
-00454   IO_PORTS_8(adrCAN + CANCTL0) &= 0xFB;   /* clr the bit WUPE  to avoid a wake-up*/ 
-00455   IO_PORTS_8(adrCAN + CANCTL0) |= 0x02;   /* Set the bit SLPRQ. go to Sleep !*/ 
-00456 
-00457    // IO_PORTS_8(adrCAN + CANCTL1) |= 0x04;
-00458    // IO_PORTS_8(adrCAN + CANCTL0) |= 0x02;   /* Set the bit SLPRQ */ 
-00459    while ( ! canTestSleepMode(adrCAN)) {
-00460      }
-00461 
-00462   return 0;
-00463 }
-00464 
-00465 /***************************************************************************/
-00466 char canSleepModeQ(UNS16 adrCAN)
-00467 {
-00468   if (canTestInitMode(adrCAN)) {
-00469     /* Error because in init mode */
-00470     MSG_WAR(0X2606, "not in init mode ", 0);
-00471     return 1;   
-00472   }
-00473   IO_PORTS_8(adrCAN + CANCTL0) &= 0xFD;   /* clr the bit SLPRQ */ 
-00474     while ( canTestSleepMode(adrCAN)) {
-00475     }
-00476   return 0;
-00477 }
-00478  
-00479 /***************************************************************************/
-00480 char canSleepWupMode(UNS16 adrCAN)
-00481 {
-00482   if (canTestInitMode(adrCAN)) {
-00483     MSG_WAR(0X2607, "not in init mode ", 0);
-00484     return 1;   
-00485   }
-00486   IO_PORTS_8(adrCAN + CANCTL0) |= 0x06;   /* Set the bits WUPE & SLPRQ */ 
-00487   while ( ! canTestSleepMode(adrCAN)) {
-00488   }
-00489   return 0;
-00490 }
-00491 
-00492 /***************************************************************************/
-00493 char canTestInitMode(UNS16 adrCAN)
-00494 {
-00495   return IO_PORTS_8(adrCAN + CANCTL1) & 0x01; /* Test the bit INITAK */
-00496 }
-00497 
-00498 /***************************************************************************/
-00499 char canTestSleepMode(UNS16 adrCAN)
-00500 {
-00501   return IO_PORTS_8(adrCAN + CANCTL1) & 0x02; /* Test the bit SLPAK */
-00502 }
-00503 
-00504 /***************************************************************************/
-00505 UNS8 canSend(UNS8 notused, Message *m)
-00506 {
-00507   canMsgTransmit(CANOPEN_LINE_NUMBER_USED, *m);
-00508   return 0;
-00509 }
-00510 
-00511 
-00512 /**************************************************************************/
-00513 UNS8 f_can_receive(UNS8 notused, Message *msgRcv)
-00514 { 
-00515   UNS8 i, j;
-00516 
-00517   switch (CANOPEN_LINE_NUMBER_USED) {
-00518   case CAN0 : j = 0; break;
-00519   case CAN1 : j = 1; break;
-00520   case CAN2 : j = 2; break;
-00521   case CAN3 : j = 3; break;
-00522   case CAN4 : j = 4; break;
-00523   }
-00524 
-00525   /* See if a message is pending in the stack */
-00526   if (ptrMsgRcv[j].r == ptrMsgRcv[j].w)
-00527     return 0x0; // No new message
-00528 
-00529   /* Increment the reading pointer of the stack */
-00530   if (ptrMsgRcv[j].r == (MAX_STACK_MSG_RCV - 1)) 
-00531      ptrMsgRcv[j].r = 0;
-00532   else
-00533     ptrMsgRcv[j].r ++;
-00534 
-00535   /* Store the message from the stack*/
-00536   msgRcv->cob_id.w = stackMsgRcv[j][ptrMsgRcv[j].r].cob_id.w;
-00537   msgRcv->len = stackMsgRcv[j][ptrMsgRcv[j].r].len;
-00538   msgRcv->rtr = stackMsgRcv[j][ptrMsgRcv[j].r].rtr;
-00539   for (i = 0 ; i < stackMsgRcv[j][ptrMsgRcv[j].r].len ; i++)
-00540     msgRcv->data[i] = stackMsgRcv[j][ptrMsgRcv[j].r].data[i];
-00541   return 0xFF;
-00542 }
-00543 
-00544 
-00545 /******************************************************************************
-00546  ******************************* CAN INTERRUPT  *******************************/
-00547 
-00548 void __attribute__((interrupt)) can0HdlTra (void)
-00549 {
-00550  
-00551 }
-00552 
-00553 void __attribute__((interrupt)) can0HdlRcv (void)
-00554 { 
-00555   UNS8 i;
-00556   lock();
-00557   IO_PORTS_8(PORTB) &= ~ 0x40; // led 6 port B : ON
-00558   UNS8 NewPtrW; 
-00559   /* We are obliged to save the message while the interruption is pending */
-00560   /* Increment the writing stack pointer before writing the msg */
-00561   if (ptrMsgRcv[0].w == (MAX_STACK_MSG_RCV - 1)) 
-00562     NewPtrW = 0;
-00563   else
-00564     NewPtrW = ptrMsgRcv[0].w + 1;
-00565   
-00566   if (NewPtrW == ptrMsgRcv[0].r) {
-00567     /* The stack is full. The last msg received before this one is lost */
-00568     MSG_WAR(0X1620, "Stack for received msg is full", 0);
-00569     //IO_PORTS_8(PORTB) &= ~0x40; // led  6         : ON (for debogue)
-00570   }
-00571   else
-00572     ptrMsgRcv[0].w = NewPtrW;
-00573   
-00574   /* Store the message */
-00575   stackMsgRcv[0][ptrMsgRcv[0].w].cob_id.w = IO_PORTS_16(CAN0 + CANRCVID) >> 5;
-00576   stackMsgRcv[0][ptrMsgRcv[0].w].len = IO_PORTS_8(CAN0 + CANRCVLEN) & 0x0F;
-00577   stackMsgRcv[0][ptrMsgRcv[0].w].rtr = (IO_PORTS_8(CAN0 + CANRCVID + 1) >> 4) & 0x01;
-00578   for (i = 0 ; i < stackMsgRcv[0][ptrMsgRcv[0].w].len ; i++)
-00579     stackMsgRcv[0][ptrMsgRcv[0].w].data[i] = IO_PORTS_8(CAN0 + CANRCVDTA + i);
-00580   
-00581   // The message is stored , so
-00582   // we can now release the receive foreground buffer
-00583   // and acknowledge the interruption
-00584   IO_PORTS_8(CAN0 + CANRFLG) |= 0x01;
-00585   // Not very usefull
-00586   IO_PORTS_8(CAN0 + CANCTL0) |= 0x80;
-00587   IO_PORTS_8(PORTB) |= 0x40; // led 6 port B : OFF
-00588   unlock();
-00589 }
-00590 
-00591 void __attribute__((interrupt)) can0HdlWup (void)
-00592 {
-00593 
-00594 }
-00595 
-00596 void __attribute__((interrupt)) can0HdlErr (void)
-00597 {
-00598 
-00599 }
-00600 
-00601 void __attribute__((interrupt)) can1HdlTra (void)
-00602 {
-00603  
-00604 }
-00605 
-00606 void __attribute__((interrupt)) can1HdlRcv (void)
-00607 {
-00608   UNS8 i;
-00609   lock();
-00610   UNS8 NewPtrW; 
-00611   /* We are obliged to save the message while the interruption is pending */
-00612   /* Increment the writing stack pointer before writing the msg */
-00613   if (ptrMsgRcv[1].w == (MAX_STACK_MSG_RCV - 1)) 
-00614     NewPtrW = 0;
-00615   else
-00616     NewPtrW = ptrMsgRcv[1].w + 1;
-00617   
-00618   if (NewPtrW == ptrMsgRcv[1].r) {
-00619     /* The stack is full. The last msg received before this one is lost */
-00620     MSG_WAR(0X2620, "Stack for received msg is full", 0);
-00621   }
-00622   else
-00623     ptrMsgRcv[1].w = NewPtrW;
-00624   
-00625   /* Store the message */
-00626   stackMsgRcv[1][ptrMsgRcv[1].w].cob_id.w = IO_PORTS_16(CAN1 + CANRCVID) >> 5;
-00627   stackMsgRcv[1][ptrMsgRcv[1].w].len = IO_PORTS_8(CAN1 + CANRCVLEN) & 0x0F;
-00628   stackMsgRcv[0][ptrMsgRcv[0].w].rtr = (IO_PORTS_8(CAN1 + CANRCVID + 1) >> 4) & 0x01;
-00629   for (i = 0 ; i < stackMsgRcv[1][ptrMsgRcv[1].w].len ; i++)
-00630     stackMsgRcv[1][ptrMsgRcv[1].w].data[i] = IO_PORTS_8(CAN1 + CANRCVDTA + i);
-00631   
-00632   // The message is stored , so
-00633   // we can now release the receive foreground buffer
-00634   // and acknowledge the interruption
-00635   IO_PORTS_8(CAN1 + CANRFLG) |= 0x01;
-00636   // Not very usefull
-00637   IO_PORTS_8(CAN1 + CANCTL0) |= 0x80;
-00638   unlock();
-00639 }
-00640 
-00641 void __attribute__((interrupt)) can1HdlWup (void)
-00642 {
-00643 
-00644 }
-00645 
-00646 void __attribute__((interrupt)) can1HdlErr (void)
-00647 {
-00648 
-00649 }
-00650 
-00651 void __attribute__((interrupt)) can2HdlTra (void)
-00652 {
-00653 
-00654 }
-00655 
-00656 void __attribute__((interrupt)) can2HdlRcv (void)
-00657 {
-00658 
-00659 }
-00660 
-00661 void __attribute__((interrupt)) can2HdlWup (void)
-00662 {
-00663 
-00664 }
-00665 
-00666 void __attribute__((interrupt)) can2HdlErr (void)
-00667 {
-00668 
-00669 }
-00670 
-00671 void __attribute__((interrupt)) can3HdlTra (void)
-00672 {
-00673 
-00674 }
-00675 
-00676 void __attribute__((interrupt)) can3HdlRcv (void)
-00677 {
-00678 
-00679 }
-00680 
-00681 void __attribute__((interrupt)) can3HdlWup (void)
-00682 {
-00683 
-00684 }
-00685 
-00686 void __attribute__((interrupt)) can3HdlErr (void)
-00687 {
-00688 
-00689 }
-00690 
-00691 void __attribute__((interrupt)) can4HdlTra (void)
-00692 {
-00693 
-00694 }
-00695 
-00696 void __attribute__((interrupt)) can4HdlRcv (void)
-00697 {
-00698 
-00699 }
-00700 
-00701 void __attribute__((interrupt)) can4HdlWup (void)
-00702 {
-00703 
-00704 }
-00705 
-00706 void __attribute__((interrupt)) can4HdlErr (void)
-00707 {
-00708 
-00709 }
-00710 
-00711 
-00712 
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c.html --- a/doc/doxygen/html/canOpenDriver_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1003 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/canOpenDriver.c File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/canOpenDriver.c File Reference

#include <stddef.h>
-#include "../include/hcs12/asm-m68hc12/portsaccess.h"
-#include "../include/hcs12/asm-m68hc12/ports_def.h"
-#include "../include/hcs12/asm-m68hc12/ports.h"
-#include "../include/data.h"
-#include "../include/hcs12/applicfg.h"
-#include "../include/hcs12/candriver.h"
-#include "../include/hcs12/interrupt.h"
-#include "../include/hcs12/canOpenDriver.h"
-#include "../include/can.h"
-#include "../include/objdictdef.h"
-#include "../include/timer.h"
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Defines

#define DEBUG_WAR_CONSOLE_ON
#define DEBUG_ERR_CONSOLE_ON
#define max(a, b)   a>b?a:b

Functions

UNS8 f_can_receive (UNS8 notused, Message *m)
UNS8 canSend (UNS8 notused, Message *m)
void __attribute__ ((interrupt))
TIMEVAL getElapsedTime ()
void resetTimer (void)
void initTimer (void)
void initSCI_0 (void)
 Initialisation of the serial port 0.
void initSCI_1 (void)
 Initialisation of the serial port 1.
char * hex_convert (char *buf, unsigned long value, char lastCar)
void printSCI_str (char sci, const char *str)
void printSCI_nbr (char sci, unsigned long nbr, char lastCar)
void initPLL (void)
void initHCS12 (void)
 Put here all the code to init the HCS12.
char canAddIdToFilter (UNS16 adrCAN, UNS8 nFilter, UNS16 id)
char canChangeFilter (UNS16 adrCAN, canBusFilterInit fi)
char canEnable (UNS16 adrCAN)
char canInit (UNS16 adrCAN, canBusInit bi)
char canInitClock (UNS16 adrCAN, canBusTime clk)
char canInit1Filter (UNS16 adrCAN, UNS8 nFilter, UNS16 ar, UNS16 mr)
char canInitFilter (UNS16 adrCAN, canBusFilterInit fi)
char canInitMode (UNS16 adrCAN)
char canInitModeQ (UNS16 adrCAN)
char canMsgTransmit (UNS16 adrCAN, Message msg)
char canSetInterrupt (UNS16 adrCAN)
char canSleepMode (UNS16 adrCAN)
char canSleepModeQ (UNS16 adrCAN)
char canSleepWupMode (UNS16 adrCAN)
char canTestInitMode (UNS16 adrCAN)
char canTestSleepMode (UNS16 adrCAN)
-


Define Documentation

- -
-
- - - - -
#define DEBUG_ERR_CONSOLE_ON
-
-
- -

- -

-Definition at line 24 of file canOpenDriver.c. -

-

- -

-
- - - - -
#define DEBUG_WAR_CONSOLE_ON
-
-
- -

- -

-Definition at line 23 of file canOpenDriver.c. -

-

- -

-
- - - - - - - - - - - - -
#define max (a,
 )    a>b?a:b
-
-
- -

- -

-

-


Function Documentation

- -
-
- - - - - - - - - -
void __attribute__ ((interrupt)   ) 
-
-
- -

-Message transmitted on MSCAN 0 -

-Definition at line 54 of file canOpenDriver.c. -

-References IO_PORTS_16, and TC4H. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
char canAddIdToFilter (UNS16  adrCAN,
UNS8  nFilter,
UNS16  id 
)
-
-
- -

- -

-Definition at line 210 of file canOpenDriver.c. -

-References CANIDAR0, CANIDAR2, CANIDAR4, CANIDAR6, canTestInitMode(), IO_PORTS_16, IO_PORTS_8, MSG_WAR, and UNS8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canChangeFilter (UNS16  adrCAN,
canBusFilterInit  fi 
)
-
-
- -

- -

-Definition at line 250 of file canOpenDriver.c. -

-References canInitFilter(), canInitMode(), canInitModeQ(), canSetInterrupt(), canSleepMode(), canSleepModeQ(), and canTestInitMode(). -

-

- -

-
- - - - - - - - - -
char canEnable (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 266 of file canOpenDriver.c. -

-References CANCTL1, and IO_PORTS_8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canInit (UNS16  adrCAN,
canBusInit  bi 
)
-
-
- -

- -

-Definition at line 277 of file canOpenDriver.c. -

-References CANCTL0, CANCTL1, canBusInit::cane, canEnable(), canInitClock(), canInitFilter(), canInitMode(), canInitModeQ(), canSetInterrupt(), canSleepMode(), canSleepModeQ(), canTestInitMode(), canBusInit::clk, canBusInit::cswai, canBusInit::fi, IO_PORTS_8, canBusInit::listen, canBusInit::loopb, canBusInit::time, and canBusInit::wupm. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
char canInit1Filter (UNS16  adrCAN,
UNS8  nFilter,
UNS16  ar,
UNS16  mr 
)
-
-
- -

- -

-Definition at line 335 of file canOpenDriver.c. -

-References CANIDAR0, CANIDAR2, CANIDAR4, CANIDAR6, canTestInitMode(), IO_PORTS_8, MSG_WAR, and UNS8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canInitClock (UNS16  adrCAN,
canBusTime  clk 
)
-
-
- -

- -

-Definition at line 313 of file canOpenDriver.c. -

-References canBusTime::brp, CANBTR0, CANBTR1, CANCTL1, canTestInitMode(), canBusTime::clksrc, IO_PORTS_8, MSG_WAR, canBusTime::samp, canBusTime::sjw, canBusTime::tseg1, and canBusTime::tseg2. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canInitFilter (UNS16  adrCAN,
canBusFilterInit  fi 
)
-
-
- -

- -

-Definition at line 364 of file canOpenDriver.c. -

-References CANIDAC, CANIDAR0, canBusFilterInit::canidar0, CANIDAR1, canBusFilterInit::canidar1, CANIDAR2, canBusFilterInit::canidar2, CANIDAR3, canBusFilterInit::canidar3, CANIDAR4, canBusFilterInit::canidar4, CANIDAR5, canBusFilterInit::canidar5, CANIDAR6, canBusFilterInit::canidar6, CANIDAR7, canBusFilterInit::canidar7, CANIDMR0, canBusFilterInit::canidmr0, CANIDMR1, canBusFilterInit::canidmr1, CANIDMR2, canBusFilterInit::canidmr2, CANIDMR3, canBusFilterInit::canidmr3, CANIDMR4, canBusFilterInit::canidmr4, CANIDMR5, canBusFilterInit::canidmr5, CANIDMR6, canBusFilterInit::canidmr6, CANIDMR7, canBusFilterInit::canidmr7, canTestInitMode(), canBusFilterInit::idam, IO_PORTS_8, and MSG_WAR. -

-

- -

-
- - - - - - - - - -
char canInitMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 392 of file canOpenDriver.c. -

-References CANCTL0, canTestInitMode(), and IO_PORTS_8. -

-

- -

-
- - - - - - - - - -
char canInitModeQ (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 401 of file canOpenDriver.c. -

-References CANCTL0, canTestInitMode(), and IO_PORTS_8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canMsgTransmit (UNS16  adrCAN,
Message  msg 
)
-
-
- -

- -

-Definition at line 410 of file canOpenDriver.c. -

-References CANTBSEL, CANTFLG, CANTRSDTA, CANTRSID, CANTRSLEN, CANTRSPRI, Message::cob_id, Message::data, IO_PORTS_8, Message::len, MSG_WAR, Message::rtr, UNS8, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canSend (UNS8  notused,
Message m 
)
-
-
- -

- -

-Definition at line 505 of file canOpenDriver.c. -

-References canMsgTransmit(), and CANOPEN_LINE_NUMBER_USED. -

-

- -

-
- - - - - - - - - -
char canSetInterrupt (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 445 of file canOpenDriver.c. -

-References CANRIER, CANTIER, and IO_PORTS_8. -

-

- -

-
- - - - - - - - - -
char canSleepMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 452 of file canOpenDriver.c. -

-References CANCTL0, canTestSleepMode(), and IO_PORTS_8. -

-

- -

-
- - - - - - - - - -
char canSleepModeQ (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 466 of file canOpenDriver.c. -

-References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR. -

-

- -

-
- - - - - - - - - -
char canSleepWupMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 480 of file canOpenDriver.c. -

-References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR. -

-

- -

-
- - - - - - - - - -
char canTestInitMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 493 of file canOpenDriver.c. -

-References CANCTL1, and IO_PORTS_8. -

-

- -

-
- - - - - - - - - -
char canTestSleepMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 499 of file canOpenDriver.c. -

-References CANCTL1, and IO_PORTS_8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 f_can_receive (UNS8  notused,
Message m 
)
-
-
- -

- -

-Definition at line 513 of file canOpenDriver.c. -

-References CAN0, CAN1, CAN2, CAN3, CAN4, CANOPEN_LINE_NUMBER_USED, Message::cob_id, Message::data, Message::len, MAX_STACK_MSG_RCV, t_pointerStack::r, Message::rtr, UNS8, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - -
TIMEVAL getElapsedTime (void   ) 
-
-
- -

- -

-Definition at line 66 of file canOpenDriver.c. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
char* hex_convert (char *  buf,
unsigned long  value,
char  lastCar 
)
-
-
- -

-Convert an integer to a string in hexadecimal format If you do not wants to use a lastCar, put lastCar = '' (end of string) ex : value = 0XABCDEF and lastCar = '
-' buf[0] = '0' buf[1] = 'X' buf[2] = 'A' .... buf[7] = 'F' buf[8] = '
-' buf[9] = '' -

-Definition at line 135 of file canOpenDriver.c. -

-

- -

-
- - - - - - - - - -
void initHCS12 (void   ) 
-
-
- -

-Put here all the code to init the HCS12. -

- -

-Definition at line 199 of file canOpenDriver.c. -

-References initPLL(), and MSG_WAR. -

-

- -

-
- - - - - - - - - -
void initPLL (void   ) 
-
-
- -

-to start using the PLL. Bus clock becomes 24 MHz if the quartz on the board is at 16 MHz -

-Definition at line 188 of file canOpenDriver.c. -

-References CLKSEL, CRGFLG, IO_PORTS_8, PLLCTL, REFDV, and SYNR. -

-

- -

-
- - - - - - - - - -
void initSCI_0 (void   ) 
-
-
- -

-Initialisation of the serial port 0. -

- -

-Definition at line 115 of file canOpenDriver.c. -

-References BUS_CLOCK, IO_PORTS_16, IO_PORTS_8, SCI0, SCIBDH, SCICR1, SCICR2, and SERIAL_SCI0_BAUD_RATE. -

-

- -

-
- - - - - - - - - -
void initSCI_1 (void   ) 
-
-
- -

-Initialisation of the serial port 1. -

- -

-Definition at line 124 of file canOpenDriver.c. -

-References BUS_CLOCK, IO_PORTS_16, IO_PORTS_8, SCI1, SCIBDH, SCICR1, SCICR2, and SERIAL_SCI1_BAUD_RATE. -

-

- -

-
- - - - - - - - - -
void initTimer (void   ) 
-
-
- -

- -

-Definition at line 79 of file canOpenDriver.c. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
void printSCI_nbr (char  sci,
unsigned long  nbr,
char  lastCar 
)
-
-
- -

-Print the number in hexadecimal to the serial port sci (sci takes the values SCI0 or SCI1) -

-Definition at line 179 of file canOpenDriver.c. -

-References hex_convert(), and printSCI_str(). -

-

- -

-
- - - - - - - - - - - - - - - - - - -
void printSCI_str (char  sci,
const char *  str 
)
-
-
- -

-Print the string to the serial port sci (sci takes the values SCI0 or SCI1) -

-Definition at line 162 of file canOpenDriver.c. -

-References IO_PORTS_8, SCIDRL, and SCISR1. -

-

- -

-
- - - - - - - - - -
void resetTimer (void   ) 
-
-
- -

- -

-Definition at line 73 of file canOpenDriver.c. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_00ffb46abacfdfa56ebc70e15164113e_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_00ffb46abacfdfa56ebc70e15164113e_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInitModeQ",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_00ffb46abacfdfa56ebc70e15164113e_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_00ffb46abacfdfa56ebc70e15164113e_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -4b78aa688f305e7d5b1a0204d46370d9 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_0b98e4800c82d99981833aa4207f1eb9_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_0b98e4800c82d99981833aa4207f1eb9_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInitMode",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_0b98e4800c82d99981833aa4207f1eb9_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_0b98e4800c82d99981833aa4207f1eb9_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ce575cd9ea5d959bf1208cf1d449ea14 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_1ae1ad5d66ac87085baf5b9d0a4e62ca_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_1ae1ad5d66ac87085baf5b9d0a4e62ca_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSleepWupMode",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canTestSleepMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#fa79f2ac95a8143c2fb087260df39820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_1ae1ad5d66ac87085baf5b9d0a4e62ca_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_1ae1ad5d66ac87085baf5b9d0a4e62ca_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ae72df7e912f53e5d96075252b375173 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_3c4f7a31d94e5e7c7322535467b806de_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_3c4f7a31d94e5e7c7322535467b806de_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInit",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canEnable",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#5a53a89d2e348d70331e6ebe269d155a"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canInitClock",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6ec3ce6d79012dd8a08fa5aeb6a0489f"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="canInitFilter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b4502eef7616b25c74b1ac5a2245b085"]; - Node5 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="canInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#0b98e4800c82d99981833aa4207f1eb9"]; - Node6 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="canInitModeQ",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#00ffb46abacfdfa56ebc70e15164113e"]; - Node7 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="canSetInterrupt",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#5ad8616a3276f7f40149b551f09aa6a1"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="canSleepMode",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#c7773223579ec7e0fab5238df214da89"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="canSleepModeQ",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#a89f28005eea54f5b216eb72a18d45f3"]; - Node10 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_3c4f7a31d94e5e7c7322535467b806de_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_3c4f7a31d94e5e7c7322535467b806de_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6f38e9abfd2284616b22f2f04f87f248 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_5fb549697afb7918607aa113e01c543d_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_5fb549697afb7918607aa113e01c543d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInit1Filter",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_5fb549697afb7918607aa113e01c543d_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_5fb549697afb7918607aa113e01c543d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -012753a05393e159678f6ad2c62f956b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_6ec3ce6d79012dd8a08fa5aeb6a0489f_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_6ec3ce6d79012dd8a08fa5aeb6a0489f_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInitClock",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_6ec3ce6d79012dd8a08fa5aeb6a0489f_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_6ec3ce6d79012dd8a08fa5aeb6a0489f_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -2ddee194a974e7b451b6c62e4eeaa270 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_751a41c9747b96ab400b5599370cea83_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_751a41c9747b96ab400b5599370cea83_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canChangeFilter",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canInitFilter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b4502eef7616b25c74b1ac5a2245b085"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#0b98e4800c82d99981833aa4207f1eb9"]; - Node4 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="canInitModeQ",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#00ffb46abacfdfa56ebc70e15164113e"]; - Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="canSetInterrupt",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#5ad8616a3276f7f40149b551f09aa6a1"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="canSleepMode",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#c7773223579ec7e0fab5238df214da89"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="canSleepModeQ",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#a89f28005eea54f5b216eb72a18d45f3"]; - Node8 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_751a41c9747b96ab400b5599370cea83_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_751a41c9747b96ab400b5599370cea83_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d0bccbf65ecd5d37aa808c6d60f1621e \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_80f5dbbc046cba0e5e9cf2bcc4c1e78e_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_80f5dbbc046cba0e5e9cf2bcc4c1e78e_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="printSCI_nbr",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="hex_convert",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#2a9aef0efc98c5b41ef97ef91ad403e5"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="printSCI_str",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6e3075ae435e83aefc018e5218c197d0"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_80f5dbbc046cba0e5e9cf2bcc4c1e78e_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_80f5dbbc046cba0e5e9cf2bcc4c1e78e_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -682cad49c36f500fad96647743ac4115 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c__incl.dot --- a/doc/doxygen/html/canOpenDriver_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/canOpenDriver.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stddef.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="../include/hcs12/asm-m68hc12/portsaccess.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="../include/hcs12/asm-m68hc12/ports_def.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="../include/hcs12/asm-m68hc12/ports.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="../include/data.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="../include/hcs12/applicfg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="../include/hcs12/candriver.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="../include/hcs12/interrupt.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="../include/hcs12/canOpenDriver.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="../include/can.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="../include/objdictdef.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="../include/timer.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c__incl.md5 --- a/doc/doxygen/html/canOpenDriver_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -11f481dbbe2503019a4758a56a59e25f \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_a89f28005eea54f5b216eb72a18d45f3_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_a89f28005eea54f5b216eb72a18d45f3_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSleepModeQ",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canTestSleepMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#fa79f2ac95a8143c2fb087260df39820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_a89f28005eea54f5b216eb72a18d45f3_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_a89f28005eea54f5b216eb72a18d45f3_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -bff772af432c9bf129d5cdb92cdf96e2 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_acfd181d5b055d1403930442e28ac643_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_acfd181d5b055d1403930442e28ac643_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canAddIdToFilter",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_acfd181d5b055d1403930442e28ac643_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_acfd181d5b055d1403930442e28ac643_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -4663063898fb1310659a14a243232e70 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_b4502eef7616b25c74b1ac5a2245b085_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_b4502eef7616b25c74b1ac5a2245b085_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInitFilter",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_b4502eef7616b25c74b1ac5a2245b085_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_b4502eef7616b25c74b1ac5a2245b085_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -0db8c5aaac5a9c2958641772b67c71cd \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_b57b4b3c000e9f61135175495e874977_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_b57b4b3c000e9f61135175495e874977_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canMsgTransmit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#2f2d1ed55cfd9d7f85883f8d70d318ba"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_b57b4b3c000e9f61135175495e874977_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_b57b4b3c000e9f61135175495e874977_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6c5ed89abb4693f1153f06408fb0c85a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_c71399958d35a7f703416f025603ee26_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_c71399958d35a7f703416f025603ee26_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="initHCS12",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="initPLL",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#51e71c727eb7a49e2fde962a3d190a6b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_c71399958d35a7f703416f025603ee26_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_c71399958d35a7f703416f025603ee26_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -64fd0ba0b09bf349a9da02e6354f9dff \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_c7773223579ec7e0fab5238df214da89_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8c_c7773223579ec7e0fab5238df214da89_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSleepMode",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestSleepMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#fa79f2ac95a8143c2fb087260df39820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8c_c7773223579ec7e0fab5238df214da89_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8c_c7773223579ec7e0fab5238df214da89_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -59815630f7ae4c180bd2ea3a46900c77 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8h-source.html --- a/doc/doxygen/html/canOpenDriver_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/canOpenDriver.h Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/canOpenDriver.h

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 
-00024 #ifndef __CANOPENDRIVER__
-00025 #define __CANOPENDRIVER__
-00026 
-00027 
-00028 
-00029 // ---------  to be called by user app ---------
-00030 
-00031 void initTimer(void);
-00032 void resetTimer(void);
-00033 void TimerLoop(void);
-00034 
-00041 UNS8 f_can_receive(UNS8 notused, Message *m);
-00042 
-00043 #endif
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8h.html --- a/doc/doxygen/html/canOpenDriver_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/canOpenDriver.h File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/canOpenDriver.h File Reference

-

-Go to the source code of this file. - - - - - - - - - - -

Functions

void initTimer (void)
void resetTimer (void)
void TimerLoop (void)
UNS8 f_can_receive (UNS8 notused, Message *m)
-


Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
UNS8 f_can_receive (UNS8  notused,
Message m 
)
-
-
- -

-Returns 0 if no message received, 0xFF if the receiving stack is not empty. May be call in polling. You can also call canDispatch(...) in void __attribute__((interrupt)) can0HdlRcv (void) (see include/hcs12/canOpenDriver.c) -

-

- -

-
- - - - - - - - - -
void initTimer (void   ) 
-
-
- -

- -

-Definition at line 79 of file canOpenDriver.c. -

-References IO_PORTS_8, last_sig, lock(), TCTL1, TIE, timer, timer_notify(), TIOS, TSCR1, TSCR2, and unlock(). -

-

- -

-
- - - - - - - - - -
void resetTimer (void   ) 
-
-
- -

- -

-Definition at line 73 of file canOpenDriver.c. -

-

- -

-
- - - - - - - - - -
void TimerLoop (void   ) 
-
-
- -

- -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8h_02922529b60419a94afe8f369dda070b_cgraph.dot --- a/doc/doxygen/html/canOpenDriver_8h_02922529b60419a94afe8f369dda070b_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="initTimer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="lock",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$interrupt_8c.html#eb99ff49b4a6d5157416f9b5bd0d9c2c"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="__asm__",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$regs_8h.html#b1b104e72affb247e036289d0fc18ac7"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="timer_notify",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#4cd19302f57b08fc0403a05017332735"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node4 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="TimeDispatch",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8c.html#fa75192a3238525618f8cb83004930cc"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="unlock",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$interrupt_8c.html#987ce601d6d4c8eedd68b58db3b7811a"]; - Node8 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canOpenDriver_8h_02922529b60419a94afe8f369dda070b_cgraph.md5 --- a/doc/doxygen/html/canOpenDriver_8h_02922529b60419a94afe8f369dda070b_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -daaabcefc629fc00186d8d2701b262c3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can_8h-source.html --- a/doc/doxygen/html/can_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/can.h Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/can.h

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 #ifndef __can_h__
-00024 #define __can_h__
-00025 
-00026 #include "applicfg.h"
-00028 /*
-00029 union SHORT_CAN {
-00030   struct { UNS8 b0,b1; } b;
-00031   UNS32 w;
-00032 };
-00033 */
-00034 
-00035 typedef struct {
-00036   UNS32 w; /* 32 bits */
-00037 } SHORT_CAN;
-00038 
-00039 
-00041 typedef struct {
-00042   SHORT_CAN cob_id;     /* l'ID du mesg */
-00043   UNS8 rtr;                     /* remote transmission request. 0 if not rtr, 
-00044                    1 for a rtr message */
-00045   UNS8 len;                     /* message length (0 to 8) */
-00046   UNS8 data[8]; /* data */
-00047 } Message;
-00048 
-00049 
-00050 typedef UNS8 (*canSend_t)(Message *);
-00051 
-00052 #endif /* __can_h__ */
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can_8h.html --- a/doc/doxygen/html/can_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/can.h File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/can.h File Reference

#include "applicfg.h"
- -

-Go to the source code of this file. - - - - - - - - - -

Data Structures

struct  SHORT_CAN
struct  Message

Typedefs

typedef UNS8(*) canSend_t (Message *)
-


Typedef Documentation

- -
-
- - - - -
typedef UNS8(*) canSend_t(Message *)
-
-
- -

- -

-Definition at line 50 of file can.h. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can_8h__dep__incl.dot --- a/doc/doxygen/html/can_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/can.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node2 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__lincan_8c.html"]; - Node2 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_linux/can_peak_linux.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__peak__linux_8c.html"]; - Node2 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_win32/can_peak_win32.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__peak__win32_8c.html"]; - Node2 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_socket/can_socket.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__socket_8c.html"]; - Node2 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_uvccm_win32/can_uvccm_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__uvccm__win32_8cpp.html"]; - Node2 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__virtual_8c.html"]; - Node2 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__xeno_8c.html"]; - Node2 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node2 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__win32_8cpp.html"]; - Node2 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node2 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node13 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node13 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node1 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node16 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node17 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node17 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node18 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node18 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node19 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node19 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node20 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node16 -> Node21 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node21 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 -> Node22 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node22 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node22 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node23 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node23 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node24 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node24 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node25 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$hcs12_2applicfg_8h.html"]; - Node1 -> Node26 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$candriver_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can_8h__dep__incl.md5 --- a/doc/doxygen/html/can_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -9699a73e9780baf155dc4ed0440e90cd \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can_8h__incl.dot --- a/doc/doxygen/html/can_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/can.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can_8h__incl.md5 --- a/doc/doxygen/html/can_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -9b410c35dc357b0793b87811c09f43cf \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__driver_8h-source.html --- a/doc/doxygen/html/can__driver_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 #ifndef __can_driver_h__
-00024 #define __can_driver_h__
-00025 
-00026 struct struct_s_BOARD;
-00027 
-00028 typedef struct struct_s_BOARD s_BOARD;
-00029 
-00030 #include "applicfg.h"
-00031 #include "can.h"
-00032 
-00033 struct struct_s_BOARD {
-00034   char * busname;
-00035   char * baudrate;
-00036 };
-00037 
-00038 #ifndef DLL_CALL
-00039 #define DLL_CALL(funcname) funcname##_driver
-00040 #endif
-00041 
-00042 #ifndef FCT_PTR_INIT
-00043 #define FCT_PTR_INIT
-00044 #endif
-00045 
-00046 
-00047 UNS8 DLL_CALL(canReceive)(CAN_HANDLE, Message *)FCT_PTR_INIT;
-00048 UNS8 DLL_CALL(canSend)(CAN_HANDLE, Message *)FCT_PTR_INIT;
-00049 CAN_HANDLE DLL_CALL(canOpen)(s_BOARD *)FCT_PTR_INIT;
-00050 int DLL_CALL(canClose)(CAN_HANDLE)FCT_PTR_INIT;
-00051 
-00052 #endif
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__driver_8h.html --- a/doc/doxygen/html/can__driver_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,195 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h File Reference

#include "applicfg.h"
-#include "can.h"
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - -

Data Structures

struct  struct_s_BOARD

Defines

#define DLL_CALL(funcname)   funcname##_driver

Typedefs

typedef struct_s_BOARD s_BOARD

Functions

UNS8 DLL_CALL() canReceive (CAN_HANDLE, Message *) FCT_PTR_INIT
UNS8 DLL_CALL() canSend (CAN_HANDLE, Message *) FCT_PTR_INIT
CAN_HANDLE DLL_CALL() canOpen (s_BOARD *) FCT_PTR_INIT
int DLL_CALL() canClose (CAN_HANDLE) FCT_PTR_INIT
-


Define Documentation

- -
-
- - - - - - - - - -
#define DLL_CALL (funcname   )    funcname##_driver
-
-
- -

- -

-Definition at line 39 of file can_driver.h. -

-

-


Typedef Documentation

- -
-
- - - - -
typedef struct struct_s_BOARD s_BOARD
-
-
- -

- -

-Definition at line 28 of file can_driver.h. -

-

-


Function Documentation

- -
-
- - - - - - - - - -
int DLL_CALL() canClose (CAN_HANDLE   ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - -
CAN_HANDLE DLL_CALL() canOpen (s_BOARD  ) 
-
-
- -

- -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 DLL_CALL() canReceive (CAN_HANDLE ,
Message 
)
-
-
- -

- -

-Definition at line 124 of file drivers_win32.cpp. -

-References driver_data::inst, driver_procs::m_canReceive, and s_driver_procs. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 DLL_CALL() canSend (CAN_HANDLE ,
Message 
)
-
-
- -

- -

-Definition at line 120 of file unix.c. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__driver_8h__dep__incl.dot --- a/doc/doxygen/html/can__driver_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__lincan_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_linux/can_peak_linux.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__peak__linux_8c.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_win32/can_peak_win32.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__peak__win32_8c.html"]; - Node1 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_socket/can_socket.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__socket_8c.html"]; - Node1 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_uvccm_win32/can_uvccm_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__uvccm__win32_8cpp.html"]; - Node1 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__virtual_8c.html"]; - Node1 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__xeno_8c.html"]; - Node1 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node1 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__win32_8cpp.html"]; - Node1 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node1 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node12 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__driver_8h__dep__incl.md5 --- a/doc/doxygen/html/can__driver_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -f641bffb55ebf19c984454509ba497ba \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__driver_8h__incl.dot --- a/doc/doxygen/html/can__driver_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node3 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__driver_8h__incl.md5 --- a/doc/doxygen/html/can__driver_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d7d6a3cd6a46cbd1d3c65c1c7d41b6d7 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__lincan_8c-source.html --- a/doc/doxygen/html/can__lincan_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,157 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack.
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 #include <stdio.h>
-00024 #include <string.h>
-00025 #include <errno.h>
-00026 #include <fcntl.h>
-00027 
-00028 #include "canmsg.h"
-00029 #include "lincan.h"
-00030 
-00031 #include "can_driver.h"
-00032 
-00033 /*********functions which permit to communicate with the board****************/
-00034 UNS8 canReceive_driver(CAN_HANDLE fd0, Message *m)
-00035 {
-00036   int res;
-00037   struct canmsg_t canmsg;
-00038 
-00039   canmsg.flags = 0; /* Ensure standard receive, not required for LinCAN>=0.3.1 */
-00040 
-00041   do{
-00042     res = read(fd0,&canmsg,sizeof(canmsg_t));
-00043     if((res<0)&&(errno == -EAGAIN)) res = 0;
-00044   }while(res==0);
-00045 
-00046   if(res != sizeof(canmsg_t)) // No new message
-00047     return 1;
-00048 
-00049   if(canmsg.flags&MSG_EXT){
-00050     /* There is no mark for extended messages in CanFestival */;
-00051   }
-00052 
-00053   m->cob_id.w = canmsg.id;
-00054   m->len = canmsg.length;
-00055   if(canmsg.flags&MSG_RTR){
-00056     m->rtr = 1;
-00057   }else{
-00058     m->rtr = 0;
-00059     memcpy(m->data,canmsg.data,8);
-00060   }
-00061 
-00062   return 0;
-00063 }
-00064 
-00065 /***************************************************************************/
-00066 UNS8 canSend_driver(CAN_HANDLE fd0, Message *m)
-00067 {
-00068   int res;
-00069   struct canmsg_t canmsg;
-00070 
-00071 
-00072   canmsg.flags = 0;
-00073   canmsg.id = m->cob_id.w;
-00074   canmsg.length = m->len;
-00075   if(m->rtr){
-00076     canmsg.flags |= MSG_RTR;
-00077   }else{
-00078     memcpy(canmsg.data,m->data,8);
-00079   }
-00080 
-00081   if(canmsg.id >= 0x800){
-00082     canmsg.flags |= MSG_EXT;
-00083   }
-00084 
-00085   res = write(fd0,&canmsg,sizeof(canmsg_t));
-00086   if(res!=sizeof(canmsg_t))
-00087     return 1;
-00088 
-00089   return 0;
-00090 }
-00091 
-00092 /***************************************************************************/
-00093 static const char lnx_can_dev_prefix[] = "/dev/can";
-00094 
-00095 CAN_HANDLE canOpen_driver(s_BOARD *board)
-00096 {
-00097   int name_len = strlen(board->busname);
-00098   int prefix_len = strlen(lnx_can_dev_prefix);
-00099   char dev_name[prefix_len+name_len+1];
-00100   int o_flags = 0;
-00101   CAN_HANDLE fd0;
-00102 
-00103   fd0=malloc(sizeof(*fd0));
-00104   if(fd0==NULL)
-00105     return NULL;
-00106 
-00107   /*o_flags = O_NONBLOCK;*/
-00108 
-00109   memcpy(dev_name,lnx_can_dev_prefix,prefix_len);
-00110   memcpy(dev_name+prefix_len,board->busname,name_len);
-00111   dev_name[prefix_len+name_len] = 0;
-00112 
-00113   fd0 = open(dev_name, O_RDWR|o_flags);
-00114   if(fd0 < 0){
-00115     fprintf(stderr,"!!! Board %s is unknown. See can_lincan.c\n", board->busname);
-00116     goto error_ret;
-00117   }
-00118 
-00119   return fd0;
-00120 
-00121  error_ret:
-00122   free(fd0);
-00123   return NULL;
-00124 }
-00125 
-00126 /***************************************************************************/
-00127 int canClose_driver(CAN_HANDLE fd0)
-00128 {
-00129   if(!fd0)
-00130     return 0;
-00131   close(fd0);
-00132   return 0;
-00133 }
-

Generated on Mon Jun 4 16:29:05 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__lincan_8c.html --- a/doc/doxygen/html/can__lincan_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,158 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c File Reference

#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include "canmsg.h"
-#include "lincan.h"
-#include "can_driver.h"
- -

-Go to the source code of this file. - - - - - - - - - - -

Functions

UNS8 canReceive_driver (CAN_HANDLE fd0, Message *m)
UNS8 canSend_driver (CAN_HANDLE fd0, Message *m)
CAN_HANDLE canOpen_driver (s_BOARD *board)
int canClose_driver (CAN_HANDLE fd0)
-


Function Documentation

- -
-
- - - - - - - - - -
int canClose_driver (CAN_HANDLE  fd0  ) 
-
-
- -

- -

-Definition at line 127 of file can_lincan.c. -

-

- -

-
- - - - - - - - - -
CAN_HANDLE canOpen_driver (s_BOARD board  ) 
-
-
- -

- -

-Definition at line 95 of file can_lincan.c. -

-References struct_s_BOARD::busname. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canReceive_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 34 of file can_lincan.c. -

-References Message::cob_id, canmsg_t::data, Message::data, canmsg_t::flags, canmsg_t::id, Message::len, canmsg_t::length, MSG_EXT, MSG_RTR, Message::rtr, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canSend_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 66 of file can_lincan.c. -

-References Message::cob_id, Message::data, canmsg_t::data, canmsg_t::flags, canmsg_t::id, Message::len, canmsg_t::length, MSG_EXT, MSG_RTR, Message::rtr, and SHORT_CAN::w. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__lincan_8c__incl.dot --- a/doc/doxygen/html/can__lincan_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="errno.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="fcntl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="canmsg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canmsg_8h.html"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sys/time.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="sys/types.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="lincan.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lincan_8h.html"]; - Node9 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="sys/ioctl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node9 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node12 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node13 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__lincan_8c__incl.md5 --- a/doc/doxygen/html/can__lincan_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -8fdbcd456066597e19c0caa29acaa0ae \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__linux_8c-source.html --- a/doc/doxygen/html/can__peak__linux_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,157 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_linux/can_peak_linux.c Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_linux/can_peak_linux.c

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 #include <stdio.h>
-00024 #include <string.h>
-00025 #include <errno.h>
-00026 #include <fcntl.h>
-00027 
-00028 /* driver pcan pci for Peak board */
-00029 //#include "libpcan.h"
-00030 //#include "pcan.h"
-00031 
-00032 #include "libpcan.h" // for CAN_HANDLE
-00033 
-00034 #include "can_driver.h"
-00035 
-00036 // Define for rtr CAN message
-00037 #define CAN_INIT_TYPE_ST_RTR MSGTYPE_STANDARD | MSGTYPE_RTR 
-00038 
-00039 /*********functions which permit to communicate with the board****************/
-00040 UNS8 canReceive_driver(CAN_HANDLE fd0, Message *m)
-00041 {
-00042   UNS8 data; 
-00043   TPCANMsg peakMsg;
-00044   if ((errno = CAN_Read(fd0, & peakMsg))) {             // Blocks until no new message or error.
-00045     if(errno != -EIDRM && errno != -EPERM) // error is not "Can Port closed while reading" 
-00046     {
-00047         perror("canReceive_driver (Peak_Linux) : error of reading.\n");
-00048     }
-00049     return 1;
-00050   }
-00051   m->cob_id.w = peakMsg.ID;   
-00052   if (peakMsg.MSGTYPE == CAN_INIT_TYPE_ST)              /* bits of MSGTYPE_*/
-00053     m->rtr = 0;
-00054   else 
-00055     m->rtr = 1;
-00056   m->len = peakMsg.LEN;                                 /* count of data bytes (0..8) */
-00057   for(data = 0  ; data < peakMsg.LEN ; data++)                                  
-00058     m->data[data] = peakMsg.DATA[data];                 /* data bytes, up to 8 */
-00059   
-00060   return 0;
-00061 }
-00062 
-00063 /***************************************************************************/
-00064 UNS8 canSend_driver(CAN_HANDLE fd0, Message *m)
-00065 {
-00066   UNS8 data;
-00067   TPCANMsg peakMsg;
-00068   peakMsg.ID=m -> cob_id.w;                                     /* 11/29 bit code */
-00069   if(m->rtr == 0)       
-00070     peakMsg.MSGTYPE = CAN_INIT_TYPE_ST;       /* bits of MSGTYPE_*/
-00071   else {
-00072     peakMsg.MSGTYPE = CAN_INIT_TYPE_ST_RTR;       /* bits of MSGTYPE_*/
-00073   }
-00074   peakMsg.LEN = m->len;   
-00075                                 /* count of data bytes (0..8) */
-00076   for(data = 0 ; data <  m->len; data ++)
-00077         peakMsg.DATA[data] = m->data[data];             /* data bytes, up to 8 */
-00078   
-00079   if((errno = CAN_Write(fd0, & peakMsg))) {
-00080     perror("canSend_driver (Peak_Linux) : error of writing.\n");
-00081     return 1;
-00082   }
-00083   return 0;
-00084 
-00085 }
-00086 
-00087 
-00088 /***************************************************************************/
-00089 int TranslateBaudeRate(char* optarg){
-00090         if(!strcmp( optarg, "1M")) return CAN_BAUD_1M;
-00091         if(!strcmp( optarg, "500K")) return CAN_BAUD_500K;
-00092         if(!strcmp( optarg, "250K")) return CAN_BAUD_250K;
-00093         if(!strcmp( optarg, "125K")) return CAN_BAUD_125K;
-00094         if(!strcmp( optarg, "100K")) return CAN_BAUD_100K;
-00095         if(!strcmp( optarg, "50K")) return CAN_BAUD_50K;
-00096         if(!strcmp( optarg, "20K")) return CAN_BAUD_20K;
-00097         if(!strcmp( optarg, "10K")) return CAN_BAUD_10K;
-00098         if(!strcmp( optarg, "5K")) return CAN_BAUD_5K;
-00099         if(!strcmp( optarg, "none")) return 0;
-00100         return 0x0000;
-00101 }
-00102 
-00103 /***************************************************************************/
-00104 CAN_HANDLE canOpen_driver(s_BOARD *board)
-00105 {
-00106   HANDLE fd0 = NULL;
-00107   char busname[64];
-00108   char* pEnd;
-00109   int i;  
-00110   int baudrate;
-00111   
-00112   if(strtol(board->busname, &pEnd,0) >= 0)
-00113   {
-00114     sprintf(busname,"/dev/pcan%s",board->busname);
-00115     fd0 = LINUX_CAN_Open(busname, O_RDWR);
-00116   }
-00117 
-00118   if(fd0 && (baudrate = TranslateBaudeRate(board->baudrate)))
-00119   {
-00120         CAN_Init(fd0, baudrate, CAN_INIT_TYPE_ST);
-00121   }else{
-00122         fprintf(stderr, "canOpen_driver (Peak_Linux) : error opening %s\n", busname);
-00123   }
-00124 
-00125    return (CAN_HANDLE)fd0;
-00126 }
-00127 
-00128 /***************************************************************************/
-00129 int canClose_driver(CAN_HANDLE fd0)
-00130 {
-00131   CAN_Close(fd0);
-00132   return 0;
-00133 }
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__linux_8c.html --- a/doc/doxygen/html/can__peak__linux_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_linux/can_peak_linux.c File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_linux/can_peak_linux.c File Reference

#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include "libpcan.h"
-#include "can_driver.h"
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - -

Defines

#define CAN_INIT_TYPE_ST_RTR   MSGTYPE_STANDARD | MSGTYPE_RTR

Functions

UNS8 canReceive_driver (CAN_HANDLE fd0, Message *m)
UNS8 canSend_driver (CAN_HANDLE fd0, Message *m)
int TranslateBaudeRate (char *optarg)
CAN_HANDLE canOpen_driver (s_BOARD *board)
int canClose_driver (CAN_HANDLE fd0)
-


Define Documentation

- -
-
- - - - -
#define CAN_INIT_TYPE_ST_RTR   MSGTYPE_STANDARD | MSGTYPE_RTR
-
-
- -

- -

-Definition at line 37 of file can_peak_linux.c. -

-

-


Function Documentation

- -
-
- - - - - - - - - -
int canClose_driver (CAN_HANDLE  fd0  ) 
-
-
- -

- -

-Definition at line 129 of file can_peak_linux.c. -

-

- -

-
- - - - - - - - - -
CAN_HANDLE canOpen_driver (s_BOARD board  ) 
-
-
- -

- -

-Definition at line 104 of file can_peak_linux.c. -

-References struct_s_BOARD::baudrate, struct_s_BOARD::busname, and TranslateBaudeRate(). -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canReceive_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 40 of file can_peak_linux.c. -

-References Message::cob_id, Message::data, Message::len, Message::rtr, UNS8, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canSend_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 64 of file can_peak_linux.c. -

-References CAN_INIT_TYPE_ST_RTR, Message::data, Message::len, Message::rtr, and UNS8. -

-

- -

-
- - - - - - - - - -
int TranslateBaudeRate (char *  optarg  ) 
-
-
- -

- -

-Definition at line 89 of file can_peak_linux.c. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__linux_8c_945403aba7f36acbd2e7160ade361bab_cgraph.dot --- a/doc/doxygen/html/can__peak__linux_8c_945403aba7f36acbd2e7160ade361bab_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canOpen_driver",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="TranslateBaudeRate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__peak__linux_8c.html#6820d7fa32e6e79d432c6003e4c15c32"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__linux_8c_945403aba7f36acbd2e7160ade361bab_cgraph.md5 --- a/doc/doxygen/html/can__peak__linux_8c_945403aba7f36acbd2e7160ade361bab_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -a3faf4e1734f930914dfe14dbfed45ff \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__linux_8c__incl.dot --- a/doc/doxygen/html/can__peak__linux_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_linux/can_peak_linux.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="errno.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="fcntl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="libpcan.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node8 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__linux_8c__incl.md5 --- a/doc/doxygen/html/can__peak__linux_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -fc085ce4396589bc3c6f1b4801bc79bf \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c-source.html --- a/doc/doxygen/html/can__peak__win32_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,277 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_win32/can_peak_win32.c Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_win32/can_peak_win32.c

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 #if defined(WIN32) && !defined(__CYGWIN__)
-00024 #define usleep(micro) Sleep(micro%1000 ? (micro/1000) + 1 : (micro/1000))
-00025 #else
-00026 #include <stdio.h>
-00027 #include <string.h>
-00028 #include <errno.h>
-00029 #include <fcntl.h>
-00030 #endif
-00031 
-00032 #include "cancfg.h"
-00033 #include "can_driver.h"
-00034 
-00035 #ifndef extra_PCAN_init_params
-00036         #define extra_PCAN_init_params 
-00037 #else
-00038         #define extra_PCAN_init_params\
-00039                 ,getenv("PCANHwType") ? strtol(getenv("PCANHwType"),NULL,0):0\
-00040                 ,getenv("PCANIO_Port") ? strtol(getenv("PCANIO_Port"),NULL,0):0\
-00041                 ,getenv("PCANInterupt") ? strtol(getenv("PCANInterupt"),NULL,0):0
-00042 #endif
-00043 
-00044 static s_BOARD *first_board = NULL;
-00045 #ifdef PCAN2_HEADER_
-00046 static s_BOARD *second_board = NULL;
-00047 #endif
-00048 
-00049 //pthread_mutex_t PeakCan_mutex = PTHREAD_MUTEX_INITIALIZER;
-00050 
-00051 // Define for rtr CAN message
-00052 #define CAN_INIT_TYPE_ST_RTR MSGTYPE_STANDARD | MSGTYPE_RTR
-00053 
-00054 /***************************************************************************/
-00055 int TranslateBaudeRate(char* optarg){
-00056         if(!strcmp( optarg, "1M")) return CAN_BAUD_1M;
-00057         if(!strcmp( optarg, "500K")) return CAN_BAUD_500K;
-00058         if(!strcmp( optarg, "250K")) return CAN_BAUD_250K;
-00059         if(!strcmp( optarg, "125K")) return CAN_BAUD_125K;
-00060         if(!strcmp( optarg, "100K")) return CAN_BAUD_100K;
-00061         if(!strcmp( optarg, "50K")) return CAN_BAUD_50K;
-00062         if(!strcmp( optarg, "20K")) return CAN_BAUD_20K;
-00063         if(!strcmp( optarg, "10K")) return CAN_BAUD_10K;
-00064         if(!strcmp( optarg, "5K")) return CAN_BAUD_5K;
-00065         if(!strcmp( optarg, "none")) return 0;
-00066         return 0x0000;
-00067 }
-00068 
-00069 void
-00070 canInit (s_BOARD *board)
-00071 {
-00072         int baudrate;
-00073         
-00074 #ifdef PCAN2_HEADER_
-00075         // if not the first handler
-00076         if(second_board == (s_BOARD *)board)
-00077                 if(baudrate = TranslateBaudeRate(board->baudrate))
-00078                         CAN2_Init (baudrate,
-00079                           CAN_INIT_TYPE_ST extra_PCAN_init_params);
-00080 #endif
-00081         if(first_board == (s_BOARD *)board)
-00082                 if(baudrate = TranslateBaudeRate(board->baudrate))
-00083                         CAN_Init (baudrate,
-00084                           CAN_INIT_TYPE_ST extra_PCAN_init_params);
-00085 }
-00086 
-00087 /*********functions which permit to communicate with the board****************/
-00088 UNS8
-00089 canReceive_driver (CAN_HANDLE fd0, Message * m)
-00090 {
-00091         UNS8 data;
-00092         TPCANMsg peakMsg;
-00093 
-00094         DWORD Res;
-00095 
-00096         do{
-00097                 // We read the queue looking for messages.
-00098                 // 
-00099                 //pthread_mutex_lock (&PeakCan_mutex);
-00100 #ifdef PCAN2_HEADER_
-00101                 // if not the first handler
-00102                 if(second_board == (s_BOARD *)fd0)
-00103                         Res = CAN2_Read (&peakMsg);
-00104                 else
-00105 #endif
-00106                 if(first_board == (s_BOARD *)fd0)
-00107                         Res = CAN_Read (&peakMsg);
-00108                 else
-00109                         Res = CAN_ERR_BUSOFF;
-00110         
-00111                 // A message was received
-00112                 // We process the message(s)
-00113                 // 
-00114                 if (Res == CAN_ERR_OK)
-00115                 {
-00116                         // if something different that 11bit or rtr... problem
-00117                         if (peakMsg.MSGTYPE & ~(MSGTYPE_STANDARD | MSGTYPE_RTR))
-00118                         {
-00119                                 if (peakMsg.MSGTYPE == CAN_ERR_BUSOFF)
-00120                                 {
-00121                                         printf ("!!! Peak board read : re-init\n");
-00122                                         canInit((s_BOARD*) fd0);
-00123                                         usleep (10000);
-00124                                 }
-00125         
-00126                                 // If status, return status if 29bit, return overrun
-00127                                 //pthread_mutex_unlock (&PeakCan_mutex);
-00128                                 return peakMsg.MSGTYPE ==
-00129                                         MSGTYPE_STATUS ? peakMsg.DATA[2] : CAN_ERR_OVERRUN;
-00130                         }
-00131                         m->cob_id.w = peakMsg.ID;
-00132                         if (peakMsg.MSGTYPE == CAN_INIT_TYPE_ST)        /* bits of MSGTYPE_ */
-00133                                 m->rtr = 0;
-00134                         else
-00135                                 m->rtr = 1;
-00136                         m->len = peakMsg.LEN;   /* count of data bytes (0..8) */
-00137                         for (data = 0; data < peakMsg.LEN; data++)
-00138                                 m->data[data] = peakMsg.DATA[data];     /* data bytes, up to 8 */
-00139         
-00140                 }else{
-00141                 //pthread_mutex_unlock (&PeakCan_mutex);
-00142                 //if (Res != CAN_ERR_OK)
-00143                 //{
-00144                         if (!
-00145                                 (Res & CAN_ERR_QRCVEMPTY || Res & CAN_ERR_BUSLIGHT
-00146                                  || Res & CAN_ERR_BUSHEAVY))
-00147                         {
-00148                                 printf ("canReceive returned error (%d)\n", Res);
-00149                                 return 1;
-00150                         }
-00151                         usleep (1000);          
-00152                 }
-00153         }while(Res != CAN_ERR_OK);
-00154         return 0;
-00155 }
-00156 
-00157 /***************************************************************************/
-00158 UNS8
-00159 canSend_driver (CAN_HANDLE fd0, Message * m)
-00160 {
-00161         UNS8 data;
-00162         TPCANMsg peakMsg;
-00163         peakMsg.ID = m->cob_id.w;       /* 11/29 bit code */
-00164         if (m->rtr == 0)
-00165                 peakMsg.MSGTYPE = CAN_INIT_TYPE_ST;     /* bits of MSGTYPE_ */
-00166         else
-00167         {
-00168                 peakMsg.MSGTYPE = CAN_INIT_TYPE_ST_RTR; /* bits of MSGTYPE_ */
-00169         }
-00170         peakMsg.LEN = m->len;
-00171         /* count of data bytes (0..8) */
-00172         for (data = 0; data < m->len; data++)
-00173                 peakMsg.DATA[data] = m->data[data];     /* data bytes, up to 8 */
-00174         do
-00175         {
-00176 #ifdef PCAN2_HEADER_
-00177                 // if not the first handler
-00178                 if(second_board == (s_BOARD *)fd0)
-00179                         errno = CAN2_Write (&peakMsg);
-00180                 else 
-00181 #endif
-00182                 if(first_board == (s_BOARD *)fd0)
-00183                         errno = CAN_Write (&peakMsg);
-00184                 else 
-00185                         goto fail;
-00186                 if (errno)
-00187                 {
-00188                         if (errno == CAN_ERR_BUSOFF)
-00189                         {
-00190                                 printf ("!!! Peak board write : re-init\n");
-00191                                 canInit((s_BOARD*)fd0);
-00192                                 usleep (10000);
-00193                         }
-00194                         usleep (1000);
-00195                 }
-00196         }
-00197         while (errno != CAN_ERR_OK);
-00198         return 0;
-00199 fail:
-00200         return 1;
-00201 }
-00202 
-00203 /***************************************************************************/
-00204 CAN_HANDLE
-00205 canOpen_driver (s_BOARD * board)
-00206 {
-00207 #ifdef PCAN2_HEADER_
-00208         if(first_board != NULL && second_board != NULL)
-00209 #else
-00210         if(first_board != NULL)
-00211 #endif
-00212         {
-00213                 fprintf (stderr, "Open failed.\n");
-00214                 fprintf (stderr,
-00215                                  "can_peak_win32.c: no more can port available with this pcan library\n");
-00216                 fprintf (stderr,
-00217                                  "can_peak_win32.c: please link another executable with another pcan lib\n");
-00218                 return NULL;
-00219         }
-00220 
-00221 #ifdef PCAN2_HEADER_
-00222         if(first_board == NULL)
-00223                 first_board = board;
-00224         else
-00225                 second_board = board; 
-00226 #else
-00227         first_board = board;
-00228 #endif
-00229 
-00230         canInit(board);
-00231         
-00232         return (CAN_HANDLE)board;
-00233 }
-00234 
-00235 /***************************************************************************/
-00236 int
-00237 canClose_driver (CAN_HANDLE fd0)
-00238 {
-00239 #ifdef PCAN2_HEADER_
-00240         // if not the first handler
-00241         if(second_board == (s_BOARD *)fd0)
-00242         {
-00243                 CAN2_Close ();
-00244                 second_board = (s_BOARD *)NULL;
-00245         }else   
-00246 #endif
-00247         if(first_board == (s_BOARD *)fd0)
-00248         {
-00249                 CAN_Close ();
-00250                 first_board = (s_BOARD *)NULL;
-00251         }
-00252         return 0;
-00253 }
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c.html --- a/doc/doxygen/html/can__peak__win32_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,247 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_win32/can_peak_win32.c File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_win32/can_peak_win32.c File Reference

#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include "cancfg.h"
-#include "can_driver.h"
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - -

Defines

#define extra_PCAN_init_params
#define CAN_INIT_TYPE_ST_RTR   MSGTYPE_STANDARD | MSGTYPE_RTR

Functions

int TranslateBaudeRate (char *optarg)
void canInit (s_BOARD *board)
UNS8 canReceive_driver (CAN_HANDLE fd0, Message *m)
UNS8 canSend_driver (CAN_HANDLE fd0, Message *m)
CAN_HANDLE canOpen_driver (s_BOARD *board)
int canClose_driver (CAN_HANDLE fd0)
-


Define Documentation

- -
-
- - - - -
#define CAN_INIT_TYPE_ST_RTR   MSGTYPE_STANDARD | MSGTYPE_RTR
-
-
- -

- -

-Definition at line 52 of file can_peak_win32.c. -

-

- -

-
- - - - -
#define extra_PCAN_init_params
-
-
- -

- -

-Definition at line 36 of file can_peak_win32.c. -

-

-


Function Documentation

- -
-
- - - - - - - - - -
int canClose_driver (CAN_HANDLE  fd0  ) 
-
-
- -

- -

-Definition at line 237 of file can_peak_win32.c. -

-

- -

-
- - - - - - - - - -
void canInit (s_BOARD board  ) 
-
-
- -

- -

-Definition at line 70 of file can_peak_win32.c. -

-References struct_s_BOARD::baudrate, extra_PCAN_init_params, and TranslateBaudeRate(). -

-

- -

-
- - - - - - - - - -
CAN_HANDLE canOpen_driver (s_BOARD board  ) 
-
-
- -

- -

-Definition at line 205 of file can_peak_win32.c. -

-References canInit(). -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canReceive_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 89 of file can_peak_win32.c. -

-References canInit(), Message::cob_id, Message::data, Message::len, Message::rtr, UNS8, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canSend_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 159 of file can_peak_win32.c. -

-References CAN_INIT_TYPE_ST_RTR, canInit(), Message::cob_id, Message::data, Message::len, Message::rtr, UNS8, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - -
int TranslateBaudeRate (char *  optarg  ) 
-
-
- -

- -

-Definition at line 55 of file can_peak_win32.c. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c_6b3248e95acf2b08d1fd8b42610cc5a6_cgraph.dot --- a/doc/doxygen/html/can__peak__win32_8c_6b3248e95acf2b08d1fd8b42610cc5a6_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canReceive_driver",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canInit",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$can__peak__win32_8c.html#9f623ce2d3a68e90dfdb1ff0d54a9b57"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c_6b3248e95acf2b08d1fd8b42610cc5a6_cgraph.md5 --- a/doc/doxygen/html/can__peak__win32_8c_6b3248e95acf2b08d1fd8b42610cc5a6_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ca80a1374b73cfc741ecf03b37e4f2eb \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c_945403aba7f36acbd2e7160ade361bab_cgraph.dot --- a/doc/doxygen/html/can__peak__win32_8c_945403aba7f36acbd2e7160ade361bab_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canOpen_driver",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canInit",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$can__peak__win32_8c.html#9f623ce2d3a68e90dfdb1ff0d54a9b57"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c_945403aba7f36acbd2e7160ade361bab_cgraph.md5 --- a/doc/doxygen/html/can__peak__win32_8c_945403aba7f36acbd2e7160ade361bab_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -4b63b476d429876f83e9ce0196c3a946 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c_9f623ce2d3a68e90dfdb1ff0d54a9b57_cgraph.dot --- a/doc/doxygen/html/can__peak__win32_8c_9f623ce2d3a68e90dfdb1ff0d54a9b57_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInit",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="TranslateBaudeRate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__peak__linux_8c.html#6820d7fa32e6e79d432c6003e4c15c32"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c_9f623ce2d3a68e90dfdb1ff0d54a9b57_cgraph.md5 --- a/doc/doxygen/html/can__peak__win32_8c_9f623ce2d3a68e90dfdb1ff0d54a9b57_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -2c4e08f6155156195a6fa931741ca2cc \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c__incl.dot --- a/doc/doxygen/html/can__peak__win32_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_peak_win32/can_peak_win32.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="errno.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="fcntl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="cancfg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node8 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c__incl.md5 --- a/doc/doxygen/html/can__peak__win32_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -a0399633ef548ab825ac24c7f30cca12 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.dot --- a/doc/doxygen/html/can__peak__win32_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSend_driver",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canInit",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$can__peak__win32_8c.html#9f623ce2d3a68e90dfdb1ff0d54a9b57"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__peak__win32_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.md5 --- a/doc/doxygen/html/can__peak__win32_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -75f7ac679807b1d7d4d8d155b8f938fa \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__socket_8c-source.html --- a/doc/doxygen/html/can__socket_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,260 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_socket/can_socket.c Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_socket/can_socket.c

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack.
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 #include <stdio.h>
-00024 #include <string.h>
-00025 #include <stdlib.h>
-00026 #include <stddef.h>             /* for NULL */
-00027 #include <errno.h>
-00028 
-00029 #include "config.h"
-00030 
-00031 #ifdef RTCAN_SOCKET
-00032 #include "rtdm/rtcan.h"
-00033 #define CAN_IFNAME     "rtcan%s"
-00034 #define CAN_SOCKET     rt_dev_socket
-00035 #define CAN_CLOSE      rt_dev_close
-00036 #define CAN_RECV       rt_dev_recv
-00037 #define CAN_SEND       rt_dev_send
-00038 #define CAN_BIND       rt_dev_bind
-00039 #define CAN_IOCTL      rt_dev_ioctl
-00040 #define CAN_ERRNO(err) (-err)
-00041 #else
-00042 #include <sys/socket.h>
-00043 #include <sys/ioctl.h>
-00044 #include "linux/can.h"
-00045 #include "linux/can/raw.h"
-00046 #include "net/if.h"
-00047 #define PF_CAN 29
-00048 #define AF_CAN PF_CAN
-00049 //#include "af_can.h"
-00050 #define CAN_IFNAME     "can%s"
-00051 #define CAN_SOCKET     socket
-00052 #define CAN_CLOSE      close
-00053 #define CAN_RECV       recv
-00054 #define CAN_SEND       send
-00055 #define CAN_BIND       bind
-00056 #define CAN_IOCTL      ioctl
-00057 #define CAN_ERRNO(err) errno
-00058 #endif
-00059 
-00060 #include "can_driver.h"
-00061 
-00062 /*********functions which permit to communicate with the board****************/
-00063 UNS8
-00064 canReceive_driver (CAN_HANDLE fd0, Message * m)
-00065 {
-00066   int res;
-00067   struct can_frame frame;
-00068 
-00069   res = CAN_RECV (*(int *) fd0, &frame, sizeof (frame), 0);
-00070   if (res < 0)
-00071     {
-00072       fprintf (stderr, "Recv failed: %s\n", strerror (CAN_ERRNO (res)));
-00073       return 1;
-00074     }
-00075 
-00076   m->cob_id.w = frame.can_id & CAN_EFF_MASK;
-00077   m->len = frame.can_dlc;
-00078   if (frame.can_id & CAN_RTR_FLAG)
-00079     m->rtr = 1;
-00080   else
-00081     m->rtr = 0;
-00082   memcpy (m->data, frame.data, 8);
-00083 
-00084   return 0;
-00085 }
-00086 
-00087 
-00088 /***************************************************************************/
-00089 UNS8
-00090 canSend_driver (CAN_HANDLE fd0, Message * m)
-00091 {
-00092   int res;
-00093   struct can_frame frame;
-00094 
-00095   frame.can_id = m->cob_id.w;
-00096   if (frame.can_id >= 0x800)
-00097     frame.can_id |= CAN_EFF_FLAG;
-00098   frame.can_dlc = m->len;
-00099   if (m->rtr)
-00100     frame.can_id |= CAN_RTR_FLAG;
-00101   else
-00102     memcpy (frame.data, m->data, 8);
-00103 
-00104   res = CAN_SEND (*(int *) fd0, &frame, sizeof (frame), 0);
-00105   if (res < 0)
-00106     {
-00107       fprintf (stderr, "Send failed: %s\n", strerror (CAN_ERRNO (res)));
-00108       return 1;
-00109     }
-00110 
-00111   return 0;
-00112 }
-00113 
-00114 /***************************************************************************/
-00115 #ifdef RTCAN_SOCKET
-00116 int
-00117 TranslateBaudRate (const char *optarg)
-00118 {
-00119   int baudrate;
-00120   int val, len;
-00121   char *pos = NULL;
-00122 
-00123   len = strlen (optarg);
-00124   if (!len)
-00125     return 0;
-00126 
-00127   switch ((int) optarg[len - 1])
-00128     {
-00129     case 'M':
-00130       baudrate = 1000000;
-00131       break;
-00132     case 'K':
-00133       baudrate = 1000;
-00134       break;
-00135     default:
-00136       baudrate = 1;
-00137       break;
-00138     }
-00139   if ((sscanf (optarg, "%i", &val)) == 1)
-00140     baudrate *= val;
-00141   else
-00142     baudrate = 0;;
-00143 
-00144   return baudrate;
-00145 }
-00146 #endif
-00147 
-00148 /***************************************************************************/
-00149 CAN_HANDLE
-00150 canOpen_driver (s_BOARD * board)
-00151 {
-00152   struct ifreq ifr;
-00153   struct sockaddr_can addr;
-00154   int err;
-00155   CAN_HANDLE fd0 = malloc (sizeof (int));
-00156 #ifdef RTCAN_SOCKET
-00157   can_baudrate_t *baudrate;
-00158   can_mode_t *mode;
-00159 #endif
-00160 
-00161   *(int *) fd0 = CAN_SOCKET (PF_CAN, SOCK_RAW, CAN_RAW);
-00162   if (*(int *) fd0 < 0)
-00163     {
-00164       fprintf (stderr, "Socket creation failed: %s\n",
-00165                strerror (CAN_ERRNO (*(int *) fd0)));
-00166       goto error_ret;
-00167     }
-00168 
-00169   if (*board->busname >= '0' && *board->busname <= '9')
-00170     snprintf (ifr.ifr_name, IFNAMSIZ, CAN_IFNAME, board->busname);
-00171   else
-00172     strncpy (ifr.ifr_name, board->busname, IFNAMSIZ);
-00173   err = CAN_IOCTL (*(int *) fd0, SIOCGIFINDEX, &ifr);
-00174   if (err)
-00175     {
-00176       fprintf (stderr, "Getting IF index for %s failed: %s\n",
-00177                ifr.ifr_name, strerror (CAN_ERRNO (err)));
-00178       goto error_close;
-00179     }
-00180 
-00181   addr.can_family = AF_CAN;
-00182   addr.can_ifindex = ifr.ifr_ifindex;
-00183   err = CAN_BIND (*(int *) fd0, (struct sockaddr *) &addr, sizeof (addr));
-00184   if (err)
-00185     {
-00186       fprintf (stderr, "Binding failed: %s\n", strerror (CAN_ERRNO (err)));
-00187       goto error_close;
-00188     }
-00189 
-00190 #ifdef RTCAN_SOCKET
-00191   baudrate = (can_baudrate_t *) & ifr.ifr_ifru;
-00192   *baudrate = TranslateBaudRate (board->baudrate);
-00193   if (!*baudrate)
-00194     goto error_close;
-00195 
-00196   err = CAN_IOCTL (*(int *) fd0, SIOCSCANBAUDRATE, &ifr);
-00197   if (err)
-00198     {
-00199       fprintf (stderr,
-00200                "Setting baudrate %d failed: %s\n",
-00201                *baudrate, strerror (CAN_ERRNO (err)));
-00202       goto error_close;
-00203     }
-00204 
-00205   mode = (can_mode_t *) & ifr.ifr_ifru;
-00206   *mode = CAN_MODE_START;
-00207   err = CAN_IOCTL (*(int *) fd0, SIOCSCANMODE, &ifr);
-00208   if (err)
-00209     {
-00210       fprintf (stderr, "Starting CAN device failed: %s\n",
-00211                strerror (CAN_ERRNO (err)));
-00212       goto error_close;
-00213     }
-00214 #endif
-00215 
-00216   return fd0;
-00217 
-00218 error_close:
-00219   CAN_CLOSE (*(int *) fd0);
-00220 
-00221 error_ret:
-00222   free (fd0);
-00223   return NULL;
-00224 }
-00225 
-00226 /***************************************************************************/
-00227 int
-00228 canClose_driver (CAN_HANDLE fd0)
-00229 {
-00230   if (fd0)
-00231     {
-00232       CAN_CLOSE (*(int *) fd0);
-00233       free (fd0);
-00234     }
-00235   return 0;
-00236 }
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__socket_8c.html --- a/doc/doxygen/html/can__socket_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,362 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_socket/can_socket.c File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_socket/can_socket.c File Reference

#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <errno.h>
-#include "config.h"
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include "linux/can.h"
-#include "linux/can/raw.h"
-#include "net/if.h"
-#include "can_driver.h"
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Defines

#define PF_CAN   29
#define AF_CAN   PF_CAN
#define CAN_IFNAME   "can%s"
#define CAN_SOCKET   socket
#define CAN_CLOSE   close
#define CAN_RECV   recv
#define CAN_SEND   send
#define CAN_BIND   bind
#define CAN_IOCTL   ioctl
#define CAN_ERRNO(err)   errno

Functions

UNS8 canReceive_driver (CAN_HANDLE fd0, Message *m)
UNS8 canSend_driver (CAN_HANDLE fd0, Message *m)
CAN_HANDLE canOpen_driver (s_BOARD *board)
int canClose_driver (CAN_HANDLE fd0)
-


Define Documentation

- -
-
- - - - -
#define AF_CAN   PF_CAN
-
-
- -

- -

-Definition at line 48 of file can_socket.c. -

-

- -

-
- - - - -
#define CAN_BIND   bind
-
-
- -

- -

-Definition at line 55 of file can_socket.c. -

-

- -

-
- - - - -
#define CAN_CLOSE   close
-
-
- -

- -

-Definition at line 52 of file can_socket.c. -

-

- -

-
- - - - - - - - - -
#define CAN_ERRNO (err   )    errno
-
-
- -

- -

-Definition at line 57 of file can_socket.c. -

-

- -

-
- - - - -
#define CAN_IFNAME   "can%s"
-
-
- -

- -

-Definition at line 50 of file can_socket.c. -

-

- -

-
- - - - -
#define CAN_IOCTL   ioctl
-
-
- -

- -

-Definition at line 56 of file can_socket.c. -

-

- -

-
- - - - -
#define CAN_RECV   recv
-
-
- -

- -

-Definition at line 53 of file can_socket.c. -

-

- -

-
- - - - -
#define CAN_SEND   send
-
-
- -

- -

-Definition at line 54 of file can_socket.c. -

-

- -

-
- - - - -
#define CAN_SOCKET   socket
-
-
- -

- -

-Definition at line 51 of file can_socket.c. -

-

- -

-
- - - - -
#define PF_CAN   29
-
-
- -

- -

-Definition at line 47 of file can_socket.c. -

-

-


Function Documentation

- -
-
- - - - - - - - - -
int canClose_driver (CAN_HANDLE  fd0  ) 
-
-
- -

- -

-Definition at line 228 of file can_socket.c. -

-References CAN_CLOSE. -

-

- -

-
- - - - - - - - - -
CAN_HANDLE canOpen_driver (s_BOARD board  ) 
-
-
- -

- -

-Definition at line 150 of file can_socket.c. -

-References AF_CAN, struct_s_BOARD::baudrate, struct_s_BOARD::busname, CAN_BIND, CAN_CLOSE, CAN_ERRNO, CAN_IFNAME, CAN_IOCTL, CAN_SOCKET, and PF_CAN. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canReceive_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 64 of file can_socket.c. -

-References CAN_ERRNO, CAN_RECV, Message::cob_id, Message::data, Message::len, Message::rtr, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canSend_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 90 of file can_socket.c. -

-References CAN_ERRNO, CAN_SEND, Message::cob_id, Message::data, Message::len, Message::rtr, and SHORT_CAN::w. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__socket_8c__incl.dot --- a/doc/doxygen/html/can__socket_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_socket/can_socket.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="stddef.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="errno.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="config.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2config_8h.html"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="sys/socket.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="sys/ioctl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="linux/can.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="linux/can/raw.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="net/if.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node14 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node15 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__socket_8c__incl.md5 --- a/doc/doxygen/html/can__socket_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -e4a5b1be8b8ebd1abbe59205466fe19a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__uvccm__win32_8cpp-source.html --- a/doc/doxygen/html/can__uvccm__win32_8cpp-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,355 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_uvccm_win32/can_uvccm_win32.cpp Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_uvccm_win32/can_uvccm_win32.cpp

Go to the documentation of this file.
00001 // can_uvccm_win32 adapter (http://www.gridconnect.com)
-00002 // driver for CanFestival-3 Win32 port
-00003 // Copyright (C) 2007 Leonid Tochinski, ChattenAssociates, Inc.
-00004 
-00005 
-00006 #include <sstream>
-00007 #include <iomanip>
-00008 #if 0  // change to 1 if you use boost
-00009 #include <boost/algorithm/string/case_conv.hpp>
-00010 #else
-00011 #include <algorithm>
-00012 #endif
-00013 
-00014 extern "C" {
-00015 #include "can_driver.h"
-00016 }
-00017 class can_uvccm_win32
-00018    {
-00019    public:
-00020       class error
-00021         {
-00022         };
-00023       can_uvccm_win32(s_BOARD *board);
-00024       ~can_uvccm_win32();
-00025       bool send(const Message *m);
-00026       bool receive(Message *m);
-00027    private:
-00028       bool open_rs232(int port = 1, int baud_rate = 57600);
-00029       bool close_rs232();
-00030       bool get_can_data(const char* can_cmd_buf, long& bufsize, Message* m);
-00031       bool set_can_data(const Message& m, std::string& can_cmd);
-00032    private:
-00033       HANDLE m_port;
-00034       HANDLE m_read_event;
-00035       HANDLE m_write_event;
-00036       std::string m_residual_buffer;
-00037    };
-00038 
-00039 can_uvccm_win32::can_uvccm_win32(s_BOARD *board) : m_port(INVALID_HANDLE_VALUE),
-00040       m_read_event(0),
-00041       m_write_event(0)
-00042    {
-00043    if (strcmp( board->baudrate, "125K") || !open_rs232(1))
-00044       throw error();
-00045    }
-00046 
-00047 can_uvccm_win32::~can_uvccm_win32()
-00048    {
-00049    close_rs232();
-00050    }
-00051 
-00052 bool can_uvccm_win32::send(const Message *m)
-00053    {
-00054    if (m_port == INVALID_HANDLE_VALUE)
-00055       return false;
-00056 
-00057    // build can_uvccm_win32 command string
-00058    std::string can_cmd;
-00059    set_can_data(*m, can_cmd);
-00060 
-00061    OVERLAPPED overlapped;
-00062    ::memset(&overlapped, 0, sizeof overlapped);
-00063    overlapped.hEvent = m_write_event;
-00064    ::ResetEvent(overlapped.hEvent);
-00065 
-00066    unsigned long bytes_written = 0;
-00067    ::WriteFile(m_port, can_cmd.c_str(), (unsigned long)can_cmd.size(), &bytes_written, &overlapped);
-00068    // wait for write operation completion
-00069    enum { WRITE_TIMEOUT = 1000 };
-00070    ::WaitForSingleObject(overlapped.hEvent, WRITE_TIMEOUT);
-00071    // get number of bytes written
-00072    ::GetOverlappedResult(m_port, &overlapped, &bytes_written, FALSE);
-00073 
-00074    bool result = (bytes_written == can_cmd.size());
-00075 
-00076    return result;
-00077    }
-00078 
-00079 
-00080 bool can_uvccm_win32::receive(Message *m)
-00081    {
-00082    if (m_port == INVALID_HANDLE_VALUE)
-00083       return false;
-00084 
-00085    long res_buffer_size = (long)m_residual_buffer.size();
-00086    bool result = get_can_data(m_residual_buffer.c_str(), res_buffer_size, m);
-00087    if (result)
-00088       {
-00089       m_residual_buffer.erase(0, res_buffer_size);
-00090       return true;
-00091       }
-00092 
-00093    enum { READ_TIMEOUT = 500 };
-00094 
-00095    OVERLAPPED overlapped;
-00096    ::memset(&overlapped, 0, sizeof overlapped);
-00097    overlapped.hEvent = m_read_event;
-00098    ::ResetEvent(overlapped.hEvent);
-00099    unsigned long event_mask = 0;
-00100 
-00101    if (FALSE == ::WaitCommEvent(m_port, &event_mask, &overlapped) && ERROR_IO_PENDING == ::GetLastError())
-00102       {
-00103       if (WAIT_TIMEOUT == ::WaitForSingleObject(overlapped.hEvent, READ_TIMEOUT))
-00104          return false;
-00105       }
-00106 
-00107    // get number of bytes in the input que
-00108    COMSTAT stat;
-00109    ::memset(&stat, 0, sizeof stat);
-00110    unsigned long errors = 0;
-00111    ::ClearCommError(m_port, &errors, &stat);
-00112    if (stat.cbInQue == 0)
-00113       return false;
-00114    char buffer[3000];
-00115 
-00116    unsigned long bytes_to_read = min(stat.cbInQue, sizeof (buffer));
-00117 
-00118    unsigned long bytes_read = 0;
-00119    ::ReadFile(m_port, buffer, bytes_to_read, &bytes_read, &overlapped);
-00120    // wait for read operation completion
-00121    ::WaitForSingleObject(overlapped.hEvent, READ_TIMEOUT);
-00122    // get number of bytes read
-00123    ::GetOverlappedResult(m_port, &overlapped, &bytes_read, FALSE);
-00124    result = false;
-00125    if (bytes_read > 0)
-00126       {
-00127       m_residual_buffer.append(buffer, bytes_read);
-00128       res_buffer_size = (long)m_residual_buffer.size();
-00129       result = get_can_data(m_residual_buffer.c_str(), res_buffer_size, m);
-00130       if (result)
-00131          m_residual_buffer.erase(0, res_buffer_size);
-00132       }
-00133    return result;
-00134    }
-00135 
-00136 bool can_uvccm_win32::open_rs232(int port, int baud_rate)
-00137    {
-00138    if (m_port != INVALID_HANDLE_VALUE)
-00139       return true;
-00140 
-00141    std::ostringstream device_name;
-00142    device_name << "COM" << port;
-00143 
-00144    m_port = ::CreateFile(device_name.str().c_str(),
-00145                          GENERIC_READ | GENERIC_WRITE,
-00146                          0,   // exclusive access
-00147                          NULL,   // no security
-00148                          OPEN_EXISTING,
-00149                          FILE_FLAG_OVERLAPPED,   // overlapped I/O
-00150                          NULL); // null template
-00151 
-00152    // Check the returned handle for INVALID_HANDLE_VALUE and then set the buffer sizes.
-00153    if (m_port == INVALID_HANDLE_VALUE)
-00154       return false;
-00155 
-00156    //  SetCommMask(m_hCom,EV_RXCHAR|EV_TXEMPTY|EV_CTS|EV_DSR|EV_RLSD|EV_BREAK|EV_ERR|EV_RING); //
-00157    ::SetCommMask(m_port, EV_RXFLAG);
-00158 
-00159    COMMTIMEOUTS timeouts;
-00160    ::memset(&timeouts, 0, sizeof (timeouts));
-00161    timeouts.ReadIntervalTimeout = -1;
-00162    timeouts.ReadTotalTimeoutConstant = 0;
-00163    timeouts.ReadTotalTimeoutMultiplier = 0;
-00164    timeouts.WriteTotalTimeoutConstant = 5000;
-00165    timeouts.WriteTotalTimeoutMultiplier = 0;
-00166    SetCommTimeouts(m_port, &timeouts); //
-00167 
-00168    ::SetupComm(m_port, 1024, 512); // set buffer sizes
-00169 
-00170    // Port settings are specified in a Data Communication Block (DCB). The easiest way to initialize a DCB is to call GetCommState to fill in its default values, override the values that you want to change and then call SetCommState to set the values.
-00171    DCB dcb;
-00172    ::memset(&dcb, 0, sizeof (dcb));
-00173    ::GetCommState(m_port, &dcb);
-00174    dcb.BaudRate = baud_rate;
-00175    dcb.ByteSize = 8;
-00176    dcb.Parity = NOPARITY;
-00177    dcb.StopBits = ONESTOPBIT;
-00178    dcb.fAbortOnError = TRUE;
-00179    dcb.EvtChar = 0x0A; // '\n' character
-00180    ::SetCommState(m_port, &dcb);
-00181 
-00182    ::PurgeComm(m_port, PURGE_RXABORT | PURGE_RXCLEAR | PURGE_TXABORT | PURGE_TXCLEAR);
-00183 
-00184    m_read_event = ::CreateEvent(NULL, TRUE, FALSE, NULL);
-00185    m_write_event = ::CreateEvent(NULL, TRUE, FALSE, NULL);
-00186 
-00187    return true;
-00188    }
-00189 
-00190 bool can_uvccm_win32::close_rs232()
-00191    {
-00192    if (m_port != INVALID_HANDLE_VALUE)
-00193       {
-00194       ::PurgeComm(m_port, PURGE_RXABORT | PURGE_RXCLEAR | PURGE_TXABORT | PURGE_TXCLEAR);
-00195       ::CloseHandle(m_port);
-00196       m_port = INVALID_HANDLE_VALUE;
-00197       ::CloseHandle(m_read_event);
-00198       m_read_event = 0;
-00199       ::CloseHandle(m_write_event);
-00200       m_write_event = 0;
-00201       m_residual_buffer.clear();
-00202       }
-00203    return true;
-00204    }
-00205 
-00206 bool can_uvccm_win32::get_can_data(const char* can_cmd_buf, long& bufsize, Message* m)
-00207    {
-00208    if (bufsize < 5)
-00209       {
-00210       bufsize = 0;
-00211       return false;
-00212       }
-00213 
-00214    Message msg;
-00215    ::memset(&msg, 0 , sizeof (msg));
-00216    char colon = 0, type = 0, request = 0;
-00217    std::istringstream buf(std::string(can_cmd_buf, bufsize));
-00218    buf >> colon >> type >> std::hex >> msg.cob_id.w >> request;
-00219    if (colon != ':' || (type != 'S' && type != 'X'))
-00220       {
-00221       bufsize = 0;
-00222       return false;
-00223       }
-00224    if (request == 'N')
-00225       {
-00226       msg.rtr = 0;
-00227       for (msg.len = 0; msg.len < 8; ++msg.len)
-00228          {
-00229          std::string data_byte_str;
-00230          buf >> std::setw(2) >> data_byte_str;
-00231          if (data_byte_str[0] == ';')
-00232             break;
-00233          long byte_val = -1;
-00234          std::istringstream(data_byte_str) >> std::hex >> byte_val;
-00235          if (byte_val == -1)
-00236             {
-00237             bufsize = 0;
-00238             return false;
-00239             }
-00240          msg.data[msg.len] = (UNS8)byte_val;
-00241          }
-00242       if (msg.len == 8)
-00243          {
-00244          char semicolon = 0;
-00245          buf >> semicolon;
-00246          if (semicolon != ';')
-00247             {
-00248             bufsize = 0;
-00249             return false;
-00250             }
-00251          }
-00252 
-00253       }
-00254    else if (request == 'R')
-00255       {
-00256       msg.rtr = 1;
-00257       buf >> msg.len;
-00258       }
-00259    else
-00260       {
-00261       bufsize = 0;
-00262       return false;
-00263       }
-00264 
-00265    bufsize = buf.tellg();
-00266 
-00267    *m = msg;
-00268    return true;
-00269    }
-00270 
-00271 bool can_uvccm_win32::set_can_data(const Message& m, std::string& can_cmd)
-00272    {
-00273    // build can_uvccm_win32 command string
-00274    std::ostringstream can_cmd_str;
-00275    can_cmd_str << ":S" << std::hex << m.cob_id.w;
-00276    if (m.rtr == 1)
-00277       {
-00278       can_cmd_str << 'R' << (long)m.len;
-00279       }
-00280    else
-00281       {
-00282       can_cmd_str << 'N';
-00283       for (int i = 0; i < m.len; ++i)
-00284          can_cmd_str << std::hex << std::setfill('0') << std::setw(2) << (long)m.data[i];
-00285       }
-00286    can_cmd_str << ';';
-00287    can_cmd = can_cmd_str.str();
-00288 #ifdef BOOST_VERSION
-00289    boost::to_upper(can_cmd);
-00290 #else
-00291    std::transform(can_cmd.begin(),can_cmd.end(),can_cmd.begin(),::toupper);
-00292 #endif
-00293    return true;
-00294    }
-00295 
-00296 
-00297 //------------------------------------------------------------------------
-00298 extern "C"
-00299    UNS8 canReceive_driver(CAN_HANDLE fd0, Message *m)
-00300    {
-00301    return (UNS8)(!(reinterpret_cast<can_uvccm_win32*>(fd0)->receive(m)));
-00302    }
-00303 
-00304 extern "C"
-00305    UNS8 canSend_driver(CAN_HANDLE fd0, Message *m)
-00306    {
-00307    return (UNS8)reinterpret_cast<can_uvccm_win32*>(fd0)->send(m);
-00308    }
-00309 
-00310 extern "C"
-00311    CAN_HANDLE canOpen_driver(s_BOARD *board)
-00312    {
-00313    try
-00314       {
-00315       return (CAN_HANDLE) new can_uvccm_win32(board);
-00316       }
-00317    catch (can_uvccm_win32::error&)
-00318       {
-00319       return NULL;
-00320       }
-00321    }
-00322 
-00323 extern "C"
-00324    int canClose_driver(CAN_HANDLE inst)
-00325    {
-00326    delete reinterpret_cast<can_uvccm_win32*>(inst);
-00327    return 1;
-00328    }
-00329 
-00330 
-00331    
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__uvccm__win32_8cpp.html --- a/doc/doxygen/html/can__uvccm__win32_8cpp.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,158 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_uvccm_win32/can_uvccm_win32.cpp File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_uvccm_win32/can_uvccm_win32.cpp File Reference

#include <sstream>
-#include <iomanip>
-#include <algorithm>
-#include "can_driver.h"
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - -

Data Structures

class  can_uvccm_win32
class  can_uvccm_win32::error

Functions

UNS8 canReceive_driver (CAN_HANDLE fd0, Message *m)
UNS8 canSend_driver (CAN_HANDLE fd0, Message *m)
CAN_HANDLE canOpen_driver (s_BOARD *board)
int canClose_driver (CAN_HANDLE inst)
-


Function Documentation

- -
-
- - - - - - - - - -
int canClose_driver (CAN_HANDLE  inst  ) 
-
-
- -

- -

-Definition at line 324 of file can_uvccm_win32.cpp. -

-

- -

-
- - - - - - - - - -
CAN_HANDLE canOpen_driver (s_BOARD board  ) 
-
-
- -

- -

-Definition at line 311 of file can_uvccm_win32.cpp. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canReceive_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 299 of file can_uvccm_win32.cpp. -

-References UNS8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canSend_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 305 of file can_uvccm_win32.cpp. -

-References UNS8. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__uvccm__win32_8cpp__incl.dot --- a/doc/doxygen/html/can__uvccm__win32_8cpp__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_uvccm_win32/can_uvccm_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sstream",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="iomanip",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="algorithm",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node5 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node7 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__uvccm__win32_8cpp__incl.md5 --- a/doc/doxygen/html/can__uvccm__win32_8cpp__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -39453b5411b4426017b5f8a8b2643300 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__virtual_8c-source.html --- a/doc/doxygen/html/can__virtual_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,174 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 /*
-00024         Virtual CAN driver.
-00025 */
-00026 
-00027 #include <stdio.h>
-00028 #include <unistd.h>
-00029 
-00030 #include "can_driver.h"
-00031 #include "def.h"
-00032 
-00033 #define MAX_NB_CAN_PIPES 16
-00034 
-00035 typedef struct {
-00036   char used;
-00037   int pipe[2];
-00038 } CANPipe;
-00039 
-00040 CANPipe canpipes[MAX_NB_CAN_PIPES] = {{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},};
-00041 
-00042 /*********functions which permit to communicate with the board****************/
-00043 UNS8 canReceive_driver(CAN_HANDLE fd0, Message *m)
-00044 {
-00045         if(read(((CANPipe*)fd0)->pipe[0], m, sizeof(Message)) != (ssize_t)sizeof(Message))
-00046         {
-00047                 return 1;
-00048         }
-00049         return 0;
-00050 }
-00051 
-00052 #define MyCase(fc) case fc: printf(#fc);break;
-00053 void print_message(Message *m)
-00054 {
-00055         int i;
-00056         switch(m->cob_id.w >> 7)
-00057         {
-00058                 MyCase(SYNC)
-00059                 MyCase(TIME_STAMP)
-00060                 MyCase(PDO1tx)
-00061                 MyCase(PDO1rx)
-00062                 MyCase(PDO2tx)
-00063                 MyCase(PDO2rx)
-00064                 MyCase(PDO3tx)
-00065                 MyCase(PDO3rx)
-00066                 MyCase(PDO4tx)
-00067                 MyCase(PDO4rx)
-00068                 MyCase(SDOtx)
-00069                 MyCase(SDOrx)
-00070                 MyCase(NODE_GUARD)
-00071                 MyCase(NMT)
-00072         }
-00073         printf(" rtr:%d", m->rtr);
-00074         printf(" len:%d", m->len);
-00075         for (i = 0 ; i < m->len ; i++)
-00076                 printf(" %02x", m->data[i]);
-00077         printf("\n");
-00078 }
-00079 
-00080 /***************************************************************************/
-00081 UNS8 canSend_driver(CAN_HANDLE fd0, Message *m)
-00082 {
-00083   int i;
-00084   
-00085   printf("%x->[ ", (CANPipe*)fd0 - &canpipes[0]); 
-00086   for(i=0; i < MAX_NB_CAN_PIPES; i++)
-00087   {
-00088         if(canpipes[i].used && &canpipes[i] != (CANPipe*)fd0)
-00089         {
-00090                 printf("%x ",i);        
-00091         }
-00092   }
-00093   printf(" ]"); 
-00094   print_message(m);
-00095   
-00096   // Send to all readers, except myself
-00097   for(i=0; i < MAX_NB_CAN_PIPES; i++)
-00098   {
-00099         if(canpipes[i].used && &canpipes[i] != (CANPipe*)fd0)
-00100         {
-00101                 write(canpipes[i].pipe[1], m, sizeof(Message));
-00102         }
-00103   }
-00104   return 0;
-00105 }
-00106 /*
-00107 int TranslateBaudeRate(char* optarg){
-00108         if(!strcmp( optarg, "1M")) return 1000;
-00109         if(!strcmp( optarg, "500K")) return 500;
-00110         if(!strcmp( optarg, "250K")) return 250;
-00111         if(!strcmp( optarg, "125K")) return 125;
-00112         if(!strcmp( optarg, "100K")) return 100;
-00113         if(!strcmp( optarg, "50K")) return 50;
-00114         if(!strcmp( optarg, "20K")) return 20;
-00115         if(!strcmp( optarg, "10K")) return 10;
-00116         if(!strcmp( optarg, "5K")) return 5;
-00117         if(!strcmp( optarg, "none")) return 0;
-00118         return 0;
-00119 }*/
-00120 /***************************************************************************/
-00121 CAN_HANDLE canOpen_driver(s_BOARD *board)
-00122 {
-00123   int i;  
-00124   for(i=0; i < MAX_NB_CAN_PIPES; i++)
-00125   {
-00126         if(!canpipes[i].used)
-00127                 break;
-00128   }
-00129 
-00130   /* Create the pipe.  */
-00131   if (i==MAX_NB_CAN_PIPES || pipe(canpipes[i].pipe))
-00132     {
-00133       fprintf (stderr, "Open failed.\n");
-00134       return (CAN_HANDLE)NULL;
-00135     }
-00136 
-00137    canpipes[i].used = 1;
-00138    return (CAN_HANDLE) &canpipes[i];
-00139 }
-00140 
-00141 /***************************************************************************/
-00142 int canClose_driver(CAN_HANDLE fd0)
-00143 {
-00144   close(((CANPipe*)fd0)->pipe[0]);
-00145   close(((CANPipe*)fd0)->pipe[1]);
-00146   ((CANPipe*)fd0)->used = 0;
-00147   return 0;
-00148 }
-00149 
-00150 
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__virtual_8c.html --- a/doc/doxygen/html/can__virtual_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,248 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c File Reference

#include <stdio.h>
-#include <unistd.h>
-#include "can_driver.h"
-#include "def.h"
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - -

Data Structures

struct  CANPipe

Defines

#define MAX_NB_CAN_PIPES   16
#define MyCase(fc)   case fc: printf(#fc);break;

Functions

UNS8 canReceive_driver (CAN_HANDLE fd0, Message *m)
void print_message (Message *m)
UNS8 canSend_driver (CAN_HANDLE fd0, Message *m)
CAN_HANDLE canOpen_driver (s_BOARD *board)
int canClose_driver (CAN_HANDLE fd0)

Variables

CANPipe canpipes [MAX_NB_CAN_PIPES] = {{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},}
-


Define Documentation

- -
-
- - - - -
#define MAX_NB_CAN_PIPES   16
-
-
- -

- -

-Definition at line 33 of file can_virtual.c. -

-

- -

-
- - - - - - - - - -
#define MyCase (fc   )    case fc: printf(#fc);break;
-
-
- -

- -

-Definition at line 52 of file can_virtual.c. -

-

-


Function Documentation

- -
-
- - - - - - - - - -
int canClose_driver (CAN_HANDLE  fd0  ) 
-
-
- -

- -

-Definition at line 142 of file can_virtual.c. -

-

- -

-
- - - - - - - - - -
CAN_HANDLE canOpen_driver (s_BOARD board  ) 
-
-
- -

- -

-Definition at line 121 of file can_virtual.c. -

-References canpipes, MAX_NB_CAN_PIPES, and CANPipe::used. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canReceive_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 43 of file can_virtual.c. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
UNS8 canSend_driver (CAN_HANDLE  fd0,
Message m 
)
-
-
- -

- -

-Definition at line 81 of file can_virtual.c. -

-References canpipes, MAX_NB_CAN_PIPES, and print_message(). -

-

- -

-
- - - - - - - - - -
void print_message (Message m  ) 
-
-
- -

- -

-Definition at line 53 of file can_virtual.c. -

-References Message::cob_id, Message::data, Message::len, MyCase, NMT, NODE_GUARD, PDO1rx, PDO1tx, PDO2rx, PDO2tx, PDO3rx, PDO3tx, PDO4rx, PDO4tx, Message::rtr, SDOrx, SDOtx, SYNC, TIME_STAMP, and SHORT_CAN::w. -

-

-


Variable Documentation

- -
-
- - - - -
CANPipe canpipes[MAX_NB_CAN_PIPES] = {{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},}
-
-
- -

- -

-Definition at line 40 of file can_virtual.c. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__virtual_8c__incl.dot --- a/doc/doxygen/html/can__virtual_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="unistd.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node5 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="def.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="config.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$config_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__virtual_8c__incl.md5 --- a/doc/doxygen/html/can__virtual_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -c2e7f2f7e3574f30b05f0fa333ce9352 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__virtual_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.dot --- a/doc/doxygen/html/can__virtual_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSend_driver",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="print_message",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__virtual_8c.html#6baa544d467cbabaf4bacadc74cc6523"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/can__virtual_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.md5 --- a/doc/doxygen/html/can__virtual_8c_def95aee49efa13dd047d0b3b5507ad3_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -40fde74061bf384cbf1bd237aa2aee9b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h-source.html --- a/doc/doxygen/html/candriver_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,386 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 #ifndef __CANDRIVER__
-00024 #define __CANDRIVER__
-00025 
-00026 //#include DEBUG_CAN
-00027 
-00028 #include <can.h>
-00029 #include <objdictdef.h>
-00030 
-00031 
-00032 /*
-00033 The CAN message received are stored in a fifo stack
-00034 We consider one stack for all the 5 can devices. It is a choice !
-00035 */
-00036 
-00037 /* Be free to change this value */
-00038 #define MAX_STACK_MSG_RCV 5
-00039 
-00040 /* Number of incomings and outcomings CAN Line. The layer CanOpen must be
-00041 used only for ONE line CAN. But you may used one or more CAN drivers, without
-00042 a CanOpen layer.
-00043 Only 2 lines are implemented. If more lines are needed, copy void __attribute__((interrupt)) can0HdlRcv (void) to void __attribute__((interrupt)) canXHdlRcv (void) and make 
-00044 changes : [0] to [x], CAN0 to CANX, etc
-00045 */
-00046 #define NB_LINE_CAN 1
-00047 
-00048 /* Whose hardware HCS12 CAN block is used for CanOpen ? Chose between CAN0, ..., CAN4
-00049 If you use CANOPEN_LINE_NUMBER_USED = CANI, the value of NB_LINE_CAN must be
-00050 more or equal to I + 1
-00051 Value other than CAN0 not tested, but should work fine.
-00052  */
-00053 #define CANOPEN_LINE_NUMBER_USED CAN0
-00054 
-00055 /* Stack of received messages 
-00056 MSG received on CAN0 module is stored in stackMsgRcv[0], etc
-00057 */
-00058 extern volatile Message stackMsgRcv[NB_LINE_CAN][MAX_STACK_MSG_RCV];
-00059 
-00060 
-00061 /* Copy from the stack of the message to treat */
-00062 extern Message msgRcv;
-00063 
-00064 
-00065 /* To move on the stack of messages 
-00066  */
-00067 typedef struct {
-00068   UNS8 w ; /* received */
-00069   UNS8 r ; /* To transmit */
-00070 } t_pointerStack;
-00071 
-00072 
-00073 /* Pointer for write or read a message in/from the reception stack */
-00074 extern volatile t_pointerStack ptrMsgRcv[NB_LINE_CAN];
-00075 
-00076 /* 
-00077 Parameters to define the  clock system for the CAN bus
-00078 example : 
-00079 CAN_BUS_TIME clk = {
-00080       1,  // clksrc: Use the bus clock : 16 MHz, the freq. of the quartz's board        
-00081       0,  // brp :  chose btw 0 and 63 (6 bits).  freq time quantum = 16MHz / (brp + 1) 
-00082       1,  // sjw : chose btw 0 and 3 (2 bits). Sync on (sjw + 1 ) time quantum          
-00083       1,  // samp : chose btw 0 and 3 (2 bits) (samp + 1 ) samples per bit              
-00084       4,  // tseg2 : chose btw 0 and 7 (3 bits) Segment 2 width = (tseg2 + 1)  tq       
-00085       9,  // tseg1 : chose btw 0 and 15 (4 bits) Segment 1 width = (tseg1 + 1)  tq      
-00086 
-00087       
-00088       With these values, 
-00089       - The width of the bit time is 16 time quantum :
-00090           - 1 tq for the SYNC segment (could not be modified)
-00091           - 10 tq for the TIME 1 segment (tseg1 = 9)
-00092           - 5 tq for the TIME 2 segment (tseg2 = 4)
-00093       - Because the bus clock of the MSCAN is 16 MHZ, and the 
-00094         freq of the time quantum is 16 MHZ (brp = 0), and  there are 16 tq in the bit time,
-00095         so the freq of the bit time is 1 MHz.
-00096       
-00097   };
-00098 */
-00099 typedef struct {
-00100   UNS8  clksrc;     /* use of internal clock  or clock bus        */
-00101   UNS8  brp;        /* define the bus speed                       */
-00102   UNS8  sjw;        /* Number of time quantum for synchro - 1     */
-00103   UNS8  samp;       /* Number of sample per bit (1 or 3)          */
-00104   UNS8  tseg2;      /* Width of the time segment 2 (in tq) - 1    */
-00105   UNS8  tseg1;      /* Width of the time segment 1 (in tq) - 1    */
-00106 } canBusTime;
-00107 
-00108 /* 
-00109 Parameters to init the filters for received messages
-00110 */
-00111 typedef struct {
-00112   UNS8  idam;        /* Put 0x01 for 16 bits acceptance filter    */
-00113   UNS8  canidar0;
-00114   UNS8  canidmr0;
-00115   UNS8  canidar1;
-00116   UNS8  canidmr1; 
-00117   UNS8  canidar2;
-00118   UNS8  canidmr2;
-00119   UNS8  canidar3;
-00120   UNS8  canidmr3;
-00121   UNS8  canidar4;
-00122   UNS8  canidmr4;
-00123   UNS8  canidar5;
-00124   UNS8  canidmr5; 
-00125   UNS8  canidar6;
-00126   UNS8  canidmr6;
-00127   UNS8  canidar7;
-00128   UNS8  canidmr7;  
-00129 } canBusFilterInit;
-00130 
-00131 /*
-00132 Parameters to init MSCAN
-00133 Example
-00134 CAN_BUS_INIT bi = {
-00135     0,     no low power                  
-00136     0,     no time stamp                
-00137     1,     enable MSCAN                 
-00138     0,     clock source : oscillator    
-00139     0,     no loop back                 
-00140     0,     no listen only               
-00141     0,     no low pass filter for wk up 
-00142     {
-00143       1,       Use the oscillator clock                         
-00144       0,       Quartz oscillator : freq time quantum =  freq oscillator clock / (0 + 1)
-00145       1,       Sync on (1 + 1) time quantum                            
-00146       1,       1 sample per bit                                  
-00147       4,       time segment 2 width : (4 + 1) tq                     
-00148       9,       time segment 1 width : (9 + 1) tq                     
-00149     }
-00150   };   
-00151 */
-00152 
-00153 typedef struct {
-00154   UNS8  cswai;      /* Low power/normal in wait mode   (1/0)      */
-00155   UNS8  time;       /* Timer for time-stamp enable/disable (1/0)  */
-00156   UNS8  cane;       /* Enable MSCAN (yes=1) Do it !               */
-00157   UNS8  clksrc;     /* clock source bus/oscillator (1/0)          */
-00158   UNS8  loopb;      /* loop back mode for test (yes=1/no=0)       */
-00159   UNS8  listen;     /* MSCAN is listen only (yes=1/no=0 ie normal)*/
-00160   UNS8  wupm;       /* low pas filter for wake up (yes=1/no=0)    */
-00161   canBusTime 
-00162         clk;        /* Values for clock system init               */
-00163   canBusFilterInit
-00164   fi;               /* Values for filter acceptance msg init      */
-00165   
-00166 } canBusInit;
-00167 
-00168 extern canBusInit bi;
-00169 
-00170 
-00171 
-00172 /*
-00173 For the received messsage, add a Identificator to
-00174 the list of ID to accept.
-00175 You can use several times this function to accept several messages.
-00176 It configures registers on 16 bits.
-00177 Automatically, it configure the filter to
-00178 - not accepting the msg on 29 bits (ide=1 refused)
-00179 - not filtering on rtr state (rtr = 1 and rtr = 0 are accepted)
-00180 Algo :
-00181 if CANIDARx = 0 then  CANIDARx = id . else do nothing
-00182 CANIDMRx = CANIDMRx OR (CANIDARx XOR id )
-00183 nFilter : 0 to 3
-00184 Must be in init mode before.
-00185 */
-00186 char canAddIdToFilter (
-00187                        UNS16 adrCAN,
-00188                        UNS8 nFilter,
-00189                        UNS16 id /* 11 bits, the 5 msb not used */
-00190                        );
-00191 
-00192 /*
-00193  Use this function to change the CAN message acceptance filters and masks.
-00194  */
-00195 char canChangeFilter (UNS16 adrCAN, canBusFilterInit fi);
-00196 
-00197 
-00198 /*
-00199 Enable one of the 5 MSCAN.
-00200 Must be done only one time after a reset of the CPU.
-00201 To do before any CAN initialisation
-00202 */
-00203 char canEnable (
-00204                 UNS16 adrCAN /* First address of MSCANx registers */
-00205                 );
-00206 
-00207 
-00208 /* 
-00209 Initialize one of the 5 mscan
-00210 can be done multiple times in your code
-00211 Return 0 : OK
-00212 When it return from the function,
-00213 mscan is on sleep mode with wake up disabled.
-00214       is not on init mode
-00215 */
-00216 char canInit (
-00217               UNS16 adrCAN,   /* First address of MSCANx registers  */
-00218               canBusInit 
-00219               bi       /* All the parameters to init the bus */
-00220               );
-00221 /*
-00222 Initialize the parameters of the system clock for the MSCAN
-00223 You must put the MSCAN in sleep mode before with canSleepMode()
-00224 Return 0 : OK
-00225        1 : Not in sleep mode. Unable to init MSCAN 
-00226 */
-00227 char canInitClock (
-00228                    UNS16 adrCAN, /* First address of MSCANx registers */
-00229                    canBusTime clk);
-00230 
-00231 /* 
-00232 Initialize one filter for acceptance of received msg.
-00233 Filters MUST be configured on 16 bits 
-00234 (See doc Motorola mscan bloc guide fig 4.3)
-00235 Must be in init mode before.
-00236 adrCAN  : adress of the first register of the mscan module
-00237 nFilter : the filter : 0 to 3.
-00238 ar : Value to write in acceptance register
-00239      Beware ! hight byte and low byte inverted.
-00240      for example if nFilter = 0, hight byte of ar -> CANIDAR0
-00241                                  low   byte of ar -> CANIDAR1
-00242 mr : Value to write in mask register
-00243      Beware ! hight byte and low byte inverted.
-00244      for example if nFilter = 2, hight byte of ar -> CANIDMR4
-00245                                  low   byte of ar -> CANIDMR5
-00246 */
-00247 char canInit1Filter (
-00248                      UNS16 adrCAN, 
-00249                      UNS8 nFilter,
-00250                      UNS16 ar,
-00251                      UNS16 mr
-00252                      );
-00253 
-00254 /*
-00255 Initialise the parameters for filtering the messages received.
-00256 You must put the MSCAN in init mode before with canInitMode()
-00257 Return 0 : OK
-00258        1 : Not in init mode. Unable to init MSCAN 
-00259 */
-00260 
-00261 char canInitFilter (
-00262                     UNS16 adrCAN, /* First address of MSCANx registers */
-00263                     canBusFilterInit fi);
-00264 /*
-00265 Put one of the 5 mscan in Init mode
-00266 Loop until init mode is reached.
-00267 */
-00268 
-00269 char canInitMode (
-00270                   UNS16 adrCAN /* First address of MSCANx registers */
-00271                   );    
-00272 
-00273 /*
-00274 Leave the Init mode
-00275 loop until init mode leaved.
-00276 */
-00277 
-00278 char canInitModeQ (
-00279                    UNS16 adrCAN /* First address of MSCANx registers */
-00280                    );
-00281 
-00282 
-00283 
-00284 /*
-00285 Transmit a msg on CAN "adrCan"
-00286 Return : 0      No error
-00287          other  error : no buffer available to make the transmission
-00288 */      
-00289 
-00290 char canMsgTransmit (
-00291                      UNS16 adrCAN,  /* First address of MSCANx registers */
-00292                      Message msg  /* Message to transmit                */
-00293                      );
-00294 
-00295 /*
-00296  Set the interruptions. Must be call just after having left the init mode.
-00297  */          
-00298 char canSetInterrupt (UNS16 adrCAN);                 
-00299 
-00300 /*
-00301 Put one of the 5 mscan in sleep mode
-00302 Beware! If some messages are to be sent,
-00303 or if it is receiving, going into sleep mode
-00304 may take time.
-00305 Wake up is disabled : stay in sleep mode even if
-00306 bus traffic detected.
-00307 return 0 if 0K, other if error : mscan is on init mode.
-00308 Stay in this function until the sleep mode
-00309 is reached.
-00310 */
-00311 char canSleepMode (
-00312                    UNS16 adrCAN /* First address of MSCANx registers */
-00313                    );   
-00314 
-00315 /*
-00316 Leave the sleep mode
-00317 loop until sleep mode leaved.
-00318 return 0 : OK
-00319 return 1 : error : in init mode
-00320 */
-00321 char canSleepModeQ (
-00322                     UNS16 adrCAN /* First address of MSCANx registers */
-00323                     );  
-00324 
-00325 /*
-00326 Put one of the 5 mscan in sleep mode
-00327 MSCAN must not be in init mode.
-00328 wake up is enabled : wake up if traffic on CAN is detected
-00329 Beware! If some messages are to be sent,
-00330 or if it is receiving, going into sleep mode
-00331 may take time.
-00332 Loop until sleep mode reached.
-00333 return 0 if 0K, other if error
-00334 */
-00335 char canSleepWupMode (
-00336                       UNS16 adrCAN /* First address of MSCANx registers */
-00337                       );        
-00338 
-00339 /*
-00340 Test if one of the 5 mscan is in init mode.
-00341 Return 
-00342        0     -> Not in init mode
-00343        other -> In init mode
-00344 */
-00345 char canTestInitMode (
-00346                       UNS16 adrCAN /* First address of MSCANx registers */
-00347                       );   
-00348 
-00349 /*
-00350 Test if one of the 5 mscan is in sleep mode.
-00351 Return 
-00352        0     -> Not in sleep mode
-00353        other -> In sleep mode
-00354 */
-00355 char canTestSleepMode (
-00356                        UNS16 adrCAN /* First address of MSCANx registers */
-00357                        );   
-00358 
-00359 
-00360 
-00361 #endif /*__CANDRIVER__*/
-00362 
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h.html --- a/doc/doxygen/html/candriver_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,668 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h File Reference

#include <can.h>
-#include <objdictdef.h>
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Data Structures

struct  t_pointerStack
struct  canBusTime
struct  canBusFilterInit
struct  canBusInit

Defines

#define MAX_STACK_MSG_RCV   5
#define NB_LINE_CAN   1
#define CANOPEN_LINE_NUMBER_USED   CAN0

Functions

char canAddIdToFilter (UNS16 adrCAN, UNS8 nFilter, UNS16 id)
char canChangeFilter (UNS16 adrCAN, canBusFilterInit fi)
char canEnable (UNS16 adrCAN)
char canInit (UNS16 adrCAN, canBusInit bi)
char canInitClock (UNS16 adrCAN, canBusTime clk)
char canInit1Filter (UNS16 adrCAN, UNS8 nFilter, UNS16 ar, UNS16 mr)
char canInitFilter (UNS16 adrCAN, canBusFilterInit fi)
char canInitMode (UNS16 adrCAN)
char canInitModeQ (UNS16 adrCAN)
char canMsgTransmit (UNS16 adrCAN, Message msg)
char canSetInterrupt (UNS16 adrCAN)
char canSleepMode (UNS16 adrCAN)
char canSleepModeQ (UNS16 adrCAN)
char canSleepWupMode (UNS16 adrCAN)
char canTestInitMode (UNS16 adrCAN)
char canTestSleepMode (UNS16 adrCAN)

Variables

volatile Message stackMsgRcv [NB_LINE_CAN][MAX_STACK_MSG_RCV]
Message msgRcv
volatile t_pointerStack ptrMsgRcv [NB_LINE_CAN]
canBusInit bi
-


Define Documentation

- -
-
- - - - -
#define CANOPEN_LINE_NUMBER_USED   CAN0
-
-
- -

- -

-Definition at line 53 of file candriver.h. -

-

- -

-
- - - - -
#define MAX_STACK_MSG_RCV   5
-
-
- -

- -

-Definition at line 38 of file candriver.h. -

-

- -

-
- - - - -
#define NB_LINE_CAN   1
-
-
- -

- -

-Definition at line 46 of file candriver.h. -

-

-


Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
char canAddIdToFilter (UNS16  adrCAN,
UNS8  nFilter,
UNS16  id 
)
-
-
- -

- -

-Definition at line 210 of file canOpenDriver.c. -

-References CANIDAR0, CANIDAR2, CANIDAR4, CANIDAR6, canTestInitMode(), IO_PORTS_16, IO_PORTS_8, MSG_WAR, and UNS8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canChangeFilter (UNS16  adrCAN,
canBusFilterInit  fi 
)
-
-
- -

- -

-Definition at line 250 of file canOpenDriver.c. -

-References canInitFilter(), canInitMode(), canInitModeQ(), canSetInterrupt(), canSleepMode(), canSleepModeQ(), and canTestInitMode(). -

-

- -

-
- - - - - - - - - -
char canEnable (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 266 of file canOpenDriver.c. -

-References CANCTL1, and IO_PORTS_8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canInit (UNS16  adrCAN,
canBusInit  bi 
)
-
-
- -

- -

-Definition at line 277 of file canOpenDriver.c. -

-References CANCTL0, CANCTL1, canBusInit::cane, canEnable(), canInitClock(), canInitFilter(), canInitMode(), canInitModeQ(), canSetInterrupt(), canSleepMode(), canSleepModeQ(), canTestInitMode(), canBusInit::clk, canBusInit::cswai, canBusInit::fi, IO_PORTS_8, canBusInit::listen, canBusInit::loopb, canBusInit::time, and canBusInit::wupm. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
char canInit1Filter (UNS16  adrCAN,
UNS8  nFilter,
UNS16  ar,
UNS16  mr 
)
-
-
- -

- -

-Definition at line 335 of file canOpenDriver.c. -

-References CANIDAR0, CANIDAR2, CANIDAR4, CANIDAR6, canTestInitMode(), IO_PORTS_8, MSG_WAR, and UNS8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canInitClock (UNS16  adrCAN,
canBusTime  clk 
)
-
-
- -

- -

-Definition at line 313 of file canOpenDriver.c. -

-References canBusTime::brp, CANBTR0, CANBTR1, CANCTL1, canTestInitMode(), canBusTime::clksrc, IO_PORTS_8, MSG_WAR, canBusTime::samp, canBusTime::sjw, canBusTime::tseg1, and canBusTime::tseg2. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canInitFilter (UNS16  adrCAN,
canBusFilterInit  fi 
)
-
-
- -

- -

-Definition at line 364 of file canOpenDriver.c. -

-References CANIDAC, canBusFilterInit::canidar0, CANIDAR0, canBusFilterInit::canidar1, CANIDAR1, canBusFilterInit::canidar2, CANIDAR2, canBusFilterInit::canidar3, CANIDAR3, canBusFilterInit::canidar4, CANIDAR4, canBusFilterInit::canidar5, CANIDAR5, canBusFilterInit::canidar6, CANIDAR6, canBusFilterInit::canidar7, CANIDAR7, canBusFilterInit::canidmr0, CANIDMR0, canBusFilterInit::canidmr1, CANIDMR1, canBusFilterInit::canidmr2, CANIDMR2, canBusFilterInit::canidmr3, CANIDMR3, canBusFilterInit::canidmr4, CANIDMR4, canBusFilterInit::canidmr5, CANIDMR5, canBusFilterInit::canidmr6, CANIDMR6, canBusFilterInit::canidmr7, CANIDMR7, canTestInitMode(), canBusFilterInit::idam, IO_PORTS_8, and MSG_WAR. -

-

- -

-
- - - - - - - - - -
char canInitMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 392 of file canOpenDriver.c. -

-References CANCTL0, canTestInitMode(), and IO_PORTS_8. -

-

- -

-
- - - - - - - - - -
char canInitModeQ (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 401 of file canOpenDriver.c. -

-References CANCTL0, canTestInitMode(), and IO_PORTS_8. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
char canMsgTransmit (UNS16  adrCAN,
Message  msg 
)
-
-
- -

- -

-Definition at line 410 of file canOpenDriver.c. -

-References CANTBSEL, CANTFLG, CANTRSDTA, CANTRSID, CANTRSLEN, CANTRSPRI, Message::cob_id, Message::data, IO_PORTS_8, Message::len, MSG_WAR, Message::rtr, UNS8, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - -
char canSetInterrupt (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 445 of file canOpenDriver.c. -

-References CANRIER, CANTIER, and IO_PORTS_8. -

-

- -

-
- - - - - - - - - -
char canSleepMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 452 of file canOpenDriver.c. -

-References CANCTL0, canTestSleepMode(), and IO_PORTS_8. -

-

- -

-
- - - - - - - - - -
char canSleepModeQ (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 466 of file canOpenDriver.c. -

-References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR. -

-

- -

-
- - - - - - - - - -
char canSleepWupMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 480 of file canOpenDriver.c. -

-References CANCTL0, canTestInitMode(), canTestSleepMode(), IO_PORTS_8, and MSG_WAR. -

-

- -

-
- - - - - - - - - -
char canTestInitMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 493 of file canOpenDriver.c. -

-References CANCTL1, and IO_PORTS_8. -

-

- -

-
- - - - - - - - - -
char canTestSleepMode (UNS16  adrCAN  ) 
-
-
- -

- -

-Definition at line 499 of file canOpenDriver.c. -

-References CANCTL1, and IO_PORTS_8. -

-

-


Variable Documentation

- -
-
- - - - -
canBusInit bi
-
-
- -

- -

-

- -

-
- - - - -
Message msgRcv
-
-
- -

- -

-

- -

-
- - - - -
volatile t_pointerStack ptrMsgRcv[NB_LINE_CAN]
-
-
- -

- -

-

- -

-
- - - - -
volatile Message stackMsgRcv[NB_LINE_CAN][MAX_STACK_MSG_RCV]
-
-
- -

- -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_00ffb46abacfdfa56ebc70e15164113e_cgraph.dot --- a/doc/doxygen/html/candriver_8h_00ffb46abacfdfa56ebc70e15164113e_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInitModeQ",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_00ffb46abacfdfa56ebc70e15164113e_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_00ffb46abacfdfa56ebc70e15164113e_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -4b78aa688f305e7d5b1a0204d46370d9 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_0b98e4800c82d99981833aa4207f1eb9_cgraph.dot --- a/doc/doxygen/html/candriver_8h_0b98e4800c82d99981833aa4207f1eb9_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInitMode",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_0b98e4800c82d99981833aa4207f1eb9_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_0b98e4800c82d99981833aa4207f1eb9_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ce575cd9ea5d959bf1208cf1d449ea14 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_1ae1ad5d66ac87085baf5b9d0a4e62ca_cgraph.dot --- a/doc/doxygen/html/candriver_8h_1ae1ad5d66ac87085baf5b9d0a4e62ca_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSleepWupMode",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canTestSleepMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#fa79f2ac95a8143c2fb087260df39820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_1ae1ad5d66ac87085baf5b9d0a4e62ca_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_1ae1ad5d66ac87085baf5b9d0a4e62ca_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ae72df7e912f53e5d96075252b375173 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_3c4f7a31d94e5e7c7322535467b806de_cgraph.dot --- a/doc/doxygen/html/candriver_8h_3c4f7a31d94e5e7c7322535467b806de_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInit",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canEnable",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#5a53a89d2e348d70331e6ebe269d155a"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canInitClock",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6ec3ce6d79012dd8a08fa5aeb6a0489f"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="canInitFilter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b4502eef7616b25c74b1ac5a2245b085"]; - Node5 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="canInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#0b98e4800c82d99981833aa4207f1eb9"]; - Node6 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="canInitModeQ",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#00ffb46abacfdfa56ebc70e15164113e"]; - Node7 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="canSetInterrupt",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#5ad8616a3276f7f40149b551f09aa6a1"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="canSleepMode",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#c7773223579ec7e0fab5238df214da89"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="canSleepModeQ",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#a89f28005eea54f5b216eb72a18d45f3"]; - Node10 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_3c4f7a31d94e5e7c7322535467b806de_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_3c4f7a31d94e5e7c7322535467b806de_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6f38e9abfd2284616b22f2f04f87f248 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_5fb549697afb7918607aa113e01c543d_cgraph.dot --- a/doc/doxygen/html/candriver_8h_5fb549697afb7918607aa113e01c543d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInit1Filter",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_5fb549697afb7918607aa113e01c543d_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_5fb549697afb7918607aa113e01c543d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -012753a05393e159678f6ad2c62f956b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_6ec3ce6d79012dd8a08fa5aeb6a0489f_cgraph.dot --- a/doc/doxygen/html/candriver_8h_6ec3ce6d79012dd8a08fa5aeb6a0489f_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInitClock",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_6ec3ce6d79012dd8a08fa5aeb6a0489f_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_6ec3ce6d79012dd8a08fa5aeb6a0489f_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -2ddee194a974e7b451b6c62e4eeaa270 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_751a41c9747b96ab400b5599370cea83_cgraph.dot --- a/doc/doxygen/html/candriver_8h_751a41c9747b96ab400b5599370cea83_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canChangeFilter",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canInitFilter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b4502eef7616b25c74b1ac5a2245b085"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#0b98e4800c82d99981833aa4207f1eb9"]; - Node4 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="canInitModeQ",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#00ffb46abacfdfa56ebc70e15164113e"]; - Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="canSetInterrupt",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#5ad8616a3276f7f40149b551f09aa6a1"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="canSleepMode",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#c7773223579ec7e0fab5238df214da89"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="canSleepModeQ",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#a89f28005eea54f5b216eb72a18d45f3"]; - Node8 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_751a41c9747b96ab400b5599370cea83_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_751a41c9747b96ab400b5599370cea83_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d0bccbf65ecd5d37aa808c6d60f1621e \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h__incl.dot --- a/doc/doxygen/html/candriver_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h__incl.md5 --- a/doc/doxygen/html/candriver_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -2ddabff6e2acd6c0a8be813deaeb7fab \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_a89f28005eea54f5b216eb72a18d45f3_cgraph.dot --- a/doc/doxygen/html/candriver_8h_a89f28005eea54f5b216eb72a18d45f3_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSleepModeQ",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canTestSleepMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#fa79f2ac95a8143c2fb087260df39820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_a89f28005eea54f5b216eb72a18d45f3_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_a89f28005eea54f5b216eb72a18d45f3_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -bff772af432c9bf129d5cdb92cdf96e2 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_acfd181d5b055d1403930442e28ac643_cgraph.dot --- a/doc/doxygen/html/candriver_8h_acfd181d5b055d1403930442e28ac643_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canAddIdToFilter",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_acfd181d5b055d1403930442e28ac643_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_acfd181d5b055d1403930442e28ac643_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -b1b71c85e9789f6726155d807451eac0 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_b4502eef7616b25c74b1ac5a2245b085_cgraph.dot --- a/doc/doxygen/html/candriver_8h_b4502eef7616b25c74b1ac5a2245b085_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canInitFilter",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestInitMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6beefe951b3c9de786c585257488fa82"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_b4502eef7616b25c74b1ac5a2245b085_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_b4502eef7616b25c74b1ac5a2245b085_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -0db8c5aaac5a9c2958641772b67c71cd \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_c7773223579ec7e0fab5238df214da89_cgraph.dot --- a/doc/doxygen/html/candriver_8h_c7773223579ec7e0fab5238df214da89_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSleepMode",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canTestSleepMode",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#fa79f2ac95a8143c2fb087260df39820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/candriver_8h_c7773223579ec7e0fab5238df214da89_cgraph.md5 --- a/doc/doxygen/html/candriver_8h_c7773223579ec7e0fab5238df214da89_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -59815630f7ae4c180bd2ea3a46900c77 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canmsg_8h-source.html --- a/doc/doxygen/html/canmsg_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/canmsg.h Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/canmsg.h

Go to the documentation of this file.
00001 /* canmsg.h - common kernel-space and user-space CAN message structure
-00002  * Linux CAN-bus device driver.
-00003  * Written by Pavel Pisa - OCERA team member
-00004  * email:pisa@cmp.felk.cvut.cz
-00005  * This software is released under the GPL-License.
-00006  * Version lincan-0.3  17 Jun 2004
-00007  */
-00008 
-00009 #ifndef _CANMSG_T_H
-00010 #define _CANMSG_T_H
-00011 
-00012 #ifdef __KERNEL__
-00013 
-00014 #include <linux/time.h>
-00015 #include <linux/types.h>
-00016 
-00017 #else /* __KERNEL__ */
-00018 
-00019 #include <sys/time.h>
-00020 #include <sys/types.h>
-00021 
-00022 #endif /* __KERNEL__ */
-00023 
-00024 #ifdef __cplusplus
-00025 extern "C" {
-00026 #endif
-00027 
-00028 /*
-00029  * CAN_MSG_VERSION_2 enables new canmsg_t layout compatible with
-00030  * can4linux project from http://www.port.de/
-00031  *
-00032  */
-00033 #define CAN_MSG_VERSION_2
-00034 
-00035 /* Number of data bytes in one CAN message */
-00036 #define CAN_MSG_LENGTH 8
-00037 
-00038 #ifdef CAN_MSG_VERSION_2
-00039 
-00040 typedef struct timeval canmsg_tstamp_t ;
-00041 
-00042 typedef unsigned long canmsg_id_t;
-00043 
-00059 struct canmsg_t {
-00060         int             flags;
-00061         int             cob;
-00062         canmsg_id_t     id;
-00063         canmsg_tstamp_t timestamp;
-00064         unsigned short  length;
-00065         unsigned char   data[CAN_MSG_LENGTH];
-00066 };
-00067 
-00068 #else /*CAN_MSG_VERSION_2*/
-00069 #ifndef PACKED
-00070 #define PACKED __attribute__((packed))
-00071 #endif
-00072 /* Old, deprecated version of canmsg_t structure */
-00073 struct canmsg_t {
-00074         short           flags;
-00075         int             cob;
-00076         canmsg_id_t     id;
-00077         unsigned long   timestamp;
-00078         unsigned int    length;
-00079         unsigned char   data[CAN_MSG_LENGTH];
-00080 } PACKED;
-00081 #endif /*CAN_MSG_VERSION_2*/
-00082 
-00083 typedef struct canmsg_t canmsg_t;
-00084 
-00105 struct canfilt_t {
-00106         int             flags;
-00107         int             queid;
-00108         int             cob;
-00109         canmsg_id_t     id;
-00110         canmsg_id_t     mask;
-00111 };
-00112 
-00113 typedef struct canfilt_t canfilt_t;
-00114 
-00115 /* Definitions to use for canmsg_t and canfilt_t flags */
-00116 #define MSG_RTR   (1<<0)
-00117 #define MSG_OVR   (1<<1)
-00118 #define MSG_EXT   (1<<2)
-00119 #define MSG_LOCAL (1<<3)
-00120 /* If you change above lines, check canque_filtid2internal function */
-00121 
-00122 /* Additional definitions used for canfilt_t only */
-00123 #define MSG_FILT_MASK_SHIFT   8
-00124 #define MSG_RTR_MASK   (MSG_RTR<<MSG_FILT_MASK_SHIFT)
-00125 #define MSG_EXT_MASK   (MSG_EXT<<MSG_FILT_MASK_SHIFT)
-00126 #define MSG_LOCAL_MASK (MSG_LOCAL<<MSG_FILT_MASK_SHIFT)
-00127 #define MSG_PROCESSLOCAL (MSG_OVR<<MSG_FILT_MASK_SHIFT)
-00128 
-00129 /* Can message ID mask */
-00130 #define MSG_ID_MASK ((1l<<29)-1)
-00131 
-00132 #ifdef __cplusplus
-00133 } /* extern "C"*/
-00134 #endif
-00135 
-00136 #endif /*_CANMSG_T_H*/
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canmsg_8h.html --- a/doc/doxygen/html/canmsg_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,344 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/canmsg.h File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/canmsg.h File Reference

#include <sys/time.h>
-#include <sys/types.h>
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Data Structures

struct  canmsg_t
struct  canfilt_t

Defines

#define CAN_MSG_VERSION_2
#define CAN_MSG_LENGTH   8
#define MSG_RTR   (1<<0)
#define MSG_OVR   (1<<1)
#define MSG_EXT   (1<<2)
#define MSG_LOCAL   (1<<3)
#define MSG_FILT_MASK_SHIFT   8
#define MSG_RTR_MASK   (MSG_RTR<<MSG_FILT_MASK_SHIFT)
#define MSG_EXT_MASK   (MSG_EXT<<MSG_FILT_MASK_SHIFT)
#define MSG_LOCAL_MASK   (MSG_LOCAL<<MSG_FILT_MASK_SHIFT)
#define MSG_PROCESSLOCAL   (MSG_OVR<<MSG_FILT_MASK_SHIFT)
#define MSG_ID_MASK   ((1l<<29)-1)

Typedefs

typedef timeval canmsg_tstamp_t
typedef unsigned long canmsg_id_t
typedef canmsg_t canmsg_t
typedef canfilt_t canfilt_t
-


Define Documentation

- -
-
- - - - -
#define CAN_MSG_LENGTH   8
-
-
- -

- -

-Definition at line 36 of file canmsg.h. -

-

- -

-
- - - - -
#define CAN_MSG_VERSION_2
-
-
- -

- -

-Definition at line 33 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_EXT   (1<<2)
-
-
- -

- -

-Definition at line 118 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_EXT_MASK   (MSG_EXT<<MSG_FILT_MASK_SHIFT)
-
-
- -

- -

-Definition at line 125 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_FILT_MASK_SHIFT   8
-
-
- -

- -

-Definition at line 123 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_ID_MASK   ((1l<<29)-1)
-
-
- -

- -

-Definition at line 130 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_LOCAL   (1<<3)
-
-
- -

- -

-Definition at line 119 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_LOCAL_MASK   (MSG_LOCAL<<MSG_FILT_MASK_SHIFT)
-
-
- -

- -

-Definition at line 126 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_OVR   (1<<1)
-
-
- -

- -

-Definition at line 117 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_PROCESSLOCAL   (MSG_OVR<<MSG_FILT_MASK_SHIFT)
-
-
- -

- -

-Definition at line 127 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_RTR   (1<<0)
-
-
- -

- -

-Definition at line 116 of file canmsg.h. -

-

- -

-
- - - - -
#define MSG_RTR_MASK   (MSG_RTR<<MSG_FILT_MASK_SHIFT)
-
-
- -

- -

-Definition at line 124 of file canmsg.h. -

-

-


Typedef Documentation

- -
-
- - - - -
typedef struct canfilt_t canfilt_t
-
-
- -

- -

-Definition at line 113 of file canmsg.h. -

-

- -

-
- - - - -
typedef unsigned long canmsg_id_t
-
-
- -

- -

-Definition at line 42 of file canmsg.h. -

-

- -

-
- - - - -
typedef struct canmsg_t canmsg_t
-
-
- -

- -

-Definition at line 83 of file canmsg.h. -

-

- -

-
- - - - -
typedef struct timeval canmsg_tstamp_t
-
-
- -

- -

-Definition at line 40 of file canmsg.h. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canmsg_8h__dep__incl.dot --- a/doc/doxygen/html/canmsg_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/canmsg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__lincan_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/lincan.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lincan_8h.html"]; - Node3 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canmsg_8h__dep__incl.md5 --- a/doc/doxygen/html/canmsg_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -14f66cbe0cb3304fd03020da665bced0 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canmsg_8h__incl.dot --- a/doc/doxygen/html/canmsg_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/canmsg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sys/time.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="sys/types.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/canmsg_8h__incl.md5 --- a/doc/doxygen/html/canmsg_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -bd2437f6bd931c03d0e02d04176846a4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32.html --- a/doc/doxygen/html/classcan__uvccm__win32.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,358 +0,0 @@ - - -CanFestival: can_uvccm_win32 Class Reference - - - - -
-
-
-
-

can_uvccm_win32 Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 can_uvccm_win32 (s_BOARD *board)
 ~can_uvccm_win32 ()
bool send (const Message *m)
bool receive (Message *m)

Private Member Functions

bool open_rs232 (int port=1, int baud_rate=57600)
bool close_rs232 ()
bool get_can_data (const char *can_cmd_buf, long &bufsize, Message *m)
bool set_can_data (const Message &m, std::string &can_cmd)

Private Attributes

HANDLE m_port
HANDLE m_read_event
HANDLE m_write_event
std::string m_residual_buffer

Data Structures

class  error
-

Detailed Description

- -

- -

-Definition at line 17 of file can_uvccm_win32.cpp.


Constructor & Destructor Documentation

- -
-
- - - - - - - - - -
can_uvccm_win32::can_uvccm_win32 (s_BOARD board  ) 
-
-
- -

- -

-Definition at line 39 of file can_uvccm_win32.cpp. -

-References struct_s_BOARD::baudrate, and open_rs232(). -

-

- -

-
- - - - - - - - -
can_uvccm_win32::~can_uvccm_win32 (  ) 
-
-
- -

- -

-Definition at line 47 of file can_uvccm_win32.cpp. -

-References close_rs232(). -

-

-


Member Function Documentation

- -
-
- - - - - - - - - -
bool can_uvccm_win32::send (const Message m  ) 
-
-
- -

- -

-Definition at line 52 of file can_uvccm_win32.cpp. -

-References FALSE, m_port, m_write_event, set_can_data(), and eds_utils::WriteFile(). -

-

- -

-
- - - - - - - - - -
bool can_uvccm_win32::receive (Message m  ) 
-
-
- -

- -

-Definition at line 80 of file can_uvccm_win32.cpp. -

-References FALSE, get_can_data(), m_port, m_read_event, and m_residual_buffer. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
bool can_uvccm_win32::open_rs232 (int  port = 1,
int  baud_rate = 57600 
) [private]
-
-
- -

- -

-Definition at line 136 of file can_uvccm_win32.cpp. -

-References FALSE, m_port, m_read_event, m_write_event, and TRUE. -

-

- -

-
- - - - - - - - -
bool can_uvccm_win32::close_rs232 (  )  [private]
-
-
- -

- -

-Definition at line 190 of file can_uvccm_win32.cpp. -

-References m_port, m_read_event, m_residual_buffer, and m_write_event. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool can_uvccm_win32::get_can_data (const char *  can_cmd_buf,
long &  bufsize,
Message m 
) [private]
-
-
- -

- -

-Definition at line 206 of file can_uvccm_win32.cpp. -

-References Message::cob_id, Message::data, Message::len, Message::rtr, UNS8, and SHORT_CAN::w. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
bool can_uvccm_win32::set_can_data (const Message m,
std::string &  can_cmd 
) [private]
-
-
- -

- -

-Definition at line 271 of file can_uvccm_win32.cpp. -

-References Message::cob_id, Message::data, Message::len, Message::rtr, and SHORT_CAN::w. -

-

-


Field Documentation

- -
-
- - - - -
HANDLE can_uvccm_win32::m_port [private]
-
-
- -

- -

-Definition at line 33 of file can_uvccm_win32.cpp. -

-

- -

-
- - - - -
HANDLE can_uvccm_win32::m_read_event [private]
-
-
- -

- -

-Definition at line 34 of file can_uvccm_win32.cpp. -

-

- -

-
- - - - -
HANDLE can_uvccm_win32::m_write_event [private]
-
-
- -

- -

-Definition at line 35 of file can_uvccm_win32.cpp. -

-

- -

-
- - - - -
std::string can_uvccm_win32::m_residual_buffer [private]
-
-
- -

- -

-Definition at line 36 of file can_uvccm_win32.cpp. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_1_1error.html --- a/doc/doxygen/html/classcan__uvccm__win32_1_1error.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ - - -CanFestival: can_uvccm_win32::error Class Reference - - - - -
-
-
-
- -

can_uvccm_win32::error Class Reference

- -
-

Detailed Description

- -

- -

-Definition at line 20 of file can_uvccm_win32.cpp.


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_3358bfa32c0164bc11d220745e3e0430_cgraph.dot --- a/doc/doxygen/html/classcan__uvccm__win32_3358bfa32c0164bc11d220745e3e0430_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="can_uvccm_win32::send",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="can_uvccm_win32::set_can_data",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classcan__uvccm__win32.html#0f2aed9c45f29e6082f37ea17aea46ae"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="eds_utils::WriteFile",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespaceeds__utils.html#d9540832adbe476f1ba6a0cafcbbafbc"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_3358bfa32c0164bc11d220745e3e0430_cgraph.md5 --- a/doc/doxygen/html/classcan__uvccm__win32_3358bfa32c0164bc11d220745e3e0430_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6c735c92d46a6e36b22efb6cba9e7c33 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_39bb5c7bb141391d0f2f34b7dd5f487c_cgraph.dot --- a/doc/doxygen/html/classcan__uvccm__win32_39bb5c7bb141391d0f2f34b7dd5f487c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="can_uvccm_win32::~can_uvccm_win32",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="can_uvccm_win32::close_rs232",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classcan__uvccm__win32.html#06f9d2fb860a821436471c3233f91dff"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_39bb5c7bb141391d0f2f34b7dd5f487c_cgraph.md5 --- a/doc/doxygen/html/classcan__uvccm__win32_39bb5c7bb141391d0f2f34b7dd5f487c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -0b5349d984e437099b2470c6968309d5 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_4301393c1d3046b35d0b545e761b94db_cgraph.dot --- a/doc/doxygen/html/classcan__uvccm__win32_4301393c1d3046b35d0b545e761b94db_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="can_uvccm_win32::receive",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="can_uvccm_win32::get_can_data",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classcan__uvccm__win32.html#c3d1d02a46518b2639beb6060f79f2a2"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_4301393c1d3046b35d0b545e761b94db_cgraph.md5 --- a/doc/doxygen/html/classcan__uvccm__win32_4301393c1d3046b35d0b545e761b94db_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -5e7d2c0df09e3c25bec9a4c6f63a2bbc \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_f4f6d1f25174fd3b7d897a5f73bc363e_cgraph.dot --- a/doc/doxygen/html/classcan__uvccm__win32_f4f6d1f25174fd3b7d897a5f73bc363e_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="can_uvccm_win32::can_uvccm_win32",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="can_uvccm_win32::open_rs232",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classcan__uvccm__win32.html#7fb6732edc691451bc1d3206c07d4715"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcan__uvccm__win32_f4f6d1f25174fd3b7d897a5f73bc363e_cgraph.md5 --- a/doc/doxygen/html/classcan__uvccm__win32_f4f6d1f25174fd3b7d897a5f73bc363e_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ab0edc52f44139fb5cf3a62c3c0eb909 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classccritical__section.html --- a/doc/doxygen/html/classccritical__section.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,158 +0,0 @@ - - -CanFestival: ccritical_section Class Reference - - - - -
-
-
-
-

ccritical_section Class Reference

- - - - - - - - - - - - - -

Public Member Functions

 ccritical_section ()
 ~ccritical_section ()
void enter ()
void leave ()

Private Attributes

CRITICAL_SECTION m_cs
-

Detailed Description

- -

- -

-Definition at line 38 of file timers_win32.cpp.


Constructor & Destructor Documentation

- -
-
- - - - - - - - -
ccritical_section::ccritical_section (  )  [inline]
-
-
- -

- -

-Definition at line 41 of file timers_win32.cpp. -

-References m_cs. -

-

- -

-
- - - - - - - - -
ccritical_section::~ccritical_section (  )  [inline]
-
-
- -

- -

-Definition at line 45 of file timers_win32.cpp. -

-References m_cs. -

-

-


Member Function Documentation

- -
-
- - - - - - - - -
void ccritical_section::enter (  )  [inline]
-
-
- -

- -

-Definition at line 49 of file timers_win32.cpp. -

-References m_cs. -

-

- -

-
- - - - - - - - -
void ccritical_section::leave (  )  [inline]
-
-
- -

- -

-Definition at line 53 of file timers_win32.cpp. -

-References m_cs. -

-

-


Field Documentation

- -
-
- - - - -
CRITICAL_SECTION ccritical_section::m_cs [private]
-
-
- -

- -

-Definition at line 58 of file timers_win32.cpp. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers.html --- a/doc/doxygen/html/classclass__timers.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,382 +0,0 @@ - - -CanFestival: class_timers Class Reference - - - - -
-
-
-
-

class_timers Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 class_timers ()
 ~class_timers ()
void start_timer_thread ()
void resume_timer_thread ()
void stop_timer_thread ()
void set_timer (TIMEVAL value)
TIMEVAL get_elapsed_time ()

Private Member Functions

TIMEVAL get_timer () const

Static Private Member Functions

static DWORD WINAPI timer_loop_thread_proc (void *arg)

Private Attributes

TIMEVAL m_last_occured_alarm_time
volatile TIMEVAL m_last_alarm_set_time
HANDLE m_timer_thread
volatile bool m_continue_timer_loop
bool m_use_hi_res_timer
double m_counts_per_usec
-

Detailed Description

- -

- -

-Definition at line 94 of file timers_win32.cpp.


Constructor & Destructor Documentation

- -
-
- - - - - - - - -
class_timers::class_timers (  ) 
-
-
- -

- -

-Definition at line 116 of file timers_win32.cpp. -

-References m_counts_per_usec, and m_use_hi_res_timer. -

-

- -

-
- - - - - - - - -
class_timers::~class_timers (  ) 
-
-
- -

- -

-Definition at line 133 of file timers_win32.cpp. -

-References stop_timer_thread(). -

-

-


Member Function Documentation

- -
-
- - - - - - - - -
void class_timers::start_timer_thread (  ) 
-
-
- -

- -

-Definition at line 173 of file timers_win32.cpp. -

-References get_timer(), m_last_alarm_set_time, m_last_occured_alarm_time, m_timer_thread, timer_loop_thread_proc(), and TIMEVAL_MAX. -

-

- -

-
- - - - - - - - -
void class_timers::resume_timer_thread (  ) 
-
-
- -

- -

-Definition at line 184 of file timers_win32.cpp. -

-References m_continue_timer_loop, and m_timer_thread. -

-

- -

-
- - - - - - - - -
void class_timers::stop_timer_thread (  ) 
-
-
- -

- -

-Definition at line 193 of file timers_win32.cpp. -

-References m_continue_timer_loop, and m_timer_thread. -

-

- -

-
- - - - - - - - - -
void class_timers::set_timer (TIMEVAL  value  ) 
-
-
- -

- -

-Definition at line 204 of file timers_win32.cpp. -

-References get_timer(), m_last_alarm_set_time, and TIMEVAL_MAX. -

-

- -

-
- - - - - - - - -
TIMEVAL class_timers::get_elapsed_time (  ) 
-
-
- -

- -

-Definition at line 210 of file timers_win32.cpp. -

-References get_timer(), and m_last_occured_alarm_time. -

-

- -

-
- - - - - - - - -
TIMEVAL class_timers::get_timer (  )  const [private]
-
-
- -

- -

-Definition at line 139 of file timers_win32.cpp. -

-References m_counts_per_usec, m_use_hi_res_timer, and TIMEVAL. -

-

- -

-
- - - - - - - - - -
DWORD WINAPI class_timers::timer_loop_thread_proc (void *  arg  )  [static, private]
-
-
- -

- -

-Definition at line 151 of file timers_win32.cpp. -

-References EnterMutex(), get_timer(), LeaveMutex(), m_continue_timer_loop, m_last_alarm_set_time, m_last_occured_alarm_time, TimeDispatch(), TIMEVAL, and TIMEVAL_MAX. -

-

-


Field Documentation

- -
-
- - - - -
TIMEVAL class_timers::m_last_occured_alarm_time [private]
-
-
- -

- -

-Definition at line 108 of file timers_win32.cpp. -

-

- -

-
- - - - -
volatile TIMEVAL class_timers::m_last_alarm_set_time [private]
-
-
- -

- -

-Definition at line 109 of file timers_win32.cpp. -

-

- -

-
- - - - -
HANDLE class_timers::m_timer_thread [private]
-
-
- -

- -

-Definition at line 110 of file timers_win32.cpp. -

-

- -

-
- - - - -
volatile bool class_timers::m_continue_timer_loop [private]
-
-
- -

- -

-Definition at line 111 of file timers_win32.cpp. -

-

- -

-
- - - - -
bool class_timers::m_use_hi_res_timer [private]
-
-
- -

- -

-Definition at line 112 of file timers_win32.cpp. -

-

- -

-
- - - - -
double class_timers::m_counts_per_usec [private]
-
-
- -

- -

-Definition at line 113 of file timers_win32.cpp. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_0fa5bd5d1d4012bf9eef3ffabe990dfb_cgraph.dot --- a/doc/doxygen/html/classclass__timers_0fa5bd5d1d4012bf9eef3ffabe990dfb_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="class_timers::get_elapsed_time",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="class_timers::get_timer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_0fa5bd5d1d4012bf9eef3ffabe990dfb_cgraph.md5 --- a/doc/doxygen/html/classclass__timers_0fa5bd5d1d4012bf9eef3ffabe990dfb_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -0c6bbbe6530bbc36d395be5f50847b90 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_6fd261041314ddd3ada9537530d02afd_cgraph.dot --- a/doc/doxygen/html/classclass__timers_6fd261041314ddd3ada9537530d02afd_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="class_timers::~class_timers",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="class_timers::stop_timer_thread",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#a78d9f5ab159ec6b11b4dc4c8f351697"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_6fd261041314ddd3ada9537530d02afd_cgraph.md5 --- a/doc/doxygen/html/classclass__timers_6fd261041314ddd3ada9537530d02afd_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -1a8119a98ce72e058428f2a32d515979 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_a27df6346a38fb25acc394cb7998a3f8_cgraph.dot --- a/doc/doxygen/html/classclass__timers_a27df6346a38fb25acc394cb7998a3f8_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="class_timers::set_timer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="class_timers::get_timer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_a27df6346a38fb25acc394cb7998a3f8_cgraph.md5 --- a/doc/doxygen/html/classclass__timers_a27df6346a38fb25acc394cb7998a3f8_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -0778188a7f499e5d2a0cdf27893b4574 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_a68dd5b6225b3519b4bc2a0280683c87_cgraph.dot --- a/doc/doxygen/html/classclass__timers_a68dd5b6225b3519b4bc2a0280683c87_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="class_timers::timer_loop_thread_proc",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="class_timers::get_timer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="TimeDispatch",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8c.html#fa75192a3238525618f8cb83004930cc"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_a68dd5b6225b3519b4bc2a0280683c87_cgraph.md5 --- a/doc/doxygen/html/classclass__timers_a68dd5b6225b3519b4bc2a0280683c87_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -2987e4d4b4da2a86e362abc0bc1df589 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_d857a63670354f41759f68d4ea29a0f5_cgraph.dot --- a/doc/doxygen/html/classclass__timers_d857a63670354f41759f68d4ea29a0f5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="class_timers::start_timer_thread",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="class_timers::get_timer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="class_timers::timer_loop_thread_proc",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#a68dd5b6225b3519b4bc2a0280683c87"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node3 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="TimeDispatch",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8c.html#fa75192a3238525618f8cb83004930cc"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classclass__timers_d857a63670354f41759f68d4ea29a0f5_cgraph.md5 --- a/doc/doxygen/html/classclass__timers_d857a63670354f41759f68d4ea29a0f5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -4d40e7f2b7696305d75aaf136e068ea1 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcommondialogs_1_1AddSlaveDialog.html --- a/doc/doxygen/html/classcommondialogs_1_1AddSlaveDialog.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,349 +0,0 @@ - - -CanFestival: commondialogs::AddSlaveDialog Class Reference - - - - -
-
-
-
- -

commondialogs::AddSlaveDialog Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def OnOK
def OnImportEDSButton
def RefreshEDSFile
def SetNodeList
def GetValues

Data Fields

 ButtonSizer
 NodeList

Private Member Functions

def _init_coll_flexGridSizer1_Items
def _init_sizers
def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 905 of file commondialogs.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def commondialogs::AddSlaveDialog::_init_coll_flexGridSizer1_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 906 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::AddSlaveDialog::_init_sizers (  self  )  [private]
-
-
- -

- -

-Definition at line 911 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::AddSlaveDialog::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 919 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::AddSlaveDialog::__init__ (  self,
  parent 
)
-
-
- -

- -

-Definition at line 964 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::AddSlaveDialog::OnOK (  self,
  event 
)
-
-
- -

- -

-Definition at line 973 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::AddSlaveDialog::OnImportEDSButton (  self,
  event 
)
-
-
- -

- -

-Definition at line 1016 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::AddSlaveDialog::RefreshEDSFile (  self  ) 
-
-
- -

- -

-Definition at line 1030 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::AddSlaveDialog::SetNodeList (  self,
  nodelist 
)
-
-
- -

- -

-Definition at line 1038 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::AddSlaveDialog::GetValues (  self  ) 
-
-
- -

- -

-Definition at line 1042 of file commondialogs.py. -

-

-


Field Documentation

- -
-
- - - - -
commondialogs::AddSlaveDialog::ButtonSizer
-
-
- -

- -

-Definition at line 966 of file commondialogs.py. -

-

- -

-
- - - - -
commondialogs::AddSlaveDialog::NodeList
-
-
- -

- -

-Definition at line 1039 of file commondialogs.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcommondialogs_1_1CommunicationDialog.html --- a/doc/doxygen/html/classcommondialogs_1_1CommunicationDialog.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,534 +0,0 @@ - - -CanFestival: commondialogs::CommunicationDialog Class Reference - - - - -
-
-
-
- -

commondialogs::CommunicationDialog Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def SetIndexDictionary
def SetCurrentList
def GetCurrentList
def RefreshLists
def OnPossibleIndexesDClick
def OnCurrentIndexesDClick
def OnSelectButton
def OnUnselectButton
def SelectPossible
def UnselectCurrent

Data Fields

 ButtonSizer
 AllList
 CurrentList
 IndexDictionary

Private Member Functions

def _init_coll_flexGridSizer1_Items
def _init_sizers
def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 41 of file commondialogs.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::_init_coll_flexGridSizer1_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 42 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CommunicationDialog::_init_sizers (  self  )  [private]
-
-
- -

- -

-Definition at line 47 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 55 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::__init__ (  self,
  parent 
)
-
-
- -

- -

-Definition at line 106 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::SetIndexDictionary (  self,
  dictionary 
)
-
-
- -

- -

-Definition at line 114 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::SetCurrentList (  self,
  list 
)
-
-
- -

- -

-Definition at line 117 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CommunicationDialog::GetCurrentList (  self  ) 
-
-
- -

- -

-Definition at line 122 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CommunicationDialog::RefreshLists (  self  ) 
-
-
- -

- -

-Definition at line 125 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::OnPossibleIndexesDClick (  self,
  event 
)
-
-
- -

- -

-Definition at line 139 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::OnCurrentIndexesDClick (  self,
  event 
)
-
-
- -

- -

-Definition at line 143 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::OnSelectButton (  self,
  event 
)
-
-
- -

- -

-Definition at line 147 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CommunicationDialog::OnUnselectButton (  self,
  event 
)
-
-
- -

- -

-Definition at line 151 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CommunicationDialog::SelectPossible (  self  ) 
-
-
- -

- -

-Definition at line 155 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CommunicationDialog::UnselectCurrent (  self  ) 
-
-
- -

- -

-Definition at line 162 of file commondialogs.py. -

-

-


Field Documentation

- -
-
- - - - -
commondialogs::CommunicationDialog::ButtonSizer
-
-
- -

- -

-Definition at line 108 of file commondialogs.py. -

-

- -

-
- - - - -
commondialogs::CommunicationDialog::AllList
-
-
- -

- -

-Definition at line 110 of file commondialogs.py. -

-

- -

-
- - - - -
commondialogs::CommunicationDialog::CurrentList
-
-
- -

- -

-Definition at line 111 of file commondialogs.py. -

-

- -

-
- - - - -
commondialogs::CommunicationDialog::IndexDictionary
-
-
- -

- -

-Definition at line 112 of file commondialogs.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcommondialogs_1_1CreateNodeDialog.html --- a/doc/doxygen/html/classcommondialogs_1_1CreateNodeDialog.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,389 +0,0 @@ - - -CanFestival: commondialogs::CreateNodeDialog Class Reference - - - - -
-
-
-
- -

commondialogs::CreateNodeDialog Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def OnOK
def GetValues
def GetProfile
def GetNMTManagement
def GetOptions
def OnProfileChoice

Data Fields

 ButtonSizer
 ListProfile
 Directory

Private Member Functions

def _init_coll_flexGridSizer1_Items
def _init_sizers
def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 669 of file commondialogs.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CreateNodeDialog::_init_coll_flexGridSizer1_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 670 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CreateNodeDialog::_init_sizers (  self  )  [private]
-
-
- -

- -

-Definition at line 675 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CreateNodeDialog::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 683 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def commondialogs::CreateNodeDialog::__init__ (  self,
  parent,
  cwd 
)
-
-
- -

- -

-Definition at line 795 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CreateNodeDialog::OnOK (  self,
  event 
)
-
-
- -

- -

-Definition at line 820 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CreateNodeDialog::GetValues (  self  ) 
-
-
- -

- -

-Definition at line 842 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CreateNodeDialog::GetProfile (  self  ) 
-
-
- -

- -

-Definition at line 851 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CreateNodeDialog::GetNMTManagement (  self  ) 
-
-
- -

- -

-Definition at line 855 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::CreateNodeDialog::GetOptions (  self  ) 
-
-
- -

- -

-Definition at line 864 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::CreateNodeDialog::OnProfileChoice (  self,
  event 
)
-
-
- -

- -

-Definition at line 878 of file commondialogs.py. -

-

-


Field Documentation

- -
-
- - - - -
commondialogs::CreateNodeDialog::ButtonSizer
-
-
- -

- -

-Definition at line 797 of file commondialogs.py. -

-

- -

-
- - - - -
commondialogs::CreateNodeDialog::ListProfile
-
-
- -

- -

-Definition at line 804 of file commondialogs.py. -

-

- -

-
- - - - -
commondialogs::CreateNodeDialog::Directory
-
-
- -

- -

-Definition at line 806 of file commondialogs.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcommondialogs_1_1MapVariableDialog.html --- a/doc/doxygen/html/classcommondialogs_1_1MapVariableDialog.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,405 +0,0 @@ - - -CanFestival: commondialogs::MapVariableDialog Class Reference - - - - -
-
-
-
- -

commondialogs::MapVariableDialog Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def SetIndex
def OnOK
def GetValues
def OnRadioButton1Click
def OnRadioButton2Click
def OnRadioButton3Click
def EnableNumberTyping

Data Fields

 ButtonSizer

Private Member Functions

def _init_coll_flexGridSizer1_Items
def _init_sizers
def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 185 of file commondialogs.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::_init_coll_flexGridSizer1_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 186 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::MapVariableDialog::_init_sizers (  self  )  [private]
-
-
- -

- -

-Definition at line 191 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 199 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::__init__ (  self,
  parent 
)
-
-
- -

- -

-Definition at line 263 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::SetIndex (  self,
  index 
)
-
-
- -

- -

-Definition at line 272 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::OnOK (  self,
  event 
)
-
-
- -

- -

-Definition at line 275 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::MapVariableDialog::GetValues (  self  ) 
-
-
- -

- -

-Definition at line 305 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::OnRadioButton1Click (  self,
  event 
)
-
-
- -

- -

-Definition at line 319 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::OnRadioButton2Click (  self,
  event 
)
-
-
- -

- -

-Definition at line 323 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::OnRadioButton3Click (  self,
  event 
)
-
-
- -

- -

-Definition at line 327 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::MapVariableDialog::EnableNumberTyping (  self,
  enable 
)
-
-
- -

- -

-Definition at line 331 of file commondialogs.py. -

-

-


Field Documentation

- -
-
- - - - -
commondialogs::MapVariableDialog::ButtonSizer
-
-
- -

- -

-Definition at line 265 of file commondialogs.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcommondialogs_1_1NodeInfosDialog.html --- a/doc/doxygen/html/classcommondialogs_1_1NodeInfosDialog.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,291 +0,0 @@ - - -CanFestival: commondialogs::NodeInfosDialog Class Reference - - - - -
-
-
-
- -

commondialogs::NodeInfosDialog Class Reference

- - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def OnOK
def SetValues
def GetValues

Data Fields

 ButtonSizer

Private Member Functions

def _init_coll_flexGridSizer1_Items
def _init_sizers
def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 543 of file commondialogs.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def commondialogs::NodeInfosDialog::_init_coll_flexGridSizer1_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 544 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::NodeInfosDialog::_init_sizers (  self  )  [private]
-
-
- -

- -

-Definition at line 549 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::NodeInfosDialog::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 557 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::NodeInfosDialog::__init__ (  self,
  parent 
)
-
-
- -

- -

-Definition at line 605 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::NodeInfosDialog::OnOK (  self,
  event 
)
-
-
- -

- -

-Definition at line 614 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def commondialogs::NodeInfosDialog::SetValues (  self,
  name,
  id,
  type,
  description 
)
-
-
- -

- -

-Definition at line 636 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::NodeInfosDialog::GetValues (  self  ) 
-
-
- -

- -

-Definition at line 642 of file commondialogs.py. -

-

-


Field Documentation

- -
-
- - - - -
commondialogs::NodeInfosDialog::ButtonSizer
-
-
- -

- -

-Definition at line 607 of file commondialogs.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classcommondialogs_1_1UserTypeDialog.html --- a/doc/doxygen/html/classcommondialogs_1_1UserTypeDialog.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,400 +0,0 @@ - - -CanFestival: commondialogs::UserTypeDialog Class Reference - - - - -
-
-
-
- -

commondialogs::UserTypeDialog Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def OnOK
def SetValues
def SetTypeList
def OnTypeChoice
def RefreshValues
def GetValues

Data Fields

 ButtonSizer
 TypeDictionary

Private Member Functions

def _init_coll_flexGridSizer1_Items
def _init_sizers
def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 348 of file commondialogs.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def commondialogs::UserTypeDialog::_init_coll_flexGridSizer1_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 349 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::UserTypeDialog::_init_sizers (  self  )  [private]
-
-
- -

- -

-Definition at line 354 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::UserTypeDialog::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 362 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::UserTypeDialog::__init__ (  self,
  parent 
)
-
-
- -

- -

-Definition at line 414 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::UserTypeDialog::OnOK (  self,
  event 
)
-
-
- -

- -

-Definition at line 422 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def commondialogs::UserTypeDialog::SetValues (  self,
  min = None,
  max = None,
  length = None 
)
-
-
- -

- -

-Definition at line 470 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def commondialogs::UserTypeDialog::SetTypeList (  self,
  typedic,
  type = None 
)
-
-
- -

- -

-Definition at line 478 of file commondialogs.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def commondialogs::UserTypeDialog::OnTypeChoice (  self,
  event 
)
-
-
- -

- -

-Definition at line 491 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::UserTypeDialog::RefreshValues (  self  ) 
-
-
- -

- -

-Definition at line 495 of file commondialogs.py. -

-

- -

-
- - - - - - - - - -
def commondialogs::UserTypeDialog::GetValues (  self  ) 
-
-
- -

- -

-Definition at line 521 of file commondialogs.py. -

-

-


Field Documentation

- -
-
- - - - -
commondialogs::UserTypeDialog::ButtonSizer
-
-
- -

- -

-Definition at line 416 of file commondialogs.py. -

-

- -

-
- - - - -
commondialogs::UserTypeDialog::TypeDictionary
-
-
- -

- -

-Definition at line 418 of file commondialogs.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classdriver__procs.html --- a/doc/doxygen/html/classdriver__procs.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,233 +0,0 @@ - - -CanFestival: driver_procs Class Reference - - - - -
-
-
-
-

driver_procs Class Reference

- - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 driver_procs ()
 ~driver_procs ()
HMODULE load_canfestival_driver (LPCTSTR driver_name)
bool can_driver_valid () const

Data Fields

CANRECEIVE_DRIVER_PROC m_canReceive
CANSEND_DRIVER_PROC m_canSend
CANOPEN_DRIVER_PROC m_canOpen
CANCLOSE_DRIVER_PROC m_canClose
HMODULE m_driver_handle
-

Detailed Description

- -

- -

-Definition at line 46 of file drivers_win32.cpp.


Constructor & Destructor Documentation

- -
-
- - - - - - - - -
driver_procs::driver_procs (  ) 
-
-
- -

- -

-Definition at line 66 of file drivers_win32.cpp. -

-

- -

-
- - - - - - - - -
driver_procs::~driver_procs (  ) 
-
-
- -

- -

-Definition at line 73 of file drivers_win32.cpp. -

-References m_driver_handle. -

-

-


Member Function Documentation

- -
-
- - - - - - - - - -
HMODULE driver_procs::load_canfestival_driver (LPCTSTR  driver_name  ) 
-
-
- -

- -

-Definition at line 94 of file drivers_win32.cpp. -

-References can_driver_valid(), m_canClose, m_canOpen, m_canReceive, m_canSend, m_driver_handle, and myTEXT. -

-

- -

-
- - - - - - - - -
bool driver_procs::can_driver_valid (  )  const
-
-
- -

- -

-Definition at line 79 of file drivers_win32.cpp. -

-References m_canClose, m_canOpen, m_canReceive, and m_canSend. -

-

-


Field Documentation

- -
-
- - - - -
CANRECEIVE_DRIVER_PROC driver_procs::m_canReceive
-
-
- -

- -

-Definition at line 57 of file drivers_win32.cpp. -

-

- -

-
- - - - -
CANSEND_DRIVER_PROC driver_procs::m_canSend
-
-
- -

- -

-Definition at line 58 of file drivers_win32.cpp. -

-

- -

-
- - - - -
CANOPEN_DRIVER_PROC driver_procs::m_canOpen
-
-
- -

- -

-Definition at line 59 of file drivers_win32.cpp. -

-

- -

-
- - - - -
CANCLOSE_DRIVER_PROC driver_procs::m_canClose
-
-
- -

- -

-Definition at line 60 of file drivers_win32.cpp. -

-

- -

-
- - - - -
HMODULE driver_procs::m_driver_handle
-
-
- -

- -

-Definition at line 63 of file drivers_win32.cpp. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classdriver__procs_719fa10d86bcd9b7a1ab7bea3dec1d03_cgraph.dot --- a/doc/doxygen/html/classdriver__procs_719fa10d86bcd9b7a1ab7bea3dec1d03_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="driver_procs::load_canfestival_driver",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="driver_procs::can_driver_valid",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classdriver__procs.html#a1e608bb39ab9183961b7ded9f27d193"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classdriver__procs_719fa10d86bcd9b7a1ab7bea3dec1d03_cgraph.md5 --- a/doc/doxygen/html/classdriver__procs_719fa10d86bcd9b7a1ab7bea3dec1d03_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -a65c90232c8ae9e2190224aa0dd85da9 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classnetworkedit_1_1networkedit.html --- a/doc/doxygen/html/classnetworkedit_1_1networkedit.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ - - -CanFestival: networkedit::networkedit Class Reference - - - - -
-
-
-
- -

networkedit::networkedit Class Reference

- - - - - - - - - - -

Private Member Functions

def _init_coll_menuBar1_Menus
def _init_coll_EditMenu_Items
def _init_coll_HelpMenu_Items
def _init_coll_FileMenu_Items
-

Detailed Description

- -

- -

-Definition at line 168 of file networkedit.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def networkedit::networkedit::_init_coll_menuBar1_Menus (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 169 of file networkedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def networkedit::networkedit::_init_coll_EditMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 179 of file networkedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def networkedit::networkedit::_init_coll_HelpMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 213 of file networkedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def networkedit::networkedit::_init_coll_FileMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 230 of file networkedit.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classnetworkedit_1_1wxHtmlWindowUrlClick.html --- a/doc/doxygen/html/classnetworkedit_1_1wxHtmlWindowUrlClick.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ - - -CanFestival: networkedit::wxHtmlWindowUrlClick Class Reference - - - - -
-
-
-
- -

networkedit::wxHtmlWindowUrlClick Class Reference

- - - - - - - -

Public Member Functions

def __init__

Data Fields

 linkinfo
-

Detailed Description

- -

- -

-Definition at line 78 of file networkedit.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def networkedit::wxHtmlWindowUrlClick::__init__ (  self,
  linkinfo 
)
-
-
- -

- -

-Definition at line 79 of file networkedit.py. -

-

-


Field Documentation

- -
-
- - - - -
networkedit::wxHtmlWindowUrlClick::linkinfo
-
-
- -

- -

-Definition at line 82 of file networkedit.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classnetworkedit_1_1wxUrlClickHtmlWindow.html --- a/doc/doxygen/html/classnetworkedit_1_1wxUrlClickHtmlWindow.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ - - -CanFestival: networkedit::wxUrlClickHtmlWindow Class Reference - - - - -
-
-
-
- -

networkedit::wxUrlClickHtmlWindow Class Reference

- - - - - - - - - - -

Public Member Functions

def OnLinkClicked

Static Public Attributes

 Html_Window = True

Data Structures

class  HtmlFrame
-

Detailed Description

-
HTML window that generates and OnLinkClicked event.
-
-Use this to avoid having to override HTMLWindow
-
-

- -

-Definition at line 84 of file networkedit.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def networkedit::wxUrlClickHtmlWindow::OnLinkClicked (  self,
  linkinfo 
)
-
-
- -

- -

-Definition at line 86 of file networkedit.py. -

-

-


Field Documentation

- -
-
- - - - -
networkedit::wxUrlClickHtmlWindow::Html_Window = True [static]
-
-
- -

- -

-Definition at line 131 of file networkedit.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classnetworkedit_1_1wxUrlClickHtmlWindow_1_1HtmlFrame.html --- a/doc/doxygen/html/classnetworkedit_1_1wxUrlClickHtmlWindow_1_1HtmlFrame.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,264 +0,0 @@ - - -CanFestival: networkedit::wxUrlClickHtmlWindow::HtmlFrame Class Reference - - - - -
-
-
-
- -

networkedit::wxUrlClickHtmlWindow::HtmlFrame Class Reference

- - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def SetHtmlCode
def SetHtmlPage
def OnCloseFrame
def OnLinkClick

Data Fields

 HtmlFrameOpened

Private Member Functions

def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 95 of file networkedit.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def networkedit::wxUrlClickHtmlWindow::HtmlFrame::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 96 of file networkedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def networkedit::wxUrlClickHtmlWindow::HtmlFrame::__init__ (  self,
  parent,
  opened 
)
-
-
- -

- -

-Definition at line 108 of file networkedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def networkedit::wxUrlClickHtmlWindow::HtmlFrame::SetHtmlCode (  self,
  htmlcode 
)
-
-
- -

- -

-Definition at line 112 of file networkedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def networkedit::wxUrlClickHtmlWindow::HtmlFrame::SetHtmlPage (  self,
  htmlpage 
)
-
-
- -

- -

-Definition at line 115 of file networkedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def networkedit::wxUrlClickHtmlWindow::HtmlFrame::OnCloseFrame (  self,
  event 
)
-
-
- -

- -

-Definition at line 118 of file networkedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def networkedit::wxUrlClickHtmlWindow::HtmlFrame::OnLinkClick (  self,
  event 
)
-
-
- -

- -

-Definition at line 122 of file networkedit.py. -

-

-


Field Documentation

- -
-
- - - - -
networkedit::wxUrlClickHtmlWindow::HtmlFrame::HtmlFrameOpened
-
-
- -

- -

-Definition at line 110 of file networkedit.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classnode_1_1Node.html --- a/doc/doxygen/html/classnode_1_1Node.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2217 +0,0 @@ - - -CanFestival: node::Node Class Reference - - - - -
-
-
-
- -

node::Node Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def GetNodeName
def SetNodeName
def GetNodeType
def SetNodeType
def GetNodeID
def SetNodeID
def GetNodeDescription
def SetNodeDescription
def GetProfileName
def SetProfileName
def GetProfile
def SetProfile
def SetDS302Profile
def GetDS302Profile
def GetSpecificMenu
def SetSpecificMenu
def ExtendSpecificMenu
def GetMappings
def AddEntry
def SetEntry
def SetParamsEntry
def RemoveEntry
def IsEntry
def GetEntry
def GetParamsEntry
def HasEntryCallbacks
def IsMappingEntry
def AddMappingEntry
def SetMappingEntry
def RemoveMappingEntry
def RemoveMapVariable
def UpdateMapVariable
def RemoveLine
def RemoveUserType
def Copy
def GetIndexes
def Print
def CompileValue
def GetBaseIndex
def GetCustomisedTypeValues
def GetEntryName
def GetEntryInfos
def GetSubentryInfos
def GetTypeIndex
def GetTypeName
def GetTypeDefaultValue
def GetMapVariableList
def GetMandatoryIndexes
def GetCustomisableTypes
def GetTypeList
def GenerateMapList
def GetMapValue
def GetMapName
def GetMapList

Data Fields

 Name
 Type
 ID
 Description
 ProfileName
 Profile
 SpecificMenu
 Dictionary
 ParamsDictionary
 DS302
 UserMapping
 MapList
 NameTranslation
 MapTranslation
-

Detailed Description

- -

- -

-Definition at line 392 of file node.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::__init__ (  self,
  name = "",
  type = "slave",
  id = 0,
  description = "",
  profilename = "DS-301",
  profile = {},
  specificmenu = [] 
)
-
-
- -

- -

-Definition at line 394 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetNodeName (  self  ) 
-
-
- -

- -

-Definition at line 410 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::SetNodeName (  self,
  name 
)
-
-
- -

- -

-Definition at line 416 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetNodeType (  self  ) 
-
-
- -

- -

-Definition at line 422 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::SetNodeType (  self,
  type 
)
-
-
- -

- -

-Definition at line 428 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetNodeID (  self  ) 
-
-
- -

- -

-Definition at line 434 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::SetNodeID (  self,
  id 
)
-
-
- -

- -

-Definition at line 440 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetNodeDescription (  self  ) 
-
-
- -

- -

-Definition at line 446 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::SetNodeDescription (  self,
  description 
)
-
-
- -

- -

-Definition at line 455 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetProfileName (  self  ) 
-
-
- -

- -

-Definition at line 461 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::SetProfileName (  self,
  profilename 
)
-
-
- -

- -

-Definition at line 467 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetProfile (  self  ) 
-
-
- -

- -

-Definition at line 473 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::SetProfile (  self,
  profile 
)
-
-
- -

- -

-Definition at line 479 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::SetDS302Profile (  self,
  profile 
)
-
-
- -

- -

-Definition at line 485 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetDS302Profile (  self  ) 
-
-
- -

- -

-Definition at line 491 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetSpecificMenu (  self  ) 
-
-
- -

- -

-Definition at line 497 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::SetSpecificMenu (  self,
  specificmenu 
)
-
-
- -

- -

-Definition at line 503 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::ExtendSpecificMenu (  self,
  specificmenu 
)
-
-
- -

- -

-Definition at line 510 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetMappings (  self,
  userdefinedtoo = True 
)
-
-
- -

- -

-Definition at line 516 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::AddEntry (  self,
  index,
  subIndex = None,
  value = None 
)
-
-
- -

- -

-Definition at line 525 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::SetEntry (  self,
  index,
  subIndex = None,
  value = None 
)
-
-
- -

- -

-Definition at line 541 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::SetParamsEntry (  self,
  index,
  subIndex = None,
  comment = None,
  save = None,
  callback = None 
)
-
-
- -

- -

-Definition at line 553 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::RemoveEntry (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 582 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::IsEntry (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 608 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::GetEntry (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 619 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::GetParamsEntry (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 642 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::HasEntryCallbacks (  self,
  index 
)
-
-
- -

- -

-Definition at line 675 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::IsMappingEntry (  self,
  index 
)
-
-
- -

- -

-Definition at line 685 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::AddMappingEntry (  self,
  index,
  subIndex = None,
  name = "Undefined",
  struct = 0,
  size = None,
  nbmax = None,
  default = None,
  values = None 
)
-
-
- -

- -

-Definition at line 693 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::SetMappingEntry (  self,
  index,
  subIndex = None,
  name = None,
  struct = None,
  size = None,
  nbmax = None,
  default = None,
  values = None 
)
-
-
- -

- -

-Definition at line 716 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::RemoveMappingEntry (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 746 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::RemoveMapVariable (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 756 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::UpdateMapVariable (  self,
  index,
  subIndex,
  size 
)
-
-
- -

- -

-Definition at line 768 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::RemoveLine (  self,
  index,
  max,
  incr = 1 
)
-
-
- -

- -

-Definition at line 780 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::RemoveUserType (  self,
  index 
)
-
-
- -

- -

-Definition at line 787 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::Copy (  self  ) 
-
-
- -

- -

-Definition at line 799 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetIndexes (  self  ) 
-
-
- -

- -

-Definition at line 805 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::Print (  self  ) 
-
-
- -

- -

-Definition at line 813 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::CompileValue (  self,
  value,
  index 
)
-
-
- -

- -

-Definition at line 819 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetBaseIndex (  self,
  index 
)
-
-
- -

- -

-Definition at line 833 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetCustomisedTypeValues (  self,
  index 
)
-
-
- -

- -

-Definition at line 843 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetEntryName (  self,
  index 
)
-
-
- -

- -

-Definition at line 848 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetEntryInfos (  self,
  index 
)
-
-
- -

- -

-Definition at line 859 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def node::Node::GetSubentryInfos (  self,
  index,
  subIndex 
)
-
-
- -

- -

-Definition at line 870 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetTypeIndex (  self,
  typename 
)
-
-
- -

- -

-Definition at line 885 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetTypeName (  self,
  typeindex 
)
-
-
- -

- -

-Definition at line 896 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetTypeDefaultValue (  self,
  typeindex 
)
-
-
- -

- -

-Definition at line 907 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetMapVariableList (  self  ) 
-
-
- -

- -

-Definition at line 918 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetMandatoryIndexes (  self,
  node = None 
)
-
-
- -

- -

-Definition at line 925 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetCustomisableTypes (  self  ) 
-
-
- -

- -

-Definition at line 931 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetTypeList (  self  ) 
-
-
- -

- -

-Definition at line 942 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GenerateMapList (  self  ) 
-
-
- -

- -

-Definition at line 952 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetMapValue (  self,
  mapname 
)
-
-
- -

- -

-Definition at line 963 of file node.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def node::Node::GetMapName (  self,
  value 
)
-
-
- -

- -

-Definition at line 973 of file node.py. -

-

- -

-
- - - - - - - - - -
def node::Node::GetMapList (  self  ) 
-
-
- -

- -

-Definition at line 985 of file node.py. -

-

-


Field Documentation

- -
-
- - - - -
node::Node::Name
-
-
- -

- -

-Definition at line 395 of file node.py. -

-

- -

-
- - - - -
node::Node::Type
-
-
- -

- -

-Definition at line 396 of file node.py. -

-

- -

-
- - - - -
node::Node::ID
-
-
- -

- -

-Definition at line 397 of file node.py. -

-

- -

-
- - - - -
node::Node::Description
-
-
- -

- -

-Definition at line 398 of file node.py. -

-

- -

-
- - - - -
node::Node::ProfileName
-
-
- -

- -

-Definition at line 399 of file node.py. -

-

- -

-
- - - - -
node::Node::Profile
-
-
- -

- -

-Definition at line 400 of file node.py. -

-

- -

-
- - - - -
node::Node::SpecificMenu
-
-
- -

- -

-Definition at line 401 of file node.py. -

-

- -

-
- - - - -
node::Node::Dictionary
-
-
- -

- -

-Definition at line 402 of file node.py. -

-

- -

-
- - - - -
node::Node::ParamsDictionary
-
-
- -

- -

-Definition at line 403 of file node.py. -

-

- -

-
- - - - -
node::Node::DS302
-
-
- -

- -

-Definition at line 404 of file node.py. -

-

- -

-
- - - - -
node::Node::UserMapping
-
-
- -

- -

-Definition at line 405 of file node.py. -

-

- -

-
- - - - -
node::Node::MapList
-
-
- -

- -

-Definition at line 953 of file node.py. -

-

- -

-
- - - - -
node::Node::NameTranslation
-
-
- -

- -

-Definition at line 954 of file node.py. -

-

- -

-
- - - - -
node::Node::MapTranslation
-
-
- -

- -

-Definition at line 955 of file node.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classnodelist_1_1NodeList.html --- a/doc/doxygen/html/classnodelist_1_1NodeList.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1070 +0,0 @@ - - -CanFestival: nodelist::NodeList Class Reference - - - - -
-
-
-
- -

nodelist::NodeList Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def GetNetworkName
def SetNetworkName
def GetManager
def GetRoot
def GetSlaveNumber
def GetSlaveNames
def GetSlaveIDs
def SetCurrentSelected
def GetCurrentSelected
def LoadProject
def SaveProject
def ImportEDSFile
def LoadEDS
def AddSlaveNode
def RemoveSlaveNode
def LoadMasterNode
def SaveMasterNode
def LoadSlaveNodes
def SaveNodeList
def GetSlaveNodeEntry
def GetMasterNodeEntry
def SetMasterNodeEntry
def GetOrderNumber
def GetNodeByOrder
def IsCurrentEntry
def GetEntryInfos
def GetCurrentValidIndexes
def GetCurrentEntryValues

Data Fields

 Root
 Manager
 NetworkName
 SlaveNodes
 EDSNodes
 CurrentSelected
 EDSFolder
-

Detailed Description

- -

- -

-Definition at line 40 of file nodelist.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::__init__ (  self,
  manager 
)
-
-
- -

- -

-Definition at line 42 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::GetNetworkName (  self  ) 
-
-
- -

- -

-Definition at line 50 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::SetNetworkName (  self,
  name 
)
-
-
- -

- -

-Definition at line 53 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::GetManager (  self  ) 
-
-
- -

- -

-Definition at line 56 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::GetRoot (  self  ) 
-
-
- -

- -

-Definition at line 59 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::GetSlaveNumber (  self  ) 
-
-
- -

- -

-Definition at line 62 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::GetSlaveNames (  self  ) 
-
-
- -

- -

-Definition at line 65 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::GetSlaveIDs (  self  ) 
-
-
- -

- -

-Definition at line 70 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::SetCurrentSelected (  self,
  selected 
)
-
-
- -

- -

-Definition at line 75 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::GetCurrentSelected (  self  ) 
-
-
- -

- -

-Definition at line 78 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::LoadProject (  self,
  root 
)
-
-
- -

- -

-Definition at line 81 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::SaveProject (  self  ) 
-
-
- -

- -

-Definition at line 107 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::ImportEDSFile (  self,
  edspath 
)
-
-
- -

- -

-Definition at line 116 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::LoadEDS (  self,
  eds 
)
-
-
- -

- -

-Definition at line 125 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::AddSlaveNode (  self,
  nodeName,
  nodeID,
  eds 
)
-
-
- -

- -

-Definition at line 134 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::RemoveSlaveNode (  self,
  index 
)
-
-
- -

- -

-Definition at line 142 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::LoadMasterNode (  self  ) 
-
-
- -

- -

-Definition at line 149 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::SaveMasterNode (  self  ) 
-
-
- -

- -

-Definition at line 157 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::LoadSlaveNodes (  self  ) 
-
-
- -

- -

-Definition at line 164 of file nodelist.py. -

-

- -

-
- - - - - - - - - -
def nodelist::NodeList::SaveNodeList (  self  ) 
-
-
- -

- -

-Definition at line 180 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::GetSlaveNodeEntry (  self,
  nodeid,
  index,
  subindex = None 
)
-
-
- -

- -

-Definition at line 187 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::GetMasterNodeEntry (  self,
  index,
  subindex = None 
)
-
-
- -

- -

-Definition at line 194 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::SetMasterNodeEntry (  self,
  index,
  subindex = None,
  value = None 
)
-
-
- -

- -

-Definition at line 197 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::GetOrderNumber (  self,
  nodeid 
)
-
-
- -

- -

-Definition at line 200 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::GetNodeByOrder (  self,
  order 
)
-
-
- -

- -

-Definition at line 205 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::IsCurrentEntry (  self,
  index 
)
-
-
- -

- -

-Definition at line 214 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::GetEntryInfos (  self,
  index 
)
-
-
- -

- -

-Definition at line 224 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::GetCurrentValidIndexes (  self,
  min,
  max 
)
-
-
- -

- -

-Definition at line 234 of file nodelist.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodelist::NodeList::GetCurrentEntryValues (  self,
  index 
)
-
-
- -

- -

-Definition at line 250 of file nodelist.py. -

-

-


Field Documentation

- -
-
- - - - -
nodelist::NodeList::Root
-
-
- -

- -

-Definition at line 43 of file nodelist.py. -

-

- -

-
- - - - -
nodelist::NodeList::Manager
-
-
- -

- -

-Definition at line 44 of file nodelist.py. -

-

- -

-
- - - - -
nodelist::NodeList::NetworkName
-
-
- -

- -

-Definition at line 45 of file nodelist.py. -

-

- -

-
- - - - -
nodelist::NodeList::SlaveNodes
-
-
- -

- -

-Definition at line 46 of file nodelist.py. -

-

- -

-
- - - - -
nodelist::NodeList::EDSNodes
-
-
- -

- -

-Definition at line 47 of file nodelist.py. -

-

- -

-
- - - - -
nodelist::NodeList::CurrentSelected
-
-
- -

- -

-Definition at line 48 of file nodelist.py. -

-

- -

-
- - - - -
nodelist::NodeList::EDSFolder
-
-
- -

- -

-Definition at line 89 of file nodelist.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classnodemanager_1_1NodeManager.html --- a/doc/doxygen/html/classnodemanager_1_1NodeManager.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2596 +0,0 @@ - - -CanFestival: nodemanager::NodeManager Class Reference - - - - -
-
-
-
- -

nodemanager::NodeManager Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def GetCurrentTypeList
def GetCurrentMapList
def CreateNewNode
def LoadProfile
def OpenFileInCurrent
def SaveCurrentInFile
def CloseCurrent
def ImportCurrentFromEDSFile
def ExportCurrentToEDSFile
def ExportCurrentToCFile
def AddSubentriesToCurrent
def RemoveSubentriesFromCurrent
def AddSDOServerToCurrent
def AddSDOClientToCurrent
def AddPDOTransmitToCurrent
def AddPDOReceiveToCurrent
def AddSpecificEntryToCurrent
def GetLineFromIndex
def ManageEntriesOfCurrent
def RemoveCurrentVariable
def AddMapVariableToCurrent
def AddUserTypeToCurrent
def SetCurrentEntryCallbacks
def SetCurrentEntry
def SetCurrentEntryName
def SetCurrentUserType
def BufferCurrentNode
def CurrentIsSaved
def OneFileHasChanged
def GetBufferNumber
def LoadCurrentPrevious
def LoadCurrentNext
def AddNodeBuffer
def ChangeCurrentNode
def RemoveNodeBuffer
def GetCurrentNodeIndex
def GetCurrentFilename
def GetAllFilenames
def GetFilename
def SetCurrentFilePath
def GetCurrentFilePath
def GetCurrentBufferState
def GetCurrentCommunicationLists
def GetCurrentDS302Lists
def GetCurrentProfileLists
def GetSpecificProfileLists
def GetProfileLists
def GetCurrentNextMapIndex
def CurrentDS302Defined
def GetCurrentNodeName
def GetCurrentNodeID
def GetCurrentNodeInfos
def SetCurrentNodeInfos
def GetCurrentProfileName
def IsCurrentEntry
def GetCurrentEntry
def GetCurrentParamsEntry
def GetCurrentValidIndexes
def GetCurrentValidChoices
def HasCurrentEntryCallbacks
def GetCurrentEntryValues
def GetNodeEntryValues
def GetCustomisedTypeValues
def GetEntryName
def GetEntryInfos
def GetSubentryInfos
def GetTypeIndex
def GetTypeName
def GetTypeDefaultValue
def GetMapVariableList
def GetMandatoryIndexes
def GetCustomisableTypes
def GetCurrentSpecificMenu

Data Fields

 LastNewIndex
 FilePaths
 FileNames
 NodeIndex
 CurrentNode
 ScriptDirectory
 UndoBuffers
-

Detailed Description

-
-Constructor
-
-

- -

-Definition at line 148 of file nodemanager.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::__init__ (  self,
  cwd 
)
-
-
- -

- -

-Definition at line 151 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentTypeList (  self  ) 
-
-
- -

- -

-Definition at line 167 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentMapList (  self  ) 
-
-
- -

- -

-Definition at line 176 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::CreateNewNode (  self,
  name,
  id,
  type,
  description,
  profile,
  filepath,
  NMT,
  options 
)
-
-
- -

- -

-Definition at line 189 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::LoadProfile (  self,
  profile,
  filepath,
  node 
)
-
-
- -

- -

-Definition at line 239 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::OpenFileInCurrent (  self,
  filepath 
)
-
-
- -

- -

-Definition at line 260 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::SaveCurrentInFile (  self,
  filepath = None 
)
-
-
- -

- -

-Definition at line 274 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::CloseCurrent (  self,
  ignore = False 
)
-
-
- -

- -

-Definition at line 292 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::ImportCurrentFromEDSFile (  self,
  filepath 
)
-
-
- -

- -

-Definition at line 302 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::ExportCurrentToEDSFile (  self,
  filepath 
)
-
-
- -

- -

-Definition at line 318 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::ExportCurrentToCFile (  self,
  filepath 
)
-
-
- -

- -

-Definition at line 324 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::AddSubentriesToCurrent (  self,
  index,
  number 
)
-
-
- -

- -

-Definition at line 335 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::RemoveSubentriesFromCurrent (  self,
  index,
  number 
)
-
-
- -

- -

-Definition at line 362 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::AddSDOServerToCurrent (  self  ) 
-
-
- -

- -

-Definition at line 375 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::AddSDOClientToCurrent (  self  ) 
-
-
- -

- -

-Definition at line 388 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::AddPDOTransmitToCurrent (  self  ) 
-
-
- -

- -

-Definition at line 396 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::AddPDOReceiveToCurrent (  self  ) 
-
-
- -

- -

-Definition at line 404 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::AddSpecificEntryToCurrent (  self,
  menuitem 
)
-
-
- -

- -

-Definition at line 412 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetLineFromIndex (  self,
  base_index 
)
-
-
- -

- -

-Definition at line 424 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::ManageEntriesOfCurrent (  self,
  addinglist,
  removinglist 
)
-
-
- -

- -

-Definition at line 440 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::RemoveCurrentVariable (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 483 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::AddMapVariableToCurrent (  self,
  index,
  name,
  struct,
  number 
)
-
-
- -

- -

-Definition at line 529 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::AddUserTypeToCurrent (  self,
  type,
  min,
  max,
  length 
)
-
-
- -

- -

-Definition at line 557 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::SetCurrentEntryCallbacks (  self,
  index,
  value 
)
-
-
- -

- -

-Definition at line 591 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::SetCurrentEntry (  self,
  index,
  subIndex,
  value,
  name,
  editor 
)
-
-
- -

- -

-Definition at line 598 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::SetCurrentEntryName (  self,
  index,
  name 
)
-
-
- -

- -

-Definition at line 664 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::SetCurrentUserType (  self,
  index,
  type,
  min,
  max,
  length 
)
-
-
- -

- -

-Definition at line 668 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::BufferCurrentNode (  self  ) 
-
-
- -

- -

-Definition at line 700 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::CurrentIsSaved (  self  ) 
-
-
- -

- -

-Definition at line 703 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::OneFileHasChanged (  self  ) 
-
-
- -

- -

-Definition at line 706 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetBufferNumber (  self  ) 
-
-
- -

- -

-Definition at line 712 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::LoadCurrentPrevious (  self  ) 
-
-
- -

- -

-Definition at line 715 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::LoadCurrentNext (  self  ) 
-
-
- -

- -

-Definition at line 718 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::AddNodeBuffer (  self,
  currentstate = None,
  issaved = False 
)
-
-
- -

- -

-Definition at line 721 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::ChangeCurrentNode (  self,
  index 
)
-
-
- -

- -

-Definition at line 728 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::RemoveNodeBuffer (  self,
  index 
)
-
-
- -

- -

-Definition at line 733 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentNodeIndex (  self  ) 
-
-
- -

- -

-Definition at line 738 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentFilename (  self  ) 
-
-
- -

- -

-Definition at line 741 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetAllFilenames (  self  ) 
-
-
- -

- -

-Definition at line 744 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetFilename (  self,
  index 
)
-
-
- -

- -

-Definition at line 749 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::SetCurrentFilePath (  self,
  filepath 
)
-
-
- -

- -

-Definition at line 755 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentFilePath (  self  ) 
-
-
- -

- -

-Definition at line 763 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentBufferState (  self  ) 
-
-
- -

- -

-Definition at line 769 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentCommunicationLists (  self  ) 
-
-
- -

- -

-Definition at line 778 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentDS302Lists (  self  ) 
-
-
- -

- -

-Definition at line 785 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentProfileLists (  self  ) 
-
-
- -

- -

-Definition at line 788 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetSpecificProfileLists (  self,
  mappingdictionary 
)
-
-
- -

- -

-Definition at line 791 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetProfileLists (  self,
  mappingdictionary,
  list 
)
-
-
- -

- -

-Definition at line 801 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentNextMapIndex (  self  ) 
-
-
- -

- -

-Definition at line 810 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::CurrentDS302Defined (  self  ) 
-
-
- -

- -

-Definition at line 820 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentNodeName (  self  ) 
-
-
- -

- -

-Definition at line 829 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentNodeID (  self  ) 
-
-
- -

- -

-Definition at line 835 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentNodeInfos (  self  ) 
-
-
- -

- -

-Definition at line 841 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::SetCurrentNodeInfos (  self,
  name,
  id,
  type,
  description 
)
-
-
- -

- -

-Definition at line 848 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentProfileName (  self  ) 
-
-
- -

- -

-Definition at line 855 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::IsCurrentEntry (  self,
  index 
)
-
-
- -

- -

-Definition at line 860 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetCurrentEntry (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 865 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetCurrentParamsEntry (  self,
  index,
  subIndex = None 
)
-
-
- -

- -

-Definition at line 870 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetCurrentValidIndexes (  self,
  min,
  max 
)
-
-
- -

- -

-Definition at line 875 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetCurrentValidChoices (  self,
  min,
  max 
)
-
-
- -

- -

-Definition at line 882 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::HasCurrentEntryCallbacks (  self,
  index 
)
-
-
- -

- -

-Definition at line 902 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetCurrentEntryValues (  self,
  index 
)
-
-
- -

- -

-Definition at line 910 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetNodeEntryValues (  self,
  node,
  index 
)
-
-
- -

- -

-Definition at line 914 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetCustomisedTypeValues (  self,
  index 
)
-
-
- -

- -

-Definition at line 1011 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetEntryName (  self,
  index 
)
-
-
- -

- -

-Definition at line 1019 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetEntryInfos (  self,
  index 
)
-
-
- -

- -

-Definition at line 1025 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetSubentryInfos (  self,
  index,
  subindex 
)
-
-
- -

- -

-Definition at line 1031 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetTypeIndex (  self,
  typename 
)
-
-
- -

- -

-Definition at line 1040 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetTypeName (  self,
  typeindex 
)
-
-
- -

- -

-Definition at line 1046 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetTypeDefaultValue (  self,
  typeindex 
)
-
-
- -

- -

-Definition at line 1052 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetMapVariableList (  self  ) 
-
-
- -

- -

-Definition at line 1058 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::NodeManager::GetMandatoryIndexes (  self,
  node = None 
)
-
-
- -

- -

-Definition at line 1064 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCustomisableTypes (  self  ) 
-
-
- -

- -

-Definition at line 1070 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::NodeManager::GetCurrentSpecificMenu (  self  ) 
-
-
- -

- -

-Definition at line 1077 of file nodemanager.py. -

-

-


Field Documentation

- -
-
- - - - -
nodemanager::NodeManager::LastNewIndex
-
-
- -

- -

-Definition at line 152 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::NodeManager::FilePaths
-
-
- -

- -

-Definition at line 153 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::NodeManager::FileNames
-
-
- -

- -

-Definition at line 154 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::NodeManager::NodeIndex
-
-
- -

- -

-Definition at line 155 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::NodeManager::CurrentNode
-
-
- -

- -

-Definition at line 156 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::NodeManager::ScriptDirectory
-
-
- -

- -

-Definition at line 157 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::NodeManager::UndoBuffers
-
-
- -

- -

-Definition at line 158 of file nodemanager.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classnodemanager_1_1UndoBuffer.html --- a/doc/doxygen/html/classnodemanager_1_1UndoBuffer.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,377 +0,0 @@ - - -CanFestival: nodemanager::UndoBuffer Class Reference - - - - -
-
-
-
- -

nodemanager::UndoBuffer Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def Buffering
def Current
def Previous
def Next
def IsFirst
def IsLast
def CurrentSaved
def IsCurrentSaved

Data Fields

 Buffer
 CurrentIndex
 MinIndex
 MaxIndex
 LastSave
-

Detailed Description

-
-Constructor initialising buffer
-
-

- -

-Definition at line 52 of file nodemanager.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
def nodemanager::UndoBuffer::__init__ (  self,
  currentstate,
  issaved = False 
)
-
-
- -

- -

-Definition at line 55 of file nodemanager.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def nodemanager::UndoBuffer::Buffering (  self,
  currentstate 
)
-
-
- -

- -

-Definition at line 80 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::UndoBuffer::Current (  self  ) 
-
-
- -

- -

-Definition at line 95 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::UndoBuffer::Previous (  self  ) 
-
-
- -

- -

-Definition at line 101 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::UndoBuffer::Next (  self  ) 
-
-
- -

- -

-Definition at line 110 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::UndoBuffer::IsFirst (  self  ) 
-
-
- -

- -

-Definition at line 119 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::UndoBuffer::IsLast (  self  ) 
-
-
- -

- -

-Definition at line 125 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::UndoBuffer::CurrentSaved (  self  ) 
-
-
- -

- -

-Definition at line 131 of file nodemanager.py. -

-

- -

-
- - - - - - - - - -
def nodemanager::UndoBuffer::IsCurrentSaved (  self  ) 
-
-
- -

- -

-Definition at line 137 of file nodemanager.py. -

-

-


Field Documentation

- -
-
- - - - -
nodemanager::UndoBuffer::Buffer
-
-
- -

- -

-Definition at line 56 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::UndoBuffer::CurrentIndex
-
-
- -

- -

-Definition at line 57 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::UndoBuffer::MinIndex
-
-
- -

- -

-Definition at line 58 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::UndoBuffer::MaxIndex
-
-
- -

- -

-Definition at line 59 of file nodemanager.py. -

-

- -

-
- - - - -
nodemanager::UndoBuffer::LastSave
-
-
- -

- -

-Definition at line 73 of file nodemanager.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classobjdictedit_1_1objdictedit.html --- a/doc/doxygen/html/classobjdictedit_1_1objdictedit.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1688 +0,0 @@ - - -CanFestival: objdictedit::objdictedit Class Reference - - - - -
-
-
-
- -

objdictedit::objdictedit Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def GetNoteBook
def OnAddSDOServerMenu
def OnAddSDOClientMenu
def OnAddPDOTransmitMenu
def OnAddPDOReceiveMenu
def OnAddMapVariableMenu
def OnAddUserTypeMenu
def OnFileSelectedChanged
def OnHelpDS301Menu
def OnHelpCANFestivalMenu
def OnAboutMenu
def OpenHtmlFrame
def OnQuitMenu
def OnCloseFrame
def RefreshTitle
def OnRefreshMenu
def RefreshCurrentIndexList
def RefreshStatusBar
def RefreshMainMenu
def RefreshEditMenu
def RefreshProfileMenu
def RefreshBufferState
def OnUndoMenu
def OnRedoMenu
def OnNewMenu
def OnOpenMenu
def OnSaveMenu
def OnSaveAsMenu
def Save
def SaveAs
def OnCloseMenu
def OnImportEDSMenu
def OnExportEDSMenu
def OnExportCMenu
def OnCommunicationMenu
def OnOtherCommunicationMenu
def OnEditProfileMenu
def EditProfile
def GetProfileCallBack
def OnNodeInfosMenu
def AddMapVariable
def AddUserType

Data Fields

 HtmlFrameOpened
 Manager
 FilePath

Private Member Functions

def _init_coll_menuBar1_Menus
def _init_coll_EditMenu_Items
def _init_coll_HelpMenu_Items
def _init_coll_FileMenu_Items
def _init_coll_AddMenu_Items
def _init_coll_HelpBar_Fields
def _init_utils
def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 158 of file objdictedit.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::_init_coll_menuBar1_Menus (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 159 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::_init_coll_EditMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 167 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::_init_coll_HelpMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 201 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::_init_coll_FileMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 218 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::_init_coll_AddMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 260 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::_init_coll_HelpBar_Fields (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 288 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::_init_utils (  self  )  [private]
-
-
- -

- -

-Definition at line 298 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 317 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::__init__ (  self,
  parent 
)
-
-
- -

- -

-Definition at line 338 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::GetNoteBook (  self  ) 
-
-
- -

- -

-Definition at line 358 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnAddSDOServerMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 361 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnAddSDOClientMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 367 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnAddPDOTransmitMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 373 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnAddPDOReceiveMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 379 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnAddMapVariableMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 385 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnAddUserTypeMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 389 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnFileSelectedChanged (  self,
  event 
)
-
-
- -

- -

-Definition at line 393 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnHelpDS301Menu (  self,
  event 
)
-
-
- -

- -

-Definition at line 404 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnHelpCANFestivalMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 426 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnAboutMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 431 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OpenHtmlFrame (  self,
  title,
  file,
  size 
)
-
-
- -

- -

-Definition at line 435 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnQuitMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 444 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnCloseFrame (  self,
  event 
)
-
-
- -

- -

-Definition at line 448 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::RefreshTitle (  self  ) 
-
-
- -

- -

-Definition at line 474 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnRefreshMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 480 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::RefreshCurrentIndexList (  self  ) 
-
-
- -

- -

-Definition at line 484 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::RefreshStatusBar (  self  ) 
-
-
- -

- -

-Definition at line 489 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::RefreshMainMenu (  self  ) 
-
-
- -

- -

-Definition at line 520 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::RefreshEditMenu (  self  ) 
-
-
- -

- -

-Definition at line 539 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::RefreshProfileMenu (  self  ) 
-
-
- -

- -

-Definition at line 549 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::RefreshBufferState (  self  ) 
-
-
- -

- -

-Definition at line 575 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnUndoMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 582 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnRedoMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 588 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnNewMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 599 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnOpenMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 625 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnSaveMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 656 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnSaveAsMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 660 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::Save (  self  ) 
-
-
- -

- -

-Definition at line 664 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::SaveAs (  self  ) 
-
-
- -

- -

-Definition at line 675 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnCloseMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 698 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnImportEDSMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 725 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnExportEDSMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 755 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnExportCMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 779 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnCommunicationMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 807 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnOtherCommunicationMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 812 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnEditProfileMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 817 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::EditProfile (  self,
  title,
  dictionary,
  current 
)
-
-
- -

- -

-Definition at line 823 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::GetProfileCallBack (  self,
  text 
)
-
-
- -

- -

-Definition at line 846 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::objdictedit::OnNodeInfosMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 858 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::AddMapVariable (  self  ) 
-
-
- -

- -

-Definition at line 878 of file objdictedit.py. -

-

- -

-
- - - - - - - - - -
def objdictedit::objdictedit::AddUserType (  self  ) 
-
-
- -

- -

-Definition at line 899 of file objdictedit.py. -

-

-


Field Documentation

- -
-
- - - - -
objdictedit::objdictedit::HtmlFrameOpened
-
-
- -

- -

-Definition at line 340 of file objdictedit.py. -

-

- -

-
- - - - -
objdictedit::objdictedit::Manager
-
-
- -

- -

-Definition at line 342 of file objdictedit.py. -

-

- -

-
- - - - -
objdictedit::objdictedit::FilePath
-
-
- -

- -

-Definition at line 600 of file objdictedit.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classobjdictedit_1_1wxHtmlWindowUrlClick.html --- a/doc/doxygen/html/classobjdictedit_1_1wxHtmlWindowUrlClick.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ - - -CanFestival: objdictedit::wxHtmlWindowUrlClick Class Reference - - - - -
-
-
-
- -

objdictedit::wxHtmlWindowUrlClick Class Reference

- - - - - - - -

Public Member Functions

def __init__

Data Fields

 linkinfo
-

Detailed Description

- -

- -

-Definition at line 49 of file objdictedit.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def objdictedit::wxHtmlWindowUrlClick::__init__ (  self,
  linkinfo 
)
-
-
- -

- -

-Definition at line 50 of file objdictedit.py. -

-

-


Field Documentation

- -
-
- - - - -
objdictedit::wxHtmlWindowUrlClick::linkinfo
-
-
- -

- -

-Definition at line 53 of file objdictedit.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classobjdictedit_1_1wxUrlClickHtmlWindow.html --- a/doc/doxygen/html/classobjdictedit_1_1wxUrlClickHtmlWindow.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ - - -CanFestival: objdictedit::wxUrlClickHtmlWindow Class Reference - - - - -
-
-
-
- -

objdictedit::wxUrlClickHtmlWindow Class Reference

- - - - - - - - - - -

Public Member Functions

def OnLinkClicked

Static Public Attributes

 Html_Window = True

Data Structures

class  HtmlFrame
-

Detailed Description

-
HTML window that generates and OnLinkClicked event.
-
-Use this to avoid having to override HTMLWindow
-
-

- -

-Definition at line 55 of file objdictedit.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def objdictedit::wxUrlClickHtmlWindow::OnLinkClicked (  self,
  linkinfo 
)
-
-
- -

- -

-Definition at line 57 of file objdictedit.py. -

-

-


Field Documentation

- -
-
- - - - -
objdictedit::wxUrlClickHtmlWindow::Html_Window = True [static]
-
-
- -

- -

-Definition at line 102 of file objdictedit.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classobjdictedit_1_1wxUrlClickHtmlWindow_1_1HtmlFrame.html --- a/doc/doxygen/html/classobjdictedit_1_1wxUrlClickHtmlWindow_1_1HtmlFrame.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,264 +0,0 @@ - - -CanFestival: objdictedit::wxUrlClickHtmlWindow::HtmlFrame Class Reference - - - - -
-
-
-
- -

objdictedit::wxUrlClickHtmlWindow::HtmlFrame Class Reference

- - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def SetHtmlCode
def SetHtmlPage
def OnCloseFrame
def OnLinkClick

Data Fields

 HtmlFrameOpened

Private Member Functions

def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 66 of file objdictedit.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def objdictedit::wxUrlClickHtmlWindow::HtmlFrame::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 67 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def objdictedit::wxUrlClickHtmlWindow::HtmlFrame::__init__ (  self,
  parent,
  opened 
)
-
-
- -

- -

-Definition at line 79 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::wxUrlClickHtmlWindow::HtmlFrame::SetHtmlCode (  self,
  htmlcode 
)
-
-
- -

- -

-Definition at line 83 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::wxUrlClickHtmlWindow::HtmlFrame::SetHtmlPage (  self,
  htmlpage 
)
-
-
- -

- -

-Definition at line 86 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::wxUrlClickHtmlWindow::HtmlFrame::OnCloseFrame (  self,
  event 
)
-
-
- -

- -

-Definition at line 89 of file objdictedit.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def objdictedit::wxUrlClickHtmlWindow::HtmlFrame::OnLinkClick (  self,
  event 
)
-
-
- -

- -

-Definition at line 93 of file objdictedit.py. -

-

-


Field Documentation

- -
-
- - - - -
objdictedit::wxUrlClickHtmlWindow::HtmlFrame::HtmlFrameOpened
-
-
- -

- -

-Definition at line 81 of file objdictedit.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classsubindextable_1_1EditingPanel.html --- a/doc/doxygen/html/classsubindextable_1_1EditingPanel.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1312 +0,0 @@ - - -CanFestival: subindextable::EditingPanel Class Reference - - - - -
-
-
-
- -

subindextable::EditingPanel Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def GetIndex
def SetIndex
def GetSelection
def OnAddButtonClick
def OnPartListBoxClick
def OnIndexListClick
def OnSubindexGridSelectCell
def RefreshIndexList
def RefreshTable
def OnSubindexGridCellChange
def OnCallbackCheck
def OnIndexListRightUp
def OnSubindexGridRightClick
def OnRenameIndexMenu
def OnModifyIndexMenu
def OnDeleteIndexMenu
def OnAddSubindexMenu
def OnDeleteSubindexMenu

Data Fields

 PartList
 SecondSplitter
 SubindexGridPanel
 IndexListPanel
 SubindexGrid
 CallbackCheck
 IndexList
 AddButton
 IndexChoice
 Parent
 Manager
 ListIndex
 ChoiceIndex
 FirstCall
 Editable
 Index
 Table

Private Member Functions

def _init_coll_AddToListSizer_Items
def _init_coll_SubindexGridSizer_Items
def _init_coll_IndexListSizer_Items
def _init_coll_AddToListSizer_Growables
def _init_coll_SubindexGridSizer_Growables
def _init_coll_IndexListSizer_Growables
def _init_coll_SubindexGridMenu_Items
def _init_coll_IndexListMenu_Items
def _init_utils
def _init_sizers
def _init_ctrls
-

Detailed Description

- -

- -

-Definition at line 255 of file subindextable.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_coll_AddToListSizer_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 256 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_coll_SubindexGridSizer_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 262 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_coll_IndexListSizer_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 268 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_coll_AddToListSizer_Growables (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 274 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_coll_SubindexGridSizer_Growables (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 279 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_coll_IndexListSizer_Growables (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 285 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_coll_SubindexGridMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 291 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_coll_IndexListMenu_Items (  self,
  parent 
) [private]
-
-
- -

- -

-Definition at line 303 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::EditingPanel::_init_utils (  self  )  [private]
-
-
- -

- -

-Definition at line 319 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::EditingPanel::_init_sizers (  self  )  [private]
-
-
- -

- -

-Definition at line 328 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::_init_ctrls (  self,
  prnt 
) [private]
-
-
- -

- -

-Definition at line 346 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::__init__ (  self,
  parent,
  manager,
  editable = True 
)
-
-
- -

- -

-Definition at line 417 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::EditingPanel::GetIndex (  self  ) 
-
-
- -

- -

-Definition at line 442 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::SetIndex (  self,
  index 
)
-
-
- -

- -

-Definition at line 445 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::EditingPanel::GetSelection (  self  ) 
-
-
- -

- -

-Definition at line 448 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnAddButtonClick (  self,
  event 
)
-
-
- -

- -

-Definition at line 456 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnPartListBoxClick (  self,
  event 
)
-
-
- -

- -

-Definition at line 482 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnIndexListClick (  self,
  event 
)
-
-
- -

- -

-Definition at line 487 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnSubindexGridSelectCell (  self,
  event 
)
-
-
- -

- -

-Definition at line 492 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::EditingPanel::RefreshIndexList (  self  ) 
-
-
- -

- -

-Definition at line 500 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::EditingPanel::RefreshTable (  self  ) 
-
-
- -

- -

-Definition at line 556 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnSubindexGridCellChange (  self,
  event 
)
-
-
- -

- -

-Definition at line 576 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnCallbackCheck (  self,
  event 
)
-
-
- -

- -

-Definition at line 589 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnIndexListRightUp (  self,
  event 
)
-
-
- -

- -

-Definition at line 601 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnSubindexGridRightClick (  self,
  event 
)
-
-
- -

- -

-Definition at line 628 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnRenameIndexMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 639 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnModifyIndexMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 655 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnDeleteIndexMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 675 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnAddSubindexMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 686 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::EditingPanel::OnDeleteSubindexMenu (  self,
  event 
)
-
-
- -

- -

-Definition at line 707 of file subindextable.py. -

-

-


Field Documentation

- -
-
- - - - -
subindextable::EditingPanel::PartList
-
-
- -

- -

-Definition at line 354 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::SecondSplitter
-
-
- -

- -

-Definition at line 360 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::SubindexGridPanel
-
-
- -

- -

-Definition at line 367 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::IndexListPanel
-
-
- -

- -

-Definition at line 371 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::SubindexGrid
-
-
- -

- -

-Definition at line 377 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::CallbackCheck
-
-
- -

- -

-Definition at line 391 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::IndexList
-
-
- -

- -

-Definition at line 398 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::AddButton
-
-
- -

- -

-Definition at line 405 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::IndexChoice
-
-
- -

- -

-Definition at line 411 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::Parent
-
-
- -

- -

-Definition at line 419 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::Manager
-
-
- -

- -

-Definition at line 420 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::ListIndex
-
-
- -

- -

-Definition at line 421 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::ChoiceIndex
-
-
- -

- -

-Definition at line 422 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::FirstCall
-
-
- -

- -

-Definition at line 423 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::Editable
-
-
- -

- -

-Definition at line 424 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::Index
-
-
- -

- -

-Definition at line 425 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::EditingPanel::Table
-
-
- -

- -

-Definition at line 430 of file subindextable.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/classsubindextable_1_1SubindexTable.html --- a/doc/doxygen/html/classsubindextable_1_1SubindexTable.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,858 +0,0 @@ - - -CanFestival: subindextable::SubindexTable Class Reference - - - - -
-
-
-
- -

subindextable::SubindexTable Class Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

def __init__
def Disable
def Enable
def GetNumberCols
def GetNumberRows
def GetColLabelValue
def GetRowLabelValues
def GetValue
def GetEditor
def GetValueByName
def SetValue
def ResetView
def UpdateValues
def SetData
def SetEditors
def GetCurrentIndex
def SetCurrentIndex
def AppendRow
def Empty

Data Fields

 data
 editors
 CurrentIndex
 colnames
 Parent
 Editable

Private Member Functions

def _updateColAttrs

Private Attributes

 _rows
 _cols
-

Detailed Description

-
-A custom wxGrid Table using user supplied data
-
-

- -

-Definition at line 53 of file subindextable.py.


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::__init__ (  self,
  parent,
  data,
  editors,
  colnames 
)
-
-
- -

- -

-Definition at line 56 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::SubindexTable::Disable (  self  ) 
-
-
- -

- -

-Definition at line 71 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::SubindexTable::Enable (  self  ) 
-
-
- -

- -

-Definition at line 74 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::SubindexTable::GetNumberCols (  self  ) 
-
-
- -

- -

-Definition at line 77 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::SubindexTable::GetNumberRows (  self  ) 
-
-
- -

- -

-Definition at line 80 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::GetColLabelValue (  self,
  col 
)
-
-
- -

- -

-Definition at line 83 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::GetRowLabelValues (  self,
  row 
)
-
-
- -

- -

-Definition at line 87 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::GetValue (  self,
  row,
  col 
)
-
-
- -

- -

-Definition at line 90 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::GetEditor (  self,
  row,
  col 
)
-
-
- -

- -

-Definition at line 98 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::GetValueByName (  self,
  row,
  colname 
)
-
-
- -

- -

-Definition at line 102 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::SetValue (  self,
  row,
  col,
  value 
)
-
-
- -

- -

-Definition at line 105 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::ResetView (  self,
  grid 
)
-
-
- -

-

-(wxGrid) -> Reset the grid view.   Call this to
-update the grid if rows and columns have been added or deleted
-
-

-Definition at line 109 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::UpdateValues (  self,
  grid 
)
-
-
- -

-

Update all displayed values
-

-Definition at line 138 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::_updateColAttrs (  self,
  grid 
) [private]
-
-
- -

-

-wxGrid -> update the column attributes to add the
-appropriate renderer given the column name.
-
-Otherwise default to the default renderer.
-
-

-Definition at line 144 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::SetData (  self,
  data 
)
-
-
- -

- -

-Definition at line 221 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::SetEditors (  self,
  editors 
)
-
-
- -

- -

-Definition at line 224 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::SubindexTable::GetCurrentIndex (  self  ) 
-
-
- -

- -

-Definition at line 227 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::SetCurrentIndex (  self,
  index 
)
-
-
- -

- -

-Definition at line 230 of file subindextable.py. -

-

- -

-
- - - - - - - - - - - - - - - - - - -
def subindextable::SubindexTable::AppendRow (  self,
  row_content 
)
-
-
- -

- -

-Definition at line 233 of file subindextable.py. -

-

- -

-
- - - - - - - - - -
def subindextable::SubindexTable::Empty (  self  ) 
-
-
- -

- -

-Definition at line 236 of file subindextable.py. -

-

-


Field Documentation

- -
-
- - - - -
subindextable::SubindexTable::data
-
-
- -

- -

-Definition at line 59 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::SubindexTable::editors
-
-
- -

- -

-Definition at line 60 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::SubindexTable::CurrentIndex
-
-
- -

- -

-Definition at line 61 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::SubindexTable::colnames
-
-
- -

- -

-Definition at line 62 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::SubindexTable::Parent
-
-
- -

- -

-Definition at line 63 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::SubindexTable::Editable
-
-
- -

- -

-Definition at line 64 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::SubindexTable::_rows [private]
-
-
- -

- -

-Definition at line 68 of file subindextable.py. -

-

- -

-
- - - - -
subindextable::SubindexTable::_cols [private]
-
-
- -

- -

-Definition at line 69 of file subindextable.py. -

-

-


The documentation for this class was generated from the following file: -
Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/commondialogs_8py-source.html --- a/doc/doxygen/html/commondialogs_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1075 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/commondialogs.py Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/objdictgen/commondialogs.py

Go to the documentation of this file.
00001 #!/usr/bin/env python
-00002 # -*- coding: utf-8 -*-
-00003 
-00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
-00005 #
-00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
-00007 #
-00008 #See COPYING file for copyrights details.
-00009 #
-00010 #This library is free software; you can redistribute it and/or
-00011 #modify it under the terms of the GNU Lesser General Public
-00012 #License as published by the Free Software Foundation; either
-00013 #version 2.1 of the License, or (at your option) any later version.
-00014 #
-00015 #This library is distributed in the hope that it will be useful,
-00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
-00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00018 #Lesser General Public License for more details.
-00019 #
-00020 #You should have received a copy of the GNU Lesser General Public
-00021 #License along with this library; if not, write to the Free Software
-00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00023 
-00024 from wxPython.wx import *
-00025 from wxPython.grid import *
-00026 import wx
-00027 
-00028 import os
-00029 
-00030 #-------------------------------------------------------------------------------
-00031 #                          Editing Communication Dialog
-00032 #-------------------------------------------------------------------------------
-00033 
-00034 
-00035 [wxID_COMMUNICATIONDIALOG, wxID_COMMUNICATIONDIALOGMAINPANEL,
-00036  wxID_COMMUNICATIONDIALOGPOSSIBLEINDEXES, wxID_COMMUNICATIONDIALOGCURRENTINDEXES,
-00037  wxID_COMMUNICATIONDIALOGSELECT, wxID_COMMUNICATIONDIALOGUNSELECT, 
-00038  wxID_COMMUNICATIONDIALOGSTATICTEXT1, wxID_COMMUNICATIONDIALOGSTATICTEXT2
-00039 ] = [wx.NewId() for _init_ctrls in range(8)]
-00040 
-00041 class CommunicationDialog(wx.Dialog):
-00042     def _init_coll_flexGridSizer1_Items(self, parent):
-00043         # generated method, don't edit
-00044 
-00045         parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
-00046 
-00047     def _init_sizers(self):
-00048         # generated method, don't edit
-00049         self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
-00050 
-00051         self._init_coll_flexGridSizer1_Items_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
-00052 
-00053         self.SetSizer(self.flexGridSizer1)
-00054 
-00055     def _init_ctrls(self, prnt):
-00056         # generated method, don't edit
-00057         wx.Dialog.__init__(self, id=wxID_COMMUNICATIONDIALOG,
-00058               name='CommunicationDialog', parent=prnt, pos=wx.Point(234, 216),
-00059               size=wx.Size(726, 437), style=wx.DEFAULT_DIALOG_STYLE,
-00060               title='Edit Communication Profile')
-00061         self.SetClientSize(wx.Size(726, 437))
-00062 
-00063         self.MainPanel = wx.Panel(id=wxID_COMMUNICATIONDIALOGMAINPANEL,
-00064               name='MainPanel', parent=self, pos=wx.Point(0, 0),
-00065               size=wx.Size(688, 382), style=wx.TAB_TRAVERSAL)
-00066         self.MainPanel.SetAutoLayout(True)
-00067 
-00068         self.PossibleIndexes = wx.ListBox(choices=[],
-00069               id=wxID_COMMUNICATIONDIALOGPOSSIBLEINDEXES,
-00070               name='PossibleIndexes', parent=self.MainPanel, pos=wx.Point(40,
-00071               48), size=wx.Size(280, 320), style=wxLB_EXTENDED)
-00072         self.PossibleIndexes.Bind(wx.EVT_LEFT_DCLICK, self.OnPossibleIndexesDClickOnPossibleIndexesDClick,
-00073               id=wxID_COMMUNICATIONDIALOGPOSSIBLEINDEXES)
-00074 
-00075         self.CurrentIndexes = wx.ListBox(choices=[],
-00076               id=wxID_COMMUNICATIONDIALOGCURRENTINDEXES, name='CurrentIndexes',
-00077               parent=self.MainPanel, pos=wx.Point(400, 48), size=wx.Size(280,
-00078               320), style=wxLB_EXTENDED)
-00079         self.CurrentIndexes.Bind(wx.EVT_LEFT_DCLICK, self.OnCurrentIndexesDClickOnCurrentIndexesDClick,
-00080               id=wxID_COMMUNICATIONDIALOGCURRENTINDEXES)
-00081 
-00082         self.Select = wx.Button(id=wxID_COMMUNICATIONDIALOGSELECT, label='>>',
-00083               name='Select', parent=self.MainPanel, pos=wx.Point(345, 136),
-00084               size=wx.Size(32, 32), style=0)
-00085         self.Select.Bind(wx.EVT_BUTTON, self.OnSelectButtonOnSelectButton,
-00086               id=wxID_COMMUNICATIONDIALOGSELECT)
-00087 
-00088         self.Unselect = wx.Button(id=wxID_COMMUNICATIONDIALOGUNSELECT,
-00089               label='<<', name='Unselect', parent=self.MainPanel,
-00090               pos=wx.Point(345, 216), size=wx.Size(32, 30), style=0)
-00091         self.Unselect.Bind(wx.EVT_BUTTON, self.OnUnselectButtonOnUnselectButton,
-00092               id=wxID_COMMUNICATIONDIALOGUNSELECT)
-00093 
-00094         self.staticText1 = wx.StaticText(id=wxID_COMMUNICATIONDIALOGSTATICTEXT1,
-00095               label='Possible Profile Indexes:', name='staticText1',
-00096               parent=self.MainPanel, pos=wx.Point(40, 24), size=wx.Size(156,
-00097               17), style=0)
-00098 
-00099         self.staticText2 = wx.StaticText(id=wxID_COMMUNICATIONDIALOGSTATICTEXT2,
-00100               label='Current Profile Indexes:', name='staticText2',
-00101               parent=self.MainPanel, pos=wx.Point(400, 24), size=wx.Size(152,
-00102               17), style=0)
-00103 
-00104         self._init_sizers_init_sizers()
-00105 
-00106     def __init__(self, parent):
-00107         self._init_ctrls_init_ctrls(parent)
-00108         self.ButtonSizerButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
-00109         self.flexGridSizer1.Add(self.ButtonSizerButtonSizer, 1, wxALIGN_CENTER)
-00110         self.AllListAllList = []
-00111         self.CurrentListCurrentList = []
-00112         self.IndexDictionaryIndexDictionary = {}
-00113 
-00114     def SetIndexDictionary(self, dictionary):
-00115         self.IndexDictionaryIndexDictionary = dictionary
-00116         
-00117     def SetCurrentList(self, list):
-00118         self.CurrentListCurrentList = []
-00119         self.CurrentListCurrentList.extend(list)
-00120         self.CurrentListCurrentList.sort()
-00121         
-00122     def GetCurrentList(self):
-00123         return self.CurrentListCurrentList
-00124         
-00125     def RefreshLists(self):
-00126         self.PossibleIndexes.Clear()
-00127         self.CurrentIndexes.Clear()
-00128         self.AllListAllList = []
-00129         for index in self.IndexDictionaryIndexDictionary.iterkeys():
-00130             if index not in self.CurrentListCurrentList:
-00131                 self.AllListAllList.append(index)
-00132         self.AllListAllList.sort()
-00133         for index in self.AllListAllList:
-00134             self.PossibleIndexes.Append("0x%04X   %s"%(index, self.IndexDictionaryIndexDictionary[index][0]))
-00135         for index in self.CurrentListCurrentList:
-00136             if index in self.IndexDictionaryIndexDictionary:
-00137                 self.CurrentIndexes.Append("0x%04X   %s"%(index, self.IndexDictionaryIndexDictionary[index][0]))
-00138 
-00139     def OnPossibleIndexesDClick(self, event):
-00140         self.SelectPossibleSelectPossible()
-00141         event.Skip()
-00142 
-00143     def OnCurrentIndexesDClick(self, event):
-00144         self.UnselectCurrentUnselectCurrent()
-00145         event.Skip()
-00146 
-00147     def OnSelectButton(self, event):
-00148         self.SelectPossibleSelectPossible()
-00149         event.Skip()
-00150 
-00151     def OnUnselectButton(self, event):
-00152         self.UnselectCurrentUnselectCurrent()
-00153         event.Skip()
-00154 
-00155     def SelectPossible(self):
-00156         selected = self.PossibleIndexes.GetSelections()
-00157         for i in selected:
-00158             self.CurrentListCurrentList.append(self.AllListAllList[i])
-00159         self.CurrentListCurrentList.sort()
-00160         self.RefreshListsRefreshLists()
-00161 
-00162     def UnselectCurrent(self):
-00163         selected = self.CurrentIndexes.GetSelections()
-00164         for i in selected:
-00165             if not self.IndexDictionaryIndexDictionary[self.CurrentListCurrentList[i]][1]:
-00166                 self.CurrentListCurrentList.pop(i)
-00167         self.CurrentListCurrentList.sort()
-00168         self.RefreshListsRefreshLists()
-00169 
-00170 
-00171 
-00172 #-------------------------------------------------------------------------------
-00173 #                          Create Map Variable Dialog
-00174 #-------------------------------------------------------------------------------
-00175 
-00176 
-00177 [wxID_MAPVARIABLEDIALOG, wxID_MAPVARIABLEDIALOGINDEX, 
-00178  wxID_MAPVARIABLEDIALOGINDEXNAME, wxID_MAPVARIABLEDIALOGMAINPANEL, 
-00179  wxID_MAPVARIABLEDIALOGNUMBER, wxID_MAPVARIABLEDIALOGRADIOBUTTON1, 
-00180  wxID_MAPVARIABLEDIALOGRADIOBUTTON2, wxID_MAPVARIABLEDIALOGRADIOBUTTON3, 
-00181  wxID_MAPVARIABLEDIALOGSTATICTEXT1, wxID_MAPVARIABLEDIALOGSTATICTEXT2, 
-00182  wxID_MAPVARIABLEDIALOGSTATICTEXT3, wxID_MAPVARIABLEDIALOGSTATICTEXT4, 
-00183 ] = [wx.NewId() for _init_ctrls in range(12)]
-00184 
-00185 class MapVariableDialog(wx.Dialog):
-00186     def _init_coll_flexGridSizer1_Items(self, parent):
-00187         # generated method, don't edit
-00188 
-00189         parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
-00190 
-00191     def _init_sizers(self):
-00192         # generated method, don't edit
-00193         self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
-00194 
-00195         self._init_coll_flexGridSizer1_Items_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
-00196 
-00197         self.SetSizer(self.flexGridSizer1)
-00198 
-00199     def _init_ctrls(self, prnt):
-00200         # generated method, don't edit
-00201         wx.Dialog.__init__(self, id=wxID_MAPVARIABLEDIALOG,
-00202               name='CommunicationDialog', parent=prnt, pos=wx.Point(376, 223),
-00203               size=wx.Size(444, 186), style=wx.DEFAULT_DIALOG_STYLE,
-00204               title='Add Map Variable')
-00205         self.SetClientSize(wx.Size(444, 186))
-00206 
-00207         self.MainPanel = wx.Panel(id=wxID_MAPVARIABLEDIALOGMAINPANEL,
-00208               name='MainPanel', parent=self, pos=wx.Point(0, 0),
-00209               size=wx.Size(431, 142), style=wx.TAB_TRAVERSAL)
-00210         self.MainPanel.SetAutoLayout(True)
-00211 
-00212         self.staticText1 = wx.StaticText(id=wxID_MAPVARIABLEDIALOGSTATICTEXT1,
-00213               label='Index:', name='staticText1', parent=self.MainPanel,
-00214               pos=wx.Point(24, 24), size=wx.Size(156, 17), style=0)
-00215 
-00216         self.Index = wx.TextCtrl(id=wxID_MAPVARIABLEDIALOGINDEX, name='Index',
-00217               parent=self.MainPanel, pos=wx.Point(24, 48), size=wx.Size(152,
-00218               25), style=0, value='0x2000')
-00219 
-00220         self.staticText3 = wx.StaticText(id=wxID_MAPVARIABLEDIALOGSTATICTEXT3,
-00221               label='Name:', name='staticText3', parent=self.MainPanel,
-00222               pos=wx.Point(24, 80), size=wx.Size(47, 17), style=0)
-00223 
-00224         self.IndexName = wx.TextCtrl(id=wxID_MAPVARIABLEDIALOGINDEXNAME,
-00225               name='IndexName', parent=self.MainPanel, pos=wx.Point(24, 104),
-00226               size=wx.Size(152, 24), style=0, value='Undefined')
-00227 
-00228         self.staticText2 = wx.StaticText(id=wxID_MAPVARIABLEDIALOGSTATICTEXT2,
-00229               label='Type:', name='staticText2', parent=self.MainPanel,
-00230               pos=wx.Point(208, 24), size=wx.Size(38, 17), style=0)
-00231 
-00232         self.radioButton1 = wx.RadioButton(id=wxID_MAPVARIABLEDIALOGRADIOBUTTON1,
-00233               label='VAR', name='radioButton1', parent=self.MainPanel,
-00234               pos=wx.Point(208, 48), size=wx.Size(72, 24), style=wxRB_GROUP)
-00235         self.radioButton1.SetValue(True)
-00236         self.radioButton1.Bind(wx.EVT_RADIOBUTTON, self.OnRadioButton1ClickOnRadioButton1Click,
-00237               id=wxID_MAPVARIABLEDIALOGRADIOBUTTON1)
-00238 
-00239         self.radioButton2 = wx.RadioButton(id=wxID_MAPVARIABLEDIALOGRADIOBUTTON2,
-00240               label='ARRAY', name='radioButton2', parent=self.MainPanel,
-00241               pos=wx.Point(208, 72), size=wx.Size(80, 24), style=wxRB_SINGLE)
-00242         self.radioButton2.SetValue(False)
-00243         self.radioButton2.Bind(wx.EVT_RADIOBUTTON, self.OnRadioButton2ClickOnRadioButton2Click,
-00244               id=wxID_MAPVARIABLEDIALOGRADIOBUTTON2)
-00245 
-00246         self.radioButton3 = wx.RadioButton(id=wxID_MAPVARIABLEDIALOGRADIOBUTTON3,
-00247               label='REC', name='radioButton3', parent=self.MainPanel,
-00248               pos=wx.Point(208, 96), size=wx.Size(96, 24), style=wxRB_SINGLE)
-00249         self.radioButton3.SetValue(False)
-00250         self.radioButton3.Bind(wx.EVT_RADIOBUTTON, self.OnRadioButton3ClickOnRadioButton3Click,
-00251               id=wxID_MAPVARIABLEDIALOGRADIOBUTTON3)
-00252 
-00253         self.staticText4 = wx.StaticText(id=wxID_MAPVARIABLEDIALOGSTATICTEXT4,
-00254               label='Number:', name='staticText4', parent=self.MainPanel,
-00255               pos=wx.Point(312, 80), size=wx.Size(88, 16), style=0)
-00256 
-00257         self.Number = wx.TextCtrl(id=wxID_MAPVARIABLEDIALOGNUMBER,
-00258               name='Number', parent=self.MainPanel, pos=wx.Point(312, 104),
-00259               size=wx.Size(112, 24), style=wx.TE_RIGHT, value='0')
-00260 
-00261         self._init_sizers_init_sizers()
-00262 
-00263     def __init__(self, parent):
-00264         self._init_ctrls_init_ctrls(parent)
-00265         self.ButtonSizerButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
-00266         self.flexGridSizer1.Add(self.ButtonSizerButtonSizer, 1, wxALIGN_CENTER)
-00267         self.staticText4.Enable(False)
-00268         self.Number.Enable(False)
-00269         
-00270         EVT_BUTTON(self, self.ButtonSizerButtonSizer.GetAffirmativeButton().GetId(), self.OnOKOnOK)
-00271 
-00272     def SetIndex(self, index):
-00273         self.Index.SetValue("0x%04X"%index)
-00274 
-00275     def OnOK(self, event):
-00276         error = []
-00277         try:
-00278             int(self.Index.GetValue(), 16)
-00279         except:
-00280             error.append("Index")
-00281         if self.radioButton2.GetValue() or self.radioButton3.GetValue():
-00282             try:
-00283                 int(self.Number.GetValue())
-00284             except:
-00285                 error.append("Number")
-00286         if len(error) > 0:
-00287             text = ""
-00288             if len(error) > 1:
-00289                 suffix = "s"
-00290             else:
-00291                 suffix = ""
-00292             for i, item in enumerate(error):
-00293                 if i == 0:
-00294                     text += item
-00295                 elif i == len(error) - 1:
-00296                     text += " and %s"%item
-00297                 else:
-00298                     text += ", %s"%item
-00299             message = wxMessageDialog(self, "Form isn't valid. %s must be integer%s!"%(text,suffix), "Error", wxOK|wxICON_ERROR)
-00300             message.ShowModal()
-00301             message.Destroy()
-00302         else:
-00303             self.EndModal(wxID_OK)
-00304 
-00305     def GetValues(self):
-00306         name = self.IndexName.GetValue()
-00307         index = int(self.Index.GetValue(), 16)
-00308         if self.radioButton1.GetValue():
-00309             struct = 1
-00310             number = None
-00311         elif self.radioButton2.GetValue():
-00312             struct = 3
-00313             number = int(self.Number.GetValue())
-00314         elif self.radioButton3.GetValue():
-00315             struct = 7
-00316             number = int(self.Number.GetValue())
-00317         return index, name, struct, number
-00318 
-00319     def OnRadioButton1Click(self, event):
-00320         self.EnableNumberTypingEnableNumberTyping(False)
-00321         event.Skip()
-00322 
-00323     def OnRadioButton2Click(self, event):
-00324         self.EnableNumberTypingEnableNumberTyping(True)
-00325         event.Skip()
-00326 
-00327     def OnRadioButton3Click(self, event):
-00328         self.EnableNumberTypingEnableNumberTyping(True)
-00329         event.Skip()
-00330 
-00331     def EnableNumberTyping(self, enable):
-00332         self.staticText4.Enable(enable)
-00333         self.Number.Enable(enable)
-00334 
-00335 
-00336 #-------------------------------------------------------------------------------
-00337 #                          Create User Type Dialog
-00338 #-------------------------------------------------------------------------------
-00339 
-00340 
-00341 [wxID_USERTYPEDIALOG, wxID_USERTYPEDIALOGLENGTH, wxID_USERTYPEDIALOGMAINPANEL, 
-00342  wxID_USERTYPEDIALOGMAX, wxID_USERTYPEDIALOGMIN, 
-00343  wxID_USERTYPEDIALOGSTATICBOX1, wxID_USERTYPEDIALOGSTATICTEXT1, 
-00344  wxID_USERTYPEDIALOGSTATICTEXT2, wxID_USERTYPEDIALOGSTATICTEXT3, 
-00345  wxID_USERTYPEDIALOGSTATICTEXT4, wxID_USERTYPEDIALOGTYPE, 
-00346 ] = [wx.NewId() for _init_ctrls in range(11)]
-00347 
-00348 class UserTypeDialog(wx.Dialog):
-00349     def _init_coll_flexGridSizer1_Items(self, parent):
-00350         # generated method, don't edit
-00351 
-00352         parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
-00353 
-00354     def _init_sizers(self):
-00355         # generated method, don't edit
-00356         self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
-00357 
-00358         self._init_coll_flexGridSizer1_Items_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
-00359 
-00360         self.SetSizer(self.flexGridSizer1)
-00361 
-00362     def _init_ctrls(self, prnt):
-00363         # generated method, don't edit
-00364         wx.Dialog.__init__(self, id=wxID_USERTYPEDIALOG, name='UserTypeDialog',
-00365               parent=prnt, pos=wx.Point(376, 223), size=wx.Size(444, 228),
-00366               style=wx.DEFAULT_DIALOG_STYLE, title='Add User Type')
-00367         self.SetClientSize(wx.Size(444, 228))
-00368 
-00369         self.MainPanel = wx.Panel(id=wxID_USERTYPEDIALOGMAINPANEL,
-00370               name='MainPanel', parent=self, pos=wx.Point(0, 0),
-00371               size=wx.Size(431, 182), style=wx.TAB_TRAVERSAL)
-00372         self.MainPanel.SetAutoLayout(True)
-00373 
-00374         self.staticText1 = wx.StaticText(id=wxID_USERTYPEDIALOGSTATICTEXT1,
-00375               label='Type:', name='staticText1', parent=self.MainPanel,
-00376               pos=wx.Point(24, 24), size=wx.Size(156, 17), style=0)
-00377 
-00378         self.Type = wx.Choice(choices=[], id=wxID_USERTYPEDIALOGTYPE,
-00379               name='Type', parent=self.MainPanel, pos=wx.Point(24, 48),
-00380               size=wx.Size(160, 24), style=0)
-00381         self.Type.Bind(wx.EVT_CHOICE, self.OnTypeChoiceOnTypeChoice,
-00382               id=wxID_USERTYPEDIALOGTYPE)
-00383 
-00384         self.staticBox1 = wx.StaticBox(id=wxID_USERTYPEDIALOGSTATICBOX1,
-00385               label='Values', name='staticBox1', parent=self.MainPanel,
-00386               pos=wx.Point(200, 24), size=wx.Size(224, 144), style=0)
-00387 
-00388         self.staticText2 = wx.StaticText(id=wxID_USERTYPEDIALOGSTATICTEXT2,
-00389               label='Minimum:', name='staticText2', parent=self.MainPanel,
-00390               pos=wx.Point(216, 48), size=wx.Size(67, 17), style=0)
-00391 
-00392         self.Min = wx.TextCtrl(id=wxID_USERTYPEDIALOGMIN, name='Min',
-00393               parent=self.MainPanel, pos=wx.Point(296, 48), size=wx.Size(112,
-00394               24), style=wx.TE_RIGHT, value='0')
-00395 
-00396         self.staticText3 = wx.StaticText(id=wxID_USERTYPEDIALOGSTATICTEXT3,
-00397               label='Maximum:', name='staticText3', parent=self.MainPanel,
-00398               pos=wx.Point(216, 88), size=wx.Size(71, 17), style=0)
-00399 
-00400         self.Max = wx.TextCtrl(id=wxID_USERTYPEDIALOGMAX, name='Max',
-00401               parent=self.MainPanel, pos=wx.Point(296, 88), size=wx.Size(112,
-00402               25), style=wx.TE_RIGHT, value='0')
-00403 
-00404         self.staticText4 = wx.StaticText(id=wxID_USERTYPEDIALOGSTATICTEXT4,
-00405               label='Length:', name='staticText4', parent=self.MainPanel,
-00406               pos=wx.Point(216, 128), size=wx.Size(52, 17), style=0)
-00407 
-00408         self.Length = wx.TextCtrl(id=wxID_USERTYPEDIALOGLENGTH, name='Length',
-00409               parent=self.MainPanel, pos=wx.Point(296, 128), size=wx.Size(112,
-00410               25), style=wx.TE_RIGHT, value='0')
-00411 
-00412         self._init_sizers_init_sizers()
-00413 
-00414     def __init__(self, parent):
-00415         self._init_ctrls_init_ctrls(parent)
-00416         self.ButtonSizerButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
-00417         self.flexGridSizer1.Add(self.ButtonSizerButtonSizer, 1, wxALIGN_CENTER)
-00418         self.TypeDictionaryTypeDictionary = {}
-00419 
-00420         EVT_BUTTON(self, self.ButtonSizerButtonSizer.GetAffirmativeButton().GetId(), self.OnOKOnOK)
-00421 
-00422     def OnOK(self, event):
-00423         error = []
-00424         good = True
-00425         firstmessage = ""
-00426         secondmessage = ""
-00427         name = self.Type.GetStringSelection()
-00428         if name != "":
-00429             valuetype = self.TypeDictionaryTypeDictionary[name][1]
-00430             if valuetype == 0:
-00431                 try:
-00432                     int(self.Min.GetValue(), 16)
-00433                 except:
-00434                     error.append("Minimum")
-00435                     good = False
-00436                 try:
-00437                     int(self.Max.GetValue(), 16)
-00438                 except:
-00439                     error.append("Maximum")
-00440                     good = False
-00441             elif valuetype == 1:
-00442                 try:
-00443                     int(self.Length.GetValue(), 16)
-00444                 except:
-00445                     error.append("Length")
-00446                     good = False
-00447             if len(error) > 0:
-00448                 secondmessage = ". "
-00449                 for i, item in enumerate(error):
-00450                     if i == 0:
-00451                         secondmessage += item
-00452                     elif i == len(error) - 1:
-00453                         secondmessage += " and %s"%item
-00454                     else:
-00455                         secondmessage += ", %s"%item
-00456                 secondmessage += " must be integer"
-00457                 if len(error) > 1:
-00458                     secondmessage += "s"
-00459         else:
-00460             firstmessage = ". A type must be selected"
-00461             good = False
-00462         if not good:
-00463             message = wxMessageDialog(self, "Form isn't valid%s%s%s!"%(firstmessage,secondmessage), "Error", wxOK|wxICON_ERROR)
-00464             message.ShowModal()
-00465             message.Destroy()
-00466             self.Name.SetFocus()
-00467         else:
-00468             self.EndModal(wxID_OK)
-00469 
-00470     def SetValues(self, min = None, max = None, length = None):
-00471         if min != None:
-00472             self.Min.SetValue(str(min))
-00473         if max != None:
-00474             self.Max.SetValue(str(max))
-00475         if length != None:
-00476             self.Length.SetValue(str(length))
-00477 
-00478     def SetTypeList(self, typedic, type = None):
-00479         self.Type.Clear()
-00480         list = []
-00481         for index, (name, valuetype) in typedic.iteritems():
-00482             self.TypeDictionaryTypeDictionary[name] = (index, valuetype)
-00483             list.append((index, name))
-00484         list.sort()
-00485         for index, name in list:
-00486             self.Type.Append(name)
-00487         if type != None:
-00488             self.Type.SetStringSelection(typedic[type][0])
-00489         self.RefreshValuesRefreshValues()
-00490 
-00491     def OnTypeChoice(self, event):
-00492         self.RefreshValuesRefreshValues()
-00493         event.Skip()
-00494     
-00495     def RefreshValues(self):
-00496         name = self.Type.GetStringSelection()
-00497         if name != "":
-00498             valuetype = self.TypeDictionaryTypeDictionary[name][1]
-00499             if valuetype == 0:
-00500                 self.staticText2.Enable(True)
-00501                 self.staticText3.Enable(True)
-00502                 self.staticText4.Enable(False)
-00503                 self.Min.Enable(True)
-00504                 self.Max.Enable(True)
-00505                 self.Length.Enable(False)
-00506             elif valuetype == 1:
-00507                 self.staticText2.Enable(False)
-00508                 self.staticText3.Enable(False)
-00509                 self.staticText4.Enable(True)
-00510                 self.Min.Enable(False)
-00511                 self.Max.Enable(False)
-00512                 self.Length.Enable(True)
-00513         else:
-00514             self.staticText2.Enable(False)
-00515             self.staticText3.Enable(False)
-00516             self.staticText4.Enable(False)
-00517             self.Min.Enable(False)
-00518             self.Max.Enable(False)
-00519             self.Length.Enable(False)
-00520 
-00521     def GetValues(self):
-00522         name = self.Type.GetStringSelection()
-00523         type = self.TypeDictionaryTypeDictionary[name][0]
-00524         min = int(self.Min.GetValue())
-00525         max = int(self.Max.GetValue())
-00526         length = int(self.Length.GetValue())
-00527         return type, min, max, length
-00528 
-00529 
-00530 
-00531 #-------------------------------------------------------------------------------
-00532 #                          Editing Node Infos Dialog
-00533 #-------------------------------------------------------------------------------
-00534 
-00535 
-00536 [wxID_NODEINFOSDIALOG, wxID_NODEINFOSDIALOGMAINPANEL, 
-00537  wxID_NODEINFOSDIALOGNAME, wxID_NODEINFOSDIALOGNODEID, 
-00538  wxID_NODEINFOSDIALOGDESCRIPTION, wxID_NODEINFOSDIALOGSTATICTEXT1, 
-00539  wxID_NODEINFOSDIALOGSTATICTEXT2, wxID_NODEINFOSDIALOGSTATICTEXT3, 
-00540  wxID_NODEINFOSDIALOGSTATICTEXT4, wxID_NODEINFOSDIALOGTYPE, 
-00541 ] = [wx.NewId() for _init_ctrls in range(10)]
-00542 
-00543 class NodeInfosDialog(wx.Dialog):
-00544     def _init_coll_flexGridSizer1_Items(self, parent):
-00545         # generated method, don't edit
-00546 
-00547         parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
-00548 
-00549     def _init_sizers(self):
-00550         # generated method, don't edit
-00551         self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
-00552 
-00553         self._init_coll_flexGridSizer1_Items_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
-00554 
-00555         self.SetSizer(self.flexGridSizer1)
-00556 
-00557     def _init_ctrls(self, prnt):
-00558         # generated method, don't edit
-00559         wx.Dialog.__init__(self, id=wxID_NODEINFOSDIALOG,
-00560               name='NodeInfosDialog', parent=prnt, pos=wx.Point(376, 223),
-00561               size=wx.Size(300, 300), style=wx.DEFAULT_DIALOG_STYLE,
-00562               title='Node Infos')
-00563         self.SetClientSize(wx.Size(300, 300))
-00564 
-00565         self.MainPanel = wx.Panel(id=wxID_NODEINFOSDIALOGMAINPANEL,
-00566               name='MainPanel', parent=self, pos=wx.Point(0, 0),
-00567               size=wx.Size(280, 264), style=wx.TAB_TRAVERSAL)
-00568         self.MainPanel.SetAutoLayout(True)
-00569 
-00570         self.staticText1 = wx.StaticText(id=wxID_NODEINFOSDIALOGSTATICTEXT1,
-00571               label='Name:', 
-00572               name='staticText1', parent=self.MainPanel,
-00573               pos=wx.Point(24, 24), size=wx.Size(156, 17), style=0)
-00574 
-00575         self.Name = wx.TextCtrl(id=wxID_NODEINFOSDIALOGNAME, name='Name',
-00576               parent=self.MainPanel, pos=wx.Point(24, 48), size=wx.Size(250,
-00577               25), style=0, value='')
-00578 
-00579         self.staticText2 = wx.StaticText(id=wxID_NODEINFOSDIALOGSTATICTEXT2,
-00580               label='Node ID:', name='staticText2', parent=self.MainPanel,
-00581               pos=wx.Point(24, 80), size=wx.Size(67, 17), style=0)
-00582 
-00583         self.NodeID = wx.TextCtrl(id=wxID_NODEINFOSDIALOGNODEID, name='NodeID',
-00584               parent=self.MainPanel, pos=wx.Point(24, 104), size=wx.Size(250,
-00585               25), style=wx.TE_RIGHT, value='')
-00586 
-00587         self.staticText3 = wx.StaticText(id=wxID_NODEINFOSDIALOGSTATICTEXT3,
-00588               label='Type:', name='staticText3', parent=self.MainPanel,
-00589               pos=wx.Point(24, 136), size=wx.Size(71, 17), style=0)
-00590 
-00591         self.Type = wx.Choice(choices=[], id=wxID_NODEINFOSDIALOGTYPE,
-00592               name='Type', parent=self.MainPanel, pos=wx.Point(24, 160),
-00593               size=wx.Size(250, 25), style=0)
-00594 
-00595         self.staticText4 = wx.StaticText(id=wxID_NODEINFOSDIALOGSTATICTEXT4,
-00596               label='Description:', name='staticText4', parent=self.MainPanel,
-00597               pos=wx.Point(24, 192), size=wx.Size(71, 17), style=0)
-00598 
-00599         self.Description = wx.TextCtrl(id=wxID_NODEINFOSDIALOGDESCRIPTION, 
-00600               name='Description', parent=self.MainPanel, pos=wx.Point(24, 216), 
-00601               size=wx.Size(250, 25), style=0, value='')
-00602 
-00603         self._init_sizers_init_sizers()
-00604 
-00605     def __init__(self, parent):
-00606         self._init_ctrls_init_ctrls(parent)
-00607         self.ButtonSizerButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
-00608         self.flexGridSizer1.Add(self.ButtonSizerButtonSizer, 1, wxALIGN_CENTER)
-00609         self.Type.Append("master")
-00610         self.Type.Append("slave")
-00611 
-00612         EVT_BUTTON(self, self.ButtonSizerButtonSizer.GetAffirmativeButton().GetId(), self.OnOKOnOK)
-00613 
-00614     def OnOK(self, event):
-00615         name = self.Name.GetValue()
-00616         message = ""
-00617         if name != "":
-00618             good = not name[0].isdigit()
-00619             for item in name.split("_"):
-00620                 good &= item.isalnum()
-00621             if not good:
-00622                 message = "Node name can't be undefined or start with a digit and must be composed of alphanumerical characters or underscore!"
-00623         if message != "":
-00624             try:
-00625                 nodeid = int(self.NodeID.GetValue(), 16)
-00626             except:
-00627                 message = "Node ID must be integer!"
-00628         if message != "":
-00629             message = wxMessageDialog(self, message, "ERROR", wxOK|wxICON_ERROR)
-00630             message.ShowModal()
-00631             message.Destroy()
-00632             self.Name.SetFocus()
-00633         else:
-00634             self.EndModal(wxID_OK)
-00635     
-00636     def SetValues(self, name, id, type, description):
-00637         self.Name.SetValue(name)
-00638         self.NodeID.SetValue("0x%02X"%id)
-00639         self.Type.SetStringSelection(type)
-00640         self.Description.SetValue(description)
-00641 
-00642     def GetValues(self):
-00643         name = self.Name.GetValue()
-00644         nodeid = int(self.NodeID.GetValue(), 16)
-00645         type = self.Type.GetStringSelection()
-00646         description = self.Description.GetValue()
-00647         return name, nodeid, type, description
-00648 
-00649 
-00650 
-00651 #-------------------------------------------------------------------------------
-00652 #                          Create New Node Dialog
-00653 #-------------------------------------------------------------------------------
-00654 
-00655 
-00656 [wxID_CREATENODEDIALOG, wxID_CREATENODEDIALOGEMERGENCY, 
-00657  wxID_CREATENODEDIALOGGENSYNC, wxID_CREATENODEDIALOGMAINPANEL, 
-00658  wxID_CREATENODEDIALOGNAME, wxID_CREATENODEDIALOGNMT_HEARTBEAT, 
-00659  wxID_CREATENODEDIALOGNMT_NODEGUARDING, wxID_CREATENODEDIALOGNMT_NONE, 
-00660  wxID_CREATENODEDIALOGNODEID, wxID_CREATENODEDIALOGPROFILE, 
-00661  wxID_CREATENODEDIALOGSAVECONFIG, wxID_CREATENODEDIALOGSTATICTEXT1, 
-00662  wxID_CREATENODEDIALOGSTATICTEXT2, wxID_CREATENODEDIALOGSTATICTEXT3, 
-00663  wxID_CREATENODEDIALOGSTATICTEXT4, wxID_CREATENODEDIALOGSTATICTEXT5, 
-00664  wxID_CREATENODEDIALOGSTATICTEXT6, wxID_CREATENODEDIALOGSTATICTEXT7,
-00665  wxID_CREATENODEDIALOGSTOREEDS, wxID_CREATENODEDIALOGDESCRIPTION,
-00666  wxID_CREATENODEDIALOGTYPE, 
-00667 ] = [wx.NewId() for _init_ctrls in range(21)]
-00668 
-00669 class CreateNodeDialog(wx.Dialog):
-00670     def _init_coll_flexGridSizer1_Items(self, parent):
-00671         # generated method, don't edit
-00672 
-00673         parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
-00674 
-00675     def _init_sizers(self):
-00676         # generated method, don't edit
-00677         self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
-00678 
-00679         self._init_coll_flexGridSizer1_Items_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
-00680 
-00681         self.SetSizer(self.flexGridSizer1)
-00682 
-00683     def _init_ctrls(self, prnt):
-00684         # generated method, don't edit
-00685         wx.Dialog.__init__(self, id=wxID_CREATENODEDIALOG,
-00686               name='CreateNodeDialog', parent=prnt, pos=wx.Point(376, 223),
-00687               size=wx.Size(451, 376), style=wx.DEFAULT_DIALOG_STYLE,
-00688               title='Create a new Node')
-00689         self.SetClientSize(wx.Size(451, 376))
-00690 
-00691         self.MainPanel = wx.Panel(id=wxID_CREATENODEDIALOGMAINPANEL,
-00692               name='MainPanel', parent=self, pos=wx.Point(0, 0),
-00693               size=wx.Size(440, 278), style=wx.TAB_TRAVERSAL)
-00694         self.MainPanel.SetAutoLayout(True)
-00695 
-00696         self.staticText1 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT1,
-00697               label='Name:', name='staticText1', parent=self.MainPanel,
-00698               pos=wx.Point(24, 24), size=wx.Size(156, 17), style=0)
-00699 
-00700         self.staticText2 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT2,
-00701               label='Node ID:', name='staticText2', parent=self.MainPanel,
-00702               pos=wx.Point(24, 80), size=wx.Size(67, 17), style=0)
-00703 
-00704         self.staticText3 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT3,
-00705               label='Type:', name='staticText3', parent=self.MainPanel,
-00706               pos=wx.Point(24, 136), size=wx.Size(71, 17), style=0)
-00707 
-00708         self.Type = wx.Choice(choices=[], id=wxID_CREATENODEDIALOGTYPE,
-00709               name='Type', parent=self.MainPanel, pos=wx.Point(24, 160),
-00710               size=wx.Size(200, 24), style=0)
-00711 
-00712         self.Name = wx.TextCtrl(id=wxID_CREATENODEDIALOGNAME, name='Name',
-00713               parent=self.MainPanel, pos=wx.Point(24, 48), size=wx.Size(200,
-00714               25), style=0, value='')
-00715 
-00716         self.NodeID = wx.TextCtrl(id=wxID_CREATENODEDIALOGNODEID, name='NodeID',
-00717               parent=self.MainPanel, pos=wx.Point(24, 104), size=wx.Size(200,
-00718               25), style=wx.TE_RIGHT, value='')
-00719 
-00720         self.staticText4 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT4,
-00721               label='Profile:', name='staticText4', parent=self.MainPanel,
-00722               pos=wx.Point(24, 192), size=wx.Size(47, 17), style=0)
-00723 
-00724         self.Profile = wx.Choice(choices=[], id=wxID_CREATENODEDIALOGPROFILE,
-00725               name='Profile', parent=self.MainPanel, pos=wx.Point(24, 216),
-00726               size=wx.Size(200, 24), style=0)
-00727         self.Profile.Bind(wx.EVT_CHOICE, self.OnProfileChoiceOnProfileChoice,
-00728               id=wxID_CREATENODEDIALOGPROFILE)
-00729 
-00730         self.staticText5 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT5,
-00731               label='Network Management:', name='staticText5',
-00732               parent=self.MainPanel, pos=wx.Point(256, 24), size=wx.Size(152,
-00733               16), style=0)
-00734 
-00735         self.NMT_None = wx.RadioButton(id=wxID_CREATENODEDIALOGNMT_NONE,
-00736               label='None', name='NMT_None', parent=self.MainPanel,
-00737               pos=wx.Point(256, 40), size=wx.Size(114, 24), style=0)
-00738         self.NMT_None.SetValue(True)
-00739 
-00740         self.NMT_NodeGuarding = wx.RadioButton(id=wxID_CREATENODEDIALOGNMT_NODEGUARDING,
-00741               label='Node Guarding', name='NMT_NodeGuarding',
-00742               parent=self.MainPanel, pos=wx.Point(256, 64), size=wx.Size(128,
-00743               24), style=0)
-00744         self.NMT_NodeGuarding.SetValue(False)
-00745 
-00746         self.NMT_Heartbeat = wx.RadioButton(id=wxID_CREATENODEDIALOGNMT_HEARTBEAT,
-00747               label='Heartbeat', name='NMT_Heartbeat', parent=self.MainPanel,
-00748               pos=wx.Point(256, 88), size=wx.Size(114, 24), style=0)
-00749         self.NMT_Heartbeat.SetValue(False)
-00750 
-00751         self.staticText6 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT6,
-00752               label='Options:', name='staticText6', parent=self.MainPanel,
-00753               pos=wx.Point(256, 128), size=wx.Size(72, 17), style=0)
-00754 
-00755         self.DS302 = wx.CheckBox(id=wxID_CREATENODEDIALOGGENSYNC,
-00756               label='DS-302 Profile', name='DS302', parent=self.MainPanel,
-00757               pos=wx.Point(256, 144), size=wx.Size(128, 24), style=0)
-00758         self.DS302.SetValue(False)
-00759         #self.DS302.Enable(False)
-00760 
-00761         self.GenSYNC = wx.CheckBox(id=wxID_CREATENODEDIALOGGENSYNC,
-00762               label='Generate SYNC', name='GenSYNC', parent=self.MainPanel,
-00763               pos=wx.Point(256, 168), size=wx.Size(128, 24), style=0)
-00764         self.GenSYNC.SetValue(False)
-00765 
-00766         self.Emergency = wx.CheckBox(id=wxID_CREATENODEDIALOGEMERGENCY,
-00767               label='Emergency support', name='Emergency',
-00768               parent=self.MainPanel, pos=wx.Point(256, 192), size=wx.Size(152,
-00769               24), style=0)
-00770         self.Emergency.SetValue(False)
-00771         self.Emergency.Enable(False)
-00772 
-00773         self.SaveConfig = wx.CheckBox(id=wxID_CREATENODEDIALOGSAVECONFIG,
-00774               label='Save Configuration', name='SaveConfig',
-00775               parent=self.MainPanel, pos=wx.Point(256, 216), size=wx.Size(152,
-00776               24), style=0)
-00777         self.SaveConfig.SetValue(False)
-00778         self.SaveConfig.Enable(False)
-00779 
-00780 #        self.StoreEDS = wx.CheckBox(id=wxID_CREATENODEDIALOGSTOREEDS,
-00781 #              label='Store EDS', name='StoreEDS', parent=self.MainPanel,
-00782 #              pos=wx.Point(256, 240), size=wx.Size(144, 24), style=0)
-00783 #        self.StoreEDS.SetValue(False)
-00784 
-00785         self.staticText7 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT7,
-00786               label='Description:', name='staticText7', parent=self.MainPanel,
-00787               pos=wx.Point(24, 248), size=wx.Size(71, 17), style=0)
-00788 
-00789         self.Description = wx.TextCtrl(id=wxID_CREATENODEDIALOGDESCRIPTION, 
-00790               name='Description', parent=self.MainPanel, pos=wx.Point(24, 272), 
-00791               size=wx.Size(400, 25), style=0, value='')
-00792 
-00793         self._init_sizers_init_sizers()
-00794 
-00795     def __init__(self, parent, cwd):
-00796         self._init_ctrls_init_ctrls(parent)
-00797         self.ButtonSizerButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
-00798         self.flexGridSizer1.Add(self.ButtonSizerButtonSizer, 1, wxALIGN_CENTER)
-00799         self.NodeID.SetValue("0x00")
-00800         self.Type.Append("master")
-00801         self.Type.Append("slave")
-00802         self.Type.SetStringSelection("slave")
-00803         self.Description.SetValue("")
-00804         self.ListProfileListProfile = {"None" : ""}
-00805         self.Profile.Append("None")
-00806         self.DirectoryDirectory = os.path.join(cwd, "config")
-00807         listfiles = os.listdir(self.DirectoryDirectory)
-00808         listfiles.sort()
-00809         for item in listfiles:
-00810             name, extend = os.path.splitext(item)
-00811             if os.path.isfile(os.path.join(self.DirectoryDirectory, item)) and extend == ".prf" and name != "DS-302":
-00812                 self.ListProfileListProfile[name] = os.path.join(self.DirectoryDirectory, item)
-00813                 self.Profile.Append(name)
-00814         self.Profile.Append("Other")
-00815         self.Profile.SetStringSelection("None")
-00816         self.Name.SetFocus()
-00817         
-00818         EVT_BUTTON(self, self.ButtonSizerButtonSizer.GetAffirmativeButton().GetId(), self.OnOKOnOK)
-00819 
-00820     def OnOK(self, event):
-00821         name = self.Name.GetValue()
-00822         message = ""
-00823         if name != "":
-00824             good = not name[0].isdigit()
-00825             for item in name.split("_"):
-00826                 good &= item.isalnum()
-00827             if not good:
-00828                 message = "Node name can't be undefined or start with a digit and must be composed of alphanumerical characters or underscore!"
-00829         if message != "":
-00830             try:
-00831                 nodeid = int(self.NodeID.GetValue(), 16)
-00832             except:
-00833                 message = "Node ID must be an integer!"
-00834         if message != "":
-00835             message = wxMessageDialog(self, message, "ERROR", wxOK|wxICON_ERROR)
-00836             message.ShowModal()
-00837             message.Destroy()
-00838             self.Name.SetFocus()
-00839         else:
-00840             self.EndModal(wxID_OK)
-00841 
-00842     def GetValues(self):
-00843         name = self.Name.GetValue()
-00844         nodeid = 0
-00845         if self.NodeID.GetValue() != "":
-00846             nodeid = int(self.NodeID.GetValue(), 16)
-00847         type = self.Type.GetStringSelection()
-00848         description = self.Description.GetValue()
-00849         return name, nodeid, type, description
-00850 
-00851     def GetProfile(self):
-00852         name = self.Profile.GetStringSelection()
-00853         return name, self.ListProfileListProfile[name]
-00854 
-00855     def GetNMTManagement(self):
-00856         if self.NMT_None.GetValue():
-00857             return "None"
-00858         elif self.NMT_NodeGuarding.GetValue():
-00859             return "NodeGuarding"
-00860         elif self.NMT_Heartbeat.GetValue():
-00861             return "Heartbeat"
-00862         return None
-00863     
-00864     def GetOptions(self):
-00865         options = []
-00866         if self.DS302.GetValue():
-00867             options.append("DS302")
-00868         if self.GenSYNC.GetValue():
-00869             options.append("GenSYNC")
-00870         if self.Emergency.GetValue():
-00871             options.append("Emergency")
-00872         if self.SaveConfig.GetValue():
-00873             options.append("SaveConfig")
-00874 #        if self.StoreEDS.GetValue():
-00875 #            options.append("StoreEDS")
-00876         return options
-00877 
-00878     def OnProfileChoice(self, event):
-00879         if self.Profile.GetStringSelection() == "Other":
-00880             dialog = wxFileDialog(self, "Choose a file", self.DirectoryDirectory, "",  "OD Profile files (*.prf)|*.prf|All files|*.*", wxOPEN|wxCHANGE_DIR)
-00881             dialog.ShowModal()
-00882             filepath = dialog.GetPath()
-00883             dialog.Destroy()
-00884             if os.path.isfile(filepath):
-00885                 name = os.path.splitext(os.path.basename(filepath))[0]
-00886                 self.ListProfileListProfile[name] = filepath
-00887                 length = self.Profile.GetCount()
-00888                 self.Profile.Insert(name, length - 2)
-00889                 self.Profile.SetStringSelection(name)
-00890             else:
-00891                 self.Profile.SetStringSelection("None")
-00892         event.Skip()
-00893 
-00894 
-00895 #-------------------------------------------------------------------------------
-00896 #                            ADD Slave to NodeList Dialog
-00897 #-------------------------------------------------------------------------------
-00898 
-00899 [wxID_ADDSLAVEDIALOG, wxID_ADDSLAVEDIALOGMAINPANEL, wxID_ADDSLAVEDIALOGSLAVENAME, 
-00900  wxID_ADDSLAVEDIALOGSLAVENODEID, wxID_ADDSLAVEDIALOGEDSFILE, 
-00901  wxID_ADDSLAVEDIALOGIMPORTEDS, wxID_ADDSLAVEDIALOGSTATICTEXT1, 
-00902  wxID_ADDSLAVEDIALOGSTATICTEXT2, wxID_ADDSLAVEDIALOGSTATICTEXT3, 
-00903 ] = [wx.NewId() for _init_ctrls in range(9)]
-00904 
-00905 class AddSlaveDialog(wx.Dialog):
-00906     def _init_coll_flexGridSizer1_Items(self, parent):
-00907         # generated method, don't edit
-00908 
-00909         parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
-00910 
-00911     def _init_sizers(self):
-00912         # generated method, don't edit
-00913         self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
-00914 
-00915         self._init_coll_flexGridSizer1_Items_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
-00916 
-00917         self.SetSizer(self.flexGridSizer1)
-00918 
-00919     def _init_ctrls(self, prnt):
-00920         # generated method, don't edit
-00921         wx.Dialog.__init__(self, id=wxID_ADDSLAVEDIALOG,
-00922               name='AddSlaveDialog', parent=prnt, pos=wx.Point(376, 223),
-00923               size=wx.Size(300, 250), style=wx.DEFAULT_DIALOG_STYLE,
-00924               title='Add a slave to nodelist')
-00925         self.SetClientSize(wx.Size(300, 250))
-00926 
-00927         self.MainPanel = wx.Panel(id=wxID_ADDSLAVEDIALOGMAINPANEL,
-00928               name='MainPanel', parent=self, pos=wx.Point(0, 0),
-00929               size=wx.Size(350, 250), style=wx.TAB_TRAVERSAL)
-00930         self.MainPanel.SetAutoLayout(True)
-00931 
-00932         self.staticText1 = wx.StaticText(id=wxID_ADDSLAVEDIALOGSTATICTEXT1,
-00933               label='Slave Name:', name='staticText1', parent=self.MainPanel,
-00934               pos=wx.Point(24, 24), size=wx.Size(150, 17), style=0)
-00935 
-00936         self.SlaveName = wx.TextCtrl(id=wxID_ADDSLAVEDIALOGSLAVENAME,
-00937               name='SlaveName', parent=self.MainPanel, pos=wx.Point(24, 48), 
-00938               size=wx.Size(250, 24), style=0)
-00939 
-00940         self.staticText2 = wx.StaticText(id=wxID_ADDSLAVEDIALOGSTATICTEXT2,
-00941               label='Slave Node ID:', name='staticText2', parent=self.MainPanel,
-00942               pos=wx.Point(24, 80), size=wx.Size(150, 17), style=0)
-00943 
-00944         self.SlaveNodeID = wx.TextCtrl(id=wxID_ADDSLAVEDIALOGSLAVENODEID,
-00945               name='SlaveName', parent=self.MainPanel, pos=wx.Point(24, 104), 
-00946               size=wx.Size(250, 24), style=wxALIGN_RIGHT)
-00947 
-00948         self.staticText3 = wx.StaticText(id=wxID_ADDSLAVEDIALOGSTATICTEXT3,
-00949               label='EDS File:', name='staticText3', parent=self.MainPanel,
-00950               pos=wx.Point(24, 136), size=wx.Size(155, 17), style=0)
-00951 
-00952         self.EDSFile = wx.Choice(id=wxID_ADDSLAVEDIALOGEDSFILE,
-00953               name='EDSFile', parent=self.MainPanel, pos=wx.Point(24, 160),
-00954               size=wx.Size(145, 24), style=0)
-00955         
-00956         self.ImportEDS = wxButton(id=wxID_ADDSLAVEDIALOGIMPORTEDS, label='Import EDS',
-00957               name='ImportEDS', parent=self.MainPanel, pos=wx.Point(174, 160),
-00958               size=wx.Size(100, 32), style=0)
-00959         self.ImportEDS.Bind(wx.EVT_BUTTON, self.OnImportEDSButtonOnImportEDSButton,
-00960               id=wxID_ADDSLAVEDIALOGIMPORTEDS)
-00961         
-00962         self._init_sizers_init_sizers()
-00963 
-00964     def __init__(self, parent):
-00965         self._init_ctrls_init_ctrls(parent)
-00966         self.ButtonSizerButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL|wxCENTRE)
-00967         self.flexGridSizer1.Add(self.ButtonSizerButtonSizer, 1, wxALIGN_RIGHT)
-00968         
-00969         self.SlaveNodeID.SetValue("0x00")
-00970         
-00971         EVT_BUTTON(self, self.ButtonSizerButtonSizer.GetAffirmativeButton().GetId(), self.OnOKOnOK)
-00972     
-00973     def OnOK(self, event):
-00974         error = []
-00975         if self.SlaveName.GetValue() == "":
-00976             error.append("Slave Name")
-00977         if self.SlaveNodeID.GetValue() == "":
-00978             error.append("Slave Node ID")
-00979         if self.EDSFile.GetStringSelection() == "":
-00980             error.append("EDS File")
-00981         if len(error) > 0:
-00982             text = ""
-00983             for i, item in enumerate(error):
-00984                 if i == 0:
-00985                     text += item
-00986                 elif i == len(error) - 1:
-00987                     text += " and %s"%item
-00988                 else:
-00989                     text += ", %s"%item 
-00990             message = wxMessageDialog(self, "Form isn't complete. %s must be filled!"%text, "Error", wxOK|wxICON_ERROR)
-00991             message.ShowModal()
-00992             message.Destroy()
-00993         else:
-00994             try:
-00995                 nodeid = self.SlaveNodeID.GetValue()
-00996                 if nodeid.find("x") != -1:
-00997                     nodeid = int(nodeid, 16)
-00998                 else:
-00999                     nodeid = int(nodeid)
-01000             except:
-01001                 message = wxMessageDialog(self, "Slave Node ID must be a value in decimal or hexadecimal!", "Error", wxOK|wxICON_ERROR)
-01002                 message.ShowModal()
-01003                 message.Destroy()
-01004                 return
-01005             if not 0 <= nodeid <= 127:
-01006                 message = wxMessageDialog(self, "Slave Node ID must be between 0 and 127!", "Error", wxOK|wxICON_ERROR)
-01007                 message.ShowModal()
-01008                 message.Destroy()
-01009             elif nodeid == 0 or nodeid in self.NodeListNodeList.SlaveNodes.keys():
-01010                 message = wxMessageDialog(self, "A Node with this ID already exist in the network!", "Error", wxOK|wxICON_ERROR)
-01011                 message.ShowModal()
-01012                 message.Destroy()
-01013             else:
-01014                 self.EndModal(wxID_OK)
-01015 
-01016     def OnImportEDSButton(self, event):
-01017         dialog = wxFileDialog(self, "Choose an EDS file", os.getcwd(), "",  "EDS files (*.eds)|*.eds|All files|*.*", wxOPEN|wxCHANGE_DIR)
-01018         if dialog.ShowModal() == wxID_OK:
-01019             filepath = dialog.GetPath()
-01020             if os.path.isfile(filepath):
-01021                 result = self.NodeListNodeList.ImportEDSFile(filepath)
-01022                 if result:
-01023                     message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
-01024                     message.ShowModal()
-01025                     message.Destroy()
-01026         dialog.Destroy()
-01027         self.RefreshEDSFileRefreshEDSFile()
-01028         event.Skip()
-01029 
-01030     def RefreshEDSFile(self):
-01031         selection = self.EDSFile.GetStringSelection()
-01032         self.EDSFile.Clear()
-01033         for option in self.NodeListNodeList.EDSNodes.keys():
-01034             self.EDSFile.Append(option)
-01035         if self.EDSFile.FindString(selection) != wxNOT_FOUND:
-01036             self.EDSFile.SetStringSelection(selection)
-01037     
-01038     def SetNodeList(self, nodelist):
-01039         self.NodeListNodeList = nodelist
-01040         self.RefreshEDSFileRefreshEDSFile()
-01041     
-01042     def GetValues(self):
-01043         values = {}
-01044         values["slaveName"] = self.SlaveName.GetValue()
-01045         nodeid = self.SlaveNodeID.GetValue()
-01046         if nodeid.find("x") != -1:
-01047             values["slaveNodeID"] = int(nodeid, 16)
-01048         else:
-01049             values["slaveNodeID"] = int(nodeid)
-01050         values["edsFile"] = self.EDSFile.GetStringSelection()
-01051         return values
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/commondialogs_8py.html --- a/doc/doxygen/html/commondialogs_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/commondialogs.py File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/objdictgen/commondialogs.py File Reference

-

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - -

Namespaces

namespace  commondialogs
namespace  wxPython::wx::*
namespace  wxPython::grid::*

Data Structures

class  commondialogs::CommunicationDialog
class  commondialogs::MapVariableDialog
class  commondialogs::UserTypeDialog
class  commondialogs::NodeInfosDialog
class  commondialogs::CreateNodeDialog
class  commondialogs::AddSlaveDialog
-


Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/config_8h-source.html --- a/doc/doxygen/html/config_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/config.h Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/config.h

Go to the documentation of this file.
00001 /* !!!!!!!!!! FILE GENERATED by configure. DO NOT EDIT !!!!!!!!!!*/
-00002 
-00003 /* 
-00004 This file is part of CanFestival, a library implementing CanOpen Stack.
-00005 
-00006 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00007 See COPYING file for copyrights details.
-00008 
-00009 This library is free software; you can redistribute it and/or
-00010 modify it under the terms of the GNU Lesser General Public
-00011 License as published by the Free Software Foundation; either
-00012 version 2.1 of the License, or (at your option) any later version.
-00013 
-00014 This library is distributed in the hope that it will be useful,
-00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00017 Lesser General Public License for more details.
-00018 
-00019 You should have received a copy of the GNU Lesser General Public
-00020 License along with this library; if not, write to the Free Software
-00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00022 */
-00023 
-00024 #ifndef _CONFIG_H_
-00025 #define _CONFIG_H_
-00026 
-00027 #define MAX_CAN_BUS_ID 1
-00028 #define SDO_MAX_LENGTH_TRANSFERT 32
-00029 #define SDO_MAX_SIMULTANEOUS_TRANSFERTS 4
-00030 #define NMT_MAX_NODE_ID 128
-00031 #define SDO_TIMEOUT_MS 3000
-00032 #define MAX_NB_TIMER 32
-00033 /* CANOPEN_BIG_ENDIAN is not defined */
-00034 /* US_TO_TIMEVAL_FACTOR is not defined */
-00035 /* TIMEVAL is not defined */
-00036 /* TIMEVAL_MAX is not defined */
-00037 /* RTCAN_SOCKET is not defined */
-00038 
-00039 #define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(repeat)\
-00040 repeat repeat repeat repeat
-00041 #define REPEAT_NMT_MAX_NODE_ID_TIMES(repeat)\
-00042 repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat
-00043 #endif /* _CONFIG_H_ */
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/config_8h.html --- a/doc/doxygen/html/config_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,193 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/config.h File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/config.h File Reference

-

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - -

Defines

#define MAX_CAN_BUS_ID   1
#define SDO_MAX_LENGTH_TRANSFERT   32
#define SDO_MAX_SIMULTANEOUS_TRANSFERTS   4
#define NMT_MAX_NODE_ID   128
#define SDO_TIMEOUT_MS   3000
#define MAX_NB_TIMER   32
#define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(repeat)   repeat repeat repeat repeat
#define REPEAT_NMT_MAX_NODE_ID_TIMES(repeat)   repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat
-


Define Documentation

- -
-
- - - - -
#define MAX_CAN_BUS_ID   1
-
-
- -

- -

-Definition at line 27 of file config.h. -

-

- -

-
- - - - -
#define MAX_NB_TIMER   32
-
-
- -

- -

-Definition at line 32 of file config.h. -

-

- -

-
- - - - -
#define NMT_MAX_NODE_ID   128
-
-
- -

- -

-Definition at line 30 of file config.h. -

-

- -

-
- - - - - - - - - -
#define REPEAT_NMT_MAX_NODE_ID_TIMES (repeat   )    repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat
-
-
- -

- -

-Definition at line 41 of file config.h. -

-

- -

-
- - - - - - - - - -
#define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES (repeat   )    repeat repeat repeat repeat
-
-
- -

- -

-Definition at line 39 of file config.h. -

-

- -

-
- - - - -
#define SDO_MAX_LENGTH_TRANSFERT   32
-
-
- -

- -

-Definition at line 28 of file config.h. -

-

- -

-
- - - - -
#define SDO_MAX_SIMULTANEOUS_TRANSFERTS   4
-
-
- -

- -

-Definition at line 29 of file config.h. -

-

- -

-
- - - - -
#define SDO_TIMEOUT_MS   3000
-
-
- -

- -

-Definition at line 31 of file config.h. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/config_8h__dep__incl.dot --- a/doc/doxygen/html/config_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/config.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/include/def.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node2 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__virtual_8c.html"]; - Node2 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/src/states.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html"]; - Node2 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node5 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node5 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node5 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node5 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node9 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html"]; - Node9 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node11 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node12 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node13 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node14 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node15 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node16 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node17 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node17 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node18 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node5 -> Node19 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node19 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node20 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sysdep.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sysdep_8h.html"]; - Node20 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/config_8h__dep__incl.md5 --- a/doc/doxygen/html/config_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -1c93816731abb8adc19052205a1c26d2 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/data_8h-source.html --- a/doc/doxygen/html/data_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,212 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/data.h Source File - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/data.h

Go to the documentation of this file.
00001 /*
-00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
-00003 
-00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
-00005 
-00006 See COPYING file for copyrights details.
-00007 
-00008 This library is free software; you can redistribute it and/or
-00009 modify it under the terms of the GNU Lesser General Public
-00010 License as published by the Free Software Foundation; either
-00011 version 2.1 of the License, or (at your option) any later version.
-00012 
-00013 This library is distributed in the hope that it will be useful,
-00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016 Lesser General Public License for more details.
-00017 
-00018 You should have received a copy of the GNU Lesser General Public
-00019 License along with this library; if not, write to the Free Software
-00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 */
-00022 
-00023 
-00024 #ifndef __data_h__
-00025 #define __data_h__
-00026 
-00027 /* declaration of CO_Data type let us include all necessary headers
-00028  struct struct_CO_Data can then be defined later
-00029  */
-00030 typedef struct struct_CO_Data CO_Data;
-00031 
-00032 #include "applicfg.h"
-00033 #include "def.h"
-00034 #include "can.h"
-00035 #include "objdictdef.h"
-00036 #include "objacces.h"
-00037 #include "sdo.h"
-00038 #include "pdo.h"
-00039 #include "states.h"
-00040 #include "lifegrd.h"
-00041 #include "sync.h"
-00042 #include "nmtMaster.h"
-00043 
-00044 /* This structurs contains all necessary information for a CanOpen node */
-00045 struct struct_CO_Data {
-00046         /* Object dictionary */
-00047         UNS8 *bDeviceNodeId;
-00048         const indextable *objdict;
-00049         UNS8 *count_sync;
-00050         quick_index *firstIndex;
-00051         quick_index *lastIndex;
-00052         UNS16 *ObjdictSize;
-00053         const UNS8 *iam_a_slave;
-00054         valueRangeTest_t valueRangeTest;
-00055         
-00056         /* SDO */
-00057         s_transfer transfers[SDO_MAX_SIMULTANEOUS_TRANSFERTS];
-00058         /* s_sdo_parameter *sdo_parameters; */
-00059 
-00060         /* State machine */
-00061         e_nodeState nodeState;
-00062         s_state_communication CurrentCommunicationState;
-00063         initialisation_t initialisation;
-00064         preOperational_t preOperational;
-00065         operational_t operational;
-00066         stopped_t stopped;
-00067 
-00068         /* NMT-heartbeat */
-00069         UNS8 *ConsumerHeartbeatCount;
-00070         UNS32 *ConsumerHeartbeatEntries;
-00071         TIMER_HANDLE *ConsumerHeartBeatTimers;
-00072         UNS16 *ProducerHeartBeatTime;
-00073         TIMER_HANDLE ProducerHeartBeatTimer;
-00074         heartbeatError_t heartbeatError;
-00075         e_nodeState NMTable[NMT_MAX_NODE_ID]; 
-00076 
-00077         /* SYNC */
-00078         TIMER_HANDLE syncTimer;
-00079         UNS32 *COB_ID_Sync;
-00080         UNS32 *Sync_Cycle_Period;
-00081         /*UNS32 *Sync_window_length;;*/
-00082         post_sync_t post_sync;
-00083         post_TPDO_t post_TPDO;
-00084         
-00085         /* PDO */
-00086         s_process_var process_var;
-00087         
-00088         /* General */
-00089         UNS8 toggle;
-00090         CAN_HANDLE canHandle;   
-00091         scanIndexOD_t scanIndexOD;
-00092         storeODSubIndex_t storeODSubIndex; 
-00093         
-00094         /* DCF concise */
-00095         UNS8* dcf_cursor;
-00096         UNS32 dcf_count_targets;
-00097         
-00098 };
-00099 
-00100 #define NMTable_Initializer Unknown_state,
-00101 
-00102 #define s_transfer_Initializer {\
-00103                 0,          /* nodeId */\
-00104                 0,          /* wohami */\
-00105                 SDO_RESET,  /* state */\
-00106                 0,          /* toggle */\
-00107                 0,          /* abortCode */\
-00108                 0,          /* index */\
-00109                 0,          /* subIndex */\
-00110                 0,          /* count */\
-00111                 0,          /* offset */\
-00112                 {0},        /* data (static use, so that all the table is initialize at 0)*/\
-00113                 0,          /* dataType */\
-00114                 -1,         /* timer */\
-00115                 NULL        /* Callback */\
-00116           },
-00117 
-00118 /* A macro to initialize the data in client app.*/
-00119 /* CO_Data structure */
-00120 #define CANOPEN_NODE_DATA_INITIALIZER(NODE_PREFIX) {\
-00121         /* Object dictionary*/\
-00122         & NODE_PREFIX ## _bDeviceNodeId,     /* bDeviceNodeId */\
-00123         NODE_PREFIX ## _objdict,             /* objdict  */\
-00124         NODE_PREFIX ## _count_sync,          /* count_sync */\
-00125         & NODE_PREFIX ## _firstIndex,        /* firstIndex */\
-00126         & NODE_PREFIX ## _lastIndex,         /* lastIndex */\
-00127         & NODE_PREFIX ## _ObjdictSize,       /* ObjdictSize */\
-00128         & NODE_PREFIX ## _iam_a_slave,       /* iam_a_slave */\
-00129         NODE_PREFIX ## _valueRangeTest,      /* valueRangeTest */\
-00130         \
-00131         /* SDO, structure s_transfer */\
-00132         {\
-00133           REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(s_transfer_Initializer)\
-00134         },\
-00135         \
-00136         /* State machine*/\
-00137         Unknown_state,      /* nodeState */\
-00138         /* structure s_state_communication */\
-00139         {\
-00140                 0,          /* csBoot_Up */\
-00141                 0,          /* csSDO */\
-00142                 0,          /* csEmergency */\
-00143                 0,          /* csSYNC */\
-00144                 0,          /* csHeartbeat */\
-00145                 0           /* csPDO */\
-00146         },\
-00147         _initialisation,     /* initialisation */\
-00148         _preOperational,     /* preOperational */\
-00149         _operational,        /* operational */\
-00150         _stopped,            /* stopped */\
-00151         \
-00152         /* NMT-heartbeat */\
-00153         & NODE_PREFIX ## _highestSubIndex_obj1016, /* ConsumerHeartbeatCount */\
-00154         NODE_PREFIX ## _obj1016,                   /* ConsumerHeartbeatEntries */\
-00155         NODE_PREFIX ## _heartBeatTimers,           /* ConsumerHeartBeatTimers  */\
-00156         & NODE_PREFIX ## _obj1017,                 /* ProducerHeartBeatTime */\
-00157         TIMER_NONE,                                /* ProducerHeartBeatTimer */\
-00158         _heartbeatError,           /* heartbeatError */\
-00159         \
-00160         {REPEAT_NMT_MAX_NODE_ID_TIMES(NMTable_Initializer)},\
-00161                                                    /* is  well initialized at "Unknown_state". Is it ok ? (FD)*/\
-00162         \
-00163         /* SYNC */\
-00164         TIMER_NONE,                                /* syncTimer */\
-00165         & NODE_PREFIX ## _obj1005,                 /* COB_ID_Sync */\
-00166         & NODE_PREFIX ## _obj1006,                 /* Sync_Cycle_Period */\
-00167         /*& NODE_PREFIX ## _obj1007, */            /* Sync_window_length */\
-00168         _post_sync,                 /* post_sync */\
-00169         _post_TPDO,                 /* post_TPDO */\
-00170         \
-00171         /* PDO, structure s_process_var */\
-00172         {\
-00173                 0,          /* count */\
-00174                 {0}         /* data (static use, so that all the table is initialize at 0)*/\
-00175         },\
-00176         \
-00177         /* General */\
-00178         0,                                         /* toggle */\
-00179         NULL,                   /* canSend */\
-00180         NODE_PREFIX ## _scanIndexOD,                /* scanIndexOD */\
-00181         _storeODSubIndex,                /* storeODSubIndex */\
-00182         NULL,           /*dcf_cursor*/\
-00183         1               /*dcf_count_targets*/\
-00184 }
-00185 
-00186 #endif /* __data_h__ */
-00187 
-00188 
-

Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/data_8h.html --- a/doc/doxygen/html/data_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/data.h File Reference - - - - -
-
-
-
-

/home/epimerde/documents/tc11/CanFestival-3/include/data.h File Reference

#include "applicfg.h"
-#include "def.h"
-#include "can.h"
-#include "objdictdef.h"
-#include "objacces.h"
-#include "sdo.h"
-#include "pdo.h"
-#include "states.h"
-#include "lifegrd.h"
-#include "sync.h"
-#include "nmtMaster.h"
- -

-Go to the source code of this file. - - - - - - - -

Data Structures

struct  struct_CO_Data

Typedefs

typedef struct_CO_Data CO_Data
-


Typedef Documentation

- -
-
- - - - -
typedef struct struct_CO_Data CO_Data
-
-
- -

- -

-Definition at line 30 of file data.h. -

-

-


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
- - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/data_8h__dep__incl.dot --- a/doc/doxygen/html/data_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node1 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node5 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html"]; - Node5 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/src/objacces.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html"]; - Node5 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/src/pdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html"]; - Node5 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html"]; - Node5 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node10 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node11 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtMaster.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8c.html"]; - Node11 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node13 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtSlave.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html"]; - Node13 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/src/states.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html"]; - Node1 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node16 -> Node17 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html"]; - Node16 -> Node18 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__xeno_8c.html"]; - Node16 -> Node19 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html"]; - Node16 -> Node20 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__win32_8cpp.html"]; - Node16 -> Node21 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="/home/epimerde/documents/tc11/CanFestival-3/src/timer.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html"]; - Node16 -> Node22 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node22 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node23 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__driver_8h.html"]; - Node23 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node19 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node20 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node24 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node1 -> Node22 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node25 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node25 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node26 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node26 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node24 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node27 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node27 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node19 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/data_8h__dep__incl.md5 --- a/doc/doxygen/html/data_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6e4d27b1ac496d8af7fbff8f7db03122 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/data_8h__incl.dot --- a/doc/doxygen/html/data_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="def.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="config.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$config_8h.html"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node10 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node13 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node14 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node15 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node1 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node17 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/data_8h__incl.md5 --- a/doc/doxygen/html/data_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -064cf1a0fe15d912692427bb7bd1810b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c-source.html --- a/doc/doxygen/html/dcf_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/dcf_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -16,118 +16,115 @@
  • Globals
  • /home/epimerde/documents/tc11/CanFestival-3/src/dcf.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #include "objacces.h"
    -00024 #include "sdo.h"
    -00025 #include "dcf.h"
    -00026 #include "sysdep.h"
    -00027 
    -00028 
    -00029 
    -00030 extern UNS8 _writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, 
    -00031                        UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback, UNS8 endianize);
    -00032 
    -00033 const indextable *ptrTable;
    -00034 
    -00035 static void CheckSDOAndContinue(CO_Data* d, UNS8 nodeId)
    -00036 {
    -00037         UNS32 abortCode;
    -00038         
    -00039         if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED)
    -00040         {
    -00041                 MSG_ERR(0x1A01, "SDO error in consise DCF", abortCode);
    -00042                 MSG_WAR(0x2A02, "server node : ", nodeId);
    -00043         }
    -00044 
    -00045         closeSDOtransfer(d, nodeId, SDO_CLIENT);
    -00046         decompo_dcf(d,nodeId);
    -00047 }
    -00048 
    -00049 UNS32 decompo_dcf(CO_Data* d,UNS8 nodeId)
    -00050 {
    -00051                 UNS32 errorCode;
    -00052                 UNS16 target_Index;
    -00053                 UNS8 target_Subindex;
    -00054                 UNS32 target_Size;
    -00055                 UNS32 res;
    -00056                 ODCallback_t *Callback;
    -00057 
    -00058                 ptrTable = (*d->scanIndexOD)(0x1F22, &errorCode, &Callback);
    -00059                 if (errorCode != OD_SUCCESSFUL)
    -00060                 {
    -00061                 return errorCode;
    -00062                 }
    -00063 
    -00064                 /*Loop on all Nodes supported in DCF subindexes*/
    -00065                 while (nodeId < ptrTable->bSubCount){
    -00066                         UNS32 nb_targets;
    -00067                         
    -00068                         UNS8 szData = ptrTable->pSubindex[nodeId].size;
    -00069                         UNS8* dcfend;
    -00070                         
    -00071                         {
    -00072                                 UNS8* dcf = *((UNS8**)ptrTable->pSubindex[nodeId].pObject);
    -00073                                 dcfend = dcf + szData;
    -00074                                 if (!d->dcf_cursor)     {
    -00075                                         d->dcf_cursor = (UNS8*)dcf + 4;
    -00076                                         d->dcf_count_targets = 0;
    -00077                                 }
    -00078                                 nb_targets = UNS32_LE(*((UNS32*)dcf));
    -00079                         }
    -00080                         
    -00081                         // condition on consise DCF string for NodeID, if big enough
    -00082                         if((UNS8*)d->dcf_cursor + 7 < (UNS8*)dcfend && d->dcf_count_targets < nb_targets)
    -00083                         {
    -00084                                 // pointer to the DCF string for NodeID
    -00085                                 target_Index = UNS16_LE(*((UNS16*)(d->dcf_cursor))); d->dcf_cursor += 2;
    -00086                                 target_Subindex = *((UNS8*)(((UNS8*)d->dcf_cursor)++));
    -00087                                 target_Size = UNS32_LE(*((UNS32*)(d->dcf_cursor))); d->dcf_cursor += 4;
    -00088                                         
    -00089                                         /*printf("Master : ConfigureSlaveNode %2.2x (Concise DCF)\n",nodeId);*/
    -00090                                         res = _writeNetworkDict(d, /*CO_Data* d*/
    -00091                                                         nodeId, /*UNS8 nodeId*/
    -00092                                                         target_Index, /*UNS16 index*/
    -00093                                                         target_Subindex, /*UNS8 subindex*/
    -00094                                                         target_Size, /*UNS8 count*/
    -00095                                                         0, /*UNS8 dataType*/
    -00096                                                         d->dcf_cursor,/*void *data*/
    -00097                                                         CheckSDOAndContinue,/*SDOCallback_t Callback*/  
    -00098                                                         0); /* no endianize             */
    -00099                                         /*Push d->dcf_cursor to the end of data*/
    -00100                                         
    -00101                                         d->dcf_cursor += target_Size;
    -00102                                         d->dcf_count_targets++;
    -00103                                         
    -00104                                         return ;
    -00105                         }                       
    -00106                                 nodeId++;
    -00107                                 d->dcf_cursor = NULL;
    -00108                 }
    -00109                 /* Switch Master to preOperational state */
    -00110                 (*d->preOperational)();
    -00111                 
    -00112 }
    -

    Generated on Mon Jun 4 17:09:26 2007 for CanFestival by  +00002 This file is part of CanFestival, a library implementing CanOpen +00003 Stack. +00004 +00005 Copyright (C): Edouard TISSERANT and Francis DUPIN +00006 +00007 See COPYING file for copyrights details. +00008 +00009 This library is free software; you can redistribute it and/or +00010 modify it under the terms of the GNU Lesser General Public +00011 License as published by the Free Software Foundation; either +00012 version 2.1 of the License, or (at your option) any later version. +00013 +00014 This library is distributed in the hope that it will be useful, +00015 but WITHOUT ANY WARRANTY; without even the implied warranty of +00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +00017 Lesser General Public License for more details. +00018 +00019 You should have received a copy of the GNU Lesser General Public +00020 License along with this library; if not, write to the Free Software +00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +00022 USA +00023 */ +00024 +00025 +00035 #include "objacces.h" +00036 #include "sdo.h" +00037 #include "dcf.h" +00038 #include "sysdep.h" +00039 +00040 +00054 extern UNS8 _writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, +00055 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback, UNS8 endianize); +00056 +00057 const indextable *ptrTable; +00058 +00065 static void CheckSDOAndContinue(CO_Data* d, UNS8 nodeId) +00066 { +00067 UNS32 abortCode; +00068 +00069 if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED) +00070 { +00071 MSG_ERR(0x1A01, "SDO error in consise DCF", abortCode); +00072 MSG_WAR(0x2A02, "server node : ", nodeId); +00073 } +00074 +00075 closeSDOtransfer(d, nodeId, SDO_CLIENT); +00076 decompo_dcf(d,nodeId); +00077 } +00078 +00087 UNS32 decompo_dcf(CO_Data* d,UNS8 nodeId) +00088 { +00089 UNS32 errorCode; +00090 UNS16 target_Index; +00091 UNS8 target_Subindex; +00092 UNS32 target_Size; +00093 UNS32 res; +00094 ODCallback_t *Callback; +00095 +00096 ptrTable = (*d->scanIndexOD)(0x1F22, &errorCode, &Callback); +00097 if (errorCode != OD_SUCCESSFUL) +00098 { +00099 return errorCode; +00100 } +00101 +00103 while (nodeId < ptrTable->bSubCount){ +00104 UNS32 nb_targets; +00105 +00106 UNS8 szData = ptrTable->pSubindex[nodeId].size; +00107 UNS8* dcfend; +00108 +00109 { +00110 UNS8* dcf = *((UNS8**)ptrTable->pSubindex[nodeId].pObject); +00111 dcfend = dcf + szData; +00112 if (!d->dcf_cursor){ +00113 d->dcf_cursor = (UNS8*)dcf + 4; +00114 d->dcf_count_targets = 0; +00115 } +00116 nb_targets = UNS32_LE(*((UNS32*)dcf)); +00117 } +00118 +00120 if((UNS8*)d->dcf_cursor + 7 < (UNS8*)dcfend && d->dcf_count_targets < nb_targets) +00121 { +00123 target_Index = UNS16_LE(*((UNS16*)(d->dcf_cursor))); d->dcf_cursor += 2; +00124 target_Subindex = *((UNS8*)(((UNS8*)d->dcf_cursor)++)); +00125 target_Size = UNS32_LE(*((UNS32*)(d->dcf_cursor))); d->dcf_cursor += 4; +00126 +00127 /* printf("Master : ConfigureSlaveNode %2.2x (Concise +00128 DCF)\n",nodeId);*/ +00129 res = _writeNetworkDict(d, +00130 nodeId, +00131 target_Index, +00132 target_Subindex, +00133 target_Size, +00134 0, +00135 d->dcf_cursor, +00136 CheckSDOAndContinue, +00138 0); +00141 d->dcf_cursor += target_Size; +00142 d->dcf_count_targets++; +00143 +00144 return ; +00145 } +00146 nodeId++; +00147 d->dcf_cursor = NULL; +00148 } +00150 (*d->preOperational)(); +00151 +00152 } +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c.html --- a/doc/doxygen/html/dcf_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/dcf_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -15,12 +15,17 @@
  • File List
  • Globals
  • -

    /home/epimerde/documents/tc11/CanFestival-3/src/dcf.c File Reference

    #include "objacces.h"
    +

    /home/epimerde/documents/tc11/CanFestival-3/src/dcf.c File Reference

    EXEMPLE OF SOMMARY. More... +

    +#include "objacces.h"
    #include "sdo.h"
    #include "dcf.h"
    #include "sysdep.h"

    +Include dependency graph for dcf.c:

    + +

    Go to the source code of this file. @@ -32,7 +37,14 @@

    Functions

    const indextable * ptrTable
    -


    Function Documentation

    +

    Detailed Description

    +EXEMPLE OF SOMMARY. +

    +

    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Mon Jun 4 17:06:12 2007
    + +

    +Definition in file dcf.c.


    Function Documentation

    @@ -101,11 +113,48 @@

    - -

    -Definition at line 1072 of file sdo.c. -

    -References getSDOfreeLine(), getSDOlineOnUse(), initSDOline(), resetSDOline(), and sendSDO(). +

    Parameters:
    + + + + + + + + + + +
    d 
    nodeId 
    index 
    subIndex 
    count 
    dataType 
    data 
    Callback 
    endianize 
    +
    +
    Returns:
    + +

    +Verify that there is no SDO communication yet.

    +Taking the line ...

    +Check which SDO to use to communicate with the node

    +looking for the nodeId server

    +Copy data to transfers structure.

    +Send the SDO to the server. Initiate download, cs=1.

    +Expedited transfert

    +Normal transfert

    +nb of byte to transmit. Max = 255. (canfestival2 limitation).

    +release the line +

    +Definition at line 1247 of file sdo.c. +

    +References getSDOfreeLine(), getSDOlineOnUse(), initSDOline(), resetSDOline(), and sendSDO(). +

    +Referenced by decompo_dcf(), writeNetworkDict(), and writeNetworkDictCallBack(). +

    +Here is the call graph for this function:

    + + + + + + + +

    @@ -134,11 +183,46 @@

    - -

    -Definition at line 49 of file dcf.c. -

    -References _writeNetworkDict(), and ptrTable. +

    Parameters:
    + + + +
    d 
    nodeId 
    +
    +
    Returns:
    + +

    +Loop on all Nodes supported in DCF subindexes

    +condition on consise DCF string for NodeID, if big enough

    +pointer to the DCF string for NodeID

    +CO_Data* d

    +UNS8 nodeId

    +UNS16 index

    +UNS8 subindex

    +UNS8 count

    +UNS8 dataType

    +void *data

    +SDOCallback_t Callback

    +no endianize

    +Push d->dcf_cursor to the end of data

    +Switch Master to preOperational state +

    +Definition at line 87 of file dcf.c. +

    +References _writeNetworkDict(), and ptrTable. +

    +Referenced by setState(). +

    +Here is the call graph for this function:

    + + + + + + + + +


    Variable Documentation

    @@ -156,10 +240,12 @@

    -Definition at line 33 of file dcf.c. +Definition at line 57 of file dcf.c. +

    +Referenced by _getODentry(), _setODentry(), decompo_dcf(), and setState().

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.dot --- a/doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node5 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,6 @@ +base referer +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 208,5 336,29 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 201,53 343,77 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 393,128 489,152 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 217,152 327,176 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 231,200 313,224 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.md5 --- a/doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -2738fd9ae9487c0f3e1ca7f7be437c43 \ No newline at end of file +3f58cc4514605664fb260d72ad549392 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.png Binary file doc/doxygen/html/dcf_8c_3c07605ffe3ea197aa36e583ef87a20a_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.dot --- a/doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,7 @@ +base referer +rect $dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a 165,103 312,127 +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 368,5 496,29 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 361,53 503,77 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 553,128 649,152 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 377,152 487,176 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 391,200 473,224 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.md5 --- a/doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -281efd8b99ea2a817260e7a8f88066da \ No newline at end of file +062a0742423c8eb9732675b011d9a512 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.png Binary file doc/doxygen/html/dcf_8c_8452e163e7649968ad6dae1601a5fb0d_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c__incl.dot --- a/doc/doxygen/html/dcf_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node7 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="config.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$config_8h.html"]; - Node7 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node10 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node7 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node13 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node14 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node15 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node7 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node17 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="dcf.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8h.html"]; - Node1 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="sysdep.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sysdep_8h.html"]; - Node19 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/dcf_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c__incl.md5 --- a/doc/doxygen/html/dcf_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/dcf_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -ee80b4804522c281ab5b67a0d0365376 \ No newline at end of file +a108537a569481d8362bf5afca68dc07 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8c__incl.png Binary file doc/doxygen/html/dcf_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8h-source.html --- a/doc/doxygen/html/dcf_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/dcf.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/dcf.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 
    -00024 UNS32 decompo_dcf(CO_Data* d, UNS8 nodeId);
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8h.html --- a/doc/doxygen/html/dcf_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/dcf.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/dcf.h File Reference

    -

    -Go to the source code of this file. - - - - -

    Functions

    UNS32 decompo_dcf (CO_Data *d, UNS8 nodeId)
    -


    Function Documentation

    - -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8h_8452e163e7649968ad6dae1601a5fb0d_cgraph.dot --- a/doc/doxygen/html/dcf_8h_8452e163e7649968ad6dae1601a5fb0d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8h_8452e163e7649968ad6dae1601a5fb0d_cgraph.md5 --- a/doc/doxygen/html/dcf_8h_8452e163e7649968ad6dae1601a5fb0d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -aa1c5a3470a1f0789b3ded8d61a48992 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8h__dep__incl.dot --- a/doc/doxygen/html/dcf_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/dcf.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/src/states.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/dcf_8h__dep__incl.md5 --- a/doc/doxygen/html/dcf_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -023f5eec9c97fca461d549878d4bb39e \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/def_8h-source.html --- a/doc/doxygen/html/def_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,143 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/def.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/def.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 
    -00024 #ifndef __def_h__
    -00025 #define __def_h__
    -00026 
    -00027 #include "config.h"
    -00028 
    -00031 #define OD_SUCCESSFUL                0x00000000
    -00032 #define OD_READ_NOT_ALLOWED          0x06010001
    -00033 #define OD_WRITE_NOT_ALLOWED         0x06010002
    -00034 #define OD_NO_SUCH_OBJECT            0x06020000
    -00035 #define OD_NOT_MAPPABLE              0x06040041
    -00036 #define OD_LENGTH_DATA_INVALID       0x06070010
    -00037 #define OD_NO_SUCH_SUBINDEX          0x06090011
    -00038 #define OD_VALUE_TOO_LOW             0x06090031 /* Value range test result */
    -00039 #define OD_VALUE_TOO_HIGH            0x06090032 /* Value range test result */
    -00040 /* Others SDO abort codes 
    -00041  */
    -00042 #define SDOABT_TOGGLE_NOT_ALTERNED   0x05030000
    -00043 #define SDOABT_TIMED_OUT             0x05040000
    -00044 #define SDOABT_OUT_OF_MEMORY         0x05040005 /* Size data exceed SDO_MAX_LENGTH_TRANSFERT */
    -00045 #define SDOABT_GENERAL_ERROR         0x08000000 /* Error size of SDO message */
    -00046 #define SDOABT_LOCAL_CTRL_ERROR      0x08000021 
    -00047 
    -00048 /******************** CONSTANTS ****************/
    -00049 
    -00053 /* Should not be modified */
    -00054 #define REQUEST 1
    -00055 #define NOT_A_REQUEST 0
    -00056 
    -00057 /* Misc constants */
    -00058 /* -------------- */
    -00059 /* Should not be modified */
    -00060 #define Rx 0
    -00061 #define Tx 1
    -00062 #define TRUE  1
    -00063 #define FALSE 0
    -00064 
    -00065 /* TODO: remove this limitation. do bit granularity mapping */
    -00066 #define PDO_MAX_LEN 8    
    -00067                                
    -00070 #define SDO_RESET                0x0      /* Transmission not started. Init state. */
    -00071 #define SDO_FINISHED             0x1      /* data are available */                          
    -00072 #define SDO_ABORTED_RCV          0x80     /* Received an abort message. Data not available */
    -00073 #define SDO_ABORTED_INTERNAL     0x85     /* Aborted but not because of an abort message. */
    -00074 #define SDO_DOWNLOAD_IN_PROGRESS 0x2 
    -00075 #define SDO_UPLOAD_IN_PROGRESS   0x3   
    -00076 
    -00077 /* Status of the node during the SDO transfert : */
    -00078 #define SDO_SERVER  0x1
    -00079 #define SDO_CLIENT  0x2
    -00080 #define SDO_UNKNOWN 0x3             
    -00081 
    -00082 /*  Function Codes 
    -00083    ---------------
    -00084   defined in the canopen DS301 
    -00085 */
    -00086 #define NMT        0x0
    -00087 #define SYNC       0x1
    -00088 #define TIME_STAMP 0x2
    -00089 #define PDO1tx     0x3
    -00090 #define PDO1rx     0x4
    -00091 #define PDO2tx     0x5
    -00092 #define PDO2rx     0x6
    -00093 #define PDO3tx     0x7
    -00094 #define PDO3rx     0x8
    -00095 #define PDO4tx     0x9
    -00096 #define PDO4rx     0xA
    -00097 #define SDOtx      0xB
    -00098 #define SDOrx      0xC
    -00099 #define NODE_GUARD 0xE
    -00100 
    -00101 /* NMT Command Specifier, sent by master to change a slave state */
    -00102 /* ------------------------------------------------------------- */
    -00103 /* Should not be modified */
    -00104 #define NMT_Start_Node              0x01
    -00105 #define NMT_Stop_Node               0x02
    -00106 #define NMT_Enter_PreOperational    0x80
    -00107 #define NMT_Reset_Node              0x81
    -00108 #define NMT_Reset_Comunication      0x82
    -00109 
    -00110 /* constantes used in the different state machines */
    -00111 /* ----------------------------------------------- */
    -00112 /* Must not be modified */
    -00113 #define state1  0x01
    -00114 #define state2  0x02
    -00115 #define state3  0x03
    -00116 #define state4  0x04
    -00117 #define state5  0x05
    -00118 #define state6  0x06
    -00119 #define state7  0x07
    -00120 #define state8  0x08
    -00121 #define state9  0x09
    -00122 #define state10 0x0A
    -00123 #define state11 0x0B
    -00124 
    -00125 #endif /* __def_h__ */
    -00126 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/def_8h.html --- a/doc/doxygen/html/def_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1172 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/def.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/def.h File Reference

    #include "config.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define OD_SUCCESSFUL   0x00000000
    #define OD_READ_NOT_ALLOWED   0x06010001
    #define OD_WRITE_NOT_ALLOWED   0x06010002
    #define OD_NO_SUCH_OBJECT   0x06020000
    #define OD_NOT_MAPPABLE   0x06040041
    #define OD_LENGTH_DATA_INVALID   0x06070010
    #define OD_NO_SUCH_SUBINDEX   0x06090011
    #define OD_VALUE_TOO_LOW   0x06090031
    #define OD_VALUE_TOO_HIGH   0x06090032
    #define SDOABT_TOGGLE_NOT_ALTERNED   0x05030000
    #define SDOABT_TIMED_OUT   0x05040000
    #define SDOABT_OUT_OF_MEMORY   0x05040005
    #define SDOABT_GENERAL_ERROR   0x08000000
    #define SDOABT_LOCAL_CTRL_ERROR   0x08000021
    #define REQUEST   1
    #define NOT_A_REQUEST   0
    #define Rx   0
    #define Tx   1
    #define TRUE   1
    #define FALSE   0
    #define PDO_MAX_LEN   8
    #define SDO_RESET   0x0
    #define SDO_FINISHED   0x1
    #define SDO_ABORTED_RCV   0x80
    #define SDO_ABORTED_INTERNAL   0x85
    #define SDO_DOWNLOAD_IN_PROGRESS   0x2
    #define SDO_UPLOAD_IN_PROGRESS   0x3
    #define SDO_SERVER   0x1
    #define SDO_CLIENT   0x2
    #define SDO_UNKNOWN   0x3
    #define NMT   0x0
    #define SYNC   0x1
    #define TIME_STAMP   0x2
    #define PDO1tx   0x3
    #define PDO1rx   0x4
    #define PDO2tx   0x5
    #define PDO2rx   0x6
    #define PDO3tx   0x7
    #define PDO3rx   0x8
    #define PDO4tx   0x9
    #define PDO4rx   0xA
    #define SDOtx   0xB
    #define SDOrx   0xC
    #define NODE_GUARD   0xE
    #define NMT_Start_Node   0x01
    #define NMT_Stop_Node   0x02
    #define NMT_Enter_PreOperational   0x80
    #define NMT_Reset_Node   0x81
    #define NMT_Reset_Comunication   0x82
    #define state1   0x01
    #define state2   0x02
    #define state3   0x03
    #define state4   0x04
    #define state5   0x05
    #define state6   0x06
    #define state7   0x07
    #define state8   0x08
    #define state9   0x09
    #define state10   0x0A
    #define state11   0x0B
    -


    Define Documentation

    - -
    -
    - - - - -
    #define FALSE   0
    -
    -
    - -

    - -

    -Definition at line 63 of file def.h. -

    -

    - -

    -
    - - - - -
    #define NMT   0x0
    -
    -
    - -

    - -

    -Definition at line 86 of file def.h. -

    -

    - -

    -
    - - - - -
    #define NMT_Enter_PreOperational   0x80
    -
    -
    - -

    - -

    -Definition at line 106 of file def.h. -

    -

    - -

    -
    - - - - -
    #define NMT_Reset_Comunication   0x82
    -
    -
    - -

    - -

    -Definition at line 108 of file def.h. -

    -

    - -

    -
    - - - - -
    #define NMT_Reset_Node   0x81
    -
    -
    - -

    - -

    -Definition at line 107 of file def.h. -

    -

    - -

    -
    - - - - -
    #define NMT_Start_Node   0x01
    -
    -
    - -

    - -

    -Definition at line 104 of file def.h. -

    -

    - -

    -
    - - - - -
    #define NMT_Stop_Node   0x02
    -
    -
    - -

    - -

    -Definition at line 105 of file def.h. -

    -

    - -

    -
    - - - - -
    #define NODE_GUARD   0xE
    -
    -
    - -

    - -

    -Definition at line 99 of file def.h. -

    -

    - -

    -
    - - - - -
    #define NOT_A_REQUEST   0
    -
    -
    - -

    - -

    -Definition at line 55 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_LENGTH_DATA_INVALID   0x06070010
    -
    -
    - -

    - -

    -Definition at line 36 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_NO_SUCH_OBJECT   0x06020000
    -
    -
    - -

    - -

    -Definition at line 34 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_NO_SUCH_SUBINDEX   0x06090011
    -
    -
    - -

    - -

    -Definition at line 37 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_NOT_MAPPABLE   0x06040041
    -
    -
    - -

    - -

    -Definition at line 35 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_READ_NOT_ALLOWED   0x06010001
    -
    -
    - -

    - -

    -Definition at line 32 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_SUCCESSFUL   0x00000000
    -
    -
    - -

    -definitions used for object dictionary access. ie SDO Abort codes . (See DS 301 v.4.02 p.48) -

    -Definition at line 31 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_VALUE_TOO_HIGH   0x06090032
    -
    -
    - -

    - -

    -Definition at line 39 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_VALUE_TOO_LOW   0x06090031
    -
    -
    - -

    - -

    -Definition at line 38 of file def.h. -

    -

    - -

    -
    - - - - -
    #define OD_WRITE_NOT_ALLOWED   0x06010002
    -
    -
    - -

    - -

    -Definition at line 33 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO1rx   0x4
    -
    -
    - -

    - -

    -Definition at line 90 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO1tx   0x3
    -
    -
    - -

    - -

    -Definition at line 89 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO2rx   0x6
    -
    -
    - -

    - -

    -Definition at line 92 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO2tx   0x5
    -
    -
    - -

    - -

    -Definition at line 91 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO3rx   0x8
    -
    -
    - -

    - -

    -Definition at line 94 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO3tx   0x7
    -
    -
    - -

    - -

    -Definition at line 93 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO4rx   0xA
    -
    -
    - -

    - -

    -Definition at line 96 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO4tx   0x9
    -
    -
    - -

    - -

    -Definition at line 95 of file def.h. -

    -

    - -

    -
    - - - - -
    #define PDO_MAX_LEN   8
    -
    -
    - -

    - -

    -Definition at line 66 of file def.h. -

    -

    - -

    -
    - - - - -
    #define REQUEST   1
    -
    -
    - -

    -Constantes which permit to define if a PDO frame is a request one or a data one -

    -Definition at line 54 of file def.h. -

    -

    - -

    -
    - - - - -
    #define Rx   0
    -
    -
    - -

    - -

    -Definition at line 60 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_ABORTED_INTERNAL   0x85
    -
    -
    - -

    - -

    -Definition at line 73 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_ABORTED_RCV   0x80
    -
    -
    - -

    - -

    -Definition at line 72 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_CLIENT   0x2
    -
    -
    - -

    - -

    -Definition at line 79 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_DOWNLOAD_IN_PROGRESS   0x2
    -
    -
    - -

    - -

    -Definition at line 74 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_FINISHED   0x1
    -
    -
    - -

    - -

    -Definition at line 71 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_RESET   0x0
    -
    -
    - -

    -Status of the SDO transmission -

    -Definition at line 70 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_SERVER   0x1
    -
    -
    - -

    - -

    -Definition at line 78 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_UNKNOWN   0x3
    -
    -
    - -

    - -

    -Definition at line 80 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDO_UPLOAD_IN_PROGRESS   0x3
    -
    -
    - -

    - -

    -Definition at line 75 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDOABT_GENERAL_ERROR   0x08000000
    -
    -
    - -

    - -

    -Definition at line 45 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDOABT_LOCAL_CTRL_ERROR   0x08000021
    -
    -
    - -

    - -

    -Definition at line 46 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDOABT_OUT_OF_MEMORY   0x05040005
    -
    -
    - -

    - -

    -Definition at line 44 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDOABT_TIMED_OUT   0x05040000
    -
    -
    - -

    - -

    -Definition at line 43 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDOABT_TOGGLE_NOT_ALTERNED   0x05030000
    -
    -
    - -

    - -

    -Definition at line 42 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDOrx   0xC
    -
    -
    - -

    - -

    -Definition at line 98 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SDOtx   0xB
    -
    -
    - -

    - -

    -Definition at line 97 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state1   0x01
    -
    -
    - -

    - -

    -Definition at line 113 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state10   0x0A
    -
    -
    - -

    - -

    -Definition at line 122 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state11   0x0B
    -
    -
    - -

    - -

    -Definition at line 123 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state2   0x02
    -
    -
    - -

    - -

    -Definition at line 114 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state3   0x03
    -
    -
    - -

    - -

    -Definition at line 115 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state4   0x04
    -
    -
    - -

    - -

    -Definition at line 116 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state5   0x05
    -
    -
    - -

    - -

    -Definition at line 117 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state6   0x06
    -
    -
    - -

    - -

    -Definition at line 118 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state7   0x07
    -
    -
    - -

    - -

    -Definition at line 119 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state8   0x08
    -
    -
    - -

    - -

    -Definition at line 120 of file def.h. -

    -

    - -

    -
    - - - - -
    #define state9   0x09
    -
    -
    - -

    - -

    -Definition at line 121 of file def.h. -

    -

    - -

    -
    - - - - -
    #define SYNC   0x1
    -
    -
    - -

    - -

    -Definition at line 87 of file def.h. -

    -

    - -

    -
    - - - - -
    #define TIME_STAMP   0x2
    -
    -
    - -

    - -

    -Definition at line 88 of file def.h. -

    -

    - -

    -
    - - - - -
    #define TRUE   1
    -
    -
    - -

    - -

    -Definition at line 62 of file def.h. -

    -

    - -

    -
    - - - - -
    #define Tx   1
    -
    -
    - -

    - -

    -Definition at line 61 of file def.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/def_8h__dep__incl.dot --- a/doc/doxygen/html/def_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/def.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__virtual_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/src/states.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node4 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node4 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node4 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node4 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node8 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node9 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node10 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node11 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node12 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node13 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node14 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node15 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node4 -> Node17 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node17 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/def_8h__dep__incl.md5 --- a/doc/doxygen/html/def_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d7418b16fa7ff6dfcdb833e3ca6532e9 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/def_8h__incl.dot --- a/doc/doxygen/html/def_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/def.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="config.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$config_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/def_8h__incl.md5 --- a/doc/doxygen/html/def_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -1b7e10183f3cf0f7e578b4ee4c446de3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp-source.html --- a/doc/doxygen/html/drivers__win32_8cpp-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,237 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack.
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 Copyright (C) Win32 Port Leonid Tochinski
    -00006 
    -00007 See COPYING file for copyrights details.
    -00008 
    -00009 This library is free software; you can redistribute it and/or
    -00010 modify it under the terms of the GNU Lesser General Public
    -00011 License as published by the Free Software Foundation; either
    -00012 version 2.1 of the License, or (at your option) any later version.
    -00013 
    -00014 This library is distributed in the hope that it will be useful,
    -00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00017 Lesser General Public License for more details.
    -00018 
    -00019 You should have received a copy of the GNU Lesser General Public
    -00020 License along with this library; if not, write to the Free Software
    -00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00022 */
    -00023 
    -00024 /*
    -00025  CAN driver interface.
    -00026 */
    -00027 
    -00028 #include <windows.h>
    -00029 
    -00030 extern "C"
    -00031    {
    -00032 #define DLL_CALL(funcname) (*_##funcname)
    -00033 #define FCT_PTR_INIT =NULL
    -00034 #include "canfestival.h"
    -00035 #include "timer.h"
    -00036 
    -00037 #include "timers_driver.h"
    -00038    };
    -00039 
    -00040 typedef UNS8 (*CANRECEIVE_DRIVER_PROC)(void* inst, Message *m);
    -00041 typedef UNS8 (*CANSEND_DRIVER_PROC)(void* inst, const Message *m);
    -00042 typedef void* (*CANOPEN_DRIVER_PROC)(s_BOARD *board);
    -00043 typedef int (*CANCLOSE_DRIVER_PROC)(void* inst);
    -00044 
    -00045 
    -00046 class driver_procs
    -00047    {
    -00048    public:
    -00049       driver_procs();
    -00050       ~driver_procs();
    -00051 
    -00052       HMODULE load_canfestival_driver(LPCTSTR driver_name);
    -00053       bool can_driver_valid() const;
    -00054 
    -00055    public:
    -00056       // can driver
    -00057       CANRECEIVE_DRIVER_PROC m_canReceive;
    -00058       CANSEND_DRIVER_PROC m_canSend;
    -00059       CANOPEN_DRIVER_PROC m_canOpen;
    -00060       CANCLOSE_DRIVER_PROC m_canClose;
    -00061 
    -00062       // driver module habndle
    -00063       HMODULE m_driver_handle;
    -00064    };
    -00065 
    -00066 driver_procs::driver_procs() : m_canReceive(0),
    -00067       m_canSend(0),
    -00068       m_canOpen(0),
    -00069       m_canClose(0),
    -00070       m_driver_handle(0)
    -00071    {}
    -00072 
    -00073 driver_procs::~driver_procs()
    -00074    {
    -00075    if (m_driver_handle)
    -00076       ::FreeLibrary(m_driver_handle);
    -00077    }
    -00078 
    -00079 bool driver_procs::can_driver_valid() const
    -00080    {
    -00081    return ((m_canReceive != NULL) &&
    -00082            (m_canSend != NULL) &&
    -00083            (m_canOpen != NULL) &&
    -00084            (m_canClose != NULL));
    -00085    }
    -00086 
    -00087 // GetProcAddress doesn't have an UNICODE version for NT
    -00088 #ifdef UNDER_CE
    -00089   #define myTEXT(str) TEXT(str)
    -00090 #else
    -00091   #define myTEXT(str) str
    -00092 #endif
    -00093 
    -00094 HMODULE driver_procs::load_canfestival_driver(LPCTSTR driver_name)
    -00095    {
    -00096    if (can_driver_valid())
    -00097       return m_driver_handle;
    -00098    m_driver_handle = ::LoadLibrary(driver_name);
    -00099    if (m_driver_handle == NULL)
    -00100       return NULL;
    -00101 
    -00102    m_canReceive = (CANRECEIVE_DRIVER_PROC)::GetProcAddress(m_driver_handle, myTEXT("canReceive_driver"));
    -00103    m_canSend = (CANSEND_DRIVER_PROC)::GetProcAddress(m_driver_handle, myTEXT("canSend_driver"));
    -00104    m_canOpen = (CANOPEN_DRIVER_PROC)::GetProcAddress(m_driver_handle, myTEXT("canOpen_driver"));
    -00105    m_canClose = (CANCLOSE_DRIVER_PROC)::GetProcAddress(m_driver_handle, myTEXT("canClose_driver"));
    -00106    return can_driver_valid()?m_driver_handle:NULL;
    -00107    }
    -00108 
    -00109 struct driver_data
    -00110    {
    -00111    CO_Data * d;
    -00112    HANDLE receive_thread;
    -00113    void* inst;
    -00114    volatile bool continue_receive_thread;
    -00115    };
    -00116 
    -00117 driver_procs s_driver_procs;
    -00118 
    -00119 LIB_HANDLE LoadCanDriver(char* driver_name)
    -00120    {
    -00121                 return s_driver_procs.load_canfestival_driver((LPCTSTR)driver_name);
    -00122    }
    -00123 
    -00124 UNS8 canReceive(CAN_PORT fd0, Message *m)
    -00125    {
    -00126    if (fd0 != NULL && s_driver_procs.m_canReceive != NULL)
    -00127            {
    -00128                   driver_data* data = (driver_data*)fd0;
    -00129                   return (*s_driver_procs.m_canReceive)(data->inst, m);
    -00130            }
    -00131    return 1;
    -00132    }
    -00133 
    -00134 void* canReceiveLoop(CAN_PORT fd0)
    -00135    {
    -00136    driver_data* data = (driver_data*)fd0;
    -00137    Message m;
    -00138    while (data->continue_receive_thread)
    -00139       {
    -00140       if (!canReceive(fd0, &m))
    -00141          {
    -00142          EnterMutex();
    -00143          canDispatch(data->d, &m);
    -00144          LeaveMutex();
    -00145          }
    -00146       else
    -00147          {
    -00148                  break;
    -00149          ::Sleep(1);
    -00150          }
    -00151       }
    -00152    return 0;
    -00153    }
    -00154 
    -00155 /***************************************************************************/
    -00156 UNS8 canSend(CAN_PORT fd0, Message *m)
    -00157    {
    -00158    if (fd0 != NULL && s_driver_procs.m_canSend != NULL)
    -00159       {
    -00160       UNS8 res;
    -00161       driver_data* data = (driver_data*)fd0;
    -00162       LeaveMutex();
    -00163       res = (*s_driver_procs.m_canSend)(data->inst, m);      
    -00164       EnterMutex();
    -00165       if (res)
    -00166          return 0;
    -00167       }
    -00168    return 1;
    -00169    }
    -00170 
    -00171 /***************************************************************************/
    -00172 CAN_HANDLE canOpen(s_BOARD *board, CO_Data * d)
    -00173    {
    -00174    if (board != NULL && s_driver_procs.m_canOpen != NULL)
    -00175       {
    -00176       void* inst = (*s_driver_procs.m_canOpen)(board);
    -00177       if (inst != NULL)
    -00178          {
    -00179          driver_data* data = new driver_data;
    -00180          data->d = d;
    -00181          data->inst = inst;
    -00182          data->continue_receive_thread = true;
    -00183          CreateReceiveTask(data, &data->receive_thread, &canReceiveLoop);
    -00184          EnterMutex();
    -00185          d->canHandle = data;
    -00186          LeaveMutex();
    -00187          return data;
    -00188          }
    -00189       }
    -00190    return NULL;
    -00191    }
    -00192 
    -00193 /***************************************************************************/
    -00194 int canClose(CO_Data * d)
    -00195    {
    -00196    if (s_driver_procs.m_canClose != NULL)
    -00197       {
    -00198                   driver_data* data;
    -00199                   EnterMutex();
    -00200                   if(d->canHandle != NULL){
    -00201                         data = (driver_data*)d->canHandle;
    -00202                         d->canHandle = NULL;
    -00203                         data->continue_receive_thread = false;}
    -00204                   LeaveMutex();
    -00205                   WaitReceiveTaskEnd(&data->receive_thread);
    -00206                   (*s_driver_procs.m_canClose)(data->inst);
    -00207                   delete data;
    -00208                   return 0;
    -00209       }
    -00210    return 0;
    -00211    }
    -00212 
    -00213 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp.html --- a/doc/doxygen/html/drivers__win32_8cpp.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,391 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp File Reference

    #include <windows.h>
    -#include "canfestival.h"
    -#include "timer.h"
    -#include "timers_driver.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    class  driver_procs
    struct  driver_data

    Defines

    #define DLL_CALL(funcname)   (*_##funcname)
    #define FCT_PTR_INIT   =NULL
    #define myTEXT(str)   str

    Typedefs

    typedef UNS8(*) CANRECEIVE_DRIVER_PROC (void *inst, Message *m)
    typedef UNS8(*) CANSEND_DRIVER_PROC (void *inst, const Message *m)
    typedef void *(*) CANOPEN_DRIVER_PROC (s_BOARD *board)
    typedef int(*) CANCLOSE_DRIVER_PROC (void *inst)

    Functions

    LIB_HANDLE LoadCanDriver (char *driver_name)
    UNS8 canReceive (CAN_PORT fd0, Message *m)
    void * canReceiveLoop (CAN_PORT fd0)
    UNS8 canSend (CAN_PORT fd0, Message *m)
    CAN_HANDLE canOpen (s_BOARD *board, CO_Data *d)
    int canClose (CO_Data *d)

    Variables

    driver_procs s_driver_procs
    -


    Define Documentation

    - -
    -
    - - - - - - - - - -
    #define DLL_CALL (funcname   )    (*_##funcname)
    -
    -
    - -

    - -

    -Definition at line 32 of file drivers_win32.cpp. -

    -

    - -

    -
    - - - - -
    #define FCT_PTR_INIT   =NULL
    -
    -
    - -

    - -

    -Definition at line 33 of file drivers_win32.cpp. -

    -

    - -

    -
    - - - - - - - - - -
    #define myTEXT (str   )    str
    -
    -
    - -

    - -

    -Definition at line 91 of file drivers_win32.cpp. -

    -

    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef int(*) CANCLOSE_DRIVER_PROC(void *inst)
    -
    -
    - -

    - -

    -Definition at line 43 of file drivers_win32.cpp. -

    -

    - -

    -
    - - - - -
    typedef void*(*) CANOPEN_DRIVER_PROC(s_BOARD *board)
    -
    -
    - -

    - -

    -Definition at line 42 of file drivers_win32.cpp. -

    -

    - -

    -
    - - - - -
    typedef UNS8(*) CANRECEIVE_DRIVER_PROC(void *inst, Message *m)
    -
    -
    - -

    - -

    -Definition at line 40 of file drivers_win32.cpp. -

    -

    - -

    -
    - - - - -
    typedef UNS8(*) CANSEND_DRIVER_PROC(void *inst, const Message *m)
    -
    -
    - -

    - -

    -Definition at line 41 of file drivers_win32.cpp. -

    -

    -


    Function Documentation

    - -

    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 canReceive (CAN_PORT  fd0,
    Message m 
    )
    -
    -
    - -

    - -

    -Definition at line 124 of file drivers_win32.cpp. -

    -References driver_data::inst, driver_procs::m_canReceive, and s_driver_procs. -

    -

    - -

    -
    - - - - - - - - - -
    void* canReceiveLoop (CAN_PORT  fd0  ) 
    -
    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 canSend (CAN_PORT  fd0,
    Message m 
    )
    -
    - -

    - -

    -
    - - - - - - - - - -
    LIB_HANDLE LoadCanDriver (char *  driver_name  ) 
    -
    - -

    -


    Variable Documentation

    - -
    - -
    - -

    - -

    -Definition at line 117 of file drivers_win32.cpp. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_01559baf432253d46f1142231a968247_cgraph.dot --- a/doc/doxygen/html/drivers__win32_8cpp_01559baf432253d46f1142231a968247_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_01559baf432253d46f1142231a968247_cgraph.md5 --- a/doc/doxygen/html/drivers__win32_8cpp_01559baf432253d46f1142231a968247_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -c722f6115d79c225a1af29c5f9b5fa9b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_02957f72a9b951603adb98a142bd447b_cgraph.dot --- a/doc/doxygen/html/drivers__win32_8cpp_02957f72a9b951603adb98a142bd447b_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canClose",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canClose",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#02957f72a9b951603adb98a142bd447b"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="WaitReceiveTaskEnd",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#4b2486891ee01e06e2deead4cf963727"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_02957f72a9b951603adb98a142bd447b_cgraph.md5 --- a/doc/doxygen/html/drivers__win32_8cpp_02957f72a9b951603adb98a142bd447b_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -3662db86e7c38feeb3a1ef6b7148946a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_469503c5171a0cdd8369c1ec39d97d2c_cgraph.dot --- a/doc/doxygen/html/drivers__win32_8cpp_469503c5171a0cdd8369c1ec39d97d2c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canReceiveLoop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canDispatch",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#3f8975650604cc23582f19a43fd4e518"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="proceedNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#97d175ea168c149c99b01dcde0989743"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="setState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node6 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node6 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node10 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node4 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node14 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node16 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node17 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node14 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node19 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node14 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node13 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node22 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node23 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node24 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node25 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node26 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="SyncAlarm",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node13 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 [label="proceedNODE_GUARD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#b3248945e06e8b05518beddf665f174d"]; - Node28 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node29 [label="proceedPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2"]; - Node29 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node30 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node29 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node31 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node29 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node32 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node29 -> Node33 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node33 -> Node34 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 [label="_setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; - Node34 -> Node35 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 [label="accessDictionaryError",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26"]; - Node2 -> Node36 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 [label="proceedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2a93a7c780472b1d8666d89aa270f661"]; - Node36 -> Node37 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9"]; - Node37 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 -> Node38 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node38 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node38 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node39 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node39 [label="getSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f"]; - Node36 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node40 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node40 [label="lineToSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065"]; - Node36 -> Node41 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node41 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f"]; - Node41 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node42 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58"]; - Node42 -> Node33 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node43 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node43 [label="SDOtoLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694"]; - Node36 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node44 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 [label="setSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810"]; - Node2 -> Node45 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node45 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node45 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node45 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node45 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node46 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node46 [label="canReceive",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html#c608a4ba478a809fd963a342a24226fd"]; - Node1 -> Node47 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node47 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node48 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node48 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_469503c5171a0cdd8369c1ec39d97d2c_cgraph.md5 --- a/doc/doxygen/html/drivers__win32_8cpp_469503c5171a0cdd8369c1ec39d97d2c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -46fa47309fe12abfa9e3deca648b03d4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp__incl.dot --- a/doc/doxygen/html/drivers__win32_8cpp__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node4 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="can_driver.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="data.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node3 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node7 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__driver_8h.html"]; - Node8 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp__incl.md5 --- a/doc/doxygen/html/drivers__win32_8cpp__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -5c49446d2652dd38ea8e1bb538541cc5 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_a6eed61fc15f41f772d4645d7a5edeb5_cgraph.dot --- a/doc/doxygen/html/drivers__win32_8cpp_a6eed61fc15f41f772d4645d7a5edeb5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="LoadCanDriver",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canClose",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#02957f72a9b951603adb98a142bd447b"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canOpen",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#7476146ad15948a22e7f80a00c89c40a"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canReceive",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html#c608a4ba478a809fd963a342a24226fd"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="driver_procs::load_canfestival_driver",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$classdriver__procs.html#719fa10d86bcd9b7a1ab7bea3dec1d03"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_a6eed61fc15f41f772d4645d7a5edeb5_cgraph.md5 --- a/doc/doxygen/html/drivers__win32_8cpp_a6eed61fc15f41f772d4645d7a5edeb5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6863873492f8fe2ce99c7dac7841800b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_d82cede875fd89036cdeda13e293dafe_cgraph.dot --- a/doc/doxygen/html/drivers__win32_8cpp_d82cede875fd89036cdeda13e293dafe_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canOpen",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canOpen",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#7476146ad15948a22e7f80a00c89c40a"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canReceiveLoop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#45ceca3727c2fb7ac93958a215efb827"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canDispatch",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#3f8975650604cc23582f19a43fd4e518"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="proceedNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#97d175ea168c149c99b01dcde0989743"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="setState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node8 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node8 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node8 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node12 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node6 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="heartbeatInit",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node16 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node16 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node15 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node19 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node15 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node21 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node22 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="startSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node23 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node24 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="proceedNODE_GUARD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#b3248945e06e8b05518beddf665f174d"]; - Node25 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="proceedPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2"]; - Node26 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node26 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node26 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node29 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node26 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node30 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node30 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node31 [label="_setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; - Node31 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node32 [label="accessDictionaryError",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26"]; - Node4 -> Node33 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 [label="proceedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2a93a7c780472b1d8666d89aa270f661"]; - Node33 -> Node34 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9"]; - Node34 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 -> Node35 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node35 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node36 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 [label="getSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f"]; - Node33 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node37 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 [label="lineToSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065"]; - Node33 -> Node38 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node38 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f"]; - Node38 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node39 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node39 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58"]; - Node39 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node40 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node40 [label="SDOtoLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694"]; - Node33 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node41 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node41 [label="setSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810"]; - Node4 -> Node42 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node42 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node43 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node43 [label="canReceive",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html#c608a4ba478a809fd963a342a24226fd"]; - Node3 -> Node44 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node3 -> Node45 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node45 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node46 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node46 [label="CreateReceiveTask",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#a3a7df911baa20b01c4374a9677a154a"]; - Node1 -> Node44 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node45 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/drivers__win32_8cpp_d82cede875fd89036cdeda13e293dafe_cgraph.md5 --- a/doc/doxygen/html/drivers__win32_8cpp_d82cede875fd89036cdeda13e293dafe_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -074a1322ddf916727acca759411ff204 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/eds__utils_8py-source.html --- a/doc/doxygen/html/eds__utils_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,758 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/eds_utils.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/eds_utils.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 
    -00025 import node
    -00026 from node import nosub, var, array, rec, plurivar, pluriarray, plurirec
    -00027 from sets import *
    -00028 from types import *
    -00029 from time import *
    -00030 import os,re
    -00031 
    -00032 # Regular expression for finding index section names
    -00033 index_model = re.compile('([0-9A-F]{1,4})')
    -00034 # Regular expression for finding subindex section names
    -00035 subindex_model = re.compile('([0-9A-F]{1,4})SUB([0-9A-F]{1,2})')
    -00036 
    -00037 # Regular expression for finding NodeXPresent keynames
    -00038 nodepresent_model = re.compile('NODE([0-9]{1,3})PRESENT')
    -00039 # Regular expression for finding NodeXName keynames
    -00040 nodename_model = re.compile('NODE([0-9]{1,3})NAME')
    -00041 # Regular expression for finding NodeXDCFName keynames
    -00042 nodedcfname_model = re.compile('NODE([0-9]{1,3})DCFNAME')
    -00043 
    -00044 # Dictionary for quickly translate boolean into integer value
    -00045 BOOL_TRANSLATE = {True : "1", False : "0"}
    -00046 
    -00047 # Dictionary for quickly translate eds access value into canfestival access value
    -00048 ACCESS_TRANSLATE = {"ro" : "ro", "wo" : "wo", "rw" : "rw", "rwr" : "rw", "rww" : "rw", "const" : "ro"}
    -00049 
    -00050 # Function for verifying data values
    -00051 is_integer = lambda x: type(x) in (IntType, LongType)
    -00052 is_string = lambda x: type(x) in (StringType, UnicodeType)
    -00053 is_boolean = lambda x: x in (0, 1)
    -00054 
    -00055 # Define checking of value for each attribute
    -00056 ENTRY_ATTRIBUTES = {"SUBNUMBER" : is_integer, "PARAMETERNAME" : is_string, 
    -00057                     "OBJECTTYPE" : lambda x: x in (7, 8, 9), "DATATYPE" : is_integer, 
    -00058                     "LOWLIMIT" : is_integer, "HIGHLIMIT" : is_integer,
    -00059                     "ACCESSTYPE" : lambda x: x in ["ro","wo", "rw", "rwr", "rww", "const"],
    -00060                     "DEFAULTVALUE" : lambda x: True, "PDOMAPPING" : is_boolean,
    -00061                     "OBJFLAGS" : is_integer}
    -00062 
    -00063 # Define entry parameters by entry ObjectType number
    -00064 ENTRY_TYPES = {7 : {"name" : " VAR",
    -00065                     "require" : ["PARAMETERNAME", "OBJECTTYPE", "DATATYPE", "ACCESSTYPE", "PDOMAPPING"],
    -00066                     "optional" : ["LOWLIMIT", "HIGHLIMIT", "DEFAULTVALUE", "OBJFLAGS"]},
    -00067                8 : {"name" : "n ARRAY",
    -00068                     "require" : ["SUBNUMBER", "PARAMETERNAME", "OBJECTTYPE"],
    -00069                     "optional" : ["OBJFLAGS"]},
    -00070                9 : {"name" : " RECORD",
    -00071                     "require" : ["SUBNUMBER", "PARAMETERNAME", "OBJECTTYPE"],
    -00072                     "optional" : ["OBJFLAGS"]}}
    -00073 
    -00074 
    -00075 # Function that search into Node Mappings the informations about an index or a subindex
    -00076 # and return the default value
    -00077 def GetDefaultValue(index, subIndex = None):
    -00078     infos = Node.GetEntryInfos(index)
    -00079     if infos["struct"] & node.OD_MultipleSubindexes:
    -00080         # First case entry is a record
    -00081         if infos["struct"] & node.OD_IdenticalSubindexes:
    -00082             subentry_infos = Node.GetSubentryInfos(index, 1)
    -00083         # Second case entry is an array
    -00084         else:
    -00085             subentry_infos = Node.GetSubentryInfos(index, subIndex)
    -00086         # If a default value is defined for this subindex, returns it
    -00087         if "default" in subentry_infos:
    -00088             return subentry_infos["default"]
    -00089         # If not, returns the default value for the subindex type
    -00090         else:
    -00091             return Node.GetTypeDefaultValue(subentry_infos["type"])
    -00092     # Third case entry is a var
    -00093     else:
    -00094         subentry_infos = Node.GetSubentryInfos(index, 0)
    -00095         # If a default value is defined for this subindex, returns it
    -00096         if "default" in subentry_infos:
    -00097             return subentry_infos["default"]
    -00098         # If not, returns the default value for the subindex type
    -00099         else:
    -00100             return Node.GetTypeDefaultValue(subentry_infos["type"])
    -00101     return None
    -00102 
    -00103 
    -00104 #-------------------------------------------------------------------------------
    -00105 #                               Parse file
    -00106 #-------------------------------------------------------------------------------
    -00107 
    -00108 
    -00109 # List of section names that are not index and subindex and that we can meet in
    -00110 # an EDS file
    -00111 SECTION_KEYNAMES = ["FILEINFO", "DEVICEINFO", "DUMMYUSAGE", "COMMENTS", 
    -00112                     "MANDATORYOBJECTS", "OPTIONALOBJECTS", "MANUFACTUREROBJECTS"]
    -00113 
    -00114 
    -00115 # Function that extract sections from a file and returns a dictionary of the informations
    -00116 def ExtractSections(file):
    -00117     return [(blocktuple[0],                # EntryName : Assignements dict
    -00118              blocktuple[-1].splitlines())  # all the lines
    -00119              for blocktuple in [           # Split the eds files into
    -00120              block.split("]")              # (EntryName,Assignements) tuple
    -00121              for block in                  # for each blocks staring with '['
    -00122              file.split("[")]
    -00123              if blocktuple[0].isalnum()]   # if EntryName exists
    -00124     
    -00125 
    -00126 # Function that parse an CPJ file and returns a dictionary of the informations
    -00127 def ParseCPJFile(filepath):
    -00128     networks = []
    -00129     # Read file text
    -00130     cpj_file = open(filepath,'r').read()
    -00131     sections = ExtractSections(cpj_file)
    -00132     # Parse assignments for each section
    -00133     for section_name, assignments in sections:
    -00134         
    -00135         # Verify that section name is TOPOLOGY 
    -00136         if section_name.upper() in "TOPOLOGY":
    -00137             
    -00138             # Reset values for topology
    -00139             topology = {"Name" : "", "Nodes" : {}}
    -00140             
    -00141             for assignment in assignments:
    -00142                 # Escape any comment
    -00143                 if assignment.startswith(";"):
    -00144                     pass
    -00145                 # Verify that line is a valid assignment
    -00146                 elif assignment.find('=') > 0:
    -00147                     # Split assignment into the two values keyname and value
    -00148                     # Verify that there is only one '=' character in the line
    -00149                     try:
    -00150                         keyname, value = assignment.split("=")
    -00151                     except:
    -00152                         raise SyntaxError, "\"%s\" is not a valid EDS line"%assignment.strip()
    -00153                     
    -00154                     # keyname must be immediately followed by the "=" sign, so we
    -00155                     # verify that there is no whitespace into keyname
    -00156                     if keyname.isalnum():
    -00157                         # value can be preceded and followed by whitespaces, so we escape them
    -00158                         value = value.strip()
    -00159                 
    -00160                         # First case, value starts with "0x", then it's an hexadecimal value
    -00161                         if value.startswith("0x"):
    -00162                             try:
    -00163                                 computed_value = int(value, 16)
    -00164                             except:
    -00165                                 raise SyntaxError, "\"%s\" is not a valid value for attribute \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00166                         elif value.isdigit():
    -00167                             # Second case, value is a number and starts with "0", then it's an octal value
    -00168                             if value.startswith("0"):
    -00169                                 computed_value = int(value, 8)
    -00170                             # Third case, value is a number and don't start with "0", then it's a decimal value
    -00171                             else:
    -00172                                 computed_value = int(value)
    -00173                         # In any other case, we keep string value
    -00174                         else:
    -00175                             computed_value = value
    -00176                         
    -00177                         # Search if the section name match any cpj expression
    -00178                         nodepresent_result = nodepresent_model.match(keyname.upper())
    -00179                         nodename_result = nodename_model.match(keyname.upper())
    -00180                         nodedcfname_result = nodedcfname_model.match(keyname.upper())
    -00181                         
    -00182                         if keyname.upper() == "NETNAME":
    -00183                             if not is_string(computed_value):
    -00184                                 raise SyntaxError, "Invalid value \"%s\" for keyname \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00185                             topology["Name"] = computed_value
    -00186                         elif keyname.upper() == "NODES":
    -00187                             if not is_integer(computed_value):
    -00188                                 raise SyntaxError, "Invalid value \"%s\" for keyname \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00189                             topology["Number"] = computed_value
    -00190                         elif keyname.upper() == "EDSBASENAME":
    -00191                             if not is_string(computed_value):
    -00192                                 raise SyntaxError, "Invalid value \"%s\" for keyname \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00193                             topology["Path"] = computed_value
    -00194                         elif nodepresent_result:
    -00195                             if not is_boolean(computed_value):
    -00196                                 raise SyntaxError, "Invalid value \"%s\" for keyname \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00197                             nodeid = int(nodepresent_result.groups()[0])
    -00198                             if nodeid not in topology["Nodes"].keys():
    -00199                                 topology["Nodes"][nodeid] = {}
    -00200                             topology["Nodes"][nodeid]["Present"] = computed_value
    -00201                         elif nodename_result:
    -00202                             if not is_string(value):
    -00203                                 raise SyntaxError, "Invalid value \"%s\" for keyname \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00204                             nodeid = int(nodename_result.groups()[0])
    -00205                             if nodeid not in topology["Nodes"].keys():
    -00206                                 topology["Nodes"][nodeid] = {}
    -00207                             topology["Nodes"][nodeid]["Name"] = computed_value
    -00208                         elif nodedcfname_result:
    -00209                             if not is_string(computed_value):
    -00210                                 raise SyntaxError, "Invalid value \"%s\" for keyname \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00211                             nodeid = int(nodedcfname_result.groups()[0])
    -00212                             if nodeid not in topology["Nodes"].keys():
    -00213                                 topology["Nodes"][nodeid] = {}
    -00214                             topology["Nodes"][nodeid]["DCFName"] = computed_value
    -00215                         else:
    -00216                             raise SyntaxError, "Keyname \"%s\" not recognised for section \"[%s]\""%(keyname, section_name)
    -00217                         
    -00218                 # All lines that are not empty and are neither a comment neither not a valid assignment
    -00219                 elif assignment.strip() != "":
    -00220                     raise SyntaxError, "\"%s\" is not a valid CPJ line"%assignment.strip()
    -00221         
    -00222             if "Number" not in topology.keys():
    -00223                 raise SyntaxError, "\"Nodes\" keyname in \"[%s]\" section is missing"%section_name
    -00224         
    -00225             if topology["Number"] != len(topology["Nodes"]):
    -00226                 raise SyntaxError, "\"Nodes\" value not corresponding to number of nodes defined"
    -00227             
    -00228             for nodeid, node in topology["Nodes"].items():
    -00229                 if "Present" not in node.keys():
    -00230                     raise SyntaxError, "\"Node%dPresent\" keyname in \"[%s]\" section is missing"%(nodeid, section_name)
    -00231             
    -00232             networks.append(topology)
    -00233             
    -00234         # In other case, there is a syntax problem into CPJ file
    -00235         else:
    -00236             raise SyntaxError, "Section \"[%s]\" is unrecognized"%section_name
    -00237     
    -00238     return networks
    -00239 
    -00240 # Function that parse an EDS file and returns a dictionary of the informations
    -00241 def ParseEDSFile(filepath):
    -00242     eds_dict = {}
    -00243     # Read file text
    -00244     eds_file = open(filepath,'r').read()
    -00245     sections = ExtractSections(eds_file)
    -00246     
    -00247     # Parse assignments for each section
    -00248     for section_name, assignments in sections:
    -00249         # Reset values of entry
    -00250         values = {}
    -00251         
    -00252         # Search if the section name match an index or subindex expression
    -00253         index_result = index_model.match(section_name.upper())
    -00254         subindex_result = subindex_model.match(section_name.upper())
    -00255         
    -00256         # Compilation of the EDS information dictionary
    -00257         
    -00258         is_entry = False
    -00259         # First case, section name is in SECTION_KEYNAMES 
    -00260         if section_name.upper() in SECTION_KEYNAMES:
    -00261             # Verify that entry is not already defined
    -00262             if section_name.upper() not in eds_dict:
    -00263                 eds_dict[section_name.upper()] = values
    -00264             else:
    -00265                 raise SyntaxError, "\"[%s]\" section is defined two times"%section_name
    -00266         # Second case, section name is a subindex name 
    -00267         elif subindex_result:
    -00268             # Extract index and subindex number
    -00269             index, subindex = [int(value, 16) for value in subindex_result.groups()]
    -00270             # If index hasn't been referenced before, we add an entry into the dictionary
    -00271             # that will be updated later
    -00272             if index not in eds_dict:
    -00273                 eds_dict[index] = {"subindexes" : {}}
    -00274             if subindex not in eds_dict[index]["subindexes"]:
    -00275                 eds_dict[index]["subindexes"][subindex] = values
    -00276             else:
    -00277                 raise SyntaxError, "\"[%s]\" section is defined two times"%section_name
    -00278             is_entry = True
    -00279         # Third case, section name is an index name 
    -00280         elif index_result:
    -00281             # Extract index number
    -00282             index = int(index_result.groups()[0], 16)
    -00283             # If index hasn't been referenced before, we add an entry into the dictionary
    -00284             if index not in eds_dict:
    -00285                 eds_dict[index] = values
    -00286                 eds_dict[index]["subindexes"] = {}
    -00287             elif eds_dict[index].keys() == ["subindexes"]:
    -00288                 values["subindexes"] = eds_dict[index]["subindexes"]
    -00289                 eds_dict[index] = values
    -00290             else:
    -00291                 raise SyntaxError, "\"[%s]\" section is defined two times"%section_name
    -00292             is_entry = True
    -00293         # In any other case, there is a syntax problem into EDS file
    -00294         else:
    -00295             raise SyntaxError, "Section \"[%s]\" is unrecognized"%section_name
    -00296         
    -00297         for assignment in assignments:
    -00298             # Escape any comment
    -00299             if assignment.startswith(";"):
    -00300                 pass
    -00301             # Verify that line is a valid assignment
    -00302             elif assignment.find('=') > 0:
    -00303                 # Split assignment into the two values keyname and value
    -00304                 # Verify that there is only one '=' character in the line
    -00305                 try:
    -00306                     keyname, value = assignment.split("=")
    -00307                 except:
    -00308                     raise SyntaxError, "\"%s\" is not a valid EDS line"%assignment.strip()
    -00309                 # keyname must be immediately followed by the "=" sign, so we
    -00310                 # verify that there is no whitespace into keyname
    -00311                 if keyname.isalnum():
    -00312                     # value can be preceded and followed by whitespaces, so we escape them
    -00313                     value = value.strip()
    -00314                     # First case, value starts with "$NODEID", then it's a formula
    -00315                     if value.startswith("$NODEID"):
    -00316                         try:
    -00317                             test = int(value.replace("$NODEID+", ""), 16)
    -00318                             computed_value = value.replace("$NODEID", "self.ID")
    -00319                         except:
    -00320                             raise SyntaxError, "\"%s\" is not a valid formula for attribute \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00321                     # Second case, value starts with "0x", then it's an hexadecimal value
    -00322                     elif value.startswith("0x"):
    -00323                         try:
    -00324                             computed_value = int(value, 16)
    -00325                         except:
    -00326                             raise SyntaxError, "\"%s\" is not a valid value for attribute \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00327                     elif value.isdigit():
    -00328                         # Third case, value is a number and starts with "0", then it's an octal value
    -00329                         if value.startswith("0"):
    -00330                             computed_value = int(value, 8)
    -00331                         # Forth case, value is a number and don't start with "0", then it's a decimal value
    -00332                         else:
    -00333                             computed_value = int(value)
    -00334                     # In any other case, we keep string value
    -00335                     else:
    -00336                         computed_value = value
    -00337                     
    -00338                     # Add value to values dictionary
    -00339                     if computed_value != "":
    -00340                         # If entry is an index or a subindex
    -00341                         if is_entry:
    -00342                             # Verify that keyname is a possible attribute
    -00343                             if keyname.upper() not in ENTRY_ATTRIBUTES:
    -00344                                 raise SyntaxError, "Keyname \"%s\" not recognised for section \"[%s]\""%(keyname, section_name)
    -00345                             # Verify that value is valid
    -00346                             elif not ENTRY_ATTRIBUTES[keyname.upper()](computed_value):
    -00347                                 raise SyntaxError, "Invalid value \"%s\" for keyname \"%s\" of section \"[%s]\""%(value, keyname, section_name)
    -00348                             else:
    -00349                                 values[keyname.upper()] = computed_value
    -00350                         else:
    -00351                             values[keyname.upper()] = computed_value
    -00352             # All lines that are not empty and are neither a comment neither not a valid assignment
    -00353             elif assignment.strip() != "":
    -00354                 raise SyntaxError, "\"%s\" is not a valid EDS line"%assignment.strip()
    -00355         
    -00356         # If entry is an index or a subindex
    -00357         if is_entry:
    -00358             # Verify that entry has an ObjectType
    -00359             if "OBJECTTYPE" in values.keys():
    -00360                 # Extract entry ObjectType
    -00361                 objecttype = values["OBJECTTYPE"]
    -00362                 # Extract parameters defined
    -00363                 keys = Set(values.keys())
    -00364                 keys.discard("subindexes")
    -00365                 # Extract possible parameters and parameters required
    -00366                 possible = Set(ENTRY_TYPES[objecttype]["require"] + ENTRY_TYPES[objecttype]["optional"])
    -00367                 required = Set(ENTRY_TYPES[objecttype]["require"])
    -00368                 # Verify that parameters defined contains all the parameters required
    -00369                 if not keys.issuperset(required):
    -00370                     missing = required.difference(keys)._data.keys()
    -00371                     if len(missing) > 1:
    -00372                         attributes = "Attributes %s are"%", ".join(["\"%s\""%attribute for attribute in missing])
    -00373                     else:
    -00374                         attributes = "Attribute \"%s\" is"%missing[0]
    -00375                     raise SyntaxError, "Error on section \"[%s]\":\n%s required for a%s entry"%(section_name, attributes, ENTRY_TYPES[objecttype]["name"])
    -00376                 # Verify that parameters defined are all in the possible parameters
    -00377                 if not keys.issubset(possible):
    -00378                     unsupported = keys.difference(possible)._data.keys()
    -00379                     if len(unsupported) > 1:
    -00380                         attributes = "Attributes %s are"%", ".join(["\"%s\""%attribute for attribute in unsupported])
    -00381                     else:
    -00382                         attributes = "Attribute \"%s\" is"%unsupported[0]
    -00383                     raise SyntaxError, "Error on section \"[%s]\":\n%s unsupported for a%s entry"%(section_name, attributes, ENTRY_TYPES[objecttype]["name"])
    -00384             else:
    -00385                 raise SyntaxError, "Error on section \"[%s]\":\nAttribute OBJECTTYPE is required"%section_name
    -00386         
    -00387     return eds_dict
    -00388 
    -00389 
    -00390 # Function that write an EDS file after generate it's content
    -00391 def WriteFile(filepath, content):
    -00392     # Open file in write mode
    -00393     cfile = open(filepath,"w")
    -00394     # Write content
    -00395     cfile.write(content)
    -00396     # Close file
    -00397     cfile.close()
    -00398 
    -00399 
    -00400 # Function that generate the EDS file content for the current node in the manager
    -00401 def GenerateFileContent(filepath):
    -00402     # Dictionary of each index contents
    -00403     indexContents = {}
    -00404     
    -00405     # Extract local time
    -00406     current_time = localtime()
    -00407     # Extract node informations
    -00408     nodename, nodeid, nodetype, description = Manager.GetCurrentNodeInfos()
    -00409     
    -00410     # Compiling lists of indexes defined
    -00411     entries = [idx for name, idx in Manager.GetCurrentValidIndexes(0, 0xFFFF)]
    -00412     
    -00413     # Generate FileInfo section
    -00414     fileContent = "[FileInfo]\n"
    -00415     fileContent += "CreatedBy=CANFestival\n"
    -00416     fileContent += "Description=%s\n"%description
    -00417     fileContent += "CreationTime=%s"%strftime("%I:%M", current_time)
    -00418     # %p option of strftime seems not working, then generate AM/PM by hands
    -00419     if strftime("%I", current_time) == strftime("%H", current_time):
    -00420         fileContent += "AM\n"
    -00421     else:
    -00422         fileContent += "PM\n"
    -00423     fileContent += "CreationDate=%s\n"%strftime("%m-%d-%Y", current_time)
    -00424     fileContent += "FileName=%s\n"%os.path.split(filepath)[-1]
    -00425     fileContent += "FileVersion=1\n"
    -00426     fileContent += "FileRevision=1\n"
    -00427     fileContent += "EDSVersion=3.0\n"
    -00428     
    -00429     # Generate DeviceInfo section
    -00430     fileContent += "\n[DeviceInfo]\n"
    -00431     fileContent += "VendorName=CANFestival\n"
    -00432     # Use information typed by user in Identity entry
    -00433     fileContent += "VendorNumber=0x%8.8X\n"%Manager.GetCurrentEntry(0x1018, 1)
    -00434     fileContent += "ProductName=%s\n"%nodename
    -00435     fileContent += "ProductNumber=0x%8.8X\n"%Manager.GetCurrentEntry(0x1018, 2)
    -00436     fileContent += "RevisionNumber=0x%8.8X\n"%Manager.GetCurrentEntry(0x1018, 3)
    -00437     # CANFestival support all baudrates as soon as driver choosen support them
    -00438     fileContent += "BaudRate_10=1\n"
    -00439     fileContent += "BaudRate_20=1\n"
    -00440     fileContent += "BaudRate_50=1\n"
    -00441     fileContent += "BaudRate_125=1\n"
    -00442     fileContent += "BaudRate_250=1\n"
    -00443     fileContent += "BaudRate_500=1\n"
    -00444     fileContent += "BaudRate_800=1\n"
    -00445     fileContent += "BaudRate_1000=1\n"
    -00446     # Select BootUp type from the informations given by user
    -00447     fileContent += "SimpleBootUpMaster=%s\n"%BOOL_TRANSLATE[nodetype == "master"]
    -00448     fileContent += "SimpleBootUpSlave=%s\n"%BOOL_TRANSLATE[nodetype == "slave"]
    -00449     # CANFestival characteristics
    -00450     fileContent += "Granularity=8\n"
    -00451     fileContent += "DynamicChannelsSupported=0\n"
    -00452     fileContent += "CompactPDO=0\n"
    -00453     fileContent += "GroupMessaging=0\n"
    -00454     # Calculate receive and tranmit PDO numbers with the entry available
    -00455     fileContent += "NrOfRXPDO=%d\n"%len([idx for idx in entries if 0x1400 <= idx <= 0x15FF])
    -00456     fileContent += "NrOfTXPDO=%d\n"%len([idx for idx in entries if 0x1800 <= idx <= 0x19FF])
    -00457     # LSS not supported as soon as DS-302 was not fully implemented
    -00458     fileContent += "LSS_Supported=0\n"
    -00459     
    -00460     # Generate Dummy Usage section
    -00461     fileContent += "\n[DummyUsage]\n"
    -00462     fileContent += "Dummy0001=0\n"
    -00463     fileContent += "Dummy0002=1\n"
    -00464     fileContent += "Dummy0003=1\n"
    -00465     fileContent += "Dummy0004=1\n"
    -00466     fileContent += "Dummy0005=1\n"
    -00467     fileContent += "Dummy0006=1\n"
    -00468     fileContent += "Dummy0007=1\n"
    -00469 
    -00470     # Generate Comments section
    -00471     fileContent += "\n[Comments]\n"
    -00472     fileContent += "Lines=0\n"
    -00473     
    -00474     # List of entry by type (Mandatory, Optional or Manufacturer
    -00475     mandatories = []
    -00476     optionals = []
    -00477     manufacturers = []
    -00478     
    -00479     # For each entry, we generate the entry section or sections if there is subindexes
    -00480     for entry in entries:
    -00481         # Extract infos and values for the entry
    -00482         entry_infos = Manager.GetEntryInfos(entry)
    -00483         values = Manager.GetCurrentEntry(entry)
    -00484         # Define section name
    -00485         text = "\n[%X]\n"%entry
    -00486         # If there is only one value, it's a VAR entry
    -00487         if type(values) != ListType:
    -00488             # Extract the informations of the first subindex
    -00489             subentry_infos = Manager.GetSubentryInfos(entry, 0)
    -00490             # Generate EDS informations for the entry
    -00491             text += "ParameterName=%s\n"%subentry_infos["name"]
    -00492             text += "ObjectType=0x7\n"
    -00493             text += "DataType=0x%4.4X\n"%subentry_infos["type"]
    -00494             text += "AccessType=%s\n"%subentry_infos["access"]
    -00495             text += "DefaultValue=%s\n"%values
    -00496             text += "PDOMapping=%s\n"%BOOL_TRANSLATE[subentry_infos["pdo"]]
    -00497         else:
    -00498             # Generate EDS informations for the entry
    -00499             text += "ParameterName=%s\n"%entry_infos["name"]
    -00500             if entry_infos["struct"] & node.OD_IdenticalSubindexes:
    -00501                 text += "ObjectType=0x9\n"
    -00502             else:
    -00503                 text += "ObjectType=0x8\n"
    -00504             
    -00505             # Generate EDS informations for subindexes of the entry in a separate text
    -00506             subtext = ""
    -00507             # Reset number of subindex defined 
    -00508             nb_subentry = 0
    -00509             for subentry, value in enumerate(values):
    -00510                 # Extract the informations of each subindex
    -00511                 subentry_infos = Manager.GetSubentryInfos(entry, subentry)
    -00512                 # If entry is not for the compatibility, generate informations for subindex
    -00513                 if subentry_infos["name"] != "Compatibility Entry":
    -00514                     subtext += "\n[%Xsub%X]\n"%(entry, subentry)
    -00515                     subtext += "ParameterName=%s\n"%subentry_infos["name"]
    -00516                     subtext += "ObjectType=0x7\n"
    -00517                     subtext += "DataType=0x%4.4X\n"%subentry_infos["type"]
    -00518                     subtext += "AccessType=%s\n"%subentry_infos["access"]
    -00519                     subtext += "DefaultValue=%s\n"%value
    -00520                     subtext += "PDOMapping=%s\n"%BOOL_TRANSLATE[subentry_infos["pdo"]]
    -00521                     # Increment number of subindex defined 
    -00522                     nb_subentry += 1
    -00523             # Write number of subindex defined for the entry
    -00524             text += "SubNumber=%d\n"%nb_subentry
    -00525             # Write subindex definitions
    -00526             text += subtext
    -00527         
    -00528         # Then we add the entry in the right list
    -00529         
    -00530         # First case, entry is between 0x2000 and 0x5FFF, then it's a manufacturer entry
    -00531         if 0x2000 <= entry <= 0x5FFF:
    -00532             manufacturers.append(entry)
    -00533         # Second case, entry is required, then it's a mandatory entry
    -00534         elif entry_infos["need"]:
    -00535             mandatories.append(entry)
    -00536         # In any other case, it's an optional entry
    -00537         else:
    -00538             optionals.append(entry)
    -00539         # Save text of the entry in the dictiionary of contents
    -00540         indexContents[entry] = text
    -00541     
    -00542     # Before generate File Content we sort the entry list
    -00543     manufacturers.sort()
    -00544     mandatories.sort()
    -00545     optionals.sort()
    -00546     
    -00547     # Generate Definition of mandatory objects
    -00548     fileContent += "\n[MandatoryObjects]\n"
    -00549     fileContent += "SupportedObjects=%d\n"%len(mandatories)
    -00550     for idx, entry in enumerate(mandatories):
    -00551         fileContent += "%d=0x%4.4X\n"%(idx, entry)
    -00552     # Write mandatory entries
    -00553     for entry in mandatories:
    -00554         fileContent += indexContents[entry]
    -00555     
    -00556     # Generate Definition of optional objects
    -00557     fileContent += "\n[OptionalObjects]\n"
    -00558     fileContent += "SupportedObjects=%d\n"%len(optionals)
    -00559     for idx, entry in enumerate(optionals):
    -00560         fileContent += "%d=0x%4.4X\n"%(idx, entry)
    -00561     # Write optional entries
    -00562     for entry in optionals:
    -00563         fileContent += indexContents[entry]
    -00564 
    -00565     # Generate Definition of manufacturer objects
    -00566     fileContent += "\n[ManufacturerObjects]\n"
    -00567     fileContent += "SupportedObjects=%d\n"%len(manufacturers)
    -00568     for idx, entry in enumerate(manufacturers):
    -00569         fileContent += "%d=0x%4.4X\n"%(idx, entry)
    -00570     # Write manufacturer entries
    -00571     for entry in manufacturers:
    -00572         fileContent += indexContents[entry]
    -00573     
    -00574     # Return File Content
    -00575     return fileContent
    -00576 
    -00577 
    -00578 # Function that generates EDS file from current node edited
    -00579 def GenerateEDSFile(filepath, manager):
    -00580     global Manager
    -00581     Manager = manager
    -00582     try:
    -00583         # Generate file content
    -00584         content = GenerateFileContent(filepath)
    -00585         # Write file
    -00586         WriteFile(filepath, content)
    -00587         return None
    -00588     except ValueError, message:
    -00589         return "Unable to generate EDS file\n%s"%message
    -00590     
    -00591 # Function that generate the CPJ file content for the nodelist
    -00592 def GenerateCPJContent(nodelist):
    -00593     nodes = nodelist.SlaveNodes.keys()
    -00594     nodes.sort()
    -00595     
    -00596     fileContent = "[TOPOLOGY]\n"
    -00597     fileContent += "NetName=%s\n"%nodelist.GetNetworkName()
    -00598     fileContent += "Nodes=0x%2.2X\n"%len(nodes)
    -00599     
    -00600     for nodeid in nodes:
    -00601         fileContent += "Node%dPresent=0x01\n"%nodeid
    -00602         fileContent += "Node%dName=%s\n"%(nodeid, nodelist.SlaveNodes[nodeid]["Name"])
    -00603         fileContent += "Node%dDCFName=%s\n"%(nodeid, nodelist.SlaveNodes[nodeid]["EDS"])
    -00604         
    -00605     fileContent += "EDSBaseName=eds\n"
    -00606     return fileContent
    -00607 
    -00608 # Function that generates Node from an EDS file
    -00609 def GenerateNode(filepath, cwd, nodeID = 0):
    -00610     global Node
    -00611     # Create a new node
    -00612     Node = node.Node(id = nodeID)
    -00613     try:
    -00614         # Parse file and extract dictionary of EDS entry
    -00615         eds_dict = ParseEDSFile(filepath)
    -00616         # Extract Profile Number from Device Type entry
    -00617         ProfileNb = eds_dict[0x1000]["DEFAULTVALUE"] & 0x0000ffff
    -00618         # If profile is not DS-301 or DS-302
    -00619         if ProfileNb not in [301, 302]:
    -00620             # Compile Profile name and path to .prf file
    -00621             ProfileName = "DS-%d"%ProfileNb
    -00622             ProfilePath = os.path.join(cwd, "config/%s.prf"%ProfileName)
    -00623             # Verify that profile is available
    -00624             if os.path.isfile(ProfilePath):
    -00625                 try:
    -00626                     # Load Profile
    -00627                     execfile(ProfilePath)
    -00628                     Node.SetProfileName(ProfileName)
    -00629                     Node.SetProfile(Mapping)
    -00630                     Node.SetSpecificMenu(AddMenuEntries)
    -00631                 except:
    -00632                     pass
    -00633         # Read all entries in the EDS dictionary 
    -00634         for entry, values in eds_dict.items():
    -00635             # All sections with a name in keynames are escaped
    -00636             if entry in SECTION_KEYNAMES:
    -00637                 pass
    -00638             else:
    -00639                 # Extract informations for the entry
    -00640                 entry_infos = Node.GetEntryInfos(entry)
    -00641                 
    -00642                 # If no informations are available, then we write them
    -00643                 if not entry_infos:
    -00644                     # First case, entry is a VAR
    -00645                     if values["OBJECTTYPE"] == 7:
    -00646                         # Add mapping for entry
    -00647                         Node.AddMappingEntry(entry, name = values["PARAMETERNAME"], struct = 1)
    -00648                         # Add mapping for first subindex
    -00649                         Node.AddMappingEntry(entry, 0, values = {"name" : values["PARAMETERNAME"], 
    -00650                                                                  "type" : values["DATATYPE"], 
    -00651                                                                  "access" : ACCESS_TRANSLATE[values["ACCESSTYPE"]], 
    -00652                                                                  "pdo" : values["PDOMAPPING"] == 1})
    -00653                     # Second case, entry is an ARRAY
    -00654                     elif values["OBJECTTYPE"] == 8:
    -00655                         # Extract maximum subindex number defined
    -00656                         try:
    -00657                             max_subindex = values["subindexes"][0]["DEFAULTVALUE"]
    -00658                         except:
    -00659                             raise SyntaxError, "Error on entry 0x%4.4X:\nSubindex 0 must be defined for an ARRAY entry"%entry
    -00660                         # Add mapping for entry
    -00661                         Node.AddMappingEntry(entry, name = values["PARAMETERNAME"], struct = 3)
    -00662                         # Add mapping for first subindex
    -00663                         Node.AddMappingEntry(entry, 0, values = {"name" : "Number of Entries", "type" : 0x05, "access" : "ro", "pdo" : False})
    -00664                         # Add mapping for other subindexes
    -00665                         for subindex in xrange(1, int(max_subindex) + 1):
    -00666                             # if subindex is defined
    -00667                             if subindex in values["subindexes"]:
    -00668                                 Node.AddMappingEntry(entry, subindex, values = {"name" : values["subindexes"][subindex]["PARAMETERNAME"], 
    -00669                                                                                 "type" : values["subindexes"][subindex]["DATATYPE"], 
    -00670                                                                                 "access" : ACCESS_TRANSLATE[values["subindexes"][subindex]["ACCESSTYPE"]], 
    -00671                                                                                 "pdo" : values["subindexes"][subindex]["PDOMAPPING"] == 1})
    -00672                             # if not, we add a mapping for compatibility 
    -00673                             else:
    -00674                                 Node.AddMappingEntry(entry, subindex, values = {"name" : "Compatibility Entry", "type" : 0x05, "access" : "rw", "pdo" : False})
    -00675                     # Third case, entry is an RECORD
    -00676                     elif values["OBJECTTYPE"] == 9:
    -00677                         # Verify that the first subindex is defined
    -00678                         if 0 not in values["subindexes"]:
    -00679                             raise SyntaxError, "Error on entry 0x%4.4X:\nSubindex 0 must be defined for a RECORD entry"%entry
    -00680                         # Add mapping for entry
    -00681                         Node.AddMappingEntry(entry, name = values["PARAMETERNAME"], struct = 7)
    -00682                         # Add mapping for first subindex
    -00683                         Node.AddMappingEntry(entry, 0, values = {"name" : "Number of Entries", "type" : 0x05, "access" : "ro", "pdo" : False})
    -00684                         # Verify that second subindex is defined
    -00685                         if 1 in values:
    -00686                             Node.AddMappingEntry(entry, 1, values = {"name" : values["PARAMETERNAME"] + " %d[(sub)]", 
    -00687                                                                      "type" : values["subindexes"][1]["DATATYPE"], 
    -00688                                                                      "access" : ACCESS_TRANSLATE[values["subindexes"][1]["ACCESSTYPE"]], 
    -00689                                                                      "pdo" : values["subindexes"][1]["PDOMAPPING"] == 1})
    -00690                         else:
    -00691                             raise SyntaxError, "Error on entry 0x%4.4X:\nA RECORD entry must have at least 2 subindexes"%entry
    -00692                 
    -00693                 # Define entry for the new node
    -00694                 
    -00695                 # First case, entry is a VAR
    -00696                 if values["OBJECTTYPE"] == 7:
    -00697                     # Take default value if it is defined
    -00698                     if "DEFAULTVALUE" in values:
    -00699                         value = values["DEFAULTVALUE"]
    -00700                     # Find default value for value type of the entry
    -00701                     else:
    -00702                         value = GetDefaultValue(entry)
    -00703                     Node.AddEntry(entry, 0, value)
    -00704                 # Second case, entry is an ARRAY or a RECORD
    -00705                 elif values["OBJECTTYPE"] in (8, 9):
    -00706                     # Verify that "Subnumber" attribute is defined and has a valid value
    -00707                     if "SUBNUMBER" in values and values["SUBNUMBER"] > 0:
    -00708                         # Extract maximum subindex number defined
    -00709                         try:
    -00710                             max_subindex = values["subindexes"][0]["DEFAULTVALUE"]
    -00711                         except:
    -00712                             raise SyntaxError, "Error on entry 0x%4.4X:\nSubindex 0 must be defined for an ARRAY or a RECORD entry"%entry
    -00713                         # Define value for all subindexes except the first 
    -00714                         for subindex in xrange(1, int(max_subindex) + 1):
    -00715                             # Take default value if it is defined and entry is defined
    -00716                             if subindex in values["subindexes"] and "DEFAULTVALUE" in values["subindexes"][subindex]:
    -00717                                 value = values["subindexes"][subindex]["DEFAULTVALUE"]
    -00718                             # Find default value for value type of the subindex
    -00719                             else:
    -00720                                 value = GetDefaultValue(entry, subindex)
    -00721                             Node.AddEntry(entry, subindex, value)
    -00722                     else:
    -00723                         raise SyntaxError, "Array or Record entry 0x%4.4X must have a \"SubNumber\" attribute"%entry
    -00724         return Node
    -00725     except SyntaxError, message:
    -00726         return "Unable to import EDS file\n%s"%message
    -00727 
    -00728 #-------------------------------------------------------------------------------
    -00729 #                             Main Function
    -00730 #-------------------------------------------------------------------------------
    -00731 
    -00732 if __name__ == '__main__':
    -00733     print ParseEDSFile("examples/PEAK MicroMod.eds")
    -00734 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/eds__utils_8py.html --- a/doc/doxygen/html/eds__utils_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/eds_utils.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/eds_utils.py File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Namespaces

    namespace  eds_utils
    namespace  sets::*
    namespace  types::*
    namespace  time::*

    Functions

    def eds_utils::GetDefaultValue
    def eds_utils::ExtractSections
    def eds_utils::ParseCPJFile
    def eds_utils::ParseEDSFile
    def eds_utils::WriteFile
    def eds_utils::GenerateFileContent
    def eds_utils::GenerateEDSFile
    def eds_utils::GenerateCPJContent
    def eds_utils::GenerateNode
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/error_8h-source.html --- a/doc/doxygen/html/error_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/error.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/error.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __ERROR__
    -00024 #define __ERROR__
    -00025  
    -00026 
    -00027 #define ERR_CAN_ADD_ID_TO_FILTER        "1      Not in init mode"
    -00028 #define ERR_CAN_INIT_CLOCK              "4      Not in init mode"
    -00029 #define ERR_CAN_INIT_1_FILTER           "5      Not in init mode"
    -00030 #define ERR_CAN_INIT_FILTER             "6      Not in init mode" 
    -00031 #define ERR_CAN_MSG_TRANSMIT            "7      No buffer free "
    -00032 #define ERR_CAN_SLEEP_MODE              "8      Is in init mode"
    -00033 #define ERR_CAN_SLEEP_MODE_Q            "9      Is in init mode"
    -00034 #define ERR_CAN_SLEEP_WUP_MODE          "10     Is in init mode"
    -00035 #define ERR_CAN0HDLRCV_STACK_FULL       "11     Stack R full"
    -00036 
    -00037 #endif /* __ERROR__ */ 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/error_8h.html --- a/doc/doxygen/html/error_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/error.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/error.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define ERR_CAN_ADD_ID_TO_FILTER   "1 Not in init mode"
    #define ERR_CAN_INIT_CLOCK   "4 Not in init mode"
    #define ERR_CAN_INIT_1_FILTER   "5 Not in init mode"
    #define ERR_CAN_INIT_FILTER   "6 Not in init mode"
    #define ERR_CAN_MSG_TRANSMIT   "7 No buffer free "
    #define ERR_CAN_SLEEP_MODE   "8 Is in init mode"
    #define ERR_CAN_SLEEP_MODE_Q   "9 Is in init mode"
    #define ERR_CAN_SLEEP_WUP_MODE   "10 Is in init mode"
    #define ERR_CAN0HDLRCV_STACK_FULL   "11 Stack R full"
    -


    Define Documentation

    - -
    -
    - - - - -
    #define ERR_CAN0HDLRCV_STACK_FULL   "11 Stack R full"
    -
    -
    - -

    - -

    -Definition at line 35 of file error.h. -

    -

    - -

    -
    - - - - -
    #define ERR_CAN_ADD_ID_TO_FILTER   "1 Not in init mode"
    -
    -
    - -

    - -

    -Definition at line 27 of file error.h. -

    -

    - -

    -
    - - - - -
    #define ERR_CAN_INIT_1_FILTER   "5 Not in init mode"
    -
    -
    - -

    - -

    -Definition at line 29 of file error.h. -

    -

    - -

    -
    - - - - -
    #define ERR_CAN_INIT_CLOCK   "4 Not in init mode"
    -
    -
    - -

    - -

    -Definition at line 28 of file error.h. -

    -

    - -

    -
    - - - - -
    #define ERR_CAN_INIT_FILTER   "6 Not in init mode"
    -
    -
    - -

    - -

    -Definition at line 30 of file error.h. -

    -

    - -

    -
    - - - - -
    #define ERR_CAN_MSG_TRANSMIT   "7 No buffer free "
    -
    -
    - -

    - -

    -Definition at line 31 of file error.h. -

    -

    - -

    -
    - - - - -
    #define ERR_CAN_SLEEP_MODE   "8 Is in init mode"
    -
    -
    - -

    - -

    -Definition at line 32 of file error.h. -

    -

    - -

    -
    - - - - -
    #define ERR_CAN_SLEEP_MODE_Q   "9 Is in init mode"
    -
    -
    - -

    - -

    -Definition at line 33 of file error.h. -

    -

    - -

    -
    - - - - -
    #define ERR_CAN_SLEEP_WUP_MODE   "10 Is in init mode"
    -
    -
    - -

    - -

    -Definition at line 34 of file error.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/example__objdict_8c-source.html --- a/doc/doxygen/html/example__objdict_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,597 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.c Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 
    -00024 #include <stddef.h>
    -00025 
    -00026 #include <canfestival/applicfg.h>
    -00027 #include "canfestival/def.h"
    -00028 #include "canfestival/can.h"
    -00029 #include "canfestival/objdictdef.h"
    -00030 #include "canfestival/pdo.h"
    -00031 #include "canfestival/sdo.h"
    -00032 #include "canfestival/sync.h"
    -00033 #include "canfestival/lifegrd.h"
    -00034 #include "canfestival/nmtSlave.h"
    -00035 
    -00036 /**************************************************************************/
    -00037 /* Declaration of the mapped variables                                    */
    -00038 /**************************************************************************/
    -00039 UNS8 seconds = 0;               // Mapped at index 0x2000, subindex 0x01
    -00040 UNS8 minutes = 0;               // Mapped at index 0x2000, subindex 0x02
    -00041 UNS8 hours = 0;         // Mapped at index 0x2000, subindex 0x03
    -00042 UNS8 day = 0;           // Mapped at index 0x2000, subindex 0x04
    -00043 UNS32 canopenErrNB = 0;         // Mapped at index 0x6000, subindex 0x00
    -00044 UNS32 canopenErrVAL = 0;                // Mapped at index 0x6001, subindex 0x00
    -00045 UNS8 strTest[10] = 0;           // Mapped at index 0x6002, subindex 0x00
    -00046 
    -00047 /**************************************************************************/
    -00048 /* Declaration of the value range types                                   */
    -00049 /**************************************************************************/
    -00050 
    -00051 
    -00052 
    -00053 UNS32 Linux_slave_valueRangeTest (UNS8 typeValue, UNS32 unsValue, REAL32 realValue)
    -00054 {
    -00055   switch (typeValue) {
    -00056   }
    -00057   return 0;
    -00058 }
    -00059 
    -00060 
    -00061 /**************************************************************************/
    -00062 /* The node id                                                            */
    -00063 /**************************************************************************/
    -00064 /* node_id default value. 
    -00065    This default value is deprecated.
    -00066    You should always overwrite this by using the function setNodeId(UNS8 nodeId) in your C code.
    -00067 */
    -00068 #define NODE_ID 0x01
    -00069 UNS8 Linux_slave_bDeviceNodeId = NODE_ID;
    -00070 
    -00071 
    -00072 //*****************************************************************************/
    -00073 /* Array of message processing information */
    -00074 /* Should not be modified */
    -00075 
    -00076 const UNS8 Linux_slave_iam_a_slave = 1
    -00077 
    -00078   // Macros definition
    -00079 
    -00080 /* Beware : 
    -00081 index                 *must* be writen 4 numbers in hexa
    -00082 sub_index             *must* be writen 2 numbers in hexa
    -00083 size_variable_in_UNS8 *must* be writen 2 numbers in hexa
    -00084 */
    -00085 #define PDO_MAP(index, sub_index, size_variable_in_bits)\
    -00086 0x ## index ## sub_index ## size_variable_in_bits
    -00087 
    -00092 #define DeclareIndexTableEntry(entryname, index)    { (subindex*)entryname,sizeof(entryname)/sizeof(entryname[0]), index}
    -00093 
    -00094 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    -00095 //
    -00096 //                       OBJECT DICTIONARY
    -00097 //                   
    -00098 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    -00099 // Make your change, depending of your application
    -00100  
    -00101 
    -00102 /* index 0x1000 :   Device type. 
    -00103                     You have to change the value below, so
    -00104                     it fits your canopen-slave-module */
    -00105  
    -00106                     /* Not used, so, should not be modified */
    -00107                     
    -00108                     UNS32 Linux_slave_obj1000 = 0;
    -00109                     subindex Linux_slave_Index1000[] =
    -00110                     {
    -00111                       { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1000 }
    -00112                     };
    -00113 
    -00114 /* index 0x1001 :   Error register. 
    -00115                     Change the entries to fit your application 
    -00116                     Not used, so, should not be modified */
    -00117                     /*const*/ UNS8 Linux_slave_obj1001 = 0x0;
    -00118                     /*const*/ subindex Linux_slave_Index1001[] =
    -00119                     {
    -00120                       { RO, uint8, sizeof(UNS8), (void*)&Linux_slave_obj1001 }
    -00121                     };
    -00122 
    -00123 /* index 0x1005 :   COB_ID SYNC */
    -00124                     /* Should not be modified */
    -00125                     UNS32 Linux_slave_obj1005 = 0x00000080; // bit 30 = 1 : device can generate a SYNC message
    -00126                                                 // Beware, it is over written when the node 
    -00127                                                 // enters in reset mode
    -00128                                                 // See initResetMode() in init.c
    -00129                     /*const*/ subindex Linux_slave_Index1005[] =
    -00130                     {
    -00131                       { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1005 }
    -00132                     };
    -00133 
    -00134 /* index 0x1006 :   SYNC period */
    -00135                     // For producing the SYNC signal every n micro-seconds.
    -00136                     // Put 0 to not producing SYNC
    -00137                     /*const*/ UNS32 Linux_slave_obj1006 = 0x0; 
    -00138                                          // Default 0 to not produce SYNC //
    -00139                                          // Beware, it is over written when the 
    -00140                                          // node enters in reset mode.
    -00141                                          // See initResetMode() in init.c
    -00142                     /*const*/ subindex Linux_slave_Index1006[] =
    -00143                     {
    -00144                       { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1006 }
    -00145                     };
    -00146 
    -00147 /* index 0x1007 :   Synchronous Window Length
    -00148                     Seems to be needed by DS401 to generate the SYNC signal ! */
    -00149                     /*const*/ UNS32 Linux_slave_obj1007 = 0x0; /* Default 0 */
    -00150                     /*const*/ subindex Linux_slave_Index1007[] =
    -00151                     {
    -00152                       { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1007 }
    -00153                     };
    -00154 
    -00155 /* index 0x1008 :   Manufacturer device name */
    -00156                     UNS8 Linux_slave_obj1008[] = "Appli_Slave_HC12"; /* Default 0 */
    -00157                     subindex Linux_slave_Index1008[] =
    -00158                     {
    -00159                       { RO, uint32, sizeof(Linux_slave_obj1008), (void*)&Linux_slave_obj1008 }
    -00160                     };
    -00161 
    -00162 /* index 0x1009 :   Manufacturer hardware version */
    -00163                     UNS8 Linux_slave_obj1009[] = "__DATE__"; /* Default 0 */
    -00164                     subindex Linux_slave_Index1009[] =
    -00165                     {
    -00166                       { RO, uint32, sizeof(Linux_slave_obj1009), (void*)&Linux_slave_obj1009 }
    -00167                     };
    -00168 
    -00169 /* index 0x100A :   Manufacturer software version */
    -00170                     UNS8 Linux_slave_obj100A[] = __TIME__; /* Default 0 */
    -00171                     subindex Linux_slave_Index100A[] =
    -00172                     {
    -00173                       { RO, uint32, Linux_slave_sizeof(obj100A), (void*)&Linux_slave_obj100A}
    -00174                     };
    -00175 
    -00176 
    -00177                     TIMER_HANDLE Linux_slave_heartBeatTimers[1] = {TIMER_NONE,};
    -00178 /* index 0x1016 :   HeartBeat consumers 
    -00179                     The nodes which can send a heartbeat */ 
    -00180                     UNS32 Linux_slave_obj1016[] = {// Consumer time for each node 
    -00181                     0x00000000}; // Format 0x00NNTTTT (N=Node T=time in ms)
    -00182 
    -00183                     UNS8 Linux_slave_obj1016_cnt = 1; // 1 nodes could send me
    -00184                                                   // their heartbeat.
    -00185                     subindex Linux_slave_Index1016[] = 
    -00186                     {
    -00187                       { RO, uint8, sizeof(UNS8), (void*)&Linux_slave_obj1016_cnt },
    -00188                       { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1016[0] }
    -00189                     }; 
    -00190 
    -00191 /* index 0x1017 :   Heartbeat producer                    
    -00192                     Every HBProducerTime, the node sends its heartbeat */
    -00193                     UNS16 Linux_slave_obj1017 = 0; //HBProducerTime in ms. If 0 : not activated 
    -00194                                                      // Beware, it is over written when the 
    -00195                                                      // node enters in reset mode.
    -00196                                                      // See initResetMode() in init.c
    -00197                     subindex Linux_slave_Index1017[] =
    -00198                     {
    -00199                       { RW, uint16, sizeof(UNS16), &Linux_slave_obj1017 }
    -00200                     };
    -00201 
    -00202 /* index 0x1018 :   Identity object */
    -00205                     /* Values can be modified */
    -00206 
    -00207                     s_identity Linux_slave_obj1018 =
    -00208                     {
    -00209                       4,       // number of supported entries
    -00210                       0,  // Vendor-ID (given by the can-cia)
    -00211                       0,  // Product Code
    -00212                       0,  // Revision number
    -00213                       0  // serial number
    -00214                     };
    -00215 
    -00216                     subindex Linux_slave_Index1018[] =
    -00217                     {
    -00218                       { RO, uint8,  sizeof(UNS8),  (void*)&Linux_slave_obj1018.count },
    -00219                       { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.vendor_id},
    -00220                       { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.product_code},
    -00221                       { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.revision_number},
    -00222                       { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.serial_number}
    -00223                     };
    -00224 
    -00225 /* index 0x1200 :   The SDO Server parameters */
    -00226                     /* BEWARE You cannot define more than one SDO server */
    -00227                     /* The values should not be modified here, 
    -00228                     but can be changed at runtime */
    -00229                     // Beware that the default values that you could put here
    -00230                     // will be over written at the initialisation of the node. 
    -00231                     // See setNodeId() in init.c
    -00232                     s_sdo_parameter Linux_slave_obj1200  = 
    -00233                       { 3,                   // Number of entries. Always 3 for the SDO        
    -00234                         0x601,     // The cob_id transmited in CAN msg to the server     
    -00235                         0x581,     // The cob_id received in CAN msg from the server  
    -00236                         0x01      // The node id of the client. Should not be modified
    -00237                       };
    -00238                     subindex Linux_slave_Index1200[] =
    -00239                     {
    -00240                       { RO, uint8,  sizeof( UNS8 ), (void*)&Linux_slave_obj1200.count },
    -00241                       { RO, uint32, sizeof( UNS32), (void*)&Linux_slave_obj1200.cob_id_client },
    -00242                       { RO, uint32, sizeof( UNS32), (void*)&Linux_slave_obj1200.cob_id_server },
    -00243                       { RW, uint8,  sizeof( UNS8),  (void*)&Linux_slave_obj1200.node_id }
    -00244                     };
    -00245 
    -00246 /* index 0x1280 :   SDO client parameter */
    -00247                     s_sdo_parameter Linux_slave_obj1280 = 
    -00248                       { 3,     // Nb of entries 
    -00249                         0x600, // cobid transmited to the server. The good value should be 0x600 + server nodeId
    -00250                         0x580, // cobid received from the server. The good value should be 0x580 + server nodeId
    -00251                         0x01  // server NodeId
    -00252                       };
    -00253                     subindex Linux_slave_Index1280[] = 
    -00254                       { 
    -00255                         { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1280.count },
    -00256                         { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1280.cob_id_client },
    -00257                         { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1280.cob_id_server },
    -00258                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1280.node_id }
    -00259                       }; 
    -00260 
    -00261 /* index 0x1400 :   PDO receive communication parameter */
    -00262                     s_pdo_communication_parameter Linux_slave_obj1400 = 
    -00263                       { 2, // Largest subindex supported 
    -00264                         0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403)
    -00265                         253 // Transmission type. See objdictdef.h 
    -00266                       };
    -00267                     subindex Linux_slave_Index1400[] = 
    -00268                       { 
    -00269                         { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1400.count },
    -00270                         { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1400.cob_id },
    -00271                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1400.type },
    -00272                       }; 
    -00273 
    -00274 /* index 0x1401 :   PDO receive communication parameter */
    -00275                     s_pdo_communication_parameter Linux_slave_obj1401 = 
    -00276                       { 2, // Largest subindex supported 
    -00277                         0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403)
    -00278                         253 // Transmission type. See objdictdef.h 
    -00279                       };
    -00280                     subindex Linux_slave_Index1401[] = 
    -00281                       { 
    -00282                         { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1401.count },
    -00283                         { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1401.cob_id },
    -00284                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1401.type },
    -00285                       }; 
    -00286 
    -00287 /* index 0x1402 :   PDO receive communication parameter */
    -00288                     s_pdo_communication_parameter Linux_slave_obj1402 = 
    -00289                       { 2, // Largest subindex supported 
    -00290                         0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403)
    -00291                         253 // Transmission type. See objdictdef.h 
    -00292                       };
    -00293                     subindex Linux_slave_Index1402[] = 
    -00294                       { 
    -00295                         { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1402.count },
    -00296                         { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1402.cob_id },
    -00297                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1402.type },
    -00298                       }; 
    -00299 
    -00300 /* index 0x1600 :   PDO receive mapping parameter of PDO communication index 0x1400 */
    -00301                     UNS8 Linux_slave_obj1600_cnt = 0; // Number of mapped variables
    -00302                     UNS32 Linux_slave_obj1600_mappedVar[] = { 
    -00303                         0x00000000,
    -00304                         0x00000000,
    -00305                         0x00000000,
    -00306                         0x00000000,
    -00307                         0x00000000,
    -00308                         0x00000000,
    -00309                         0x00000000,
    -00310                         0x00000000
    -00311                       };
    -00312                     subindex Linux_slave_Index1600[] = 
    -00313                       { 
    -00314                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1600_cnt },
    -00315                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[0]},
    -00316                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[1]},
    -00317                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[2]},
    -00318                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[3]},
    -00319                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[4]},
    -00320                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[5]},
    -00321                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[6]},
    -00322                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[7]}
    -00323                       }; 
    -00324 
    -00325 /* index 0x1601 :   PDO receive mapping parameter of PDO communication index 0x1401 */
    -00326                     UNS8 Linux_slave_obj1601_cnt = 0; // Number of mapped variables
    -00327                     UNS32 Linux_slave_obj1601_mappedVar[] = { 
    -00328                         0x00000000,
    -00329                         0x00000000,
    -00330                         0x00000000,
    -00331                         0x00000000,
    -00332                         0x00000000,
    -00333                         0x00000000,
    -00334                         0x00000000,
    -00335                         0x00000000
    -00336                       };
    -00337                     subindex Linux_slave_Index1601[] = 
    -00338                       { 
    -00339                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1601_cnt },
    -00340                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[0]},
    -00341                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[1]},
    -00342                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[2]},
    -00343                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[3]},
    -00344                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[4]},
    -00345                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[5]},
    -00346                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[6]},
    -00347                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[7]}
    -00348                       }; 
    -00349 
    -00350 /* index 0x1602 :   PDO receive mapping parameter of PDO communication index 0x1402 */
    -00351                     UNS8 Linux_slave_obj1602_cnt = 0; // Number of mapped variables
    -00352                     UNS32 Linux_slave_obj1602_mappedVar[] = { 
    -00353                         0x00000000,
    -00354                         0x00000000,
    -00355                         0x00000000,
    -00356                         0x00000000,
    -00357                         0x00000000,
    -00358                         0x00000000,
    -00359                         0x00000000,
    -00360                         0x00000000
    -00361                       };
    -00362                     subindex Linux_slave_Index1602[] = 
    -00363                       { 
    -00364                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1602_cnt },
    -00365                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[0]},
    -00366                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[1]},
    -00367                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[2]},
    -00368                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[3]},
    -00369                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[4]},
    -00370                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[5]},
    -00371                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[6]},
    -00372                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[7]}
    -00373                       }; 
    -00374 
    -00375 /* index 0x1800 :   PDO transmit communication parameter */
    -00376                     s_pdo_communication_parameter Linux_slave_obj1800 = 
    -00377                       { 2, // Largest subindex supported 
    -00378                         0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403)
    -00379                         253 // Transmission type. See objdictdef.h 
    -00380                       };
    -00381                     subindex Linux_slave_Index1800[] = 
    -00382                       { 
    -00383                         { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1800.count },
    -00384                         { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1800.cob_id },
    -00385                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1800.type },
    -00386                       }; 
    -00387 
    -00388 /* index 0x1801 :   PDO transmit communication parameter */
    -00389                     s_pdo_communication_parameter Linux_slave_obj1801 = 
    -00390                       { 2, // Largest subindex supported 
    -00391                         0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403)
    -00392                         253 // Transmission type. See objdictdef.h 
    -00393                       };
    -00394                     subindex Linux_slave_Index1801[] = 
    -00395                       { 
    -00396                         { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1801.count },
    -00397                         { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1801.cob_id },
    -00398                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1801.type },
    -00399                       }; 
    -00400 
    -00401 /* index 0x1802 :   PDO transmit communication parameter */
    -00402                     s_pdo_communication_parameter Linux_slave_obj1802 = 
    -00403                       { 2, // Largest subindex supported 
    -00404                         0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403)
    -00405                         253 // Transmission type. See objdictdef.h 
    -00406                       };
    -00407                     subindex Linux_slave_Index1802[] = 
    -00408                       { 
    -00409                         { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1802.count },
    -00410                         { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1802.cob_id },
    -00411                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1802.type },
    -00412                       }; 
    -00413 
    -00414 /* index 0x1A00 :   PDO transmit mapping parameter of PDO communication index 0x1800 */
    -00415                     UNS8 Linux_slave_obj1A00_cnt = 0; // Number of mapped variables
    -00416                     UNS32 Linux_slave_obj1A00_mappedVar[] = { 
    -00417                         0x00000000,
    -00418                         0x00000000,
    -00419                         0x00000000,
    -00420                         0x00000000,
    -00421                         0x00000000,
    -00422                         0x00000000,
    -00423                         0x00000000,
    -00424                         0x00000000
    -00425                       };
    -00426                     subindex Linux_slave_Index1A00[] = 
    -00427                       { 
    -00428                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1A00_cnt },
    -00429                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[0]},
    -00430                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[1]},
    -00431                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[2]},
    -00432                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[3]},
    -00433                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[4]},
    -00434                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[5]},
    -00435                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[6]},
    -00436                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[7]}
    -00437                       }; 
    -00438 
    -00439 /* index 0x1A01 :   PDO transmit mapping parameter of PDO communication index 0x1801 */
    -00440                     UNS8 Linux_slave_obj1A01_cnt = 0; // Number of mapped variables
    -00441                     UNS32 Linux_slave_obj1A01_mappedVar[] = { 
    -00442                         0x00000000,
    -00443                         0x00000000,
    -00444                         0x00000000,
    -00445                         0x00000000,
    -00446                         0x00000000,
    -00447                         0x00000000,
    -00448                         0x00000000,
    -00449                         0x00000000
    -00450                       };
    -00451                     subindex Linux_slave_Index1A01[] = 
    -00452                       { 
    -00453                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1A01_cnt },
    -00454                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[0]},
    -00455                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[1]},
    -00456                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[2]},
    -00457                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[3]},
    -00458                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[4]},
    -00459                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[5]},
    -00460                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[6]},
    -00461                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[7]}
    -00462                       }; 
    -00463 
    -00464 /* index 0x1A02 :   PDO transmit mapping parameter of PDO communication index 0x1802 */
    -00465                     UNS8 Linux_slave_obj1A02_cnt = 0; // Number of mapped variables
    -00466                     UNS32 Linux_slave_obj1A02_mappedVar[] = { 
    -00467                         0x00000000,
    -00468                         0x00000000,
    -00469                         0x00000000,
    -00470                         0x00000000,
    -00471                         0x00000000,
    -00472                         0x00000000,
    -00473                         0x00000000,
    -00474                         0x00000000
    -00475                       };
    -00476                     subindex Linux_slave_Index1A02[] = 
    -00477                       { 
    -00478                         { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1A02_cnt },
    -00479                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[0]},
    -00480                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[1]},
    -00481                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[2]},
    -00482                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[3]},
    -00483                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[4]},
    -00484                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[5]},
    -00485                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[6]},
    -00486                         { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[7]}
    -00487                       }; 
    -00488 
    -00489 
    -00490 /* index 0x2000 :   Mapped variable */
    -00491                     UNS8 Linux_slave_highestSubIndex_2000 = 4; // number of subindex - 1
    -00492                     subindex Linux_slave_Index2000[] = 
    -00493                      {
    -00494                        { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_2000 },
    -00495                        { RW, uint8, sizeof (UNS8), (void*)&seconds },
    -00496                        { RW, uint8, sizeof (UNS8), (void*)&minutes },
    -00497                        { RW, uint8, sizeof (UNS8), (void*)&hours },
    -00498                        { RW, uint8, sizeof (UNS8), (void*)&day }
    -00499                      };
    -00500 
    -00501 /* index 0x6000 :   Mapped variable */
    -00502                     UNS8 Linux_slave_highestSubIndex_6000 = 0; // number of subindex - 1
    -00503                     subindex Linux_slave_Index6000[] = 
    -00504                      {
    -00505                        { RW, uint32, sizeof (UNS32), (void*)&canopenErrNB }
    -00506                      };
    -00507 
    -00508 /* index 0x6001 :   Mapped variable */
    -00509                     UNS8 Linux_slave_highestSubIndex_6001 = 0; // number of subindex - 1
    -00510                     subindex Linux_slave_Index6001[] = 
    -00511                      {
    -00512                        { RW, uint32, sizeof (UNS32), (void*)&canopenErrVAL }
    -00513                      };
    -00514 
    -00515 /* index 0x6002 :   Mapped variable */
    -00516                     UNS8 Linux_slave_highestSubIndex_6002 = 0; // number of subindex - 1
    -00517                     subindex Linux_slave_Index6002[] = 
    -00518                      {
    -00519                        { RW, visible_string, sizeof (strTest), (void*)&strTest }
    -00520                      };
    -00521 
    -00522 const indextable Linux_slave_objdict[] = 
    -00523 {
    -00524   DeclareIndexTableEntry(Linux_slave_Index1000, 0x1000),
    -00525   DeclareIndexTableEntry(Linux_slave_Index1001, 0x1001),
    -00526   DeclareIndexTableEntry(Linux_slave_Index1005, 0x1005),
    -00527   DeclareIndexTableEntry(Linux_slave_Index1006, 0x1006),
    -00528   DeclareIndexTableEntry(Linux_slave_Index1007, 0x1007),
    -00529   DeclareIndexTableEntry(Linux_slave_Index1008, 0x1008),
    -00530   DeclareIndexTableEntry(Linux_slave_Index1009, 0x1009),
    -00531   DeclareIndexTableEntry(Linux_slave_Index100A, 0x100A),
    -00532   DeclareIndexTableEntry(Linux_slave_Index1016, 0x1016),
    -00533   DeclareIndexTableEntry(Linux_slave_Index1017, 0x1017),
    -00534   DeclareIndexTableEntry(Linux_slave_Index1018, 0x1018),
    -00535   DeclareIndexTableEntry(Linux_slave_Index1200, 0x1200),
    -00536   DeclareIndexTableEntry(Linux_slave_Index1280, 0x1280),
    -00537   DeclareIndexTableEntry(Linux_slave_Index1400, 0x1400),
    -00538   DeclareIndexTableEntry(Linux_slave_Index1401, 0x1401),
    -00539   DeclareIndexTableEntry(Linux_slave_Index1402, 0x1402),
    -00540   DeclareIndexTableEntry(Linux_slave_Index1600, 0x1600),
    -00541   DeclareIndexTableEntry(Linux_slave_Index1601, 0x1601),
    -00542   DeclareIndexTableEntry(Linux_slave_Index1602, 0x1602),
    -00543   DeclareIndexTableEntry(Linux_slave_Index1800, 0x1800),
    -00544   DeclareIndexTableEntry(Linux_slave_Index1801, 0x1801),
    -00545   DeclareIndexTableEntry(Linux_slave_Index1802, 0x1802),
    -00546   DeclareIndexTableEntry(Linux_slave_Index1A00, 0x1A00),
    -00547   DeclareIndexTableEntry(Linux_slave_Index1A01, 0x1A01),
    -00548   DeclareIndexTableEntry(Linux_slave_Index1A02, 0x1A02),
    -00549   DeclareIndexTableEntry(Linux_slave_Index2000, 0x2000),
    -00550   DeclareIndexTableEntry(Linux_slave_Index6000, 0x6000),
    -00551   DeclareIndexTableEntry(Linux_slave_Index6001, 0x6001),
    -00552   DeclareIndexTableEntry(Linux_slave_Index6002, 0x6002),
    -00553 };
    -00554 
    -00555 // To count at which received SYNC a PDO must be sent.
    -00556 // Even if no pdoTransmit are defined, at least one entry is computed
    -00557 // for compilations issues.
    -00558 UNS8 Linux_slave_count_sync[1] = {0, };
    -00559 
    -00560 quick_index Linux_slave_firstIndex = {
    -00561     SDO_SVR : 11,
    -00562     SDO_CLT : 12,
    -00563     PDO_RCV : 13,
    -00564     PDO_RCV_MAP : 16,
    -00565     PDO_TRS : 19,
    -00566     PDO_TRS_MAP : 22
    -00567 }
    -00568 
    -00569 quick_index Linux_slave_lastIndex{
    -00570     SDO_SVR : 11,
    -00571     SDO_CLT : 12,
    -00572     PDO_RCV : 15,
    -00573     PDO_RCV_MAP : 18,
    -00574     PDO_TRS : 21,
    -00575     PDO_TRS_MAP : 24
    -00576 }
    -00577 
    -00578 UNS16 Linux_slave_ObjdictSize = sizeof(Linux_slave_objdict)/sizeof(Linux_slave_objdict[0]); 
    -00579 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/example__objdict_8c.html --- a/doc/doxygen/html/example__objdict_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1965 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.c File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.c File Reference

    #include <stddef.h>
    -#include <canfestival/applicfg.h>
    -#include "canfestival/def.h"
    -#include "canfestival/can.h"
    -#include "canfestival/objdictdef.h"
    -#include "canfestival/pdo.h"
    -#include "canfestival/sdo.h"
    -#include "canfestival/sync.h"
    -#include "canfestival/lifegrd.h"
    -#include "canfestival/nmtSlave.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define NODE_ID   0x01
    #define PDO_MAP(index, sub_index, size_variable_in_bits)   0x ## index ## sub_index ## size_variable_in_bits
    #define DeclareIndexTableEntry(entryname, index)   { (subindex*)entryname,sizeof(entryname)/sizeof(entryname[0]), index}

    Functions

    UNS32 Linux_slave_valueRangeTest (UNS8 typeValue, UNS32 unsValue, REAL32 realValue)

    Variables

    UNS8 seconds = 0
    UNS8 minutes = 0
    UNS8 hours = 0
    UNS8 day = 0
    UNS32 canopenErrNB = 0
    UNS32 canopenErrVAL = 0
    UNS8 strTest [10] = 0
    UNS8 Linux_slave_bDeviceNodeId = NODE_ID
    const UNS8 Linux_slave_iam_a_slave
    subindex Linux_slave_Index1000 []
    UNS8 Linux_slave_obj1001 = 0x0
    subindex Linux_slave_Index1001 []
    UNS32 Linux_slave_obj1005 = 0x00000080
    subindex Linux_slave_Index1005 []
    UNS32 Linux_slave_obj1006 = 0x0
    subindex Linux_slave_Index1006 []
    UNS32 Linux_slave_obj1007 = 0x0
    subindex Linux_slave_Index1007 []
    UNS8 Linux_slave_obj1008 [] = "Appli_Slave_HC12"
    subindex Linux_slave_Index1008 []
    UNS8 Linux_slave_obj1009 [] = "__DATE__"
    subindex Linux_slave_Index1009 []
    UNS8 Linux_slave_obj100A [] = __TIME__
    subindex Linux_slave_Index100A []
    TIMER_HANDLE Linux_slave_heartBeatTimers [1] = {TIMER_NONE,}
    UNS32 Linux_slave_obj1016 []
    UNS8 Linux_slave_obj1016_cnt = 1
    subindex Linux_slave_Index1016 []
    UNS16 Linux_slave_obj1017 = 0
    subindex Linux_slave_Index1017 []
    s_identity Linux_slave_obj1018
    subindex Linux_slave_Index1018 []
    s_sdo_parameter Linux_slave_obj1200
    subindex Linux_slave_Index1200 []
    s_sdo_parameter Linux_slave_obj1280
    subindex Linux_slave_Index1280 []
    s_pdo_communication_parameter Linux_slave_obj1400
    subindex Linux_slave_Index1400 []
    s_pdo_communication_parameter Linux_slave_obj1401
    subindex Linux_slave_Index1401 []
    s_pdo_communication_parameter Linux_slave_obj1402
    subindex Linux_slave_Index1402 []
    UNS8 Linux_slave_obj1600_cnt = 0
    UNS32 Linux_slave_obj1600_mappedVar []
    subindex Linux_slave_Index1600 []
    UNS8 Linux_slave_obj1601_cnt = 0
    UNS32 Linux_slave_obj1601_mappedVar []
    subindex Linux_slave_Index1601 []
    UNS8 Linux_slave_obj1602_cnt = 0
    UNS32 Linux_slave_obj1602_mappedVar []
    subindex Linux_slave_Index1602 []
    s_pdo_communication_parameter Linux_slave_obj1800
    subindex Linux_slave_Index1800 []
    s_pdo_communication_parameter Linux_slave_obj1801
    subindex Linux_slave_Index1801 []
    s_pdo_communication_parameter Linux_slave_obj1802
    subindex Linux_slave_Index1802 []
    UNS8 Linux_slave_obj1A00_cnt = 0
    UNS32 Linux_slave_obj1A00_mappedVar []
    subindex Linux_slave_Index1A00 []
    UNS8 Linux_slave_obj1A01_cnt = 0
    UNS32 Linux_slave_obj1A01_mappedVar []
    subindex Linux_slave_Index1A01 []
    UNS8 Linux_slave_obj1A02_cnt = 0
    UNS32 Linux_slave_obj1A02_mappedVar []
    subindex Linux_slave_Index1A02 []
    UNS8 Linux_slave_highestSubIndex_2000 = 4
    subindex Linux_slave_Index2000 []
    UNS8 Linux_slave_highestSubIndex_6000 = 0
    subindex Linux_slave_Index6000 []
    UNS8 Linux_slave_highestSubIndex_6001 = 0
    subindex Linux_slave_Index6001 []
    UNS8 Linux_slave_highestSubIndex_6002 = 0
    subindex Linux_slave_Index6002 []
    const indextable Linux_slave_objdict []
    UNS8 Linux_slave_count_sync [1] = {0, }
    quick_index Linux_slave_firstIndex
    -


    Define Documentation

    - -
    -
    - - - - - - - - - - - - -
    #define DeclareIndexTableEntry (entryname,
    index   )    { (subindex*)entryname,sizeof(entryname)/sizeof(entryname[0]), index}
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    #define NODE_ID   0x01
    -
    -
    - -

    - -

    -Definition at line 68 of file example_objdict.c. -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define PDO_MAP (index,
    sub_index,
    size_variable_in_bits   )    0x ## index ## sub_index ## size_variable_in_bits
    -
    -
    - -

    - -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS32 Linux_slave_valueRangeTest (UNS8  typeValue,
    UNS32  unsValue,
    REAL32  realValue 
    )
    -
    -
    - -

    - -

    -Definition at line 53 of file example_objdict.c. -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    UNS32 canopenErrNB = 0
    -
    -
    - -

    - -

    -Definition at line 43 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 canopenErrVAL = 0
    -
    -
    - -

    - -

    -Definition at line 44 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 day = 0
    -
    -
    - -

    - -

    -Definition at line 42 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 hours = 0
    -
    -
    - -

    - -

    -Definition at line 41 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_bDeviceNodeId = NODE_ID
    -
    -
    - -

    - -

    -Definition at line 69 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_count_sync[1] = {0, }
    -
    -
    - -

    - -

    -Definition at line 558 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     {
    -    SDO_SVR : 11,
    -    SDO_CLT : 12,
    -    PDO_RCV : 13,
    -    PDO_RCV_MAP : 16,
    -    PDO_TRS : 19,
    -    PDO_TRS_MAP : 22
    -}
    -
    -quick_index Linux_slave_lastIndex{
    -    SDO_SVR : 11,
    -    SDO_CLT : 12,
    -    PDO_RCV : 15,
    -    PDO_RCV_MAP : 18,
    -    PDO_TRS : 21,
    -    PDO_TRS_MAP : 24
    -}
    -
    -UNS16 Linux_slave_ObjdictSize = sizeof(Linux_slave_objdict)/sizeof(Linux_slave_objdict[0])
    -
    -

    -Definition at line 560 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    TIMER_HANDLE Linux_slave_heartBeatTimers[1] = {TIMER_NONE,}
    -
    -
    - -

    - -

    -Definition at line 177 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_highestSubIndex_2000 = 4
    -
    -
    - -

    - -

    -Definition at line 491 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_highestSubIndex_6000 = 0
    -
    -
    - -

    - -

    -Definition at line 502 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_highestSubIndex_6001 = 0
    -
    -
    - -

    - -

    -Definition at line 509 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_highestSubIndex_6002 = 0
    -
    -
    - -

    - -

    -Definition at line 516 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    const UNS8 Linux_slave_iam_a_slave
    -
    -
    - -

    -Initial value:

     1
    -
    -  
    -
    -
    -#define PDO_MAP(index, sub_index, size_variable_in_bits)
    -
    -
    -
    -#define DeclareIndexTableEntry(entryname, index)    
    -
    -
    -
    -
    -
    -
    -
    - 
    -
    -
    - 
    -                    
    -                    
    -                    UNS32 Linux_slave_obj1000 = 0
    -
    -

    -Definition at line 76 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1000 }
    -                    }
    -
    -

    -Definition at line 109 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RO, uint8, sizeof(UNS8), (void*)&Linux_slave_obj1001 }
    -                    }
    -
    -

    -Definition at line 118 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1005 }
    -                    }
    -
    -

    -Definition at line 129 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1006 }
    -                    }
    -
    -

    -Definition at line 142 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1007 }
    -                    }
    -
    -

    -Definition at line 150 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RO, uint32, sizeof(Linux_slave_obj1008), (void*)&Linux_slave_obj1008 }
    -                    }
    -
    -

    -Definition at line 157 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RO, uint32, sizeof(Linux_slave_obj1009), (void*)&Linux_slave_obj1009 }
    -                    }
    -
    -

    -Definition at line 164 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RO, uint32, Linux_slave_sizeof(obj100A), (void*)&Linux_slave_obj100A}
    -                    }
    -
    -

    -Definition at line 171 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                    {
    -                      { RO, uint8, sizeof(UNS8), (void*)&Linux_slave_obj1016_cnt },
    -                      { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1016[0] }
    -                    }
    -
    -

    -Definition at line 185 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RW, uint16, sizeof(UNS16), &Linux_slave_obj1017 }
    -                    }
    -
    -

    -Definition at line 197 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RO, uint8,  sizeof(UNS8),  (void*)&Linux_slave_obj1018.count },
    -                      { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.vendor_id},
    -                      { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.product_code},
    -                      { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.revision_number},
    -                      { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.serial_number}
    -                    }
    -
    -

    -Definition at line 216 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

    -                    {
    -                      { RO, uint8,  sizeof( UNS8 ), (void*)&Linux_slave_obj1200.count },
    -                      { RO, uint32, sizeof( UNS32), (void*)&Linux_slave_obj1200.cob_id_client },
    -                      { RO, uint32, sizeof( UNS32), (void*)&Linux_slave_obj1200.cob_id_server },
    -                      { RW, uint8,  sizeof( UNS8),  (void*)&Linux_slave_obj1200.node_id }
    -                    }
    -
    -

    -Definition at line 238 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1280.count },
    -                        { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1280.cob_id_client },
    -                        { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1280.cob_id_server },
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1280.node_id }
    -                      }
    -
    -

    -Definition at line 253 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1400.count },
    -                        { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1400.cob_id },
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1400.type },
    -                      }
    -
    -

    -Definition at line 267 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1401.count },
    -                        { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1401.cob_id },
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1401.type },
    -                      }
    -
    -

    -Definition at line 280 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1402.count },
    -                        { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1402.cob_id },
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1402.type },
    -                      }
    -
    -

    -Definition at line 293 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1600_cnt },
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[0]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[1]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[2]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[3]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[4]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[5]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[6]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[7]}
    -                      }
    -
    -

    -Definition at line 312 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1601_cnt },
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[0]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[1]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[2]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[3]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[4]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[5]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[6]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[7]}
    -                      }
    -
    -

    -Definition at line 337 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1602_cnt },
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[0]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[1]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[2]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[3]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[4]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[5]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[6]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[7]}
    -                      }
    -
    -

    -Definition at line 362 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1800.count },
    -                        { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1800.cob_id },
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1800.type },
    -                      }
    -
    -

    -Definition at line 381 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1801.count },
    -                        { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1801.cob_id },
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1801.type },
    -                      }
    -
    -

    -Definition at line 394 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RO, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1802.count },
    -                        { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1802.cob_id },
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1802.type },
    -                      }
    -
    -

    -Definition at line 407 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1A00_cnt },
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[0]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[1]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[2]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[3]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[4]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[5]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[6]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[7]}
    -                      }
    -
    -

    -Definition at line 426 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1A01_cnt },
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[0]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[1]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[2]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[3]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[4]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[5]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[6]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[7]}
    -                      }
    -
    -

    -Definition at line 451 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                      { 
    -                        { RW, uint8, sizeof( UNS8  ), (void*)&Linux_slave_obj1A02_cnt },
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[0]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[1]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[2]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[3]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[4]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[5]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[6]},
    -                        { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[7]}
    -                      }
    -
    -

    -Definition at line 476 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_2000 },
    -                       { RW, uint8, sizeof (UNS8), (void*)&seconds },
    -                       { RW, uint8, sizeof (UNS8), (void*)&minutes },
    -                       { RW, uint8, sizeof (UNS8), (void*)&hours },
    -                       { RW, uint8, sizeof (UNS8), (void*)&day }
    -                     }
    -
    -

    -Definition at line 492 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint32, sizeof (UNS32), (void*)&canopenErrNB }
    -                     }
    -
    -

    -Definition at line 503 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint32, sizeof (UNS32), (void*)&canopenErrVAL }
    -                     }
    -
    -

    -Definition at line 510 of file example_objdict.c. -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, visible_string, sizeof (strTest), (void*)&strTest }
    -                     }
    -
    -

    -Definition at line 517 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1001 = 0x0
    -
    -
    - -

    - -

    -Definition at line 117 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1005 = 0x00000080
    -
    -
    - -

    - -

    -Definition at line 125 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1006 = 0x0
    -
    -
    - -

    - -

    -Definition at line 137 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1007 = 0x0
    -
    -
    - -

    - -

    -Definition at line 149 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1008[] = "Appli_Slave_HC12"
    -
    -
    - -

    - -

    -Definition at line 156 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1009[] = "__DATE__"
    -
    -
    - -

    - -

    -Definition at line 163 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj100A[] = __TIME__
    -
    -
    - -

    - -

    -Definition at line 170 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1016[]
    -
    -
    - -

    -Initial value:

     {
    -                    0x00000000}
    -
    -

    -Definition at line 180 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1016_cnt = 1
    -
    -
    - -

    - -

    -Definition at line 183 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS16 Linux_slave_obj1017 = 0
    -
    -
    - -

    - -

    -Definition at line 193 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_identity Linux_slave_obj1018
    -
    -
    - -

    -Initial value:

    -                    {
    -                      4,       
    -                      0,  
    -                      0,  
    -                      0,  
    -                      0  
    -                    }
    -
    index 1018: identify object. Adjust the entries for your node/company -

    -Definition at line 207 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_sdo_parameter Linux_slave_obj1200
    -
    -
    - -

    -Initial value:

     
    -                      { 3,                   
    -                        0x601,     
    -                        0x581,     
    -                        0x01      
    -                      }
    -
    -

    -Definition at line 232 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_sdo_parameter Linux_slave_obj1280
    -
    -
    - -

    -Initial value:

     
    -                      { 3,     
    -                        0x600, 
    -                        0x580, 
    -                        0x01  
    -                      }
    -
    -

    -Definition at line 247 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_pdo_communication_parameter Linux_slave_obj1400
    -
    -
    - -

    -Initial value:

     
    -                      { 2, 
    -                        0x0, 
    -                        253 
    -                      }
    -
    -

    -Definition at line 262 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_pdo_communication_parameter Linux_slave_obj1401
    -
    -
    - -

    -Initial value:

     
    -                      { 2, 
    -                        0x0, 
    -                        253 
    -                      }
    -
    -

    -Definition at line 275 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_pdo_communication_parameter Linux_slave_obj1402
    -
    -
    - -

    -Initial value:

     
    -                      { 2, 
    -                        0x0, 
    -                        253 
    -                      }
    -
    -

    -Definition at line 288 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1600_cnt = 0
    -
    -
    - -

    - -

    -Definition at line 301 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1600_mappedVar[]
    -
    -
    - -

    -Initial value:

     { 
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000
    -                      }
    -
    -

    -Definition at line 302 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1601_cnt = 0
    -
    -
    - -

    - -

    -Definition at line 326 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1601_mappedVar[]
    -
    -
    - -

    -Initial value:

     { 
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000
    -                      }
    -
    -

    -Definition at line 327 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1602_cnt = 0
    -
    -
    - -

    - -

    -Definition at line 351 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1602_mappedVar[]
    -
    -
    - -

    -Initial value:

     { 
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000
    -                      }
    -
    -

    -Definition at line 352 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_pdo_communication_parameter Linux_slave_obj1800
    -
    -
    - -

    -Initial value:

     
    -                      { 2, 
    -                        0x0, 
    -                        253 
    -                      }
    -
    -

    -Definition at line 376 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_pdo_communication_parameter Linux_slave_obj1801
    -
    -
    - -

    -Initial value:

     
    -                      { 2, 
    -                        0x0, 
    -                        253 
    -                      }
    -
    -

    -Definition at line 389 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    s_pdo_communication_parameter Linux_slave_obj1802
    -
    -
    - -

    -Initial value:

     
    -                      { 2, 
    -                        0x0, 
    -                        253 
    -                      }
    -
    -

    -Definition at line 402 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1A00_cnt = 0
    -
    -
    - -

    - -

    -Definition at line 415 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1A00_mappedVar[]
    -
    -
    - -

    -Initial value:

     { 
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000
    -                      }
    -
    -

    -Definition at line 416 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1A01_cnt = 0
    -
    -
    - -

    - -

    -Definition at line 440 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1A01_mappedVar[]
    -
    -
    - -

    -Initial value:

     { 
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000
    -                      }
    -
    -

    -Definition at line 441 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 Linux_slave_obj1A02_cnt = 0
    -
    -
    - -

    - -

    -Definition at line 465 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 Linux_slave_obj1A02_mappedVar[]
    -
    -
    - -

    -Initial value:

     { 
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000,
    -                        0x00000000
    -                      }
    -
    -

    -Definition at line 466 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    const indextable Linux_slave_objdict[]
    -
    -
    - -

    - -

    -Definition at line 522 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 minutes = 0
    -
    -
    - -

    - -

    -Definition at line 40 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 seconds = 0
    -
    -
    - -

    - -

    -Definition at line 39 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 strTest[10] = 0
    -
    -
    - -

    - -

    -Definition at line 45 of file example_objdict.c. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/example__objdict_8c__incl.dot --- a/doc/doxygen/html/example__objdict_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stddef.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canfestival/applicfg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canfestival/def.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="canfestival/can.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="canfestival/objdictdef.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="canfestival/pdo.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="canfestival/sdo.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="canfestival/sync.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="canfestival/lifegrd.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="canfestival/nmtSlave.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/example__objdict_8c__incl.md5 --- a/doc/doxygen/html/example__objdict_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -bcc37ea66ee80154a4e310b3038afef3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/example__objdict_8h-source.html --- a/doc/doxygen/html/example__objdict_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 extern UNS8 seconds;            // Mapped at index 0x2000, subindex 0x01
    -00023 extern UNS8 minutes;            // Mapped at index 0x2000, subindex 0x02
    -00024 extern UNS8 hours;              // Mapped at index 0x2000, subindex 0x03
    -00025 extern UNS8 day;                // Mapped at index 0x2000, subindex 0x04
    -00026 extern UNS32 canopenErrNB;              // Mapped at index 0x6000, subindex 0x00
    -00027 extern UNS32 canopenErrVAL;             // Mapped at index 0x6001, subindex 0x00
    -00028 extern UNS8 strTest[10];                // Mapped at index 0x6002, subindex 0x00
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/example__objdict_8h.html --- a/doc/doxygen/html/example__objdict_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,164 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/examples/example_objdict.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - -

    Variables

    UNS8 seconds
    UNS8 minutes
    UNS8 hours
    UNS8 day
    UNS32 canopenErrNB
    UNS32 canopenErrVAL
    UNS8 strTest [10]
    -


    Variable Documentation

    - -
    -
    - - - - -
    UNS32 canopenErrNB
    -
    -
    - -

    - -

    -Definition at line 43 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS32 canopenErrVAL
    -
    -
    - -

    - -

    -Definition at line 44 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 day
    -
    -
    - -

    - -

    -Definition at line 42 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 hours
    -
    -
    - -

    - -

    -Definition at line 41 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 minutes
    -
    -
    - -

    - -

    -Definition at line 40 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 seconds
    -
    -
    - -

    - -

    -Definition at line 39 of file example_objdict.c. -

    -

    - -

    -
    - - - - -
    UNS8 strTest[10]
    -
    -
    - -

    - -

    -Definition at line 45 of file example_objdict.c. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/exit_8h-source.html --- a/doc/doxygen/html/exit_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/exit.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/exit.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 /* exit.h - 32K Board specific parameters
    -00024    Copyright (C) 2002 Free Software Foundation, Inc.
    -00025    Written by Stephane Carrez (stcarrez@nerim.fr)       
    -00026 
    -00027 This file is free software; you can redistribute it and/or modify it
    -00028 under the terms of the GNU General Public License as published by the
    -00029 Free Software Foundation; either version 2, or (at your option) any
    -00030 later version.
    -00031 
    -00032 In addition to the permissions in the GNU General Public License, the
    -00033 Free Software Foundation gives you unlimited permission to link the
    -00034 compiled version of this file with other programs, and to distribute
    -00035 those programs without any restriction coming from the use of this
    -00036 file.  (The General Public License restrictions do apply in other
    -00037 respects; for example, they cover modification of the file, and
    -00038 distribution when not linked into another program.)
    -00039 
    -00040 This file is distributed in the hope that it will be useful, but
    -00041 WITHOUT ANY WARRANTY; without even the implied warranty of
    -00042 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00043 General Public License for more details.
    -00044 
    -00045 You should have received a copy of the GNU General Public License
    -00046 along with this program; see the file COPYING.  If not, write to
    -00047 the Free Software Foundation, 59 Temple Place - Suite 330,
    -00048 Boston, MA 02111-1307, USA.  */
    -00049 
    -00050 #ifndef _M68HC11_ARCH_32K_EXIT_H
    -00051 #define _M68HC11_ARCH_32K_EXIT_H
    -00052 
    -00053 extern void _exit (short status) __attribute__((noreturn));
    -00054 
    -00055 /* For the simulator, the wai stops everything and exits with the
    -00056    error code stored in register d.
    -00057 
    -00058    For a real 68HC11, enable interrupts and wait forever.  */
    -00059 extern inline void
    -00060 _exit (short status)
    -00061 {
    -00062   /* Use 'd' constraint to force the status to be in the D
    -00063      register before execution of the asm.  */
    -00064   while (1)
    -00065     {
    -00066       __asm__ __volatile__ ("cli\n"
    -00067                             "wai" : : "d"(status));
    -00068     }
    -00069 }
    -00070 
    -00071 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/exit_8h.html --- a/doc/doxygen/html/exit_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/exit.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/exit.h File Reference

    -

    -Go to the source code of this file. - - - - -

    Functions

    void _exit (short status) __attribute__((noreturn))
    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    void _exit (short  status  )  [inline]
    -
    -
    - -

    - -

    -Definition at line 60 of file exit.h. -

    -References __asm__(). -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/exit_8h_584550ef7e16ebfa0823064d45816b8e_cgraph.dot --- a/doc/doxygen/html/exit_8h_584550ef7e16ebfa0823064d45816b8e_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="_exit",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="__asm__",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$regs_8h.html#b1b104e72affb247e036289d0fc18ac7"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/exit_8h_584550ef7e16ebfa0823064d45816b8e_cgraph.md5 --- a/doc/doxygen/html/exit_8h_584550ef7e16ebfa0823064d45816b8e_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -b1288b3be9863aacbe94b2fe85e194c7 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/files.html --- a/doc/doxygen/html/files.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/files.html Tue Jun 05 18:43:21 2007 +0200 @@ -16,7 +16,7 @@
  • Globals
  • CanFestival File List

    Here is a list of all files with brief descriptions: - + @@ -28,7 +28,7 @@
    /home/epimerde/documents/tc11/CanFestival-3/src/dcf.c [code]
    /home/epimerde/documents/tc11/CanFestival-3/src/dcf.c [code]EXEMPLE OF SOMMARY
    /home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c [code]
    /home/epimerde/documents/tc11/CanFestival-3/src/nmtMaster.c [code]
    /home/epimerde/documents/tc11/CanFestival-3/src/nmtSlave.c [code]
    /home/epimerde/documents/tc11/CanFestival-3/src/timer.c [code]
    /home/epimerde/documents/tc11/CanFestival-3/src/win32/resource.h [code]
    -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions.html --- a/doc/doxygen/html/functions.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - _ -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x61.html --- a/doc/doxygen/html/functions_0x61.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - a -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x62.html --- a/doc/doxygen/html/functions_0x62.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - b -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x63.html --- a/doc/doxygen/html/functions_0x63.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - c -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x64.html --- a/doc/doxygen/html/functions_0x64.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - d -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x65.html --- a/doc/doxygen/html/functions_0x65.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - e -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x66.html --- a/doc/doxygen/html/functions_0x66.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - f -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x67.html --- a/doc/doxygen/html/functions_0x67.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,252 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - g -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x68.html --- a/doc/doxygen/html/functions_0x68.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - h -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x69.html --- a/doc/doxygen/html/functions_0x69.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - i -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x6c.html --- a/doc/doxygen/html/functions_0x6c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,104 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - l -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x6d.html --- a/doc/doxygen/html/functions_0x6d.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - m -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x6e.html --- a/doc/doxygen/html/functions_0x6e.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - n -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x6f.html --- a/doc/doxygen/html/functions_0x6f.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,194 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - o -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x70.html --- a/doc/doxygen/html/functions_0x70.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - p -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x71.html --- a/doc/doxygen/html/functions_0x71.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - q -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x72.html --- a/doc/doxygen/html/functions_0x72.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - r -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x73.html --- a/doc/doxygen/html/functions_0x73.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,196 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - s -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x74.html --- a/doc/doxygen/html/functions_0x74.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - t -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x75.html --- a/doc/doxygen/html/functions_0x75.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - u -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x76.html --- a/doc/doxygen/html/functions_0x76.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - v -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x77.html --- a/doc/doxygen/html/functions_0x77.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - w -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_0x7e.html --- a/doc/doxygen/html/functions_0x7e.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all struct and union fields with links to the structures/unions they belong to: -

    -

    - ~ -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func.html --- a/doc/doxygen/html/functions_func.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,141 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - _ -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x61.html --- a/doc/doxygen/html/functions_func_0x61.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - a -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x62.html --- a/doc/doxygen/html/functions_func_0x62.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - b -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x63.html --- a/doc/doxygen/html/functions_func_0x63.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - c -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x64.html --- a/doc/doxygen/html/functions_func_0x64.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - d -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x65.html --- a/doc/doxygen/html/functions_func_0x65.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - e -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x67.html --- a/doc/doxygen/html/functions_func_0x67.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,248 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - g -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x68.html --- a/doc/doxygen/html/functions_func_0x68.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - h -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x69.html --- a/doc/doxygen/html/functions_func_0x69.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - i -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x6c.html --- a/doc/doxygen/html/functions_func_0x6c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - l -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x6d.html --- a/doc/doxygen/html/functions_func_0x6d.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - m -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x6e.html --- a/doc/doxygen/html/functions_func_0x6e.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - n -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x6f.html --- a/doc/doxygen/html/functions_func_0x6f.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,182 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - o -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x70.html --- a/doc/doxygen/html/functions_func_0x70.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - p -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x72.html --- a/doc/doxygen/html/functions_func_0x72.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - r -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x73.html --- a/doc/doxygen/html/functions_func_0x73.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - s -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x74.html --- a/doc/doxygen/html/functions_func_0x74.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - t -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x75.html --- a/doc/doxygen/html/functions_func_0x75.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - u -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_func_0x7e.html --- a/doc/doxygen/html/functions_func_0x7e.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ - - -CanFestival: Data Fields - Functions - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - ~ -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars.html --- a/doc/doxygen/html/functions_vars.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - _ -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x61.html --- a/doc/doxygen/html/functions_vars_0x61.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - a -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x62.html --- a/doc/doxygen/html/functions_vars_0x62.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - b -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x63.html --- a/doc/doxygen/html/functions_vars_0x63.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - c -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x64.html --- a/doc/doxygen/html/functions_vars_0x64.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - d -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x65.html --- a/doc/doxygen/html/functions_vars_0x65.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - e -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x66.html --- a/doc/doxygen/html/functions_vars_0x66.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - f -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x68.html --- a/doc/doxygen/html/functions_vars_0x68.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - h -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x69.html --- a/doc/doxygen/html/functions_vars_0x69.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - i -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x6c.html --- a/doc/doxygen/html/functions_vars_0x6c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - l -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x6d.html --- a/doc/doxygen/html/functions_vars_0x6d.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - m -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x6e.html --- a/doc/doxygen/html/functions_vars_0x6e.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - n -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x6f.html --- a/doc/doxygen/html/functions_vars_0x6f.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - o -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x70.html --- a/doc/doxygen/html/functions_vars_0x70.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - p -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x71.html --- a/doc/doxygen/html/functions_vars_0x71.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - q -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x72.html --- a/doc/doxygen/html/functions_vars_0x72.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - r -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x73.html --- a/doc/doxygen/html/functions_vars_0x73.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,102 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - s -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x74.html --- a/doc/doxygen/html/functions_vars_0x74.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - t -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x75.html --- a/doc/doxygen/html/functions_vars_0x75.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - u -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x76.html --- a/doc/doxygen/html/functions_vars_0x76.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - v -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/functions_vars_0x77.html --- a/doc/doxygen/html/functions_vars_0x77.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ - - -CanFestival: Data Fields - Variables - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - w -

    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/gen__cfile_8py-source.html --- a/doc/doxygen/html/gen__cfile_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,518 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/gen_cfile.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/gen_cfile.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 from node import *
    -00025 from types import *
    -00026 
    -00027 import re, os
    -00028 
    -00029 word_model = re.compile('([a-zA-Z_0-9]*)')
    -00030 type_model = re.compile('([\_A-Z]*)([0-9]*)')
    -00031 range_model = re.compile('([\_A-Z]*)([0-9]*)\[([\-0-9]*)-([\-0-9]*)\]')
    -00032 
    -00033 categories = [("SDO_SVR", 0x1200, 0x127F), ("SDO_CLT", 0x1280, 0x12FF),
    -00034               ("PDO_RCV", 0x1400, 0x15FF), ("PDO_RCV_MAP", 0x1600, 0x17FF),
    -00035               ("PDO_TRS", 0x1800, 0x19FF), ("PDO_TRS_MAP", 0x1A00, 0x1BFF)]
    -00036 index_categories = ["firstIndex", "lastIndex"]
    -00037 
    -00038 generated_tag = """\n/* File generated by gen_cfile.py. Should not be modified. */\n"""
    -00039 
    -00040 internal_types = {}
    -00041 
    -00042 # Format a string for making a C++ variable
    -00043 def FormatName(name):
    -00044     wordlist = [word for word in word_model.findall(name) if word != '']
    -00045     result = ''
    -00046     sep = ''
    -00047     for word in wordlist:
    -00048         result += "%s%s"%(sep,word)
    -00049         sep = '_'
    -00050     return result
    -00051 
    -00052 # Extract the informations from a given type name
    -00053 def GetValidTypeInfos(typename):
    -00054     if typename in internal_types:
    -00055         return internal_types[typename]
    -00056     else:
    -00057         result = type_model.match(typename)
    -00058         if result:
    -00059             values = result.groups()
    -00060             if values[0] == "UNSIGNED" and int(values[1]) in [i * 8 for i in xrange(1, 9)]:
    -00061                 typeinfos = ("UNS%s"%values[1], "", "uint%s"%values[1])
    -00062             elif values[0] == "INTEGER" and int(values[1]) in [i * 8 for i in xrange(1, 9)]:
    -00063                 typeinfos = ("INTEGER%s"%values[1], "", "int%s"%values[1])
    -00064             elif values[0] == "REAL" and int(values[1]) in (32, 64):
    -00065                 typeinfos = ("%s%s"%(values[0], values[1]), "", "real%s"%values[1])
    -00066             elif values[0] == "VISIBLE_STRING":
    -00067                 if values[1] == "":
    -00068                     typeinfos = ("UNS8", "[10]", "visible_string")
    -00069                 else:
    -00070                     typeinfos = ("UNS8", "[%s]"%values[1], "visible_string")
    -00071             elif values[0] == "DOMAIN":
    -00072                 typeinfos = ("UNS8*", "", "domain")
    -00073             elif values[0] == "BOOLEAN":
    -00074                 typeinfos = ("UNS8", "", "boolean")
    -00075             else:
    -00076                 raise ValueError, """!!! %s isn't a valid type for CanFestival."""%typename
    -00077             internal_types[typename] = typeinfos
    -00078         else:
    -00079             raise ValueError, """!!! %s isn't a valid type for CanFestival."""%typename
    -00080     return typeinfos
    -00081 
    -00082 def WriteFile(filepath, content):
    -00083     cfile = open(filepath,"w")
    -00084     cfile.write(content)
    -00085     cfile.close()
    -00086 
    -00087 def GenerateFileContent(Manager, headerfilepath):
    -00088     global type
    -00089     global internal_types
    -00090     texts = {}
    -00091     texts["maxPDOtransmit"] = 0
    -00092     texts["NodeName"], texts["NodeID"], texts["NodeType"], texts["Description"] = Manager.GetCurrentNodeInfos()
    -00093     texts["iam_a_slave"] = 0
    -00094     if (texts["NodeType"] == "slave"):
    -00095         texts["iam_a_slave"] = 1
    -00096     
    -00097     # Compiling lists of indexes
    -00098     rangelist = [idx for name,idx in Manager.GetCurrentValidIndexes(0, 0x260)]
    -00099     listIndex = [idx for name,idx in Manager.GetCurrentValidIndexes(0x1000, 0xFFFF)]
    -00100     communicationlist = [idx for name,idx in Manager.GetCurrentValidIndexes(0x1000, 0x11FF)]
    -00101     sdolist = [idx for name,idx in Manager.GetCurrentValidIndexes(0x1200, 0x12FF)]
    -00102     pdolist = [idx for name,idx in Manager.GetCurrentValidIndexes(0x1400, 0x1BFF)]
    -00103     variablelist = [idx for name,idx in Manager.GetCurrentValidIndexes(0x2000, 0xBFFF)]
    -00104 
    -00105 #-------------------------------------------------------------------------------
    -00106 #                       Declaration of the value range types
    -00107 #-------------------------------------------------------------------------------    
    -00108     
    -00109     valueRangeContent = ""
    -00110     strDefine = ""
    -00111     strSwitch = ""
    -00112     num = 0
    -00113     for index in rangelist:
    -00114         rangename = Manager.GetEntryName(index)
    -00115         result = range_model.match(rangename)
    -00116         if result:
    -00117             num += 1
    -00118             typeindex = Manager.GetCurrentEntry(index, 1)
    -00119             typename = Manager.GetTypeName(typeindex)
    -00120             typeinfos = GetValidTypeInfos(typename)
    -00121             internal_types[rangename] = (typeinfos[0], typeinfos[1], "valueRange_%d"%num)
    -00122             minvalue = str(Manager.GetCurrentEntry(index, 2))
    -00123             maxvalue = str(Manager.GetCurrentEntry(index, 3))
    -00124             strDefine += "\n#define valueRange_%d 0x%02X /* Type %s, %s < value < %s */"%(num,index,typeinfos[0],minvalue,maxvalue)
    -00125             strSwitch += """    case valueRange_%d:
    -00126       if (*(%s*)Value < (%s)%s) return OD_VALUE_TOO_LOW;
    -00127       if (*(%s*)Value > (%s)%s) return OD_VALUE_TOO_HIGH;
    -00128       break;\n"""%(num,typeinfos[0],typeinfos[0],minvalue,typeinfos[0],typeinfos[0],maxvalue)
    -00129 
    -00130     valueRangeContent += strDefine
    -00131     valueRangeContent += "\nUNS32 %(NodeName)s_valueRangeTest (UNS8 typeValue, void * value)\n{"%texts
    -00132     valueRangeContent += "\n  switch (typeValue) {\n"
    -00133     valueRangeContent += strSwitch
    -00134     valueRangeContent += "  }\n  return 0;\n}\n"
    -00135 
    -00136 #-------------------------------------------------------------------------------
    -00137 #            Creation of the mapped variables and object dictionary
    -00138 #-------------------------------------------------------------------------------
    -00139 
    -00140     mappedVariableContent = ""
    -00141     strDeclareHeader = ""
    -00142     strDeclareCallback = ""
    -00143     indexContents = {}
    -00144     indexCallbacks = {}
    -00145     for index in listIndex:
    -00146         texts["index"] = index
    -00147         strIndex = ""
    -00148         entry_infos = Manager.GetEntryInfos(index)
    -00149         texts["EntryName"] = entry_infos["name"]
    -00150         values = Manager.GetCurrentEntry(index)
    -00151         callbacks = Manager.HasCurrentEntryCallbacks(index)
    -00152         if index in variablelist:
    -00153             strIndex += "\n/* index 0x%(index)04X :   Mapped variable %(EntryName)s */\n"%texts
    -00154         else:
    -00155             strIndex += "\n/* index 0x%(index)04X :   %(EntryName)s. */\n"%texts
    -00156         
    -00157         # Entry type is VAR
    -00158         if type(values) != ListType:
    -00159             subentry_infos = Manager.GetSubentryInfos(index, 0)
    -00160             typename = Manager.GetTypeName(subentry_infos["type"])
    -00161             typeinfos = GetValidTypeInfos(typename)
    -00162             texts["subIndexType"] = typeinfos[0]
    -00163             texts["suffixe"] = typeinfos[1]
    -00164             if typeinfos[2] == "visible_string":
    -00165                 texts["value"] = "\"%s\""%values
    -00166                 texts["comment"] = ""
    -00167             else:
    -00168                 texts["value"] = "0x%X"%values
    -00169                 texts["comment"] = "\t/* %s */"%str(values)
    -00170             if index in variablelist:
    -00171                 texts["name"] = FormatName(subentry_infos["name"])
    -00172                 strDeclareHeader += "extern %(subIndexType)s %(name)s%(suffixe)s;\t\t/* Mapped at index 0x%(index)04X, subindex 0x00*/\n"%texts
    -00173                 if callbacks:
    -00174                     strDeclareHeader += "extern ODCallback_t %(name)s_callbacks[];\t\t/* Callbacks of index0x%(index)04X */\n"%texts
    -00175                 mappedVariableContent += "%(subIndexType)s %(name)s%(suffixe)s = %(value)s;\t\t/* Mapped at index 0x%(index)04X, subindex 0x00 */\n"%texts
    -00176             else:
    -00177                 strIndex += "                    %(subIndexType)s %(NodeName)s_obj%(index)04X%(suffixe)s = %(value)s;%(comment)s\n"%texts
    -00178             values = [values]
    -00179         else:
    -00180             subentry_infos = Manager.GetSubentryInfos(index, 0)
    -00181             typename = Manager.GetTypeName(subentry_infos["type"])
    -00182             typeinfos = GetValidTypeInfos(typename)
    -00183             texts["value"] = values[0]
    -00184             texts["subIndexType"] = typeinfos[0]
    -00185             strIndex += "                    %(subIndexType)s %(NodeName)s_highestSubIndex_obj%(index)04X = %(value)d; /* number of subindex - 1*/\n"%texts
    -00186             
    -00187             # Entry type is RECORD
    -00188             if entry_infos["struct"] & OD_IdenticalSubindexes:
    -00189                 subentry_infos = Manager.GetSubentryInfos(index, 1)
    -00190                 typename = Manager.GetTypeName(subentry_infos["type"])
    -00191                 typeinfos = GetValidTypeInfos(typename)
    -00192                 texts["subIndexType"] = typeinfos[0]
    -00193                 texts["suffixe"] = typeinfos[1]
    -00194                 texts["length"] = values[0]
    -00195                 if index in variablelist:
    -00196                     texts["name"] = FormatName(entry_infos["name"])
    -00197                     strDeclareHeader += "extern %(subIndexType)s %(name)s[%(length)d]%(suffixe)s;\t\t/* Mapped at index 0x%(index)04X, subindex 0x01 - 0x%(length)02X */\n"%texts
    -00198                     if callbacks:
    -00199                         strDeclareHeader += "extern ODCallback_t %(name)s_callbacks[];\t\t/* Callbacks of index0x%(index)04X */\n"%texts
    -00200                     mappedVariableContent += "%(subIndexType)s %(name)s[] =\t\t/* Mapped at index 0x%(index)04X, subindex 0x01 - 0x%(length)02X */\n  {\n"%texts
    -00201                     for subIndex, value in enumerate(values):
    -00202                         sep = ","
    -00203                         comment = ""
    -00204                         if subIndex > 0:
    -00205                             if subIndex == len(values)-1:
    -00206                                 sep = ""
    -00207                             if typeinfos[2] == "visible_string":
    -00208                                 value = "\"%s\""%value
    -00209                             else:
    -00210                                 comment = "\t/* %s */"%str(value)
    -00211                                 value = "0x%X"%value
    -00212                             mappedVariableContent += "    %s%s%s\n"%(value, sep, comment)
    -00213                     mappedVariableContent += "  };\n"
    -00214                 else:
    -00215                     strIndex += "                    %(subIndexType)s %(NodeName)s_obj%(index)04X[] = \n                    {\n"%texts
    -00216                     for subIndex, value in enumerate(values):
    -00217                         sep = ","
    -00218                         comment = ""
    -00219                         if subIndex > 0:
    -00220                             if subIndex == len(values)-1:
    -00221                                 sep = ""
    -00222                             if typeinfos[2] == "visible_string":
    -00223                                 value = "\"%s\""%value
    -00224                             elif typeinfos[2] == "domain":
    -00225                                 value = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value])
    -00226                             else:
    -00227                                 comment = "\t/* %s */"%str(value)
    -00228                                 value = "0x%X"%value
    -00229                             strIndex += "                      %s%s%s\n"%(value, sep, comment)
    -00230                     strIndex += "                    };\n"
    -00231             else:
    -00232                 
    -00233                 texts["parent"] = FormatName(entry_infos["name"])
    -00234                 # Entry type is ARRAY
    -00235                 for subIndex, value in enumerate(values):
    -00236                     texts["subIndex"] = subIndex
    -00237                     if subIndex > 0:
    -00238                         subentry_infos = Manager.GetSubentryInfos(index, subIndex)
    -00239                         typename = Manager.GetTypeName(subentry_infos["type"])
    -00240                         typeinfos = GetValidTypeInfos(typename)
    -00241                         texts["subIndexType"] = typeinfos[0]
    -00242                         texts["suffixe"] = typeinfos[1]
    -00243                         if typeinfos[2] == "visible_string":
    -00244                             texts["value"] = "\"%s\""%value
    -00245                             texts["comment"] = ""
    -00246                         else:
    -00247                             texts["value"] = "0x%X"%value
    -00248                             texts["comment"] = "\t/* %s */"%str(value)
    -00249                         texts["name"] = FormatName(subentry_infos["name"])
    -00250                         if index in variablelist:
    -00251                             strDeclareHeader += "extern %(subIndexType)s %(parent)s_%(name)s%(suffixe)s;\t\t/* Mapped at index 0x%(index)04X, subindex 0x%(subIndex)02X */\n"%texts
    -00252                             mappedVariableContent += "%(subIndexType)s %(parent)s_%(name)s%(suffixe)s = %(value)s;\t\t/* Mapped at index 0x%(index)04X, subindex 0x%(subIndex)02X */\n"%texts
    -00253                         else:
    -00254                             strIndex += "                    %(subIndexType)s %(NodeName)s_obj%(index)04X_%(name)s%(suffixe)s = %(value)s;%(comment)s\n"%texts
    -00255                 if callbacks:
    -00256                     strDeclareHeader += "extern ODCallback_t %(parent)s_callbacks[];\t\t/* Callbacks of index0x%(index)04X */\n"%texts
    -00257         
    -00258         # Generating Dictionary C++ entry
    -00259         if callbacks:
    -00260             if index in variablelist:
    -00261                 name = FormatName(entry_infos["name"])
    -00262             else:
    -00263                 name = "%(NodeName)s_Index%(index)04X"%texts
    -00264             strIndex += "                    ODCallback_t %s_callbacks[] = \n                     {\n"%name
    -00265             for subIndex in xrange(len(values)):
    -00266                 strIndex += "                       NULL,\n"
    -00267             strIndex += "                     };\n"
    -00268             indexCallbacks[index] = "*callbacks = %s_callbacks; "%name
    -00269         else:
    -00270             indexCallbacks[index] = ""
    -00271         strIndex += "                    subindex %(NodeName)s_Index%(index)04X[] = \n                     {\n"%texts
    -00272         for subIndex in xrange(len(values)):
    -00273             subentry_infos = Manager.GetSubentryInfos(index, subIndex)
    -00274             if subIndex < len(values) - 1:
    -00275                 sep = ","
    -00276             else:
    -00277                 sep = ""
    -00278             typename = Manager.GetTypeName(subentry_infos["type"])
    -00279             typeinfos = GetValidTypeInfos(typename)
    -00280             if subIndex == 0:
    -00281                 if entry_infos["struct"] & OD_MultipleSubindexes:
    -00282                     name = "%(NodeName)s_highestSubIndex_obj%(index)04X"%texts
    -00283                 elif index in variablelist:
    -00284                     name = FormatName(subentry_infos["name"])
    -00285                 else:
    -00286                     name = FormatName("%s_obj%04X"%(texts["NodeName"], texts["index"]))
    -00287             elif entry_infos["struct"] & OD_IdenticalSubindexes:
    -00288                 if index in variablelist:
    -00289                     name = "%s[%d]"%(FormatName(entry_infos["name"]), subIndex - 1)
    -00290                 else:
    -00291                     name = "%s_obj%04X[%d]"%(texts["NodeName"], texts["index"], subIndex - 1)
    -00292             else:
    -00293                 if index in variablelist:
    -00294                     name = FormatName("%s_%s"%(entry_infos["name"],subentry_infos["name"]))
    -00295                 else:
    -00296                     name = "%s_obj%04X_%s"%(texts["NodeName"], texts["index"], FormatName(subentry_infos["name"]))
    -00297             if typeinfos[2] in ["visible_string", "domain"]:
    -00298                 sizeof = str(len(values[subIndex]))
    -00299             else:
    -00300                 sizeof = "sizeof (%s)"%typeinfos[0]
    -00301             params = Manager.GetCurrentParamsEntry(index, subIndex)
    -00302             if params["save"]:
    -00303                 save = "|TO_BE_SAVE"
    -00304             else:
    -00305                 save = ""
    -00306             strIndex += "                       { %s%s, %s, %s, (void*)&%s }%s\n"%(subentry_infos["access"].upper(),save,typeinfos[2],sizeof,name,sep)
    -00307         strIndex += "                     };\n"
    -00308         indexContents[index] = strIndex
    -00309 
    -00310 #-------------------------------------------------------------------------------
    -00311 #                     Declaration of Particular Parameters
    -00312 #-------------------------------------------------------------------------------
    -00313 
    -00314     if 0x1006 not in communicationlist:
    -00315         entry_infos = Manager.GetEntryInfos(0x1006)
    -00316         texts["EntryName"] = entry_infos["name"]
    -00317         indexContents[0x1006] = """\n/* index 0x1006 :   %(EntryName)s */
    -00318                     UNS32 %(NodeName)s_obj1006 = 0x0;   /* 0 */
    -00319 """%texts
    -00320 
    -00321     if 0x1016 in communicationlist:
    -00322         texts["nombre"] = Manager.GetCurrentEntry(0x1016, 0)
    -00323     else:
    -00324         texts["nombre"] = 0
    -00325         entry_infos = Manager.GetEntryInfos(0x1016)
    -00326         texts["EntryName"] = entry_infos["name"]
    -00327         indexContents[0x1016] = """\n/* index 0x1016 :   %(EntryName)s */
    -00328                     UNS8 %(NodeName)s_highestSubIndex_obj1016 = 0;
    -00329                     UNS32 %(NodeName)s_obj1016[]={0};
    -00330 """%texts
    -00331     if texts["nombre"] > 0:
    -00332         strTimers = "TIMER_HANDLE %(NodeName)s_heartBeatTimers[%(nombre)d] = {TIMER_NONE,};\n"%texts
    -00333     else:
    -00334         strTimers = "TIMER_HANDLE %(NodeName)s_heartBeatTimers[1];\n"%texts
    -00335 
    -00336     if 0x1017 not in communicationlist:
    -00337         entry_infos = Manager.GetEntryInfos(0x1017)
    -00338         texts["EntryName"] = entry_infos["name"]
    -00339         indexContents[0x1017] = """\n/* index 0x1017 :   %(EntryName)s */ 
    -00340                     UNS16 %(NodeName)s_obj1017 = 0x0;   /* 0 */
    -00341 """%texts
    -00342 
    -00343 #-------------------------------------------------------------------------------
    -00344 #               Declaration of navigation in the Object Dictionary
    -00345 #-------------------------------------------------------------------------------
    -00346 
    -00347     strDeclareIndex = ""
    -00348     strDeclareSwitch = ""
    -00349     strQuickIndex = ""
    -00350     quick_index = {}
    -00351     for index_cat in index_categories:
    -00352         quick_index[index_cat] = {}
    -00353         for cat, idx_min, idx_max in categories:
    -00354             quick_index[index_cat][cat] = 0
    -00355     maxPDOtransmit = 0
    -00356     for i, index in enumerate(listIndex):
    -00357         texts["index"] = index
    -00358         strDeclareIndex += "  { (subindex*)%(NodeName)s_Index%(index)04X,sizeof(%(NodeName)s_Index%(index)04X)/sizeof(%(NodeName)s_Index%(index)04X[0]), 0x%(index)04X},\n"%texts
    -00359         strDeclareSwitch += "           case 0x%04X: i = %d;%sbreak;\n"%(index, i, indexCallbacks[index])
    -00360         for cat, idx_min, idx_max in categories:
    -00361             if idx_min <= index <= idx_max:
    -00362                 quick_index["lastIndex"][cat] = i
    -00363                 if quick_index["firstIndex"][cat] == 0:
    -00364                     quick_index["firstIndex"][cat] = i
    -00365                 if cat == "PDO_TRS":
    -00366                     maxPDOtransmit += 1
    -00367     texts["maxPDOtransmit"] = max(1, maxPDOtransmit)
    -00368     for index_cat in index_categories:
    -00369         strQuickIndex += "\nquick_index %s_%s = {\n"%(texts["NodeName"], index_cat)
    -00370         sep = ","
    -00371         for i, (cat, idx_min, idx_max) in enumerate(categories):
    -00372             if i == len(categories) - 1:
    -00373                 sep = ""
    -00374             strQuickIndex += "  %d%s /* %s */\n"%(quick_index[index_cat][cat],sep,cat)
    -00375         strQuickIndex += "};\n"
    -00376 
    -00377 #-------------------------------------------------------------------------------
    -00378 #                            Write File Content
    -00379 #-------------------------------------------------------------------------------
    -00380 
    -00381     fileContent = generated_tag + """
    -00382 #include "%s"
    -00383 """%(headerfilepath)
    -00384 
    -00385     fileContent += """
    -00386 /**************************************************************************/
    -00387 /* Declaration of the mapped variables                                    */
    -00388 /**************************************************************************/
    -00389 """ + mappedVariableContent
    -00390 
    -00391     fileContent += """
    -00392 /**************************************************************************/
    -00393 /* Declaration of the value range types                                   */
    -00394 /**************************************************************************/
    -00395 """ + valueRangeContent
    -00396 
    -00397     fileContent += """
    -00398 /**************************************************************************/
    -00399 /* The node id                                                            */
    -00400 /**************************************************************************/
    -00401 /* node_id default value.*/
    -00402 UNS8 %(NodeName)s_bDeviceNodeId = 0x%(NodeID)02X;
    -00403 
    -00404 /**************************************************************************/
    -00405 /* Array of message processing information */
    -00406 
    -00407 const UNS8 %(NodeName)s_iam_a_slave = %(iam_a_slave)d;
    -00408 
    -00409 """%texts
    -00410     fileContent += strTimers
    -00411     
    -00412     fileContent += """
    -00413 /*
    -00414 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    -00415 
    -00416                                OBJECT DICTIONARY
    -00417 
    -00418 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    -00419 */
    -00420 """%texts
    -00421     contentlist = indexContents.keys()
    -00422     contentlist.sort()
    -00423     for index in contentlist:
    -00424         fileContent += indexContents[index]
    -00425 
    -00426     fileContent += """
    -00427 const indextable %(NodeName)s_objdict[] = 
    -00428 {
    -00429 """%texts
    -00430     fileContent += strDeclareIndex
    -00431     fileContent += """};
    -00432 
    -00433 const indextable * %(NodeName)s_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
    -00434 {
    -00435         int i;
    -00436         *callbacks = NULL;
    -00437         switch(wIndex){
    -00438 """%texts
    -00439     fileContent += strDeclareSwitch
    -00440     fileContent += """          default:
    -00441                         *errorCode = OD_NO_SUCH_OBJECT;
    -00442                         return NULL;
    -00443         }
    -00444         *errorCode = OD_SUCCESSFUL;
    -00445         return &%(NodeName)s_objdict[i];
    -00446 }
    -00447 
    -00448 /* To count at which received SYNC a PDO must be sent.
    -00449  * Even if no pdoTransmit are defined, at least one entry is computed
    -00450  * for compilations issues.
    -00451  */
    -00452 UNS8 %(NodeName)s_count_sync[%(maxPDOtransmit)d] = {0,};
    -00453 """%texts
    -00454     fileContent += strQuickIndex
    -00455     fileContent += """
    -00456 UNS16 %(NodeName)s_ObjdictSize = sizeof(%(NodeName)s_objdict)/sizeof(%(NodeName)s_objdict[0]); 
    -00457 
    -00458 CO_Data %(NodeName)s_Data = CANOPEN_NODE_DATA_INITIALIZER(%(NodeName)s);
    -00459 
    -00460 """%texts
    -00461 
    -00462 #-------------------------------------------------------------------------------
    -00463 #                          Write Header File Content
    -00464 #-------------------------------------------------------------------------------
    -00465 
    -00466     HeaderFileContent = generated_tag + """
    -00467 #include "data.h"
    -00468 
    -00469 /* Prototypes of function provided by object dictionnary */
    -00470 UNS32 %(NodeName)s_valueRangeTest (UNS8 typeValue, void * value);
    -00471 const indextable * %(NodeName)s_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks);
    -00472 
    -00473 /* Master node data struct */
    -00474 extern CO_Data %(NodeName)s_Data;
    -00475 
    -00476 """%texts
    -00477     HeaderFileContent += strDeclareHeader
    -00478     
    -00479     return fileContent,HeaderFileContent
    -00480 
    -00481 #-------------------------------------------------------------------------------
    -00482 #                             Main Function
    -00483 #-------------------------------------------------------------------------------
    -00484 
    -00485 def GenerateFile(filepath, manager):
    -00486     try:
    -00487         headerfilepath = os.path.splitext(filepath)[0]+".h"
    -00488         content, header = GenerateFileContent(manager, os.path.split(headerfilepath)[1])
    -00489         WriteFile(filepath, content)
    -00490         WriteFile(headerfilepath, header)
    -00491         return None
    -00492     except ValueError, message:
    -00493         return "Unable to Generate C File\n%s"%message
    -00494 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/gen__cfile_8py.html --- a/doc/doxygen/html/gen__cfile_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/gen_cfile.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/gen_cfile.py File Reference

    -

    -Go to the source code of this file. - - - - - - -

    Namespaces

    namespace  gen_cfile
    namespace  node::*
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals.html --- a/doc/doxygen/html/globals.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/globals.html Tue Jun 05 18:43:21 2007 +0200 @@ -277,7 +277,7 @@
  • writeNetworkDictCallBack() : sdo.c -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x61.html --- a/doc/doxygen/html/globals_0x61.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,186 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - a -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x62.html --- a/doc/doxygen/html/globals_0x62.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - b -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x63.html --- a/doc/doxygen/html/globals_0x63.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1000 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - c -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x64.html --- a/doc/doxygen/html/globals_0x64.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - d -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x65.html --- a/doc/doxygen/html/globals_0x65.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - e -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x66.html --- a/doc/doxygen/html/globals_0x66.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,119 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - f -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x67.html --- a/doc/doxygen/html/globals_0x67.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,142 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - g -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x68.html --- a/doc/doxygen/html/globals_0x68.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - h -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x69.html --- a/doc/doxygen/html/globals_0x69.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,178 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - i -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x6c.html --- a/doc/doxygen/html/globals_0x6c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,238 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - l -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x6d.html --- a/doc/doxygen/html/globals_0x6d.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - m -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x6e.html --- a/doc/doxygen/html/globals_0x6e.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - n -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x6f.html --- a/doc/doxygen/html/globals_0x6f.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - o -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x70.html --- a/doc/doxygen/html/globals_0x70.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,323 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - p -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x71.html --- a/doc/doxygen/html/globals_0x71.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - q -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x72.html --- a/doc/doxygen/html/globals_0x72.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,145 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - r -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x73.html --- a/doc/doxygen/html/globals_0x73.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,377 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - s -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x74.html --- a/doc/doxygen/html/globals_0x74.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,210 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - t -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x75.html --- a/doc/doxygen/html/globals_0x75.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - u -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x76.html --- a/doc/doxygen/html/globals_0x76.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - v -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_0x77.html --- a/doc/doxygen/html/globals_0x77.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to: -

    -

    - w -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs.html --- a/doc/doxygen/html/globals_defs.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/globals_defs.html Tue Jun 05 18:43:21 2007 +0200 @@ -61,7 +61,7 @@
  • StopSDO_TIMER : sdo.c -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x61.html --- a/doc/doxygen/html/globals_defs_0x61.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,177 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - a -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x62.html --- a/doc/doxygen/html/globals_defs_0x62.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - b -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x63.html --- a/doc/doxygen/html/globals_defs_0x63.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,827 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - c -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x64.html --- a/doc/doxygen/html/globals_defs_0x64.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,118 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - d -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x65.html --- a/doc/doxygen/html/globals_defs_0x65.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - e -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x66.html --- a/doc/doxygen/html/globals_defs_0x66.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - f -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x67.html --- a/doc/doxygen/html/globals_defs_0x67.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - g -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x68.html --- a/doc/doxygen/html/globals_defs_0x68.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - h -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x69.html --- a/doc/doxygen/html/globals_defs_0x69.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,148 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - i -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x6d.html --- a/doc/doxygen/html/globals_defs_0x6d.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - m -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x6e.html --- a/doc/doxygen/html/globals_defs_0x6e.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - n -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x6f.html --- a/doc/doxygen/html/globals_defs_0x6f.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - o -

      -
    • octet_string -: objdictdef.h -
    • OD_LENGTH_DATA_INVALID -: def.h -
    • OD_NO_SUCH_OBJECT -: def.h -
    • OD_NO_SUCH_SUBINDEX -: def.h -
    • OD_NOT_MAPPABLE -: def.h -
    • OD_READ_NOT_ALLOWED -: def.h -
    • OD_SUCCESSFUL -: def.h -
    • OD_VALUE_TOO_HIGH -: def.h -
    • OD_VALUE_TOO_LOW -: def.h -
    • OD_WRITE_NOT_ALLOWED -: def.h -
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x70.html --- a/doc/doxygen/html/globals_defs_0x70.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,272 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - p -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x72.html --- a/doc/doxygen/html/globals_defs_0x72.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - r -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x73.html --- a/doc/doxygen/html/globals_defs_0x73.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,240 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - s -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x74.html --- a/doc/doxygen/html/globals_defs_0x74.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - t -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x75.html --- a/doc/doxygen/html/globals_defs_0x75.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,107 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - u -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x76.html --- a/doc/doxygen/html/globals_defs_0x76.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - v -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_defs_0x77.html --- a/doc/doxygen/html/globals_defs_0x77.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - w -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_enum.html --- a/doc/doxygen/html/globals_enum.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -  -

    -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_eval.html --- a/doc/doxygen/html/globals_eval.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -  -

    -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func.html --- a/doc/doxygen/html/globals_func.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/globals_func.html Tue Jun 05 18:43:21 2007 +0200 @@ -232,7 +232,7 @@
  • writeNetworkDictCallBack() : sdo.c -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x61.html --- a/doc/doxygen/html/globals_func_0x61.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - a -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x62.html --- a/doc/doxygen/html/globals_func_0x62.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - b -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x63.html --- a/doc/doxygen/html/globals_func_0x63.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - c -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x64.html --- a/doc/doxygen/html/globals_func_0x64.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - d -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x65.html --- a/doc/doxygen/html/globals_func_0x65.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - e -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x66.html --- a/doc/doxygen/html/globals_func_0x66.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - f -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x67.html --- a/doc/doxygen/html/globals_func_0x67.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - g -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x68.html --- a/doc/doxygen/html/globals_func_0x68.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - h -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x69.html --- a/doc/doxygen/html/globals_func_0x69.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - i -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x6c.html --- a/doc/doxygen/html/globals_func_0x6c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - l -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x6d.html --- a/doc/doxygen/html/globals_func_0x6d.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - m -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x6f.html --- a/doc/doxygen/html/globals_func_0x6f.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - o -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x70.html --- a/doc/doxygen/html/globals_func_0x70.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - p -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x72.html --- a/doc/doxygen/html/globals_func_0x72.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - r -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x73.html --- a/doc/doxygen/html/globals_func_0x73.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - s -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x74.html --- a/doc/doxygen/html/globals_func_0x74.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - t -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x75.html --- a/doc/doxygen/html/globals_func_0x75.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - u -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_func_0x77.html --- a/doc/doxygen/html/globals_func_0x77.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - w -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_type.html --- a/doc/doxygen/html/globals_type.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,155 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - b -

    -

    - c -

    -

    - e -

    -

    - h -

    -

    - i -

    -

    - l -

    -

    - o -

    -

    - p -

    -

    - q -

    -

    - s -

    -

    - t -

    -

    - v -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars.html --- a/doc/doxygen/html/globals_vars.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/globals_vars.html Tue Jun 05 18:43:21 2007 +0200 @@ -35,7 +35,7 @@
  • total_sleep_time : timer.c -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x61.html --- a/doc/doxygen/html/globals_vars_0x61.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - a -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x62.html --- a/doc/doxygen/html/globals_vars_0x62.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - b -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x63.html --- a/doc/doxygen/html/globals_vars_0x63.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,102 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - c -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x64.html --- a/doc/doxygen/html/globals_vars_0x64.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - d -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x65.html --- a/doc/doxygen/html/globals_vars_0x65.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - e -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x66.html --- a/doc/doxygen/html/globals_vars_0x66.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - f -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x67.html --- a/doc/doxygen/html/globals_vars_0x67.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,158 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - g -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x68.html --- a/doc/doxygen/html/globals_vars_0x68.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - h -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x69.html --- a/doc/doxygen/html/globals_vars_0x69.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - i -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x6c.html --- a/doc/doxygen/html/globals_vars_0x6c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,224 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - l -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x6d.html --- a/doc/doxygen/html/globals_vars_0x6d.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - m -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x6e.html --- a/doc/doxygen/html/globals_vars_0x6e.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - n -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x6f.html --- a/doc/doxygen/html/globals_vars_0x6f.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - o -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x70.html --- a/doc/doxygen/html/globals_vars_0x70.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - p -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x71.html --- a/doc/doxygen/html/globals_vars_0x71.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - q -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x72.html --- a/doc/doxygen/html/globals_vars_0x72.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - r -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x73.html --- a/doc/doxygen/html/globals_vars_0x73.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - s -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x74.html --- a/doc/doxygen/html/globals_vars_0x74.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,439 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - t -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x75.html --- a/doc/doxygen/html/globals_vars_0x75.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - u -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x76.html --- a/doc/doxygen/html/globals_vars_0x76.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - v -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/globals_vars_0x77.html --- a/doc/doxygen/html/globals_vars_0x77.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +0,0 @@ - - -CanFestival: Data Fields - - - - - - - -
    - -
    - -

    -  -

    -

    - w -

    -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/graph_legend.html --- a/doc/doxygen/html/graph_legend.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/graph_legend.html Tue Jun 05 18:43:21 2007 +0200 @@ -8,8 +8,6 @@

    Graph Legend

    This page explains how to interpret the graphs that are generated by doxygen.

    @@ -74,7 +72,7 @@

  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • -
    Generated on Mon Jun 4 16:28:52 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/graph_legend.png Binary file doc/doxygen/html/graph_legend.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/hcs12_2applicfg_8h-source.html --- a/doc/doxygen/html/hcs12_2applicfg_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,197 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/applicfg.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/applicfg.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __APPLICFG_HC12__
    -00024 #define __APPLICFG_HC12__
    -00025 
    -00026 #include <string.h>
    -00027 #include <stdio.h>
    -00028 
    -00029 #include <../include/hcs12/asm-m68hc12/portsaccess.h>
    -00030 #include <../include/hcs12/asm-m68hc12/ports_def.h>
    -00031 #include <../include/hcs12/asm-m68hc12/ports.h>
    -00032 #include <../include/hcs12/interrupt.h>
    -00033 
    -00034 
    -00036 // -----------------------------------------------------
    -00037 // Test :
    -00038 // UNS32 v = 0x1234ABCD;
    -00039 // char *data = &v;
    -00040 //
    -00041 // Result for a little_endian architecture :
    -00042 // data[0] = 0xCD;
    -00043 // data[1] = 0xAB;
    -00044 // data[2] = 0x34;
    -00045 // data[3] = 0x12;
    -00046 //
    -00047 // Result for a big_endian architecture :
    -00048 // data[0] = 0x12;
    -00049 // data[1] = 0x34;
    -00050 // data[2] = 0xAB;
    -00051 // data[3] = 0xCD;
    -00052 
    -00053 /* CANOPEN_BIG_ENDIAN now defined in config.h*/
    -00054 #ifndef CANOPEN_BIG_ENDIAN
    -00055 #  define CANOPEN_BIG_ENDIAN 1
    -00056 #endif
    -00057 
    -00058 
    -00059 // Use or not the PLL
    -00060 //#define USE_PLL
    -00061 
    -00062 #ifdef USE_PLL
    -00063 #  define BUS_CLOCK 24 // If the quartz on the board is 16 MHz. If different, change this value
    -00064 #else 
    -00065 #  define BUS_CLOCK 8  // If the quartz on the board is 16 MHz. If different, change this value
    -00066 #endif
    -00067 
    -00069 // Tested : 
    -00070 //   SERIAL_SCI0_BAUD_RATE 9600      BUS_CLOCK 8   Send OK      Receive not tested
    -00071 //   SERIAL_SCI0_BAUD_RATE 19200     BUS_CLOCK 8   Send OK      Receive not tested
    -00072 //   SERIAL_SCI0_BAUD_RATE 38400     BUS_CLOCK 8   Send OK      Receive not tested
    -00073 //   SERIAL_SCI0_BAUD_RATE 57600     BUS_CLOCK 8   Send Failed  Receive not tested
    -00074 //   SERIAL_SCI0_BAUD_RATE 115200    BUS_CLOCK 8   Send Failed  Receive not tested
    -00075 
    -00076 //   SERIAL_SCI0_BAUD_RATE 9600      BUS_CLOCK 24  Send OK      Receive not tested
    -00077 //   SERIAL_SCI0_BAUD_RATE 19200     BUS_CLOCK 24  Send OK      Receive not tested
    -00078 //   SERIAL_SCI0_BAUD_RATE 38400     BUS_CLOCK 24  Send OK but init problems     Receive not tested
    -00079 //   SERIAL_SCI0_BAUD_RATE 57600     BUS_CLOCK 24  Send Failed  Receive not tested
    -00080 //   SERIAL_SCI0_BAUD_RATE 115200    BUS_CLOCK 24  Send Failed  Receive not tested
    -00081 
    -00082 #define SERIAL_SCI0_BAUD_RATE 38400
    -00083 #define SERIAL_SCI1_BAUD_RATE 9600
    -00084 
    -00085 
    -00086 
    -00087 
    -00088 
    -00089 
    -00090 // Several hardware definitions functions
    -00091 // --------------------------------------
    -00092 
    -00093 
    -00095 extern void initSCI_0 (void);
    -00096 
    -00098 extern void initSCI_1 (void);
    -00099 
    -00110 extern char *
    -00111 hex_convert (char *buf, unsigned long value, char lastCar);
    -00112 
    -00115 extern void printSCI_str (char sci, const char * str); 
    -00116 
    -00119 extern void printSCI_nbr (char sci, unsigned long nbr, char lastCar);
    -00120 
    -00123 extern void initPLL (void);
    -00124 
    -00126 extern void initHCS12 (void);
    -00127 
    -00128 // Integers
    -00129 #define INTEGER8 signed char
    -00130 #define INTEGER16 short
    -00131 #define INTEGER24
    -00132 #define INTEGER32 long
    -00133 #define INTEGER40
    -00134 #define INTEGER48
    -00135 #define INTEGER56
    -00136 #define INTEGER64
    -00137  
    -00138 // Unsigned integers
    -00139 #define UNS8   unsigned char
    -00140 #define UNS16  unsigned short
    -00141 #define UNS32  unsigned long
    -00142 #define UNS24
    -00143 #define UNS40
    -00144 #define UNS48
    -00145 #define UNS56
    -00146 #define UNS64 
    -00147 
    -00148 // Whatever your microcontroller, the timer wont work if 
    -00149 // TIMEVAL is not at least on 32 bits
    -00150 #define TIMEVAL UNS32 
    -00151 
    -00152 // The timer of the hcs12 counts from 0000 to 0xFFFF
    -00153 #define TIMEVAL_MAX 0xFFFF
    -00154 
    -00155 // The timer is incrementing every 4 us.
    -00156 #define MS_TO_TIMEVAL(ms) (ms * 250)
    -00157 #define US_TO_TIMEVAL(us) (us>>2)
    -00158 
    -00159 
    -00160 // Reals
    -00161 #define REAL32  float
    -00162 #define REAL64 double
    -00163 
    -00164 #include "can.h"
    -00165 
    -00166 
    -00168 // ---------------------
    -00169 #ifdef DEBUG_ERR_CONSOLE_ON
    -00170 #    define MSG_ERR(num, str, val)            \
    -00171           initSCI_0();                        \
    -00172           printSCI_nbr(SCI0, num, ' ');       \
    -00173           /* large printing on console  */    \
    -00174           printSCI_str(SCI0, str);            \
    -00175           printSCI_nbr(SCI0, val, '\n');      
    -00176 #else
    -00177 #    define MSG_ERR(num, str, val)
    -00178 #endif
    -00179 
    -00181 // ---------------------
    -00182 #ifdef DEBUG_WAR_CONSOLE_ON
    -00183 #    define MSG_WAR(num, str, val)          \
    -00184         initSCI_0();                        \
    -00185         printSCI_nbr(SCI0, num, ' ');       \
    -00186         /* large printing on console  */    \
    -00187         printSCI_str(SCI0, str);            \
    -00188         printSCI_nbr(SCI0, val, '\n');      
    -00189 #else
    -00190 #    define MSG_WAR(num, str, val)
    -00191 #endif
    -00192 
    -00193 
    -00194 #endif
    -00195 
    -00196 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/hcs12_2applicfg_8h.html --- a/doc/doxygen/html/hcs12_2applicfg_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,846 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/applicfg.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/applicfg.h File Reference

    #include <string.h>
    -#include <stdio.h>
    -#include <../include/hcs12/asm-m68hc12/portsaccess.h>
    -#include <../include/hcs12/asm-m68hc12/ports_def.h>
    -#include <../include/hcs12/asm-m68hc12/ports.h>
    -#include <../include/hcs12/interrupt.h>
    -#include "can.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define CANOPEN_BIG_ENDIAN   1
     Define the architecture : little_endian or big_endian.
    #define BUS_CLOCK   8
    #define SERIAL_SCI0_BAUD_RATE   38400
     Configuration of the serials port SCI0 and SCI1.
    #define SERIAL_SCI1_BAUD_RATE   9600
    #define INTEGER8   signed char
    #define INTEGER16   short
    #define INTEGER24
    #define INTEGER32   long
    #define INTEGER40
    #define INTEGER48
    #define INTEGER56
    #define INTEGER64
    #define UNS8   unsigned char
    #define UNS16   unsigned short
    #define UNS32   unsigned long
    #define UNS24
    #define UNS40
    #define UNS48
    #define UNS56
    #define UNS64
    #define TIMEVAL   UNS32
    #define TIMEVAL_MAX   0xFFFF
    #define MS_TO_TIMEVAL(ms)   (ms * 250)
    #define US_TO_TIMEVAL(us)   (us>>2)
    #define REAL32   float
    #define REAL64   double
    #define MSG_ERR(num, str, val)
     Definition of MSG_ERR.
    #define MSG_WAR(num, str, val)
     Definition of MSG_WAR.

    Functions

    void initSCI_0 (void)
     Initialisation of the serial port 0.
    void initSCI_1 (void)
     Initialisation of the serial port 1.
    char * hex_convert (char *buf, unsigned long value, char lastCar)
    void printSCI_str (char sci, const char *str)
    void printSCI_nbr (char sci, unsigned long nbr, char lastCar)
    void initPLL (void)
    void initHCS12 (void)
     Put here all the code to init the HCS12.
    -


    Define Documentation

    - -
    -
    - - - - -
    #define BUS_CLOCK   8
    -
    -
    - -

    - -

    -Definition at line 65 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define CANOPEN_BIG_ENDIAN   1
    -
    -
    - -

    -Define the architecture : little_endian or big_endian. -

    - -

    -Definition at line 55 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER16   short
    -
    -
    - -

    - -

    -Definition at line 130 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER24
    -
    -
    - -

    - -

    -Definition at line 131 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER32   long
    -
    -
    - -

    - -

    -Definition at line 132 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER40
    -
    -
    - -

    - -

    -Definition at line 133 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER48
    -
    -
    - -

    - -

    -Definition at line 134 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER56
    -
    -
    - -

    - -

    -Definition at line 135 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER64
    -
    -
    - -

    - -

    -Definition at line 136 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER8   signed char
    -
    -
    - -

    - -

    -Definition at line 129 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define MS_TO_TIMEVAL (ms   )    (ms * 250)
    -
    -
    - -

    - -

    -Definition at line 156 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define MSG_ERR (num,
    str,
    val   ) 
    -
    -
    - -

    -Definition of MSG_ERR. -

    - -

    -Definition at line 177 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define MSG_WAR (num,
    str,
    val   ) 
    -
    -
    - -

    -Definition of MSG_WAR. -

    - -

    -Definition at line 190 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define REAL32   float
    -
    -
    - -

    - -

    -Definition at line 161 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define REAL64   double
    -
    -
    - -

    - -

    -Definition at line 162 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define SERIAL_SCI0_BAUD_RATE   38400
    -
    -
    - -

    -Configuration of the serials port SCI0 and SCI1. -

    - -

    -Definition at line 82 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define SERIAL_SCI1_BAUD_RATE   9600
    -
    -
    - -

    - -

    -Definition at line 83 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define TIMEVAL   UNS32
    -
    -
    - -

    - -

    -Definition at line 150 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define TIMEVAL_MAX   0xFFFF
    -
    -
    - -

    - -

    -Definition at line 153 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS16   unsigned short
    -
    -
    - -

    - -

    -Definition at line 140 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS24
    -
    -
    - -

    - -

    -Definition at line 142 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS32   unsigned long
    -
    -
    - -

    - -

    -Definition at line 141 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS40
    -
    -
    - -

    - -

    -Definition at line 143 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS48
    -
    -
    - -

    - -

    -Definition at line 144 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS56
    -
    -
    - -

    - -

    -Definition at line 145 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS64
    -
    -
    - -

    - -

    -Definition at line 146 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS8   unsigned char
    -
    -
    - -

    - -

    -Definition at line 139 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define US_TO_TIMEVAL (us   )    (us>>2)
    -
    -
    - -

    - -

    -Definition at line 157 of file applicfg.h. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    char* hex_convert (char *  buf,
    unsigned long  value,
    char  lastCar 
    )
    -
    -
    - -

    -Convert an integer to a string in hexadecimal format If you do not wants to use a lastCar, put lastCar = '' (end of string) ex : value = 0XABCDEF and lastCar = '
    -' buf[0] = '0' buf[1] = 'X' buf[2] = 'A' .... buf[7] = 'F' buf[8] = '
    -' buf[9] = '' -

    -Definition at line 135 of file canOpenDriver.c. -

    -

    - -

    -
    - - - - - - - - - -
    void initHCS12 (void   ) 
    -
    -
    - -

    -Put here all the code to init the HCS12. -

    - -

    -Definition at line 199 of file canOpenDriver.c. -

    -References initPLL(), and MSG_WAR. -

    -

    - -

    -
    - - - - - - - - - -
    void initPLL (void   ) 
    -
    -
    - -

    -to start using the PLL. Bus clock becomes 24 MHz if the quartz on the board is at 16 MHz -

    -Definition at line 188 of file canOpenDriver.c. -

    -References CLKSEL, CRGFLG, IO_PORTS_8, PLLCTL, REFDV, and SYNR. -

    -

    - -

    -
    - - - - - - - - - -
    void initSCI_0 (void   ) 
    -
    -
    - -

    -Initialisation of the serial port 0. -

    - -

    -Definition at line 115 of file canOpenDriver.c. -

    -References BUS_CLOCK, IO_PORTS_16, IO_PORTS_8, SCI0, SCIBDH, SCICR1, SCICR2, and SERIAL_SCI0_BAUD_RATE. -

    -

    - -

    -
    - - - - - - - - - -
    void initSCI_1 (void   ) 
    -
    -
    - -

    -Initialisation of the serial port 1. -

    - -

    -Definition at line 124 of file canOpenDriver.c. -

    -References BUS_CLOCK, IO_PORTS_16, IO_PORTS_8, SCI1, SCIBDH, SCICR1, SCICR2, and SERIAL_SCI1_BAUD_RATE. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void printSCI_nbr (char  sci,
    unsigned long  nbr,
    char  lastCar 
    )
    -
    -
    - -

    -Print the number in hexadecimal to the serial port sci (sci takes the values SCI0 or SCI1) -

    -Definition at line 179 of file canOpenDriver.c. -

    -References hex_convert(), and printSCI_str(). -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    void printSCI_str (char  sci,
    const char *  str 
    )
    -
    -
    - -

    -Print the string to the serial port sci (sci takes the values SCI0 or SCI1) -

    -Definition at line 162 of file canOpenDriver.c. -

    -References IO_PORTS_8, SCIDRL, and SCISR1. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/hcs12_2applicfg_8h_80f5dbbc046cba0e5e9cf2bcc4c1e78e_cgraph.dot --- a/doc/doxygen/html/hcs12_2applicfg_8h_80f5dbbc046cba0e5e9cf2bcc4c1e78e_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="printSCI_nbr",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="hex_convert",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#2a9aef0efc98c5b41ef97ef91ad403e5"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="printSCI_str",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#6e3075ae435e83aefc018e5218c197d0"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/hcs12_2applicfg_8h_80f5dbbc046cba0e5e9cf2bcc4c1e78e_cgraph.md5 --- a/doc/doxygen/html/hcs12_2applicfg_8h_80f5dbbc046cba0e5e9cf2bcc4c1e78e_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -682cad49c36f500fad96647743ac4115 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/hcs12_2applicfg_8h__incl.dot --- a/doc/doxygen/html/hcs12_2applicfg_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/applicfg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="../include/hcs12/asm-m68hc12/portsaccess.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="../include/hcs12/asm-m68hc12/ports_def.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="../include/hcs12/asm-m68hc12/ports.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="../include/hcs12/interrupt.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node9 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/hcs12_2applicfg_8h__incl.md5 --- a/doc/doxygen/html/hcs12_2applicfg_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -54abb8bfd24ced63be41cdaa9f514d24 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/hcs12_2applicfg_8h_c71399958d35a7f703416f025603ee26_cgraph.dot --- a/doc/doxygen/html/hcs12_2applicfg_8h_c71399958d35a7f703416f025603ee26_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="initHCS12",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="initPLL",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#51e71c727eb7a49e2fde962a3d190a6b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/hcs12_2applicfg_8h_c71399958d35a7f703416f025603ee26_cgraph.md5 --- a/doc/doxygen/html/hcs12_2applicfg_8h_c71399958d35a7f703416f025603ee26_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -e5f9966a2b69888cac688d3caa8eb725 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8c-source.html --- a/doc/doxygen/html/interrupt_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/interrupt.c Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/interrupt.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 /*
    -00024 Functions called by interrupts vectors.
    -00025 */
    -00026 /*
    -00027 This is a part of the driver, of course !
    -00028 But you have to put your code in this functions,
    -00029 if you plan to use interruptions.
    -00030 */
    -00031 
    -00032 #include "../include/data.h"
    -00033 #include "../include/hcs12/applicfg.h"
    -00034 #include "../include/hcs12/error.h"
    -00035 #include "../include/hcs12/candriver.h"
    -00036 #include "../include/hcs12/asm-m68hc12/regs.h"
    -00037 #include "../include/hcs12/asm-m68hc12/portsaccess.h"
    -00038 #include "../include/hcs12/asm-m68hc12/ports_def.h"
    -00039 #include "../include/hcs12/asm-m68hc12/ports.h"
    -00040 #include "../include/hcs12/interrupt.h"
    -00041 
    -00042 extern volatile char msgRecu;
    -00043 extern volatile Message canMsgRcv;
    -00044 
    -00045 
    -00046 
    -00047 /* Inhibe les interruptions */
    -00048 
    -00049 void lock (void)
    -00050 {
    -00051    unsigned short mask;
    -00052    __asm__ __volatile__ ("tpa\n\tsei" : "=d"(mask));
    -00053 
    -00054 }
    -00055 
    -00056 /* Autorise les interruptions */
    -00057 void unlock (void)
    -00058 { 
    -00059    __asm__ __volatile__ ("cli");
    -00060 }
    -00061 
    -00062 
    -00063 
    -00064 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8c.html --- a/doc/doxygen/html/interrupt_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,128 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/interrupt.c File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/interrupt.c File Reference

    #include "../include/data.h"
    -#include "../include/hcs12/applicfg.h"
    -#include "../include/hcs12/error.h"
    -#include "../include/hcs12/candriver.h"
    -#include "../include/hcs12/asm-m68hc12/regs.h"
    -#include "../include/hcs12/asm-m68hc12/portsaccess.h"
    -#include "../include/hcs12/asm-m68hc12/ports_def.h"
    -#include "../include/hcs12/asm-m68hc12/ports.h"
    -#include "../include/hcs12/interrupt.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - -

    Functions

    void lock (void)
    void unlock (void)

    Variables

    volatile char msgRecu
    volatile Message canMsgRcv
    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    void lock (void   ) 
    -
    -
    - -

    -Disable interrupts -

    -Definition at line 49 of file interrupt.c. -

    -References __asm__(). -

    -

    - -

    -
    - - - - - - - - - -
    void unlock (void   ) 
    -
    -
    - -

    -Enable interrupts -

    -Definition at line 57 of file interrupt.c. -

    -References __asm__(). -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    volatile Message canMsgRcv
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    volatile char msgRecu
    -
    -
    - -

    - -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8c_987ce601d6d4c8eedd68b58db3b7811a_cgraph.dot --- a/doc/doxygen/html/interrupt_8c_987ce601d6d4c8eedd68b58db3b7811a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="unlock",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="__asm__",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$regs_8h.html#b1b104e72affb247e036289d0fc18ac7"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8c_987ce601d6d4c8eedd68b58db3b7811a_cgraph.md5 --- a/doc/doxygen/html/interrupt_8c_987ce601d6d4c8eedd68b58db3b7811a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -adca2e79ec42b18e8ac4620950c5a21b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8c__incl.dot --- a/doc/doxygen/html/interrupt_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/hcs12/interrupt.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="../include/data.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="../include/hcs12/applicfg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="../include/hcs12/error.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="../include/hcs12/candriver.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="../include/hcs12/asm-m68hc12/regs.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="../include/hcs12/asm-m68hc12/portsaccess.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="../include/hcs12/asm-m68hc12/ports_def.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="../include/hcs12/asm-m68hc12/ports.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="../include/hcs12/interrupt.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8c__incl.md5 --- a/doc/doxygen/html/interrupt_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -57e1786f49b5b761b919753f1c4b9fd3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8c_eb99ff49b4a6d5157416f9b5bd0d9c2c_cgraph.dot --- a/doc/doxygen/html/interrupt_8c_eb99ff49b4a6d5157416f9b5bd0d9c2c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="lock",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="__asm__",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$regs_8h.html#b1b104e72affb247e036289d0fc18ac7"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8c_eb99ff49b4a6d5157416f9b5bd0d9c2c_cgraph.md5 --- a/doc/doxygen/html/interrupt_8c_eb99ff49b4a6d5157416f9b5bd0d9c2c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -90b722b560a226883141072b94ca2e1e \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8h-source.html --- a/doc/doxygen/html/interrupt_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,104 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/interrupt.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/interrupt.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __INTERRUPT__
    -00024 #define __INTERRUPT__
    -00025 
    -00026  
    -00030 void lock (void);
    -00031 
    -00035 void unlock (void);
    -00036 
    -00040 void __attribute__((interrupt)) timerOvflHdl (void);
    -00041 
    -00045 void __attribute__((interrupt)) can0HdlTra (void);
    -00046 
    -00050 void __attribute__((interrupt)) can0HdlRcv (void);
    -00051 
    -00056 void __attribute__((interrupt)) can0HdlWup (void);
    -00057 
    -00061 void __attribute__((interrupt)) can0HdlErr (void);
    -00062 
    -00066 void __attribute__((interrupt)) can1HdlTra (void);
    -00067 
    -00071 void __attribute__((interrupt)) can1HdlRcv (void);
    -00072 
    -00076 void __attribute__((interrupt)) can1HdlWup (void);
    -00077 
    -00081 void __attribute__((interrupt)) can1HdlErr (void);
    -00082 
    -00086 void __attribute__((interrupt)) can2HdlTra (void);
    -00087 
    -00091 void __attribute__((interrupt)) can2HdlRcv (void);
    -00092 
    -00093 /*
    -00094 Message error on MSCAN 2
    -00095 */
    -00096 void __attribute__((interrupt)) can2HdlWup (void);
    -00097 
    -00101 void __attribute__((interrupt)) can2HdlErr (void);
    -00102 
    -00106 void __attribute__((interrupt)) can3HdlTra (void);
    -00107 
    -00111 void __attribute__((interrupt)) can3HdlRcv (void);
    -00112 
    -00116 void __attribute__((interrupt)) can3HdlWup (void);
    -00117 
    -00121 void __attribute__((interrupt)) can3HdlErr (void);
    -00122 
    -00126 void __attribute__((interrupt)) can4HdlTra (void);
    -00127 
    -00131 void __attribute__((interrupt)) can4HdlRcv (void);
    -00132 
    -00133 /*
    -00134 Message error on MSCAN 4
    -00135 */
    -00136 void __attribute__((interrupt)) can4HdlWup (void);
    -00137 
    -00141 void __attribute__((interrupt)) can4HdlErr (void);
    -00142 
    -00143 
    -00144 #endif /* __INTERRUPT__  */
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8h.html --- a/doc/doxygen/html/interrupt_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,109 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/interrupt.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/interrupt.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - -

    Functions

    void lock (void)
    void unlock (void)
    void __attribute__ ((interrupt)) timerOvflHdl(void)
    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    void __attribute__ ((interrupt)   ) 
    -
    -
    - -

    -Message transmitted on MSCAN 0 -

    -Definition at line 54 of file canOpenDriver.c. -

    -References IO_PORTS_16, and TC4H. -

    -

    - -

    -
    - - - - - - - - - -
    void lock (void   ) 
    -
    -
    - -

    -Disable interrupts -

    -Definition at line 49 of file interrupt.c. -

    -References __asm__(). -

    -

    - -

    -
    - - - - - - - - - -
    void unlock (void   ) 
    -
    -
    - -

    -Enable interrupts -

    -Definition at line 57 of file interrupt.c. -

    -References __asm__(). -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8h_987ce601d6d4c8eedd68b58db3b7811a_cgraph.dot --- a/doc/doxygen/html/interrupt_8h_987ce601d6d4c8eedd68b58db3b7811a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="unlock",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="__asm__",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$regs_8h.html#b1b104e72affb247e036289d0fc18ac7"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8h_987ce601d6d4c8eedd68b58db3b7811a_cgraph.md5 --- a/doc/doxygen/html/interrupt_8h_987ce601d6d4c8eedd68b58db3b7811a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -adca2e79ec42b18e8ac4620950c5a21b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8h_eb99ff49b4a6d5157416f9b5bd0d9c2c_cgraph.dot --- a/doc/doxygen/html/interrupt_8h_eb99ff49b4a6d5157416f9b5bd0d9c2c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="lock",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="__asm__",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$regs_8h.html#b1b104e72affb247e036289d0fc18ac7"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupt_8h_eb99ff49b4a6d5157416f9b5bd0d9c2c_cgraph.md5 --- a/doc/doxygen/html/interrupt_8h_eb99ff49b4a6d5157416f9b5bd0d9c2c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -52e5ca67e10a7ceddf2777c44d24442b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupts_8h-source.html --- a/doc/doxygen/html/interrupts_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/interrupts.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/interrupts.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 /* Interrupt Vectors -- ROM mode
    -00023    Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
    -00024    Written by Stephane Carrez (stcarrez@worldnet.fr)    
    -00025 
    -00026 This file is free software; you can redistribute it and/or modify it
    -00027 under the terms of the GNU General Public License as published by the
    -00028 Free Software Foundation; either version 2, or (at your option) any
    -00029 later version.
    -00030 
    -00031 In addition to the permissions in the GNU General Public License, the
    -00032 Free Software Foundation gives you unlimited permission to link the
    -00033 compiled version of this file with other programs, and to distribute
    -00034 those programs without any restriction coming from the use of this
    -00035 file.  (The General Public License restrictions do apply in other
    -00036 respects; for example, they cover modification of the file, and
    -00037 distribution when not linked into another program.)
    -00038 
    -00039 This file is distributed in the hope that it will be useful, but
    -00040 WITHOUT ANY WARRANTY; without even the implied warranty of
    -00041 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00042 General Public License for more details.
    -00043 
    -00044 You should have received a copy of the GNU General Public License
    -00045 along with this program; see the file COPYING.  If not, write to
    -00046 the Free Software Foundation, 59 Temple Place - Suite 330,
    -00047 Boston, MA 02111-1307, USA.  */
    -00048 
    -00049 #ifndef _M68HC11_ARCH_32K_INTERRUPTS_H
    -00050 #define _M68HC11_ARCH_32K_INTERRUPTS_H
    -00051 
    -00052 /* For ROM-boards, interrupts are in ROM and are not installed
    -00053    at run time.  Implementation is empty.  */
    -00054 extern inline void
    -00055 set_interrupt_handler (interrupt_vector_id id ATTRIBUTE_UNUSED,
    -00056                        interrupt_t handler ATTRIBUTE_UNUSED)
    -00057 {
    -00058 }
    -00059 
    -00060 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/interrupts_8h.html --- a/doc/doxygen/html/interrupts_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/interrupts.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/interrupts.h File Reference

    -

    -Go to the source code of this file. - - - - -

    Functions

    void set_interrupt_handler (interrupt_vector_id id ATTRIBUTE_UNUSED, interrupt_t handler ATTRIBUTE_UNUSED)
    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void set_interrupt_handler (interrupt_vector_id id  ATTRIBUTE_UNUSED,
    interrupt_t handler  ATTRIBUTE_UNUSED 
    ) [inline]
    -
    -
    - -

    - -

    -Definition at line 55 of file interrupts.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c-source.html --- a/doc/doxygen/html/lifegrd_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/lifegrd_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -16,190 +16,165 @@
  • Globals
  • /home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #include <data.h>
    -00024 #include "lifegrd.h"
    -00025 #include "canfestival.h"
    -00026 
    -00027 /* Prototypes for internals functions */
    -00028 void ConsumerHearbeatAlarm(CO_Data* d, UNS32 id);
    -00029 void ProducerHearbeatAlarm(CO_Data* d, UNS32 id);
    -00030 UNS32 OnHearbeatProducerUpdate(CO_Data* d, const indextable * unsused_indextable, UNS8 unsused_bSubindex);
    -00031 
    -00032 /*****************************************************************************/
    -00033 e_nodeState getNodeState (CO_Data* d, UNS8 nodeId)
    -00034 {
    -00035         e_nodeState networkNodeState = d->NMTable[nodeId];
    -00036         return networkNodeState;
    -00037 }
    +00002   This file is part of CanFestival, a library implementing CanOpen
    +00003   Stack.
    +00004 
    +00005   Copyright (C): Edouard TISSERANT and Francis DUPIN
    +00006 
    +00007   See COPYING file for copyrights details.
    +00008 
    +00009   This library is free software; you can redistribute it and/or
    +00010   modify it under the terms of the GNU Lesser General Public
    +00011   License as published by the Free Software Foundation; either
    +00012   version 2.1 of the License, or (at your option) any later version.
    +00013 
    +00014   This library is distributed in the hope that it will be useful,
    +00015   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +00016   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +00017   Lesser General Public License for more details.
    +00018 
    +00019   You should have received a copy of the GNU Lesser General Public
    +00020   License along with this library; if not, write to the Free Software
    +00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
    +00022   USA
    +00023 */
    +00024 
    +00035 #include <data.h>
    +00036 #include "lifegrd.h"
    +00037 #include "canfestival.h"
     00038 
    -00039 /*****************************************************************************/
    -00040 /* The Consumer Timer Callback */
    -00041 void ConsumerHearbeatAlarm(CO_Data* d, UNS32 id)
    -00042 {
    -00043         /*MSG_WAR(0x00, "ConsumerHearbeatAlarm", 0x00);*/
    -00044         
    -00045         /* call heartbeat error with NodeId */
    -00046         (*d->heartbeatError)((UNS8)( ((d->ConsumerHeartbeatEntries[id]) & (UNS32)0x00FF0000) >> (UNS8)16 ));
    -00047 }
    -00048 
    -00049 /*****************************************************************************/
    -00050 void proceedNODE_GUARD(CO_Data* d, Message* m )
    -00051 {
    -00052   UNS8 nodeId = (UNS8) GET_NODE_ID((*m));
    -00053   
    -00054   if((m->rtr == 1) ) /* Notice that only the master can have sent this node guarding request */
    -00055   { /* Receiving a NMT NodeGuarding (request of the state by the master) */
    -00056     /*  only answer to the NMT NodeGuarding request, the master is not checked (not implemented) */
    -00057     if (nodeId == *d->bDeviceNodeId )
    -00058     {
    -00059       Message msg;
    -00060       msg.cob_id.w = *d->bDeviceNodeId + 0x700;
    -00061       msg.len = (UNS8)0x01;
    -00062       msg.rtr = 0;
    -00063       msg.data[0] = d->nodeState; 
    -00064       if (d->toggle)
    -00065       {
    -00066         msg.data[0] |= 0x80 ;
    -00067         d->toggle = 0 ;
    -00068       }
    -00069       else
    -00070         d->toggle = 1 ; 
    -00071       /* send the nodeguard response. */
    -00072       MSG_WAR(0x3130, "Sending NMT Nodeguard to master, state: ", d->nodeState);
    -00073       canSend(d->canHandle,&msg );
    -00074     }  
    -00075 
    -00076   }else{ /* Not a request CAN */
    -00077 
    -00078     MSG_WAR(0x3110, "Received NMT nodeId : ", nodeId);
    -00079     /* the slave's state receievd is stored in the NMTable */
    -00080       /* The state is stored on 7 bit */
    -00081     d->NMTable[nodeId] = (e_nodeState) ((*m).data[0] & 0x7F) ;
    -00082     
    -00083     /* Boot-Up frame reception */
    -00084     if ( d->NMTable[nodeId] == Initialisation)
    -00085       {
    -00086         /* The device send the boot-up message (Initialisation) */
    -00087         /* to indicate the master that it is entered in pre_operational mode */
    -00088         /* Because the  device enter automaticaly in pre_operational mode, */
    -00089         /* the pre_operational mode is stored */
    -00090 /*        NMTable[bus_id][nodeId] = Pre_operational; */
    -00091         MSG_WAR(0x3100, "The NMT is a bootup from node : ", nodeId);
    -00092       }
    -00093       
    -00094     if( d->NMTable[nodeId] != Unknown_state ) {
    -00095         UNS8 index, ConsummerHeartBeat_nodeId ;
    -00096         for( index = (UNS8)0x00; index < *d->ConsumerHeartbeatCount; index++ )
    -00097         {
    -00098             ConsummerHeartBeat_nodeId = (UNS8)( ((d->ConsumerHeartbeatEntries[index]) & (UNS32)0x00FF0000) >> (UNS8)16 );
    -00099             if ( nodeId == ConsummerHeartBeat_nodeId )
    -00100             {
    -00101                 TIMEVAL time = ( (d->ConsumerHeartbeatEntries[index]) & (UNS32)0x0000FFFF ) ;
    -00102                 /* Renew alarm for next heartbeat. */
    -00103                 DelAlarm(d->ConsumerHeartBeatTimers[index]);
    -00104                 d->ConsumerHeartBeatTimers[index] = SetAlarm(d, index, &ConsumerHearbeatAlarm, MS_TO_TIMEVAL(time), 0);
    -00105             }
    -00106         }
    -00107     }
    -00108   }
    -00109 }
    -00110 
    -00111 /*****************************************************************************/
    -00112 /* The Consumer Timer Callback */
    -00113 void ProducerHearbeatAlarm(CO_Data* d, UNS32 id)
    -00114 {
    -00115         if(*d->ProducerHeartBeatTime)
    -00116         {
    -00117                 Message msg;
    -00118                 /* Time expired, the heartbeat must be sent immediately
    -00119                  * generate the correct node-id: this is done by the offset 1792
    -00120                  * (decimal) and additionaly
    -00121                  * the node-id of this device.
    -00122                  */
    -00123                 
    -00124                 msg.cob_id.w = *d->bDeviceNodeId + 0x700;
    -00125                 msg.len = (UNS8)0x01;
    -00126                 msg.rtr = 0;
    -00127                 msg.data[0] = d->nodeState; /* No toggle for heartbeat !*/
    -00128                 /* send the heartbeat */
    -00129                 MSG_WAR(0x3130, "Producing heartbeat: ", d->nodeState);
    -00130                 canSend(d->canHandle,&msg );
    -00131         
    -00132         }else{
    -00133                 d->ProducerHeartBeatTimer = DelAlarm(d->ProducerHeartBeatTimer);
    -00134         }
    -00135 }
    -00136 
    -00137 /*****************************************************************************/
    -00138 /* This is called when Index 0x1017 is updated.*/
    -00139 UNS32 OnHeartbeatProducerUpdate(CO_Data* d, const indextable * unsused_indextable, UNS8 unsused_bSubindex)
    -00140 {
    -00141         heartbeatStop(d);
    -00142         heartbeatInit(d);
    -00143         return 0;
    -00144 }
    -00145 /*****************************************************************************/
    -00146 
    -00147 void heartbeatInit(CO_Data* d)
    -00148 {
    -00149                 
    -00150     UNS8 index; /* Index to scan the table of heartbeat consumers */
    -00151         RegisterSetODentryCallBack(d, 0x1017, 0x00, &OnHeartbeatProducerUpdate);
    -00152     
    -00153     d->toggle = 0;
    -00154         
    -00155     for( index = (UNS8)0x00; index < *d->ConsumerHeartbeatCount; index++ )
    -00156     {
    -00157         TIMEVAL time = (UNS16) ( (d->ConsumerHeartbeatEntries[index]) & (UNS32)0x0000FFFF ) ;
    -00158         /* MSG_WAR(0x3121, "should_time : ", should_time ) ; */
    -00159         if ( time )
    -00160         {
    -00161                 d->ConsumerHeartBeatTimers[index] = SetAlarm(d, index, &ConsumerHearbeatAlarm, MS_TO_TIMEVAL(time), 0);
    -00162         }
    -00163     }
    -00164 
    -00165     if ( *d->ProducerHeartBeatTime )
    -00166     {
    -00167         TIMEVAL time = *d->ProducerHeartBeatTime;
    -00168         d->ProducerHeartBeatTimer = SetAlarm(d, 0, &ProducerHearbeatAlarm, MS_TO_TIMEVAL(time), MS_TO_TIMEVAL(time));
    -00169     }
    -00170 }
    -00171 
    -00172 /*****************************************************************************/
    -00173 void heartbeatStop(CO_Data* d)
    -00174 {
    -00175     UNS8 index;
    -00176     for( index = (UNS8)0x00; index < *d->ConsumerHeartbeatCount; index++ )
    -00177     {
    -00178         d->ConsumerHeartBeatTimers[index + 1] = DelAlarm(d->ConsumerHeartBeatTimers[index + 1]);;
    -00179     }
    -00180 
    -00181     d->ProducerHeartBeatTimer = DelAlarm(d->ProducerHeartBeatTimer);;
    -00182 }
    -00183 
    -00184 void _heartbeatError(UNS8 heartbeatID){}
    -

    Generated on Mon Jun 4 17:09:26 2007 for CanFestival by  +00039 +00040 void ConsumerHearbeatAlarm(CO_Data* d, UNS32 id); +00041 +00042 +00043 void ProducerHearbeatAlarm(CO_Data* d, UNS32 id); +00044 +00045 UNS32 OnHearbeatProducerUpdate(CO_Data* d, const indextable * unsused_indextable, UNS8 unsused_bSubindex); +00046 +00055 e_nodeState getNodeState (CO_Data* d, UNS8 nodeId) +00056 { +00057 e_nodeState networkNodeState = d->NMTable[nodeId]; +00058 return networkNodeState; +00059 } +00060 +00067 void ConsumerHearbeatAlarm(CO_Data* d, UNS32 id) +00068 { +00069 /*MSG_WAR(0x00, "ConsumerHearbeatAlarm", 0x00);*/ +00070 +00072 (*d->heartbeatError)((UNS8)( ((d->ConsumerHeartbeatEntries[id]) & (UNS32)0x00FF0000) >> (UNS8)16 )); +00073 } +00074 +00081 void proceedNODE_GUARD(CO_Data* d, Message* m ) +00082 { +00083 UNS8 nodeId = (UNS8) GET_NODE_ID((*m)); +00084 +00085 if((m->rtr == 1) ) +00090 { +00097 if (nodeId == *d->bDeviceNodeId ) +00098 { +00099 Message msg; +00100 msg.cob_id.w = *d->bDeviceNodeId + 0x700; +00101 msg.len = (UNS8)0x01; +00102 msg.rtr = 0; +00103 msg.data[0] = d->nodeState; +00104 if (d->toggle) +00105 { +00106 msg.data[0] |= 0x80 ; +00107 d->toggle = 0 ; +00108 } +00109 else +00110 d->toggle = 1 ; +00112 MSG_WAR(0x3130, "Sending NMT Nodeguard to master, state: ", d->nodeState); +00113 canSend(d->canHandle,&msg ); +00114 } +00115 +00116 }else{ +00118 MSG_WAR(0x3110, "Received NMT nodeId : ", nodeId); +00121 d->NMTable[nodeId] = (e_nodeState) ((*m).data[0] & 0x7F) ; +00122 +00124 if ( d->NMTable[nodeId] == Initialisation) +00125 { +00135 MSG_WAR(0x3100, "The NMT is a bootup from node : ", nodeId); +00136 } +00137 +00138 if( d->NMTable[nodeId] != Unknown_state ) { +00139 UNS8 index, ConsummerHeartBeat_nodeId ; +00140 for( index = (UNS8)0x00; index < *d->ConsumerHeartbeatCount; index++ ) +00141 { +00142 ConsummerHeartBeat_nodeId = (UNS8)( ((d->ConsumerHeartbeatEntries[index]) & (UNS32)0x00FF0000) >> (UNS8)16 ); +00143 if ( nodeId == ConsummerHeartBeat_nodeId ) +00144 { +00145 TIMEVAL time = ( (d->ConsumerHeartbeatEntries[index]) & (UNS32)0x0000FFFF ) ; +00146 /* Renew alarm for next heartbeat. */ +00147 DelAlarm(d->ConsumerHeartBeatTimers[index]); +00148 d->ConsumerHeartBeatTimers[index] = SetAlarm(d, index, &ConsumerHearbeatAlarm, MS_TO_TIMEVAL(time), 0); +00149 } +00150 } +00151 } +00152 } +00153 } +00154 +00161 void ProducerHearbeatAlarm(CO_Data* d, UNS32 id) +00162 { +00163 if(*d->ProducerHeartBeatTime) +00164 { +00165 Message msg; +00172 msg.cob_id.w = *d->bDeviceNodeId + 0x700; +00173 msg.len = (UNS8)0x01; +00174 msg.rtr = 0; +00175 msg.data[0] = d->nodeState; +00177 MSG_WAR(0x3130, "Producing heartbeat: ", d->nodeState); +00178 canSend(d->canHandle,&msg ); +00179 +00180 }else{ +00181 d->ProducerHeartBeatTimer = DelAlarm(d->ProducerHeartBeatTimer); +00182 } +00183 } +00184 +00194 UNS32 OnHeartbeatProducerUpdate(CO_Data* d, const indextable * unsused_indextable, UNS8 unsused_bSubindex) +00195 { +00196 heartbeatStop(d); +00197 heartbeatInit(d); +00198 return 0; +00199 } +00200 +00206 void heartbeatInit(CO_Data* d) +00207 { +00208 +00209 UNS8 index; +00210 RegisterSetODentryCallBack(d, 0x1017, 0x00, &OnHeartbeatProducerUpdate); +00211 +00212 d->toggle = 0; +00213 +00214 for( index = (UNS8)0x00; index < *d->ConsumerHeartbeatCount; index++ ) +00215 { +00216 TIMEVAL time = (UNS16) ( (d->ConsumerHeartbeatEntries[index]) & (UNS32)0x0000FFFF ) ; +00218 if ( time ) +00219 { +00220 d->ConsumerHeartBeatTimers[index] = SetAlarm(d, index, &ConsumerHearbeatAlarm, MS_TO_TIMEVAL(time), 0); +00221 } +00222 } +00223 +00224 if ( *d->ProducerHeartBeatTime ) +00225 { +00226 TIMEVAL time = *d->ProducerHeartBeatTime; +00227 d->ProducerHeartBeatTimer = SetAlarm(d, 0, &ProducerHearbeatAlarm, MS_TO_TIMEVAL(time), MS_TO_TIMEVAL(time)); +00228 } +00229 } +00230 +00236 void heartbeatStop(CO_Data* d) +00237 { +00238 UNS8 index; +00239 for( index = (UNS8)0x00; index < *d->ConsumerHeartbeatCount; index++ ) +00240 { +00241 d->ConsumerHeartBeatTimers[index + 1] = DelAlarm(d->ConsumerHeartBeatTimers[index + 1]);; +00242 } +00243 +00244 d->ProducerHeartBeatTimer = DelAlarm(d->ProducerHeartBeatTimer);; +00245 } +00246 +00252 void _heartbeatError(UNS8 heartbeatID){} +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c.html --- a/doc/doxygen/html/lifegrd_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/lifegrd_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -20,6 +20,9 @@ #include "canfestival.h"

    +Include dependency graph for lifegrd.c:

    + +

    Go to the source code of this file. @@ -42,7 +45,12 @@

    Functions

    void _heartbeatError (UNS8 heartbeatID)
    -


    Function Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT
    +
    Date:
    Mon Jun 4 17:19:24 2007
    + +

    +Definition in file lifegrd.c.


    Function Documentation

    @@ -60,9 +68,14 @@

    - -

    -Definition at line 184 of file lifegrd.c. +

    Parameters:
    + + +
    heartbeatID 
    +
    + +

    +Definition at line 252 of file lifegrd.c.

    @@ -91,9 +104,20 @@

    - -

    -Definition at line 41 of file lifegrd.c. +The Consumer Timer Callback

    +

    Parameters:
    + + + +
    d 
    id 
    +
    + +

    +call heartbeat error with NodeId +

    +Definition at line 67 of file lifegrd.c. +

    +Referenced by heartbeatInit(), and proceedNODE_GUARD().

    @@ -122,9 +146,16 @@

    - -

    -Definition at line 33 of file lifegrd.c. +

    Parameters:
    + + + +
    d 
    nodeId 
    +
    +
    Returns:
    + +

    +Definition at line 55 of file lifegrd.c.

    @@ -144,11 +175,34 @@

    - -

    -Definition at line 147 of file lifegrd.c. -

    -References ConsumerHearbeatAlarm(), OnHeartbeatProducerUpdate(), ProducerHearbeatAlarm(), RegisterSetODentryCallBack(), and SetAlarm(). +

    Parameters:
    + + +
    d 
    +
    + +

    +Index to scan the table of heartbeat consumers

    +MSG_WAR(0x3121, "should_time : ", should_time ) ; +

    +Definition at line 206 of file lifegrd.c. +

    +References ConsumerHearbeatAlarm(), OnHeartbeatProducerUpdate(), ProducerHearbeatAlarm(), RegisterSetODentryCallBack(), and SetAlarm(). +

    +Referenced by OnHeartbeatProducerUpdate(), and switchCommunicationState(). +

    +Here is the call graph for this function:

    + + + + + + + + + + +

    @@ -168,11 +222,24 @@

    - -

    -Definition at line 173 of file lifegrd.c. -

    -References DelAlarm(). +

    Parameters:
    + + +
    d 
    +
    + +

    +Definition at line 236 of file lifegrd.c. +

    +References DelAlarm(). +

    +Referenced by OnHeartbeatProducerUpdate(), and switchCommunicationState(). +

    +Here is the call graph for this function:

    + + + +

    @@ -242,11 +309,35 @@

    - -

    -Definition at line 139 of file lifegrd.c. -

    -References heartbeatInit(), and heartbeatStop(). +This is called when Index 0x1017 is updated.

    +

    Parameters:
    + + + + +
    d 
    unsused_indextable 
    unsused_bSubindex 
    +
    +
    Returns:
    + +

    +Definition at line 194 of file lifegrd.c. +

    +References heartbeatInit(), and heartbeatStop(). +

    +Referenced by heartbeatInit(). +

    +Here is the call graph for this function:

    + + + + + + + + + + +

    @@ -275,11 +366,36 @@

    - -

    -Definition at line 50 of file lifegrd.c. -

    -References ConsumerHearbeatAlarm(), DelAlarm(), and SetAlarm(). +

    Parameters:
    + + + +
    d 
    m 
    +
    + +

    +Notice that only the master can have sent this node guarding request

    +Receiving a NMT NodeGuarding (request of the state by the master) Only answer to the NMT NodeGuarding request, the master is not checked (not implemented)

    +send the nodeguard response.

    +Not a request CAN

    +the slave's state receievd is stored in the NMTable

    +The state is stored on 7 bit

    +Boot-Up frame reception

    +The device send the boot-up message (Initialisation) to indicate the master that it is entered in pre_operational mode Because the device enter automaticaly in pre_operational mode, the pre_operational mode is stored NMTable[bus_id][nodeId] = Pre_operational +

    +Definition at line 81 of file lifegrd.c. +

    +References ConsumerHearbeatAlarm(), DelAlarm(), and SetAlarm(). +

    +Referenced by canDispatch(). +

    +Here is the call graph for this function:

    + + + + + +

    @@ -308,14 +424,33 @@

    - -

    -Definition at line 113 of file lifegrd.c. -

    -References DelAlarm(). -

    -

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +The Consumer Timer Callback

    +

    Parameters:
    + + + +
    d 
    id 
    +
    + +

    +Time expired, the heartbeat must be sent immediately generate the correct node-id: this is done by the offset 1792 (decimal) and additionaly the node-id of this device.

    +No toggle for heartbeat !

    +send the heartbeat +

    +Definition at line 161 of file lifegrd.c. +

    +References DelAlarm(). +

    +Referenced by heartbeatInit(). +

    +Here is the call graph for this function:

    + + + + + +

    +


    Generated on Tue Jun 5 18:32:06 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.dot --- a/doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node2 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node8 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,9 @@ +base referer +rect $lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21 278,101 387,125 +rect $lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7 274,173 391,197 +rect $lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198 451,101 643,125 +rect $lifegrd_8c.html#626b7d9e527a898682d9122f91454de9 455,149 639,173 +rect $objacces_8c.html#514e7b9c13835a86446b1cd38fa34049 440,5 654,29 +rect $timer_8c.html#11c2616d78f06ed9144ef662f757b128 506,53 588,77 +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 716,175 799,199 +rect $objacces_8c.html#11e9f24840d05a6a622955b51f91af53 702,5 814,29 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.md5 --- a/doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -50b1eae7709c0d1a81f07a6f5df24d5b \ No newline at end of file +2b3c7ebfc64fc7b75292577ffe4978e2 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.png Binary file doc/doxygen/html/lifegrd_8c_098c81fb9326fb2c7b43e88a55ce1368_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.dot --- a/doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 175,6 257,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.md5 --- a/doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -d0c00131fbb202e29f86a771b8f25382 \ No newline at end of file +afa1c03f73fda8fb59b9a8f1ad92e4d3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.png Binary file doc/doxygen/html/lifegrd_8c_1b73047269c2a02065e12af18c6053c7_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.dot --- a/doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 239,6 321,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.md5 --- a/doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -12f548f4b8e286455ab1f460b97adf67 \ No newline at end of file +4d6048bd1f17e2d6bad54223d262ce03 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.png Binary file doc/doxygen/html/lifegrd_8c_626b7d9e527a898682d9122f91454de9_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.dot --- a/doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node3 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,9 @@ +base referer +rect $lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198 176,5 368,29 +rect $lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368 164,53 380,77 +rect $lifegrd_8c.html#626b7d9e527a898682d9122f91454de9 429,103 613,127 +rect $objacces_8c.html#514e7b9c13835a86446b1cd38fa34049 165,152 379,176 +rect $timer_8c.html#11c2616d78f06ed9144ef662f757b128 231,200 313,224 +rect $lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7 463,55 580,79 +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 663,79 745,103 +rect $objacces_8c.html#11e9f24840d05a6a622955b51f91af53 465,152 577,176 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.md5 --- a/doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -d04c546ce4b9bc058b748b0589ced6cb \ No newline at end of file +d2e02c59cc784556cef68d60f6bb42e3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.png Binary file doc/doxygen/html/lifegrd_8c_8896f6846e4d020390f6953f3d98aa21_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c__incl.dot --- a/doc/doxygen/html/lifegrd_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node6 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node2 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node8 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node9 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node10 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node11 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node12 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node2 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node14 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node16 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node17 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/lifegrd_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c__incl.md5 --- a/doc/doxygen/html/lifegrd_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/lifegrd_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -774279b2d7e8fdb377b6e59a245a80de \ No newline at end of file +0c582288fb66b790ccc6cc49bad880a8 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c__incl.png Binary file doc/doxygen/html/lifegrd_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.dot --- a/doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedNODE_GUARD",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,4 @@ +base referer +rect $lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198 228,6 420,30 +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 283,54 366,78 +rect $timer_8c.html#11c2616d78f06ed9144ef662f757b128 283,102 366,126 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.md5 --- a/doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -e0f57fd1f8f00a04a795ee8c4d03e234 \ No newline at end of file +de951182784b9983a00dfa59251e8aac \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.png Binary file doc/doxygen/html/lifegrd_8c_b3248945e06e8b05518beddf665f174d_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h-source.html --- a/doc/doxygen/html/lifegrd_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __lifegrd_h__
    -00024 #define __lifegrd_h__
    -00025 
    -00026 
    -00027 #include <applicfg.h>
    -00028 
    -00029 typedef void (*heartbeatError_t)(UNS8);
    -00030 void _heartbeatError(UNS8 heartbeatID);
    -00031 
    -00032 #include "data.h"
    -00033 
    -00034 /*************************************************************************
    -00035  * Functions
    -00036  *************************************************************************/
    -00037 
    -00038 
    -00043 e_nodeState getNodeState (CO_Data* d, UNS8 nodeId);
    -00044 
    -00049 void heartbeatInit(CO_Data* d);
    -00050 
    -00053 void heartbeatStop(CO_Data* d);
    -00054 
    -00061 void proceedNODE_GUARD (CO_Data* d, Message* m);
    -00062 
    -00063 #endif /*__lifegrd_h__ */
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h.html --- a/doc/doxygen/html/lifegrd_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,205 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h File Reference

    #include <applicfg.h>
    -#include "data.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - -

    Typedefs

    typedef void(*) heartbeatError_t (UNS8)

    Functions

    void _heartbeatError (UNS8 heartbeatID)
    e_nodeState getNodeState (CO_Data *d, UNS8 nodeId)
    void heartbeatInit (CO_Data *d)
    void heartbeatStop (CO_Data *d)
    void proceedNODE_GUARD (CO_Data *d, Message *m)
    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef void(*) heartbeatError_t(UNS8)
    -
    -
    - -

    - -

    -Definition at line 29 of file lifegrd.h. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    void _heartbeatError (UNS8  heartbeatID  ) 
    -
    -
    - -

    - -

    -Definition at line 184 of file lifegrd.c. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    e_nodeState getNodeState (CO_Data d,
    UNS8  nodeId 
    )
    -
    -
    - -

    -To read the state of a node This can be used by the master after having sent a life guard request, of by any node if it is waiting for heartbeat. -

    -Definition at line 33 of file lifegrd.c. -

    -References struct_s_timer_entry::d, and struct_CO_Data::NMTable. -

    -

    - -

    - -

    -
    - - - - - - - - - -
    void heartbeatStop (CO_Data d  ) 
    -
    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    void proceedNODE_GUARD (CO_Data d,
    Message m 
    )
    -
    -
    - -

    -This function is responsible to process a canopen-message which seams to be an NMT Error Control Messages. At them moment we assume that every NMT error control message is a heartbeat message.

    Parameters:
    - - -
    Message The CAN-message which has to be analysed. If a BootUp message is detected, it will return the nodeId of the Slave who booted up
    -
    - -

    -Definition at line 50 of file lifegrd.c. -

    -References struct_CO_Data::bDeviceNodeId, struct_CO_Data::canHandle, canSend(), Message::cob_id, ConsumerHearbeatAlarm(), struct_CO_Data::ConsumerHeartbeatCount, struct_CO_Data::ConsumerHeartbeatEntries, struct_CO_Data::ConsumerHeartBeatTimers, struct_s_timer_entry::d, Message::data, DelAlarm(), GET_NODE_ID, Initialisation, Message::len, MS_TO_TIMEVAL, MSG_WAR, struct_CO_Data::NMTable, struct_CO_Data::nodeState, Message::rtr, SetAlarm(), TIMEVAL, struct_CO_Data::toggle, Unknown_state, UNS32, UNS8, and SHORT_CAN::w. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h_1b73047269c2a02065e12af18c6053c7_cgraph.dot --- a/doc/doxygen/html/lifegrd_8h_1b73047269c2a02065e12af18c6053c7_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h_1b73047269c2a02065e12af18c6053c7_cgraph.md5 --- a/doc/doxygen/html/lifegrd_8h_1b73047269c2a02065e12af18c6053c7_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -cb198f8b3c3e2d625e232ef523af4257 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h_8896f6846e4d020390f6953f3d98aa21_cgraph.dot --- a/doc/doxygen/html/lifegrd_8h_8896f6846e4d020390f6953f3d98aa21_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node4 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node4 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node4 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node3 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node9 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h_8896f6846e4d020390f6953f3d98aa21_cgraph.md5 --- a/doc/doxygen/html/lifegrd_8h_8896f6846e4d020390f6953f3d98aa21_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -107e44389b3a201e31c5a9bc2049f500 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h__dep__incl.dot --- a/doc/doxygen/html/lifegrd_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node3 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node3 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node3 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node6 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node7 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node3 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node9 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node10 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node11 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node12 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node3 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node14 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h__dep__incl.md5 --- a/doc/doxygen/html/lifegrd_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -7afcd1e0933c43bc7c505174ea6e8c6a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h__incl.dot --- a/doc/doxygen/html/lifegrd_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node6 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node6 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node10 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node6 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node15 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h__incl.md5 --- a/doc/doxygen/html/lifegrd_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -f887ef310853cdeb756385589ac3d896 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h_b3248945e06e8b05518beddf665f174d_cgraph.dot --- a/doc/doxygen/html/lifegrd_8h_b3248945e06e8b05518beddf665f174d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedNODE_GUARD",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lifegrd_8h_b3248945e06e8b05518beddf665f174d_cgraph.md5 --- a/doc/doxygen/html/lifegrd_8h_b3248945e06e8b05518beddf665f174d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -3698adcd26e346606b3cb15db2cd1ee6 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lincan_8h-source.html --- a/doc/doxygen/html/lincan_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/lincan.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/lincan.h

    Go to the documentation of this file.
    00001 /* can.h
    -00002  * Header file for the Linux CAN-bus driver.
    -00003  * Written by Arnaud Westenberg email:arnaud@wanadoo.nl
    -00004  * Rewritten for new CAN queues by Pavel Pisa - OCERA team member
    -00005  * email:pisa@cmp.felk.cvut.cz
    -00006  * This software is released under the GPL-License.
    -00007  * Version lincan-0.3  17 Jun 2004
    -00008  */
    -00009 
    -00010 #ifndef _CAN_DRVAPI_T_H
    -00011 #define _CAN_DRVAPI_T_H
    -00012 
    -00013 #ifdef __KERNEL__
    -00014 
    -00015 #include <linux/time.h>
    -00016 #include <linux/types.h>
    -00017 #include <linux/ioctl.h>
    -00018 
    -00019 #else /* __KERNEL__ */
    -00020 
    -00021 #include <sys/time.h>
    -00022 #include <sys/types.h>
    -00023 #include <sys/ioctl.h>
    -00024 
    -00025 #endif /* __KERNEL__ */
    -00026 
    -00027 #include "./canmsg.h"
    -00028 
    -00029 #ifdef __cplusplus
    -00030 extern "C" {
    -00031 #endif
    -00032 
    -00033 /* CAN ioctl magic number */
    -00034 #define CAN_IOC_MAGIC 'd'
    -00035 
    -00036 typedef unsigned long bittiming_t;
    -00037 typedef unsigned short channel_t;
    -00038 
    -00049 struct can_baudparams_t {
    -00050         long flags;
    -00051         long baudrate;
    -00052         long sjw;
    -00053         long sample_pt;
    -00054 };
    -00055 
    -00056 /* CAN ioctl functions */
    -00057 #define CAN_DRV_QUERY _IO(CAN_IOC_MAGIC, 0)
    -00058 #define CAN_DRV_QRY_BRANCH    0 /* returns driver branch value - "LINC" for LinCAN driver */
    -00059 #define CAN_DRV_QRY_VERSION   1 /* returns driver version as (major<<16) | (minor<<8) | patch */
    -00060 #define CAN_DRV_QRY_MSGFORMAT 2 /* format of canmsg_t structure */
    -00061 
    -00062 #define CMD_START _IOW(CAN_IOC_MAGIC, 1, channel_t)
    -00063 #define CMD_STOP _IOW(CAN_IOC_MAGIC, 2, channel_t)
    -00064 //#define CMD_RESET 3
    -00065 
    -00066 #define CONF_BAUD _IOW(CAN_IOC_MAGIC, 4, bittiming_t)
    -00067 //#define CONF_ACCM
    -00068 //#define CONF_XTDACCM
    -00069 //#define CONF_TIMING
    -00070 //#define CONF_OMODE
    -00071 #define CONF_FILTER _IOW(CAN_IOC_MAGIC, 8, unsigned char)
    -00072 
    -00073 //#define CONF_FENABLE
    -00074 //#define CONF_FDISABLE
    -00075 
    -00076 #define STAT _IO(CAN_IOC_MAGIC, 9)
    -00077 #define CANQUE_FILTER _IOW(CAN_IOC_MAGIC, 10, struct canfilt_t)
    -00078 #define CANQUE_FLUSH  _IO(CAN_IOC_MAGIC, 11)
    -00079 #define CONF_BAUDPARAMS  _IOW(CAN_IOC_MAGIC, 11, struct can_baudparams_t)
    -00080 #define CANRTR_READ  _IOWR(CAN_IOC_MAGIC, 12, struct canmsg_t)
    -00081 
    -00082 #ifdef __cplusplus
    -00083 } /* extern "C"*/
    -00084 #endif
    -00085 
    -00086 #endif /*_CAN_DRVAPI_T_H*/
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lincan_8h.html --- a/doc/doxygen/html/lincan_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,344 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/lincan.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/lincan.h File Reference

    #include <sys/time.h>
    -#include <sys/types.h>
    -#include <sys/ioctl.h>
    -#include "./canmsg.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    struct  can_baudparams_t

    Defines

    #define CAN_IOC_MAGIC   'd'
    #define CAN_DRV_QUERY   _IO(CAN_IOC_MAGIC, 0)
    #define CAN_DRV_QRY_BRANCH   0
    #define CAN_DRV_QRY_VERSION   1
    #define CAN_DRV_QRY_MSGFORMAT   2
    #define CMD_START   _IOW(CAN_IOC_MAGIC, 1, channel_t)
    #define CMD_STOP   _IOW(CAN_IOC_MAGIC, 2, channel_t)
    #define CONF_BAUD   _IOW(CAN_IOC_MAGIC, 4, bittiming_t)
    #define CONF_FILTER   _IOW(CAN_IOC_MAGIC, 8, unsigned char)
    #define STAT   _IO(CAN_IOC_MAGIC, 9)
    #define CANQUE_FILTER   _IOW(CAN_IOC_MAGIC, 10, struct canfilt_t)
    #define CANQUE_FLUSH   _IO(CAN_IOC_MAGIC, 11)
    #define CONF_BAUDPARAMS   _IOW(CAN_IOC_MAGIC, 11, struct can_baudparams_t)
    #define CANRTR_READ   _IOWR(CAN_IOC_MAGIC, 12, struct canmsg_t)

    Typedefs

    typedef unsigned long bittiming_t
    typedef unsigned short channel_t
    -


    Define Documentation

    - -
    -
    - - - - -
    #define CAN_DRV_QRY_BRANCH   0
    -
    -
    - -

    - -

    -Definition at line 58 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CAN_DRV_QRY_MSGFORMAT   2
    -
    -
    - -

    - -

    -Definition at line 60 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CAN_DRV_QRY_VERSION   1
    -
    -
    - -

    - -

    -Definition at line 59 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CAN_DRV_QUERY   _IO(CAN_IOC_MAGIC, 0)
    -
    -
    - -

    - -

    -Definition at line 57 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CAN_IOC_MAGIC   'd'
    -
    -
    - -

    - -

    -Definition at line 34 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CANQUE_FILTER   _IOW(CAN_IOC_MAGIC, 10, struct canfilt_t)
    -
    -
    - -

    - -

    -Definition at line 77 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CANQUE_FLUSH   _IO(CAN_IOC_MAGIC, 11)
    -
    -
    - -

    - -

    -Definition at line 78 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CANRTR_READ   _IOWR(CAN_IOC_MAGIC, 12, struct canmsg_t)
    -
    -
    - -

    - -

    -Definition at line 80 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CMD_START   _IOW(CAN_IOC_MAGIC, 1, channel_t)
    -
    -
    - -

    - -

    -Definition at line 62 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CMD_STOP   _IOW(CAN_IOC_MAGIC, 2, channel_t)
    -
    -
    - -

    - -

    -Definition at line 63 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CONF_BAUD   _IOW(CAN_IOC_MAGIC, 4, bittiming_t)
    -
    -
    - -

    - -

    -Definition at line 66 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CONF_BAUDPARAMS   _IOW(CAN_IOC_MAGIC, 11, struct can_baudparams_t)
    -
    -
    - -

    - -

    -Definition at line 79 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define CONF_FILTER   _IOW(CAN_IOC_MAGIC, 8, unsigned char)
    -
    -
    - -

    - -

    -Definition at line 71 of file lincan.h. -

    -

    - -

    -
    - - - - -
    #define STAT   _IO(CAN_IOC_MAGIC, 9)
    -
    -
    - -

    - -

    -Definition at line 76 of file lincan.h. -

    -

    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef unsigned long bittiming_t
    -
    -
    - -

    - -

    -Definition at line 36 of file lincan.h. -

    -

    - -

    -
    - - - - -
    typedef unsigned short channel_t
    -
    -
    - -

    - -

    -Definition at line 37 of file lincan.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lincan_8h__dep__incl.dot --- a/doc/doxygen/html/lincan_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/lincan.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/can_lincan.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__lincan_8c.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lincan_8h__dep__incl.md5 --- a/doc/doxygen/html/lincan_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -3a14ae96cb01401e68d8f03c775ab03b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lincan_8h__incl.dot --- a/doc/doxygen/html/lincan_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/lincan.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sys/time.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="sys/types.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="sys/ioctl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="./canmsg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canmsg_8h.html"]; - Node5 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/lincan_8h__incl.md5 --- a/doc/doxygen/html/lincan_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -c6be64e201b40614b45eff1bc31a4b9b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/main.html --- a/doc/doxygen/html/main.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/main.html Tue Jun 05 18:43:21 2007 +0200 @@ -12,7 +12,7 @@

    CanFestival Documentation

    -

    3


    Generated on Mon Jun 4 17:09:26 2007 for CanFestival by  +

    3


    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/main_8c.html --- a/doc/doxygen/html/main_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,198 +0,0 @@ - - -CanFestival: examples/win32test/main.c File Reference - - - - - - -

    examples/win32test/main.c File Reference

    #include <stdio.h>
    -#include <stdlib.h>
    -#include "win32test.h"
    -#include "canfestival.h"
    -#include <time.h>
    - - - - - - - - - - - - - - -

    Defines

    #define sleep_proc(ms)
    #define uptime_ms_proc   (1000*(time()%86400))

    Functions

    UNS8 GetChangeStateResults (UNS8 node_id, UNS8 expected_state, unsigned long timeout_ms)
    UNS8 ReadSDO (UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, void *data, UNS8 *size)
    int main (int argc, char *argv[])
    -

    Define Documentation

    - -
    -
    - - - - - - - - - -
    #define sleep_proc (ms   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    #define uptime_ms_proc   (1000*(time()%86400))
    -
    -
    - -

    - -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 GetChangeStateResults (UNS8  node_id,
    UNS8  expected_state,
    unsigned long  timeout_ms 
    )
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    int main (int  argc,
    char *  argv[] 
    )
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 ReadSDO (UNS8  nodeId,
    UNS16  index,
    UNS8  subIndex,
    UNS8  dataType,
    void *  data,
    UNS8 *  size 
    )
    -
    -
    - -

    - -

    -

    -


    Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespaceDS301__index_1_1_5.html --- a/doc/doxygen/html/namespaceDS301__index_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: DS301_index::* Namespace Reference - - - - - - -

    DS301_index::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacecommondialogs.html --- a/doc/doxygen/html/namespacecommondialogs.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - - -CanFestival: commondialogs Namespace Reference - - - - - - -

    commondialogs Namespace Reference

    -

    - - - - - - - - - - - - - - - -

    Data Structures

    class  CommunicationDialog
    class  MapVariableDialog
    class  UserTypeDialog
    class  NodeInfosDialog
    class  CreateNodeDialog
    class  AddSlaveDialog
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacecommondialogs_1_1_5.html --- a/doc/doxygen/html/namespacecommondialogs_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: commondialogs::* Namespace Reference - - - - - - -

    commondialogs::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacedoc__index.html --- a/doc/doxygen/html/namespacedoc__index.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - -CanFestival: doc_index Namespace Reference - - - - - - -

    doc_index Namespace Reference

    -

    - - - - - - - -

    Namespaces

    namespace  __init__
    namespace  DS301_index
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacedoc__index_1_1DS301__index.html --- a/doc/doxygen/html/namespacedoc__index_1_1DS301__index.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - - -CanFestival: doc_index::DS301_index Namespace Reference - - - - - - - -

    doc_index::DS301_index Namespace Reference

    -

    - - - - - -

    Functions

    def OpenPDFDocIndex
    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    def doc_index::DS301_index::OpenPDFDocIndex (  index,
      cwd 
    )
    -
    -
    - -

    - -

    -Definition at line 8 of file DS301_index.py. -

    -

    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacedoc__index_1_1DS301__index_1_1_5.html --- a/doc/doxygen/html/namespacedoc__index_1_1DS301__index_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: doc_index::DS301_index::* Namespace Reference - - - - - - -

    doc_index::DS301_index::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacedoc__index_1_1____init____.html --- a/doc/doxygen/html/namespacedoc__index_1_1____init____.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ - - -CanFestival: doc_index::__init__ Namespace Reference - - - - - - - -

    doc_index::__init__ Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespaceeds__utils.html --- a/doc/doxygen/html/namespaceeds__utils.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,289 +0,0 @@ - - -CanFestival: eds_utils Namespace Reference - - - - - - -

    eds_utils Namespace Reference

    -

    - - - - - - - - - - - - - - - - - - - - - -

    Functions

    def GetDefaultValue
    def ExtractSections
    def ParseCPJFile
    def ParseEDSFile
    def WriteFile
    def GenerateFileContent
    def GenerateEDSFile
    def GenerateCPJContent
    def GenerateNode
    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    def eds_utils::ExtractSections (  file  ) 
    -
    -
    - -

    - -

    -Definition at line 116 of file eds_utils.py. -

    -

    - -

    -
    - - - - - - - - - -
    def eds_utils::GenerateCPJContent (  nodelist  ) 
    -
    -
    - -

    - -

    -Definition at line 592 of file eds_utils.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def eds_utils::GenerateEDSFile (  filepath,
      manager 
    )
    -
    -
    - -

    - -

    -Definition at line 579 of file eds_utils.py. -

    -

    - -

    -
    - - - - - - - - - -
    def eds_utils::GenerateFileContent (  filepath  ) 
    -
    -
    - -

    - -

    -Definition at line 401 of file eds_utils.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def eds_utils::GenerateNode (  filepath,
      cwd,
      nodeID = 0 
    )
    -
    -
    - -

    - -

    -Definition at line 609 of file eds_utils.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def eds_utils::GetDefaultValue (  index,
      subIndex = None 
    )
    -
    -
    - -

    - -

    -Definition at line 77 of file eds_utils.py. -

    -

    - -

    -
    - - - - - - - - - -
    def eds_utils::ParseCPJFile (  filepath  ) 
    -
    -
    - -

    - -

    -Definition at line 127 of file eds_utils.py. -

    -

    - -

    -
    - - - - - - - - - -
    def eds_utils::ParseEDSFile (  filepath  ) 
    -
    -
    - -

    - -

    -Definition at line 241 of file eds_utils.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def eds_utils::WriteFile (  filepath,
      content 
    )
    -
    -
    - -

    - -

    -Definition at line 391 of file eds_utils.py. -

    -

    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacegen__cfile.html --- a/doc/doxygen/html/namespacegen__cfile.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: gen_cfile Namespace Reference - - - - - - -

    gen_cfile Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacegnosis_1_1xml_1_1pickle_1_1_5.html --- a/doc/doxygen/html/namespacegnosis_1_1xml_1_1pickle_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: gnosis::xml::pickle::* Namespace Reference - - - - - - -

    gnosis::xml::pickle::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacemembers.html --- a/doc/doxygen/html/namespacemembers.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,279 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -Here is a list of all namespace members with links to the namespace documentation for each member: -

    -

    - _ -

    -

    - a -

    -

    - c -

    -

    - d -

    -

    - e -

    -

    - f -

      -
    • FindEntryInfos() -: node -
    • FindEntryName() -: node -
    • FindIndex() -: node -
    • FindMandatoryIndexes() -: node -
    • FindMapVariableList() -: node -
    • findRangeType() -: xml_in -
    • findStringType() -: xml_in -
    • FindSubentryInfos() -: node -
    • FindTypeDefaultValue() -: node -
    • FindTypeIndex() -: node -
    • FindTypeList() -: node -
    • FindTypeName() -: node -
    • format_namespace() -: networkedit -, objdictedit -
    -

    - g -

    -

    - h -

    -

    - m -

    -

    - n -

    -

    - o -

    -

    - p -

    -

    - r -

    -

    - s -

    -

    - u -

    -

    - w -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacemembers_func.html --- a/doc/doxygen/html/namespacemembers_func.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,265 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -
    - -
    - -

    -  -

    -

    - _ -

    -

    - a -

    -

    - c -

    -

    - d -

    -

    - e -

    -

    - f -

      -
    • FindEntryInfos() -: node -
    • FindEntryName() -: node -
    • FindIndex() -: node -
    • FindMandatoryIndexes() -: node -
    • FindMapVariableList() -: node -
    • findRangeType() -: xml_in -
    • findStringType() -: xml_in -
    • FindSubentryInfos() -: node -
    • FindTypeDefaultValue() -: node -
    • FindTypeIndex() -: node -
    • FindTypeList() -: node -
    • FindTypeName() -: node -
    • format_namespace() -: networkedit -, objdictedit -
    -

    - g -

    -

    - h -

      -
    • heartBeatProducer() -: xml_in -
    -

    - o -

    -

    - p -

    -

    - r -

    -

    - s -

    -

    - u -

    -

    - w -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacemembers_vars.html --- a/doc/doxygen/html/namespacemembers_vars.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ - - -CanFestival: Data Fields - - - - - - -
    - -
    -  -

    -

    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacenetworkedit.html --- a/doc/doxygen/html/namespacenetworkedit.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1848 +0,0 @@ - - -CanFestival: networkedit Namespace Reference - - - - - - -

    networkedit Namespace Reference

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    class  wxHtmlWindowUrlClick
    class  wxUrlClickHtmlWindow
    class  networkedit

    Functions

    def create
    def usage
    def EVT_HTML_URL_CLICK
    def _init_coll_NetworkMenu_Items
    def _init_coll_AddMenu_Items
    def _init_coll_HelpBar_Fields
    def _init_utils
    def _init_ctrls
    def __init__
    def GetNoteBook
    def OnQuitMenu
    def OnAddSDOServerMenu
    def OnAddSDOClientMenu
    def OnAddPDOTransmitMenu
    def OnAddPDOReceiveMenu
    def OnAddMapVariableMenu
    def OnAddUserTypeMenu
    def OnNodeSelectedChanged
    def OnNewProjectMenu
    def OnOpenProjectMenu
    def OnSaveProjectMenu
    def OnAddSlaveMenu
    def OnRemoveSlaveMenu
    def RefreshTitle
    def OnRefreshMenu
    def RefreshCurrentIndexList
    def RefreshNetworkNodes
    def RefreshStatusBar
    def RefreshMainMenu
    def RefreshProfileMenu
    def RefreshBufferState
    def OnUndoMenu
    def OnRedoMenu
    def OnHelpDS301Menu
    def OnHelpCANFestivalMenu
    def OnAboutMenu
    def OpenHtmlFrame
    def OnCommunicationMenu
    def OnOtherCommunicationMenu
    def OnEditProfileMenu
    def EditProfile
    def OnNodeInfosMenu
    def AddMapVariable
    def AddUserType
    def Display_Exception_Dialog
    def Display_Error_Dialog
    def get_last_traceback
    def format_namespace
    def wxAddExceptHook

    Variables

     Mode
     HtmlFrameOpened
     Mode
     Manager
     NodeList
     NodeList
     NodeList
     Manager
     Manager
     NodeList
     Manager
     NodeList
     NodeList
     Mode
     Mode
    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def networkedit::__init__ (  self,
      parent,
      mode = "solo",
      nodelist = None 
    )
    -
    -
    - -

    - -

    -Definition at line 355 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::_init_coll_AddMenu_Items (  self,
      parent 
    ) [private]
    -
    -
    - -

    -self.Bind(wx.EVT_MENU, self.OnBuildMasterMenu, id=wxID_NETWORKEDITNETWORKMENUITEMS3) -

    -Definition at line 272 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::_init_coll_HelpBar_Fields (  self,
      parent 
    ) [private]
    -
    -
    - -

    - -

    -Definition at line 300 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::_init_coll_NetworkMenu_Items (  self,
      parent 
    ) [private]
    -
    -
    - -

    - -

    -Definition at line 255 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::_init_ctrls (  self,
      prnt 
    ) [private]
    -
    -
    - -

    - -

    -Definition at line 334 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::_init_utils (  self  )  [private]
    -
    -
    - -

    - -

    -Definition at line 310 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::AddMapVariable (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 804 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::AddUserType (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 825 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::create (  parent  ) 
    -
    -
    - -

    - -

    -Definition at line 41 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::Display_Error_Dialog (  e_value  ) 
    -
    -
    - -

    - -

    -Definition at line 885 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def networkedit::Display_Exception_Dialog (  e_type,
      e_value,
      e_tb 
    )
    -
    -
    - -

    - -

    -Definition at line 846 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def networkedit::EditProfile (  self,
      title,
      dictionary,
      current 
    )
    -
    -
    - -

    - -

    -Definition at line 757 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::EVT_HTML_URL_CLICK (  win,
      func 
    )
    -
    -
    - -

    - -

    -Definition at line 75 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::format_namespace (  d,
      indent = '    ' 
    )
    -
    -
    - -

    - -

    -Definition at line 896 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::get_last_traceback (  tb  ) 
    -
    -
    - -

    - -

    -Definition at line 890 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::GetNoteBook (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 377 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnAboutMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 724 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnAddMapVariableMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 408 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnAddPDOReceiveMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 402 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnAddPDOTransmitMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 396 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnAddSDOClientMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 390 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnAddSDOServerMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 384 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnAddSlaveMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 499 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnAddUserTypeMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 412 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnCommunicationMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 741 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnEditProfileMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 751 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnHelpCANFestivalMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 719 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnHelpDS301Menu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 697 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnNewProjectMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 430 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnNodeInfosMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 784 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnNodeSelectedChanged (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 416 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnOpenProjectMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 458 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnOtherCommunicationMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 746 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnQuitMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 380 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnRedoMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 687 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnRefreshMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 553 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnRemoveSlaveMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 520 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnSaveProjectMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 487 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::OnUndoMenu (  self,
      event 
    )
    -
    -
    - -

    - -

    -Definition at line 681 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    def networkedit::OpenHtmlFrame (  self,
      title,
      file,
      size 
    )
    -
    -
    - -

    - -

    -Definition at line 728 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::RefreshBufferState (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 669 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::RefreshCurrentIndexList (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 557 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::RefreshMainMenu (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 608 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::RefreshNetworkNodes (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 565 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::RefreshProfileMenu (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 644 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::RefreshStatusBar (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 577 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def networkedit::RefreshTitle (  self  ) 
    -
    -
    - -

    - -

    -Definition at line 547 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - -
    def networkedit::usage (  ) 
    -
    -
    - -

    - -

    -Definition at line 44 of file networkedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def networkedit::wxAddExceptHook (  path,
      app_version = '[No version]' 
    )
    -
    -
    - -

    - -

    -Definition at line 902 of file networkedit.py. -

    -

    -


    Variable Documentation

    - -
    - -
    - -

    - -

    -Definition at line 358 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 471 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 443 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 371 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 361 of file networkedit.py. -

    -

    - -

    -
    - - - - -
    networkedit::Mode
    -
    -
    - -

    - -

    -Definition at line 624 of file networkedit.py. -

    -

    - -

    -
    - - - - -
    networkedit::Mode
    -
    -
    - -

    - -

    -Definition at line 612 of file networkedit.py. -

    -

    - -

    -
    - - - - -
    networkedit::Mode
    -
    -
    - -

    - -

    -Definition at line 360 of file networkedit.py. -

    -

    - -

    -
    - - - - -
    networkedit::Mode
    -
    -
    - -

    - -

    -Definition at line 356 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 611 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 472 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 444 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 370 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 368 of file networkedit.py. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 363 of file networkedit.py. -

    -

    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacenode.html --- a/doc/doxygen/html/namespacenode.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,391 +0,0 @@ - - -CanFestival: node Namespace Reference - - - - - - -

    node Namespace Reference

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    class  Node

    Functions

    def FindTypeIndex
    def FindTypeName
    def FindTypeDefaultValue
    def FindTypeList
    def FindEntryName
    def FindEntryInfos
    def FindSubentryInfos
    def FindMapVariableList
    def FindMandatoryIndexes
    def FindIndex
    def StringFormat
    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    def node::FindEntryInfos (  index,
      mappingdictionary 
    )
    -
    -
    - -

    - -

    -Definition at line 286 of file node.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def node::FindEntryName (  index,
      mappingdictionary 
    )
    -
    -
    - -

    - -

    -Definition at line 273 of file node.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def node::FindIndex (  index,
      mappingdictionary 
    )
    -
    -
    - -

    - -

    -Definition at line 353 of file node.py. -

    -

    - -

    -
    - - - - - - - - - -
    def node::FindMandatoryIndexes (  mappingdictionary  ) 
    -
    -
    - -

    - -

    -Definition at line 342 of file node.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def node::FindMapVariableList (  mappingdictionary,
      Node 
    )
    -
    -
    - -

    - -

    -Definition at line 324 of file node.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def node::FindSubentryInfos (  index,
      subIndex,
      mappingdictionary 
    )
    -
    -
    - -

    - -

    -Definition at line 299 of file node.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def node::FindTypeDefaultValue (  typeindex,
      mappingdictionary 
    )
    -
    -
    - -

    - -

    -Definition at line 255 of file node.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def node::FindTypeIndex (  typename,
      mappingdictionary 
    )
    -
    -
    - -

    - -

    -Definition at line 235 of file node.py. -

    -

    - -

    -
    - - - - - - - - - -
    def node::FindTypeList (  mappingdictionary  ) 
    -
    -
    - -

    - -

    -Definition at line 263 of file node.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def node::FindTypeName (  typeindex,
      mappingdictionary 
    )
    -
    -
    - -

    - -

    -Definition at line 247 of file node.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def node::StringFormat (  text,
      idx,
      sub 
    )
    -
    -
    - -

    - -

    -Definition at line 375 of file node.py. -

    -

    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacenode_1_1_5.html --- a/doc/doxygen/html/namespacenode_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: node::* Namespace Reference - - - - - - -

    node::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacenodelist.html --- a/doc/doxygen/html/namespacenodelist.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ - - -CanFestival: nodelist Namespace Reference - - - - - - -

    nodelist Namespace Reference

    -

    - - - - - -

    Data Structures

    class  NodeList
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacenodelist_1_1_5.html --- a/doc/doxygen/html/namespacenodelist_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: nodelist::* Namespace Reference - - - - - - -

    nodelist::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacenodemanager.html --- a/doc/doxygen/html/namespacenodemanager.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ - - -CanFestival: nodemanager Namespace Reference - - - - - - -

    nodemanager Namespace Reference

    -

    - - - - - - - - - - -

    Data Structures

    class  UndoBuffer
    class  NodeManager

    Functions

    def GetNewId
    -


    Function Documentation

    - -
    -
    - - - - - - - - -
    def nodemanager::GetNewId (  ) 
    -
    -
    - -

    - -

    -Definition at line 43 of file nodemanager.py. -

    -

    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacenodemanager_1_1_5.html --- a/doc/doxygen/html/namespacenodemanager_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: nodemanager::* Namespace Reference - - - - - - -

    nodemanager::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespaceobjdictedit.html --- a/doc/doxygen/html/namespaceobjdictedit.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,271 +0,0 @@ - - -CanFestival: objdictedit Namespace Reference - - - - - - -

    objdictedit Namespace Reference

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    class  wxHtmlWindowUrlClick
    class  wxUrlClickHtmlWindow
    class  objdictedit

    Functions

    def EVT_HTML_URL_CLICK
    def create
    def usage
    def Display_Exception_Dialog
    def Display_Error_Dialog
    def get_last_traceback
    def format_namespace
    def wxAddExceptHook
    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    def objdictedit::create (  parent  ) 
    -
    -
    - -

    - -

    -Definition at line 109 of file objdictedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def objdictedit::Display_Error_Dialog (  e_value  ) 
    -
    -
    - -

    - -

    -Definition at line 960 of file objdictedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def objdictedit::Display_Exception_Dialog (  e_type,
      e_value,
      e_tb 
    )
    -
    -
    - -

    - -

    -Definition at line 921 of file objdictedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def objdictedit::EVT_HTML_URL_CLICK (  win,
      func 
    )
    -
    -
    - -

    - -

    -Definition at line 46 of file objdictedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def objdictedit::format_namespace (  d,
      indent = '    ' 
    )
    -
    -
    - -

    - -

    -Definition at line 971 of file objdictedit.py. -

    -

    - -

    -
    - - - - - - - - - -
    def objdictedit::get_last_traceback (  tb  ) 
    -
    -
    - -

    - -

    -Definition at line 965 of file objdictedit.py. -

    -

    - -

    -
    - - - - - - - - -
    def objdictedit::usage (  ) 
    -
    -
    - -

    - -

    -Definition at line 112 of file objdictedit.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def objdictedit::wxAddExceptHook (  path,
      app_version = '[No version]' 
    )
    -
    -
    - -

    - -

    -Definition at line 977 of file objdictedit.py. -

    -

    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespaceobjdictgen.html --- a/doc/doxygen/html/namespaceobjdictgen.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ - - -CanFestival: objdictgen Namespace Reference - - - - - - -

    objdictgen Namespace Reference

    -

    - - - - - -

    Functions

    def usage
    -


    Function Documentation

    - -
    -
    - - - - - - - - -
    def objdictgen::usage (  ) 
    -
    -
    - -

    - -

    -Definition at line 29 of file objdictgen.py. -

    -

    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespaces.html --- a/doc/doxygen/html/namespaces.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ - - -CanFestival: Namespace Index - - - - - - -

    CanFestival Namespace List

    Here is a list of all namespaces with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    commondialogs
    commondialogs::*
    doc_index
    doc_index::__init__
    doc_index::DS301_index
    doc_index::DS301_index::*
    DS301_index::*
    eds_utils
    gen_cfile
    gnosis::xml::pickle::*
    networkedit
    node
    node::*
    nodelist
    nodelist::*
    nodemanager
    nodemanager::*
    objdictedit
    objdictgen
    sets::*
    subindextable
    subindextable::*
    time::*
    types::*
    wxPython::grid::*
    wxPython::html::*
    wxPython::wx::*
    xml_in
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacesets_1_1_5.html --- a/doc/doxygen/html/namespacesets_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: sets::* Namespace Reference - - - - - - -

    sets::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacesubindextable.html --- a/doc/doxygen/html/namespacesubindextable.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - -CanFestival: subindextable Namespace Reference - - - - - - -

    subindextable Namespace Reference

    -

    - - - - - - - -

    Data Structures

    class  SubindexTable
    class  EditingPanel
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacesubindextable_1_1_5.html --- a/doc/doxygen/html/namespacesubindextable_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: subindextable::* Namespace Reference - - - - - - -

    subindextable::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacetime_1_1_5.html --- a/doc/doxygen/html/namespacetime_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: time::* Namespace Reference - - - - - - -

    time::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacetypes_1_1_5.html --- a/doc/doxygen/html/namespacetypes_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: types::* Namespace Reference - - - - - - -

    types::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacewxPython_1_1grid_1_1_5.html --- a/doc/doxygen/html/namespacewxPython_1_1grid_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: wxPython::grid::* Namespace Reference - - - - - - -

    wxPython::grid::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacewxPython_1_1html_1_1_5.html --- a/doc/doxygen/html/namespacewxPython_1_1html_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: wxPython::html::* Namespace Reference - - - - - - -

    wxPython::html::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacewxPython_1_1wx_1_1_5.html --- a/doc/doxygen/html/namespacewxPython_1_1wx_1_1_5.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: wxPython::wx::* Namespace Reference - - - - - - -

    wxPython::wx::* Namespace Reference

    -

    - - -
    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/namespacexml__in.html --- a/doc/doxygen/html/namespacexml__in.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,478 +0,0 @@ - - -CanFestival: xml_in Namespace Reference - - - - - - -

    xml_in Namespace Reference

    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Functions

    def StartElement
    def EndElement
    def CharacterData
    def startNode
    def stopNode
    def startPdo
    def startMappedObject
    def startMappedVariable
    def startMappedTable
    def findRangeType
    def findStringType
    def heartBeatProducer
    def startHeartBeatConsumers
    def sdoServer
    def startSdoClients
    def ParseFile
    def GenerateNode
    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    def xml_in::CharacterData (  data  ) 
    -
    -
    - -

    - -

    -Definition at line 76 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::EndElement (  name  ) 
    -
    -
    - -

    - -

    -Definition at line 71 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def xml_in::findRangeType (  type,
      minValue,
      maxValue 
    )
    -
    -
    - -

    - -

    -Definition at line 354 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def xml_in::findStringType (  type,
      length 
    )
    -
    -
    - -

    - -

    -Definition at line 378 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def xml_in::GenerateNode (  filepath,
      manager 
    )
    -
    -
    - -

    - -

    -Definition at line 439 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - -
    def xml_in::heartBeatProducer (  ) 
    -
    -
    - -

    - -

    -Definition at line 403 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::ParseFile (  filepath  ) 
    -
    -
    - -

    - -

    -Definition at line 430 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - -
    def xml_in::sdoServer (  ) 
    -
    -
    - -

    - -

    -Definition at line 415 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    def xml_in::StartElement (  name,
      attrs 
    )
    -
    -
    - -

    - -

    -Definition at line 46 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::startHeartBeatConsumers (  attrs  ) 
    -
    -
    - -

    - -

    -Definition at line 406 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::startMappedObject (  attrs  ) 
    -
    -
    - -

    - -

    -Definition at line 204 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::startMappedTable (  attrs  ) 
    -
    -
    - -

    - -

    -Definition at line 297 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::startMappedVariable (  attrs  ) 
    -
    -
    - -

    - -

    -Definition at line 237 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::startNode (  attrs  ) 
    -
    -
    - -

    - -

    -Definition at line 83 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::startPdo (  attrs  ) 
    -
    -
    - -

    - -

    -Definition at line 153 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - - -
    def xml_in::startSdoClients (  attrs  ) 
    -
    -
    - -

    - -

    -Definition at line 419 of file xml_in.py. -

    -

    - -

    -
    - - - - - - - - -
    def xml_in::stopNode (  ) 
    -
    -
    - -

    - -

    -Definition at line 145 of file xml_in.py. -

    -

    -


    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/networkedit_8py-source.html --- a/doc/doxygen/html/networkedit_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,977 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/networkedit.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/networkedit.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 from wxPython.wx import *
    -00025 from wxPython.grid import *
    -00026 import wx
    -00027 from wx.lib.anchors import LayoutAnchors
    -00028 import wx.grid
    -00029 
    -00030 from types import *
    -00031 import os, re, platform, sys, time, traceback, getopt
    -00032 
    -00033 __version__ = "$Revision$"
    -00034 
    -00035 from nodelist import *
    -00036 from nodemanager import *
    -00037 from subindextable import *
    -00038 from commondialogs import *
    -00039 from doc_index.DS301_index import *
    -00040 
    -00041 def create(parent):
    -00042     return networkedit(parent)
    -00043 
    -00044 def usage():
    -00045     print "\nUsage of networkedit.py :"
    -00046     print "\n   %s [Projectpath]\n"%sys.argv[0]
    -00047 
    -00048 try:
    -00049     opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
    -00050 except getopt.GetoptError:
    -00051     # print help information and exit:
    -00052     usage()
    -00053     sys.exit(2)
    -00054 
    -00055 for o, a in opts:
    -00056     if o in ("-h", "--help"):
    -00057         usage()
    -00058         sys.exit()
    -00059 
    -00060 if len(args) == 0:
    -00061     projectOpen = None 
    -00062 elif len(args) == 1:
    -00063     projectOpen = args[0]
    -00064 else:
    -00065     usage()
    -00066     sys.exit(2)
    -00067 
    -00068 ScriptDirectory = sys.path[0]
    -00069 
    -00070 try:
    -00071     from wxPython.html import *
    -00072 
    -00073     wxEVT_HTML_URL_CLICK = wxNewId()
    -00074 
    -00075     def EVT_HTML_URL_CLICK(win, func):
    -00076         win.Connect(-1, -1, wxEVT_HTML_URL_CLICK, func)
    -00077 
    -00078     class wxHtmlWindowUrlClick(wxPyEvent):
    -00079         def __init__(self, linkinfo):
    -00080             wxPyEvent.__init__(self)
    -00081             self.SetEventType(wxEVT_HTML_URL_CLICK)
    -00082             self.linkinfolinkinfo = (linkinfo.GetHref(), linkinfo.GetTarget())
    -00083 
    -00084     class wxUrlClickHtmlWindow(wxHtmlWindow):
    -00085         """ HTML window that generates and OnLinkClicked event.
    -00086 
    -00087         Use this to avoid having to override HTMLWindow
    -00088         """
    -00089         def OnLinkClicked(self, linkinfo):
    -00090             wxPostEvent(self, wxHtmlWindowUrlClick(linkinfo))
    -00091     
    -00092 #-------------------------------------------------------------------------------
    -00093 #                                Html Frame
    -00094 #-------------------------------------------------------------------------------
    -00095 
    -00096     [wxID_HTMLFRAME, wxID_HTMLFRAMEHTMLCONTENT] = [wx.NewId() for _init_ctrls in range(2)]
    -00097 
    -00098     class HtmlFrame(wx.Frame):
    -00099         def _init_ctrls(self, prnt):
    -00100             # generated method, don't edit
    -00101             wx.Frame.__init__(self, id=wxID_HTMLFRAME, name='HtmlFrame',
    -00102                   parent=prnt, pos=wx.Point(320, 231), size=wx.Size(853, 616),
    -00103                   style=wx.DEFAULT_FRAME_STYLE, title='')
    -00104             self.Bind(wx.EVT_CLOSE, self.OnCloseFrameOnCloseFrame, id=wxID_HTMLFRAME)
    -00105             
    -00106             self.HtmlContent = wxUrlClickHtmlWindow(id=wxID_HTMLFRAMEHTMLCONTENT,
    -00107                   name='HtmlContent', parent=self, pos=wx.Point(0, 0),
    -00108                   size=wx.Size(-1, -1), style=wxHW_SCROLLBAR_AUTO|wxHW_NO_SELECTION)
    -00109             EVT_HTML_URL_CLICK(self.HtmlContent, self.OnLinkClickOnLinkClick)
    -00110 
    -00111         def __init__(self, parent, opened):
    -00112             self._init_ctrls_init_ctrls(parent)
    -00113             self.HtmlFrameOpenedHtmlFrameOpened = opened
    -00114         
    -00115         def SetHtmlCode(self, htmlcode):
    -00116             self.HtmlContent.SetPage(htmlcode)
    -00117             
    -00118         def SetHtmlPage(self, htmlpage):
    -00119             self.HtmlContent.LoadPage(htmlpage)
    -00120             
    -00121         def OnCloseFrame(self, event):
    -00122             self.HtmlFrameOpenedHtmlFrameOpened.remove(self.GetTitle())
    -00123             event.Skip()
    -00124         
    -00125         def OnLinkClick(self, event):
    -00126             url = event.linkinfo[0]
    -00127             try:
    -00128                 import webbrowser
    -00129             except ImportError:
    -00130                 wxMessageBox('Please point your browser at: %s' % url)
    -00131             else:
    -00132                 webbrowser.open(url)
    -00133     
    -00134     Html_Window = True
    -00135 except:
    -00136     Html_Window = False
    -00137 
    -00138 
    -00139 [wxID_NETWORKEDIT, wxID_NETWORKEDITNETWORKNODES, 
    -00140  wxID_NETWORKEDITHELPBAR,
    -00141 ] = [wx.NewId() for _init_ctrls in range(3)]
    -00142 
    -00143 [wxID_NETWORKEDITADDMENUITEMS0, wxID_NETWORKEDITADDMENUITEMS1, 
    -00144  wxID_NETWORKEDITADDMENUITEMS2, wxID_NETWORKEDITADDMENUITEMS3, 
    -00145  wxID_NETWORKEDITADDMENUITEMS4, wxID_NETWORKEDITADDMENUITEMS5, 
    -00146 ] = [wx.NewId() for _init_coll_AddMenu_Items in range(6)]
    -00147 
    -00148 [wxID_NETWORKEDITFILEMENUITEMS0, wxID_NETWORKEDITFILEMENUITEMS1, 
    -00149  wxID_NETWORKEDITFILEMENUITEMS2, wxID_NETWORKEDITFILEMENUITEMS4, 
    -00150  wxID_NETWORKEDITFILEMENUITEMS5, wxID_NETWORKEDITFILEMENUITEMS6,
    -00151 ] = [wx.NewId() for _init_coll_FileMenu_Items in range(6)]
    -00152 
    -00153 [wxID_NETWORKEDITNETWORKMENUITEMS0, wxID_NETWORKEDITNETWORKMENUITEMS1, 
    -00154  wxID_NETWORKEDITNETWORKMENUITEMS3, 
    -00155 ] = [wx.NewId() for _init_coll_AddMenu_Items in range(3)]
    -00156 
    -00157 
    -00158 [wxID_NETWORKEDITEDITMENUITEMS0, wxID_NETWORKEDITEDITMENUITEMS1, 
    -00159  wxID_NETWORKEDITEDITMENUITEMS2, wxID_NETWORKEDITEDITMENUITEMS4, 
    -00160  wxID_NETWORKEDITEDITMENUITEMS6, wxID_NETWORKEDITEDITMENUITEMS7, 
    -00161  wxID_NETWORKEDITEDITMENUITEMS8, 
    -00162 ] = [wx.NewId() for _init_coll_EditMenu_Items in range(7)]
    -00163 
    -00164 [wxID_NETWORKEDITHELPMENUITEMS0, wxID_NETWORKEDITHELPMENUITEMS1,
    -00165  wxID_NETWORKEDITHELPMENUITEMS2,
    -00166 ] = [wx.NewId() for _init_coll_HelpMenu_Items in range(3)]
    -00167 
    -00168 class networkedit(wx.Frame):
    -00169     def _init_coll_menuBar1_Menus(self, parent):
    -00170         # generated method, don't edit
    -00171 
    -00172         if self.Mode == "solo":
    -00173             parent.Append(menu=self.FileMenu, title='File')
    -00174         parent.Append(menu=self.NetworkMenu, title='Network')
    -00175         parent.Append(menu=self.EditMenu, title='Edit')
    -00176         parent.Append(menu=self.AddMenu, title='Add')
    -00177         parent.Append(menu=self.HelpMenu, title='Help')
    -00178 
    -00179     def _init_coll_EditMenu_Items(self, parent):
    -00180         # generated method, don't edit
    -00181 
    -00182         parent.Append(help='', id=wxID_NETWORKEDITEDITMENUITEMS4,
    -00183               kind=wx.ITEM_NORMAL, text='Refresh\tCTRL+R')
    -00184         parent.AppendSeparator()
    -00185         parent.Append(help='', id=wxID_NETWORKEDITEDITMENUITEMS1,
    -00186               kind=wx.ITEM_NORMAL, text='Undo\tCTRL+Z')
    -00187         parent.Append(help='', id=wxID_NETWORKEDITEDITMENUITEMS0,
    -00188               kind=wx.ITEM_NORMAL, text='Redo\tCTRL+Y')
    -00189         parent.AppendSeparator()
    -00190         parent.Append(help='', id=wxID_NETWORKEDITEDITMENUITEMS6,
    -00191               kind=wx.ITEM_NORMAL, text='Node infos')
    -00192         parent.Append(help='', id=wxID_NETWORKEDITEDITMENUITEMS2,
    -00193               kind=wx.ITEM_NORMAL, text='DS-301 Profile')
    -00194         parent.Append(help='', id=wxID_NETWORKEDITEDITMENUITEMS8,
    -00195               kind=wx.ITEM_NORMAL, text='DS-302 Profile')
    -00196         parent.Append(help='', id=wxID_NETWORKEDITEDITMENUITEMS7,
    -00197               kind=wx.ITEM_NORMAL, text='Other Profile')
    -00198         self.Bind(wx.EVT_MENU, self.OnUndoMenu,
    -00199               id=wxID_NETWORKEDITEDITMENUITEMS1)
    -00200         self.Bind(wx.EVT_MENU, self.OnRedoMenu,
    -00201               id=wxID_NETWORKEDITEDITMENUITEMS0)
    -00202         self.Bind(wx.EVT_MENU, self.OnCommunicationMenu,
    -00203               id=wxID_NETWORKEDITEDITMENUITEMS2)
    -00204         self.Bind(wx.EVT_MENU, self.OnRefreshMenu,
    -00205               id=wxID_NETWORKEDITEDITMENUITEMS4)
    -00206         self.Bind(wx.EVT_MENU, self.OnNodeInfosMenu,
    -00207               id=wxID_NETWORKEDITEDITMENUITEMS6)
    -00208         self.Bind(wx.EVT_MENU, self.OnEditProfileMenu,
    -00209               id=wxID_NETWORKEDITEDITMENUITEMS7)
    -00210         self.Bind(wx.EVT_MENU, self.OnOtherCommunicationMenu,
    -00211               id=wxID_NETWORKEDITEDITMENUITEMS8)
    -00212 
    -00213     def _init_coll_HelpMenu_Items(self, parent):
    -00214         # generated method, don't edit
    -00215 
    -00216         parent.Append(help='', id=wxID_NETWORKEDITHELPMENUITEMS0,
    -00217               kind=wx.ITEM_NORMAL, text='DS-301 Standard\tF1')
    -00218         self.Bind(wx.EVT_MENU, self.OnHelpDS301Menu,
    -00219               id=wxID_NETWORKEDITHELPMENUITEMS0)
    -00220         parent.Append(help='', id=wxID_NETWORKEDITHELPMENUITEMS1,
    -00221               kind=wx.ITEM_NORMAL, text='CAN Festival Docs\tF2')
    -00222         self.Bind(wx.EVT_MENU, self.OnHelpCANFestivalMenu,
    -00223               id=wxID_NETWORKEDITHELPMENUITEMS1)
    -00224         if Html_Window and self.Mode == "solo":
    -00225             parent.Append(help='', id=wxID_NETWORKEDITHELPMENUITEMS2,
    -00226                   kind=wx.ITEM_NORMAL, text='About')
    -00227             self.Bind(wx.EVT_MENU, self.OnAboutMenu,
    -00228                   id=wxID_NETWORKEDITHELPMENUITEMS2)
    -00229 
    -00230     def _init_coll_FileMenu_Items(self, parent):
    -00231         # generated method, don't edit
    -00232 
    -00233         parent.Append(help='', id=wxID_NETWORKEDITFILEMENUITEMS5,
    -00234               kind=wx.ITEM_NORMAL, text='New\tCTRL+N')
    -00235         parent.Append(help='', id=wxID_NETWORKEDITFILEMENUITEMS0,
    -00236               kind=wx.ITEM_NORMAL, text='Open\tCTRL+O')
    -00237         parent.Append(help='', id=wxID_NETWORKEDITFILEMENUITEMS1,
    -00238               kind=wx.ITEM_NORMAL, text='Save\tCTRL+S')
    -00239         parent.Append(help='', id=wxID_NETWORKEDITFILEMENUITEMS2,
    -00240               kind=wx.ITEM_NORMAL, text='Close\tCTRL+W')
    -00241         parent.AppendSeparator()
    -00242         parent.Append(help='', id=wxID_NETWORKEDITFILEMENUITEMS4,
    -00243               kind=wx.ITEM_NORMAL, text='Exit')
    -00244         self.Bind(wx.EVT_MENU, self.OnOpenProjectMenu,
    -00245               id=wxID_NETWORKEDITFILEMENUITEMS0)
    -00246         self.Bind(wx.EVT_MENU, self.OnSaveProjectMenu,
    -00247               id=wxID_NETWORKEDITFILEMENUITEMS1)
    -00248 ##        self.Bind(wx.EVT_MENU, self.OnCloseProjectMenu,
    -00249 ##              id=wxID_NETWORKEDITFILEMENUITEMS2)
    -00250         self.Bind(wx.EVT_MENU, self.OnQuitMenu,
    -00251               id=wxID_NETWORKEDITFILEMENUITEMS4)
    -00252         self.Bind(wx.EVT_MENU, self.OnNewProjectMenu,
    -00253               id=wxID_NETWORKEDITFILEMENUITEMS5)
    -00254     
    -00255     def _init_coll_NetworkMenu_Items(self, parent):
    -00256         # generated method, don't edit
    -00257 
    -00258         parent.Append(help='', id=wxID_NETWORKEDITNETWORKMENUITEMS0,
    -00259               kind=wx.ITEM_NORMAL, text='Add Slave Node')
    -00260         parent.Append(help='', id=wxID_NETWORKEDITNETWORKMENUITEMS1,
    -00261               kind=wx.ITEM_NORMAL, text='Remove Slave Node')
    -00262         parent.AppendSeparator()
    -00263         parent.Append(help='', id=wxID_NETWORKEDITNETWORKMENUITEMS3,
    -00264               kind=wx.ITEM_NORMAL, text='Build Master Dictionary')
    -00265         self.Bind(wx.EVT_MENU, self.OnAddSlaveMenu,
    -00266               id=wxID_NETWORKEDITNETWORKMENUITEMS0)
    -00267         self.Bind(wx.EVT_MENU, self.OnRemoveSlaveMenu,
    -00268               id=wxID_NETWORKEDITNETWORKMENUITEMS1)
    -00269 ##        self.Bind(wx.EVT_MENU, self.OnBuildMasterMenu,
    -00270 ##              id=wxID_NETWORKEDITNETWORKMENUITEMS3)
    -00271     
    -00272     def _init_coll_AddMenu_Items(self, parent):
    -00273         # generated method, don't edit
    -00274 
    -00275         parent.Append(help='', id=wxID_NETWORKEDITADDMENUITEMS0,
    -00276               kind=wx.ITEM_NORMAL, text='SDO Server')
    -00277         parent.Append(help='', id=wxID_NETWORKEDITADDMENUITEMS1,
    -00278               kind=wx.ITEM_NORMAL, text='SDO Client')
    -00279         parent.Append(help='', id=wxID_NETWORKEDITADDMENUITEMS2,
    -00280               kind=wx.ITEM_NORMAL, text='PDO Transmit')
    -00281         parent.Append(help='', id=wxID_NETWORKEDITADDMENUITEMS3,
    -00282               kind=wx.ITEM_NORMAL, text='PDO Receive')
    -00283         parent.Append(help='', id=wxID_NETWORKEDITADDMENUITEMS4,
    -00284               kind=wx.ITEM_NORMAL, text='Map Variable')
    -00285         parent.Append(help='', id=wxID_NETWORKEDITADDMENUITEMS5,
    -00286               kind=wx.ITEM_NORMAL, text='User Type')
    -00287         self.Bind(wx.EVT_MENU, self.OnAddSDOServerMenu,
    -00288               id=wxID_NETWORKEDITADDMENUITEMS0)
    -00289         self.Bind(wx.EVT_MENU, self.OnAddSDOClientMenu,
    -00290               id=wxID_NETWORKEDITADDMENUITEMS1)
    -00291         self.Bind(wx.EVT_MENU, self.OnAddPDOTransmitMenu,
    -00292               id=wxID_NETWORKEDITADDMENUITEMS2)
    -00293         self.Bind(wx.EVT_MENU, self.OnAddPDOReceiveMenu,
    -00294               id=wxID_NETWORKEDITADDMENUITEMS3)
    -00295         self.Bind(wx.EVT_MENU, self.OnAddMapVariableMenu,
    -00296               id=wxID_NETWORKEDITADDMENUITEMS4)
    -00297         self.Bind(wx.EVT_MENU, self.OnAddUserTypeMenu,
    -00298               id=wxID_NETWORKEDITADDMENUITEMS5)
    -00299 
    -00300     def _init_coll_HelpBar_Fields(self, parent):
    -00301         # generated method, don't edit
    -00302         parent.SetFieldsCount(3)
    -00303 
    -00304         parent.SetStatusText(number=0, text='')
    -00305         parent.SetStatusText(number=1, text='')
    -00306         parent.SetStatusText(number=2, text='')
    -00307 
    -00308         parent.SetStatusWidths([100, 110, -1])
    -00309 
    -00310     def _init_utils(self):
    -00311         # generated method, don't edit
    -00312         self.menuBar1 = wx.MenuBar()
    -00313         self.menuBar1.SetEvtHandlerEnabled(True)
    -00314         
    -00315         if self.Mode == "solo":
    -00316             self.FileMenu = wx.Menu(title='')
    -00317         
    -00318         self.NetworkMenu = wx.Menu(title='')
    -00319 
    -00320         self.EditMenu = wx.Menu(title='')
    -00321 
    -00322         self.AddMenu = wx.Menu(title='')
    -00323 
    -00324         self.HelpMenu = wx.Menu(title='')
    -00325 
    -00326         self._init_coll_menuBar1_Menus(self.menuBar1)
    -00327         if self.Mode == "solo":
    -00328             self._init_coll_FileMenu_Items(self.FileMenu)
    -00329         self._init_coll_NetworkMenu_Items(self.NetworkMenu)
    -00330         self._init_coll_EditMenu_Items(self.EditMenu)
    -00331         self._init_coll_AddMenu_Items(self.AddMenu)
    -00332         self._init_coll_HelpMenu_Items(self.HelpMenu)
    -00333 
    -00334     def _init_ctrls(self, prnt):
    -00335         # generated method, don't edit
    -00336         wx.Frame.__init__(self, id=wxID_NETWORKEDIT, name='networkedit',
    -00337               parent=prnt, pos=wx.Point(149, 178), size=wx.Size(1000, 700),
    -00338               style=wx.DEFAULT_FRAME_STYLE, title='Networkedit')
    -00339         self._init_utils()
    -00340         self.SetClientSize(wx.Size(1000, 700))
    -00341         self.SetMenuBar(self.menuBar1)
    -00342 ##        self.Bind(wx.EVT_CLOSE, self.OnCloseFrame, id=wxID_NETWORKEDIT)
    -00343 
    -00344         self.NetworkNodes = wx.Notebook(id=wxID_NETWORKEDITNETWORKNODES,
    -00345               name='NetworkNodes', parent=self, pos=wx.Point(0, 0),
    -00346               size=wx.Size(0, 0), style=wxNB_LEFT)
    -00347         self.NetworkNodes.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
    -00348               self.OnNodeSelectedChanged, id=wxID_NETWORKEDITNETWORKNODES)
    -00349 
    -00350         self.HelpBar = wx.StatusBar(id=wxID_NETWORKEDITHELPBAR, name='HelpBar',
    -00351               parent=self, style=wxST_SIZEGRIP)
    -00352         self._init_coll_HelpBar_Fields(self.HelpBar)
    -00353         self.SetStatusBar(self.HelpBar)
    -00354 
    -00355     def __init__(self, parent, mode = "solo", nodelist = None):
    -00356         self.Mode = mode
    -00357         self._init_ctrls(parent)
    -00358         self.HtmlFrameOpened = []
    -00359         
    -00360         if self.Mode == "solo":
    -00361             self.Manager = NodeManager(ScriptDirectory)
    -00362             if projectOpen:
    -00363                 self.NodeList = NodeList(self.Manager)
    -00364                 result = self.NodeList.LoadProject(projectOpen)
    -00365                 if not result:
    -00366                     self.RefreshNetworkNodes()
    -00367             else:
    -00368                 self.NodeList = None
    -00369         else:
    -00370             self.NodeList = nodelist
    -00371             self.Manager = self.NodeList.GetManager()
    -00372         
    -00373         self.RefreshBufferState()
    -00374         self.RefreshTitle()
    -00375         self.RefreshMainMenu()
    -00376 
    -00377     def GetNoteBook(self):
    -00378         return self.NetworkNodes
    -00379 
    -00380     def OnQuitMenu(self, event):
    -00381         self.Close()
    -00382         event.Skip()
    -00383 
    -00384     def OnAddSDOServerMenu(self, event):
    -00385         self.Manager.AddSDOServerToCurrent()
    -00386         self.RefreshBufferState()
    -00387         self.RefreshCurrentIndexList()
    -00388         event.Skip()
    -00389     
    -00390     def OnAddSDOClientMenu(self, event):
    -00391         self.Manager.AddSDOClientToCurrent()
    -00392         self.RefreshBufferState()
    -00393         self.RefreshCurrentIndexList()
    -00394         event.Skip()
    -00395 
    -00396     def OnAddPDOTransmitMenu(self, event):
    -00397         self.Manager.AddPDOTransmitToCurrent()
    -00398         self.RefreshBufferState()
    -00399         self.RefreshCurrentIndexList()
    -00400         event.Skip()
    -00401 
    -00402     def OnAddPDOReceiveMenu(self, event):
    -00403         self.Manager.AddPDOReceiveToCurrent()
    -00404         self.RefreshBufferState()
    -00405         self.RefreshCurrentIndexList()
    -00406         event.Skip()
    -00407 
    -00408     def OnAddMapVariableMenu(self, event):
    -00409         self.AddMapVariable()
    -00410         event.Skip()
    -00411 
    -00412     def OnAddUserTypeMenu(self, event):
    -00413         self.AddUserType()
    -00414         event.Skip()
    -00415 
    -00416     def OnNodeSelectedChanged(self, event):
    -00417         selected = event.GetSelection()
    -00418         # At init selected = -1
    -00419         if selected > 0:
    -00420             window = self.NetworkNodes.GetPage(selected)
    -00421             self.NodeList.SetCurrentSelected(window.GetIndex())
    -00422         self.RefreshMainMenu()
    -00423         self.RefreshStatusBar()
    -00424         event.Skip()
    -00425 
    -00426 #-------------------------------------------------------------------------------
    -00427 #                         Load and Save Funtions
    -00428 #-------------------------------------------------------------------------------
    -00429 
    -00430     def OnNewProjectMenu(self, event):
    -00431         if self.NodeList:
    -00432             defaultpath = os.path.dirname(self.NodeList.GetRoot())
    -00433         else:
    -00434             defaultpath = os.getcwd()
    -00435         dialog = wxDirDialog(self , "Choose a project", defaultpath, wxDD_NEW_DIR_BUTTON)
    -00436         if dialog.ShowModal() == wxID_OK:
    -00437             projectpath = dialog.GetPath()
    -00438             if os.path.isdir(projectpath) and len(os.listdir(projectpath)) == 0:
    -00439                 manager = NodeManager(ScriptDirectory)
    -00440                 nodelist = NodeList(manager)
    -00441                 result = nodelist.LoadProject(projectpath)
    -00442                 if not result:
    -00443                     self.Manager = manager
    -00444                     self.NodeList = nodelist
    -00445                     self.NodeList.SetCurrentSelected(0)
    -00446                                         
    -00447                     self.RefreshNetworkNodes()
    -00448                     self.RefreshBufferState()
    -00449                     self.RefreshTitle()
    -00450                     self.RefreshProfileMenu()
    -00451                     self.RefreshMainMenu()
    -00452                 else:
    -00453                     message = wxMessageDialog(self, result, "ERROR", wxOK|wxICON_ERROR)
    -00454                     message.ShowModal()
    -00455                     message.Destroy()
    -00456         event.Skip()
    -00457 
    -00458     def OnOpenProjectMenu(self, event):
    -00459         if self.NodeList:
    -00460             defaultpath = os.path.dirname(self.NodeList.GetRoot())
    -00461         else:
    -00462             defaultpath = os.getcwd()
    -00463         dialog = wxDirDialog(self , "Choose a project", defaultpath, 0)
    -00464         if dialog.ShowModal() == wxID_OK:
    -00465             projectpath = dialog.GetPath()
    -00466             if os.path.isdir(projectpath):
    -00467                 manager = NodeManager(ScriptDirectory)
    -00468                 nodelist = NodeList(manager)
    -00469                 result = nodelist.LoadProject(projectpath)
    -00470                 if not result:
    -00471                     self.Manager = manager
    -00472                     self.NodeList = nodelist
    -00473                     self.NodeList.SetCurrentSelected(0)
    -00474                     
    -00475                     self.RefreshNetworkNodes()
    -00476                     self.RefreshBufferState()
    -00477                     self.RefreshTitle()
    -00478                     self.RefreshProfileMenu()
    -00479                     self.RefreshMainMenu()
    -00480                 else:
    -00481                     message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00482                     message.ShowModal()
    -00483                     message.Destroy()
    -00484         dialog.Destroy()
    -00485         event.Skip()
    -00486 
    -00487     def OnSaveProjectMenu(self, event):
    -00488         result = self.NodeList.SaveProject()
    -00489         if result:
    -00490             message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00491             message.ShowModal()
    -00492             message.Destroy()
    -00493         event.Skip()
    -00494 
    -00495 #-------------------------------------------------------------------------------
    -00496 #                             Slave Nodes Management
    -00497 #-------------------------------------------------------------------------------
    -00498 
    -00499     def OnAddSlaveMenu(self, event):
    -00500         dialog = AddSlaveDialog(self)
    -00501         dialog.SetNodeList(self.NodeList)
    -00502         if dialog.ShowModal() == wxID_OK:
    -00503             values = dialog.GetValues()
    -00504             result = self.NodeList.AddSlaveNode(values["slaveName"], values["slaveNodeID"], values["edsFile"])
    -00505             if not result:
    -00506                 new_editingpanel = EditingPanel(self, self.NodeList, False)
    -00507                 new_editingpanel.SetIndex(values["slaveNodeID"])
    -00508                 idx = self.NodeList.GetOrderNumber(values["slaveNodeID"])
    -00509                 self.NetworkNodes.InsertPage(idx, new_editingpanel, "")
    -00510                 self.NodeList.SetCurrentSelected(idx)
    -00511                 self.NetworkNodes.SetSelection(idx)
    -00512                 self.RefreshBufferState()
    -00513             else:
    -00514                 message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00515                 message.ShowModal()
    -00516                 message.Destroy()
    -00517         dialog.Destroy()
    -00518         event.Skip()
    -00519 
    -00520     def OnRemoveSlaveMenu(self, event):
    -00521         slavenames = self.NodeList.GetSlaveNames()
    -00522         slaveids = self.NodeList.GetSlaveIDs()
    -00523         dialog = wxSingleChoiceDialog(self, "Choose a slave to remove", "Remove slave", slavenames)
    -00524         if dialog.ShowModal() == wxID_OK:
    -00525             choice = dialog.GetSelection()
    -00526             result = self.NodeList.RemoveSlaveNode(slaveids[choice])
    -00527             if not result:
    -00528                 slaveids.pop(choice)
    -00529                 current = self.NetworkNodes.GetSelection()
    -00530                 self.NetworkNodes.DeletePage(choice + 1)
    -00531                 if self.NetworkNodes.GetPageCount() > 0:
    -00532                     new_selection = min(current, self.NetworkNodes.GetPageCount() - 1)
    -00533                     self.NetworkNodes.SetSelection(new_selection)
    -00534                     if new_selection > 0:
    -00535                         self.NodeList.SetCurrentSelected(slaveids[new_selection - 1])
    -00536                     self.RefreshBufferState()
    -00537             else:
    -00538                 message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00539                 message.ShowModal()
    -00540                 message.Destroy()
    -00541         event.Skip()
    -00542 
    -00543 #-------------------------------------------------------------------------------
    -00544 #                             Refresh Functions
    -00545 #-------------------------------------------------------------------------------
    -00546 
    -00547     def RefreshTitle(self):
    -00548         if self.NodeList != None:
    -00549             self.SetTitle("Networkedit - %s"%self.NodeList.GetNetworkName())
    -00550         else:
    -00551             self.SetTitle("Networkedit")
    -00552 
    -00553     def OnRefreshMenu(self, event):
    -00554         self.RefreshCurrentIndexList()
    -00555         event.Skip()
    -00556 
    -00557     def RefreshCurrentIndexList(self):
    -00558         selected = self.NetworkNodes.GetSelection()
    -00559         if selected == 0:
    -00560             window = self.NetworkNodes.GetPage(selected)
    -00561             window.RefreshIndexList()
    -00562         else:
    -00563             pass
    -00564 
    -00565     def RefreshNetworkNodes(self):
    -00566         if self.NetworkNodes.GetPageCount() > 0:
    -00567             self.NetworkNodes.DeleteAllPages()
    -00568         if self.NodeList:
    -00569             new_editingpanel = EditingPanel(self, self.Manager)
    -00570             new_editingpanel.SetIndex(0)
    -00571             self.NetworkNodes.AddPage(new_editingpanel, "")
    -00572             for idx in self.NodeList.GetSlaveIDs():
    -00573                 new_editingpanel = EditingPanel(self, self.NodeList, False)
    -00574                 new_editingpanel.SetIndex(idx)
    -00575                 self.NetworkNodes.AddPage(new_editingpanel, "")
    -00576 
    -00577     def RefreshStatusBar(self):
    -00578         if self.HelpBar:
    -00579             window = self.NetworkNodes.GetPage(self.NetworkNodes.GetSelection())
    -00580             selection = window.GetSelection()
    -00581             if selection:
    -00582                 index, subIndex = selection
    -00583                 if self.NodeList.IsCurrentEntry(index):
    -00584                     self.HelpBar.SetStatusText("Index: 0x%04X"%index, 0)
    -00585                     self.HelpBar.SetStatusText("Subindex: 0x%02X"%subIndex, 1)
    -00586                     entryinfos = self.NodeList.GetEntryInfos(index)
    -00587                     name = entryinfos["name"]
    -00588                     category = "Optional"
    -00589                     if entryinfos["need"]:
    -00590                         category = "Mandatory"
    -00591                     struct = "VAR"
    -00592                     number = ""
    -00593                     if entryinfos["struct"] & OD_IdenticalIndexes:
    -00594                         number = " possibly defined %d times"%entryinfos["nbmax"]
    -00595                     if entryinfos["struct"] & OD_IdenticalSubindexes:
    -00596                         struct = "REC"
    -00597                     elif entryinfos["struct"] & OD_MultipleSubindexes:
    -00598                         struct = "ARRAY"
    -00599                     text = "%s: %s entry of struct %s%s."%(name,category,struct,number)
    -00600                     self.HelpBar.SetStatusText(text, 2)
    -00601                 else:
    -00602                     for i in xrange(3):
    -00603                         self.HelpBar.SetStatusText("", i)
    -00604             else:
    -00605                 for i in xrange(3):
    -00606                     self.HelpBar.SetStatusText("", i)
    -00607 
    -00608     def RefreshMainMenu(self):
    -00609         if self.menuBar1:
    -00610             self.NetworkMenu.Enable(wxID_NETWORKEDITNETWORKMENUITEMS3, False)
    -00611             if self.NodeList == None:
    -00612                 if self.Mode == "solo":
    -00613                     self.menuBar1.EnableTop(1, False)
    -00614                     self.menuBar1.EnableTop(2, False)
    -00615                     self.menuBar1.EnableTop(3, False)
    -00616                     if self.FileMenu:
    -00617                         self.FileMenu.Enable(wxID_NETWORKEDITFILEMENUITEMS1, False)
    -00618                         self.FileMenu.Enable(wxID_NETWORKEDITFILEMENUITEMS2, False)
    -00619                 else:
    -00620                     self.menuBar1.EnableTop(0, False)
    -00621                     self.menuBar1.EnableTop(1, False)
    -00622                     self.menuBar1.EnableTop(2, False)
    -00623             else:
    -00624                 if self.Mode == "solo":
    -00625                     self.menuBar1.EnableTop(1, True)
    -00626                     if self.FileMenu:
    -00627                         self.FileMenu.Enable(wxID_NETWORKEDITFILEMENUITEMS1, True)
    -00628                         self.FileMenu.Enable(wxID_NETWORKEDITFILEMENUITEMS2, False)
    -00629                     if self.NetworkNodes.GetSelection() == 0:
    -00630                         self.menuBar1.EnableTop(2, True)
    -00631                         self.menuBar1.EnableTop(3, True)
    -00632                     else:
    -00633                         self.menuBar1.EnableTop(2, False)      
    -00634                         self.menuBar1.EnableTop(3, False)
    -00635                 else:
    -00636                     self.menuBar1.EnableTop(0, True)
    -00637                     if self.NetworkNodes.GetSelection() == 0:
    -00638                         self.menuBar1.EnableTop(1, True)
    -00639                         self.menuBar1.EnableTop(2, True)
    -00640                     else:
    -00641                         self.menuBar1.EnableTop(1, False)      
    -00642                         self.menuBar1.EnableTop(2, False)
    -00643 
    -00644     def RefreshProfileMenu(self):
    -00645         if self.EditMenu:
    -00646             profile = self.Manager.GetCurrentProfileName()
    -00647             edititem = self.EditMenu.FindItemById(wxID_NETWORKEDITEDITMENUITEMS7)
    -00648             if edititem:
    -00649                 length = self.AddMenu.GetMenuItemCount()
    -00650                 for i in xrange(length-6):
    -00651                     additem = self.AddMenu.FindItemByPosition(6)
    -00652                     self.AddMenu.Delete(additem.GetId())
    -00653                 if profile not in ("None", "DS-301"):
    -00654                     edititem.SetText("%s Profile"%profile)
    -00655                     edititem.Enable(True)
    -00656                     self.AddMenu.AppendSeparator()
    -00657                     for text, indexes in self.Manager.GetCurrentSpecificMenu():
    -00658                         new_id = wx.NewId()
    -00659                         self.AddMenu.Append(help='', id=new_id, kind=wx.ITEM_NORMAL, text=text)
    -00660                         self.Bind(wx.EVT_MENU, self.GetProfileCallBack(text), id=new_id)
    -00661                 else:
    -00662                     edititem.SetText("Other Profile")
    -00663                     edititem.Enable(False)
    -00664 
    -00665 #-------------------------------------------------------------------------------
    -00666 #                              Buffer Functions
    -00667 #-------------------------------------------------------------------------------
    -00668 
    -00669     def RefreshBufferState(self):
    -00670         if self.NodeList:
    -00671             nodeID = self.Manager.GetCurrentNodeID()
    -00672             if nodeID != None:
    -00673                 nodename = "0x%2.2X %s"%(nodeID, self.Manager.GetCurrentNodeName())
    -00674             else:
    -00675                 nodename = self.Manager.GetCurrentNodeName()
    -00676             self.NetworkNodes.SetPageText(0, nodename)
    -00677             for idx, name in enumerate(self.NodeList.GetSlaveNames()):
    -00678                 self.NetworkNodes.SetPageText(idx + 1, name)
    -00679             self.RefreshTitle()
    -00680 
    -00681     def OnUndoMenu(self, event):
    -00682         self.Manager.LoadCurrentPrevious()
    -00683         self.RefreshCurrentIndexList()
    -00684         self.RefreshBufferState()
    -00685         event.Skip()
    -00686 
    -00687     def OnRedoMenu(self, event):
    -00688         self.Manager.LoadCurrentNext()
    -00689         self.RefreshCurrentIndexList()
    -00690         self.RefreshBufferState()
    -00691         event.Skip()
    -00692 
    -00693 #-------------------------------------------------------------------------------
    -00694 #                                Help Method
    -00695 #-------------------------------------------------------------------------------
    -00696 
    -00697     def OnHelpDS301Menu(self, event):
    -00698         find_index = False
    -00699         selected = self.NetworkNodes.GetSelection()
    -00700         if selected >= 0:
    -00701             window = self.NetworkNodes.GetPage(selected)
    -00702             result = window.GetSelection()
    -00703             if result:
    -00704                 find_index = True
    -00705                 index, subIndex = result
    -00706                 result = OpenPDFDocIndex(index, ScriptDirectory)
    -00707                 if type(result) == StringType:
    -00708                     message = wxMessageDialog(self, result, "ERROR", wxOK|wxICON_ERROR)
    -00709                     message.ShowModal()
    -00710                     message.Destroy()
    -00711         if not find_index:
    -00712             result = OpenPDFDocIndex(None, ScriptDirectory)
    -00713             if type(result) == StringType:
    -00714                 message = wxMessageDialog(self, result, "ERROR", wxOK|wxICON_ERROR)
    -00715                 message.ShowModal()
    -00716                 message.Destroy()
    -00717         event.Skip()
    -00718         
    -00719     def OnHelpCANFestivalMenu(self, event):
    -00720         #self.OpenHtmlFrame("CAN Festival Reference", os.path.join(ScriptDirectory, "doc/canfestival.html"), wx.Size(1000, 600))
    -00721         os.system("xpdf -remote CANFESTIVAL %s %d &"%(os.path.join(ScriptDirectory, "doc/manual_en.pdf"),16))
    -00722         event.Skip()
    -00723 
    -00724     def OnAboutMenu(self, event):
    -00725         self.OpenHtmlFrame("About CAN Festival", os.path.join(ScriptDirectory, "doc/about.html"), wx.Size(500, 450))
    -00726         event.Skip()
    -00727 
    -00728     def OpenHtmlFrame(self, title, file, size):
    -00729         if title not in self.HtmlFrameOpened:
    -00730             self.HtmlFrameOpened.append(title)
    -00731             window = HtmlFrame(self, self.HtmlFrameOpened)
    -00732             window.SetTitle(title)
    -00733             window.SetHtmlPage(file)
    -00734             window.SetClientSize(size)
    -00735             window.Show()
    -00736 
    -00737 #-------------------------------------------------------------------------------
    -00738 #                          Editing Profiles functions
    -00739 #-------------------------------------------------------------------------------
    -00740 
    -00741     def OnCommunicationMenu(self, event):
    -00742         dictionary,current = self.Manager.GetCurrentCommunicationLists()
    -00743         self.EditProfile("Edit DS-301 Profile", dictionary, current)
    -00744         event.Skip()
    -00745     
    -00746     def OnOtherCommunicationMenu(self, event):
    -00747         dictionary,current = self.Manager.GetCurrentDS302Lists()
    -00748         self.EditProfile("Edit DS-301 Profile", dictionary, current)
    -00749         event.Skip()
    -00750     
    -00751     def OnEditProfileMenu(self, event):
    -00752         title = "Edit %s Profile"%self.Manager.GetCurrentProfileName()
    -00753         dictionary,current = self.Manager.GetCurrentProfileLists()
    -00754         self.EditProfile(title, dictionary, current)
    -00755         event.Skip()
    -00756     
    -00757     def EditProfile(self, title, dictionary, current):
    -00758         dialog = CommunicationDialog(self)
    -00759         dialog.SetTitle(title)
    -00760         dialog.SetIndexDictionary(dictionary)
    -00761         dialog.SetCurrentList(current)
    -00762         dialog.RefreshLists()
    -00763         if dialog.ShowModal() == wxID_OK:
    -00764             new_profile = dialog.GetCurrentList()
    -00765             addinglist = []
    -00766             removinglist = []
    -00767             for index in new_profile:
    -00768                 if index not in current:
    -00769                     addinglist.append(index)
    -00770             for index in current:
    -00771                 if index not in new_profile:
    -00772                     removinglist.append(index)
    -00773             self.Manager.ManageEntriesOfCurrent(addinglist, removinglist)
    -00774             self.Manager.GenerateMapList()
    -00775             self.Manager.BufferCurrentNode()
    -00776             self.RefreshBufferState()
    -00777             self.RefreshCurrentIndexList()
    -00778         dialog.Destroy()
    -00779 
    -00780 #-------------------------------------------------------------------------------
    -00781 #                         Edit Node informations function
    -00782 #-------------------------------------------------------------------------------
    -00783 
    -00784     def OnNodeInfosMenu(self, event):
    -00785         dialog = NodeInfosDialog(self)
    -00786         name, id, type, description = self.Manager.GetCurrentNodeInfos()
    -00787         dialog.SetValues(name, id, type, description)
    -00788         if dialog.ShowModal() == wxID_OK:
    -00789             name, id, type, description = dialog.GetValues()
    -00790             self.Manager.SetCurrentNodeInfos(name, id, type, description)
    -00791             self.RefreshBufferState()
    -00792             self.RefreshProfileMenu()
    -00793             selected = self.FileOpened.GetSelection()
    -00794             if selected >= 0:
    -00795                 window = self.FileOpened.GetPage(selected)
    -00796                 window.RefreshTable()
    -00797         event.Skip()
    -00798 
    -00799 
    -00800 #-------------------------------------------------------------------------------
    -00801 #                           Add User Types and Variables
    -00802 #-------------------------------------------------------------------------------
    -00803         
    -00804     def AddMapVariable(self):
    -00805         index = self.Manager.GetCurrentNextMapIndex()
    -00806         if index:
    -00807             dialog = MapVariableDialog(self)
    -00808             dialog.SetIndex(index)
    -00809             if dialog.ShowModal() == wxID_OK:
    -00810                 index, name, struct, number = dialog.GetValues()
    -00811                 result = self.Manager.AddMapVariableToCurrent(index, name, struct, number)
    -00812                 if type(result) != StringType:
    -00813                     self.RefreshBufferState()
    -00814                     self.RefreshCurrentIndexList()
    -00815                 else:
    -00816                     message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00817                     message.ShowModal()
    -00818                     message.Destroy()
    -00819             dialog.Destroy()
    -00820         else:
    -00821             message = wxMessageDialog(self, result, "No map variable index left!", wxOK|wxICON_ERROR)
    -00822             message.ShowModal()
    -00823             message.Destroy()
    -00824         
    -00825     def AddUserType(self):
    -00826         dialog = UserTypeDialog(self)
    -00827         dialog.SetTypeList(self.Manager.GetCustomisableTypes())
    -00828         if dialog.ShowModal() == wxID_OK:
    -00829             type, min, max, length = dialog.GetValues()
    -00830             result = self.Manager.AddUserTypeToCurrent(type, min, max, length)
    -00831             if not IsOfType(result, StringType):
    -00832                 self.RefreshBufferState()
    -00833                 self.RefreshCurrentIndexList()
    -00834             else:
    -00835                 message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00836                 message.ShowModal()
    -00837                 message.Destroy()
    -00838         dialog.Destroy()
    -00839 
    -00840 #-------------------------------------------------------------------------------
    -00841 #                               Exception Handler
    -00842 #-------------------------------------------------------------------------------
    -00843 
    -00844 Max_Traceback_List_Size = 20
    -00845 
    -00846 def Display_Exception_Dialog(e_type,e_value,e_tb):
    -00847     trcbck_lst = []
    -00848     for i,line in enumerate(traceback.extract_tb(e_tb)):
    -00849         trcbck = " " + str(i+1) + ". "
    -00850         if line[0].find(os.getcwd()) == -1:
    -00851             trcbck += "file : " + str(line[0]) + ",   "
    -00852         else:
    -00853             trcbck += "file : " + str(line[0][len(os.getcwd()):]) + ",   "
    -00854         trcbck += "line : " + str(line[1]) + ",   " + "function : " + str(line[2])
    -00855         trcbck_lst.append(trcbck)
    -00856         
    -00857     # Allow clicking....
    -00858     cap = wx.Window_GetCapture()
    -00859     if cap:
    -00860         cap.ReleaseMouse()
    -00861 
    -00862     dlg = wx.SingleChoiceDialog(None, 
    -00863         """
    -00864 An error happens.
    -00865 
    -00866 Click on OK for saving an error report.
    -00867 
    -00868 Please contact LOLITech at:
    -00869 +33 (0)3 29 52 95 67
    -00870 bugs_networkedit@lolitech.fr
    -00871 
    -00872 
    -00873 Error:
    -00874 """ +
    -00875         str(e_type) + " : " + str(e_value), 
    -00876         "Error",
    -00877         trcbck_lst)
    -00878     try:
    -00879         res = (dlg.ShowModal() == wx.ID_OK)
    -00880     finally:
    -00881         dlg.Destroy()
    -00882 
    -00883     return res
    -00884 
    -00885 def Display_Error_Dialog(e_value):
    -00886     message = wxMessageDialog(None, str(e_value), "Error", wxOK|wxICON_ERROR)
    -00887     message.ShowModal()
    -00888     message.Destroy()
    -00889 
    -00890 def get_last_traceback(tb):
    -00891     while tb.tb_next:
    -00892         tb = tb.tb_next
    -00893     return tb
    -00894 
    -00895 
    -00896 def format_namespace(d, indent='    '):
    -00897     return '\n'.join(['%s%s: %s' % (indent, k, repr(v)[:10000]) for k, v in d.iteritems()])
    -00898 
    -00899 
    -00900 ignored_exceptions = [] # a problem with a line in a module is only reported once per session
    -00901 
    -00902 def wxAddExceptHook(path, app_version='[No version]'):#, ignored_exceptions=[]):
    -00903     
    -00904     def handle_exception(e_type, e_value, e_traceback):
    -00905         traceback.print_exception(e_type, e_value, e_traceback) # this is very helpful when there's an exception in the rest of this func
    -00906         last_tb = get_last_traceback(e_traceback)
    -00907         ex = (last_tb.tb_frame.f_code.co_filename, last_tb.tb_frame.f_lineno)
    -00908         if str(e_value).startswith("!!!"):
    -00909             Display_Error_Dialog(e_value)
    -00910         elif ex not in ignored_exceptions:
    -00911             ignored_exceptions.append(ex)
    -00912             result = Display_Exception_Dialog(e_type,e_value,e_traceback)
    -00913             if result:
    -00914                 info = {
    -00915                     'app-title' : wx.GetApp().GetAppName(), # app_title
    -00916                     'app-version' : app_version,
    -00917                     'wx-version' : wx.VERSION_STRING,
    -00918                     'wx-platform' : wx.Platform,
    -00919                     'python-version' : platform.python_version(), #sys.version.split()[0],
    -00920                     'platform' : platform.platform(),
    -00921                     'e-type' : e_type,
    -00922                     'e-value' : e_value,
    -00923                     'date' : time.ctime(),
    -00924                     'cwd' : os.getcwd(),
    -00925                     }
    -00926                 if e_traceback:
    -00927                     info['traceback'] = ''.join(traceback.format_tb(e_traceback)) + '%s: %s' % (e_type, e_value)
    -00928                     last_tb = get_last_traceback(e_traceback)
    -00929                     exception_locals = last_tb.tb_frame.f_locals # the locals at the level of the stack trace where the exception actually occurred
    -00930                     info['locals'] = format_namespace(exception_locals)
    -00931                     if 'self' in exception_locals:
    -00932                         info['self'] = format_namespace(exception_locals['self'].__dict__)
    -00933                 
    -00934                 output = open(path+os.sep+"bug_report_"+info['date'].replace(':','-').replace(' ','_')+".txt",'w')
    -00935                 lst = info.keys()
    -00936                 lst.sort()
    -00937                 for a in lst:
    -00938                     output.write(a+":\n"+str(info[a])+"\n\n")
    -00939 
    -00940     #sys.excepthook = lambda *args: wx.CallAfter(handle_exception, *args)
    -00941     sys.excepthook = handle_exception
    -00942 
    -00943 if __name__ == '__main__':
    -00944     app = wxPySimpleApp()
    -00945     wxInitAllImageHandlers()
    -00946     
    -00947     # Install a exception handle for bug reports
    -00948     wxAddExceptHook(os.getcwd(),__version__)
    -00949     
    -00950     frame = networkedit(None)
    -00951 
    -00952     frame.Show()
    -00953     app.MainLoop()
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/networkedit_8py.html --- a/doc/doxygen/html/networkedit_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/networkedit.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/networkedit.py File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Namespaces

    namespace  networkedit
    namespace  nodelist::*
    namespace  nodemanager::*
    namespace  subindextable::*
    namespace  commondialogs::*
    namespace  doc_index::DS301_index::*
    namespace  wxPython::html::*

    Data Structures

    class  networkedit::wxHtmlWindowUrlClick
    class  networkedit::wxUrlClickHtmlWindow
    class  networkedit::wxUrlClickHtmlWindow::HtmlFrame
    class  networkedit::networkedit

    Functions

    def networkedit::create
    def networkedit::usage
    def networkedit::EVT_HTML_URL_CLICK
    def networkedit::_init_coll_NetworkMenu_Items
    def networkedit::_init_coll_AddMenu_Items
    def networkedit::_init_coll_HelpBar_Fields
    def networkedit::_init_utils
    def networkedit::_init_ctrls
    def networkedit::__init__
    def networkedit::GetNoteBook
    def networkedit::OnQuitMenu
    def networkedit::OnAddSDOServerMenu
    def networkedit::OnAddSDOClientMenu
    def networkedit::OnAddPDOTransmitMenu
    def networkedit::OnAddPDOReceiveMenu
    def networkedit::OnAddMapVariableMenu
    def networkedit::OnAddUserTypeMenu
    def networkedit::OnNodeSelectedChanged
    def networkedit::OnNewProjectMenu
    def networkedit::OnOpenProjectMenu
    def networkedit::OnSaveProjectMenu
    def networkedit::OnAddSlaveMenu
    def networkedit::OnRemoveSlaveMenu
    def networkedit::RefreshTitle
    def networkedit::OnRefreshMenu
    def networkedit::RefreshCurrentIndexList
    def networkedit::RefreshNetworkNodes
    def networkedit::RefreshStatusBar
    def networkedit::RefreshMainMenu
    def networkedit::RefreshProfileMenu
    def networkedit::RefreshBufferState
    def networkedit::OnUndoMenu
    def networkedit::OnRedoMenu
    def networkedit::OnHelpDS301Menu
    def networkedit::OnHelpCANFestivalMenu
    def networkedit::OnAboutMenu
    def networkedit::OpenHtmlFrame
    def networkedit::OnCommunicationMenu
    def networkedit::OnOtherCommunicationMenu
    def networkedit::OnEditProfileMenu
    def networkedit::EditProfile
    def networkedit::OnNodeInfosMenu
    def networkedit::AddMapVariable
    def networkedit::AddUserType
    def networkedit::Display_Exception_Dialog
    def networkedit::Display_Error_Dialog
    def networkedit::get_last_traceback
    def networkedit::format_namespace
    def networkedit::wxAddExceptHook

    Variables

     networkedit::Mode
     networkedit::HtmlFrameOpened
     networkedit::Mode
     networkedit::Manager
     networkedit::NodeList
     networkedit::NodeList
     networkedit::NodeList
     networkedit::Manager
     networkedit::Manager
     networkedit::NodeList
     networkedit::Manager
     networkedit::NodeList
     networkedit::NodeList
     networkedit::Mode
     networkedit::Mode
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c-source.html --- a/doc/doxygen/html/nmtMaster_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/nmtMaster_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -16,90 +16,74 @@
  • Globals
  • /home/epimerde/documents/tc11/CanFestival-3/src/nmtMaster.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #include "nmtMaster.h"
    -00024 #include "canfestival.h"
    -00025 
    -00026 /******************************************************************************/
    -00027 UNS8 masterSendNMTstateChange(CO_Data* d, UNS8 Node_ID, UNS8 cs)
    -00028 {
    -00029   Message m;
    -00030 
    -00031   MSG_WAR(0x3501, "Send_NMT cs : ", cs);
    -00032   MSG_WAR(0x3502, "    to node : ", Node_ID);
    -00033   /* message configuration */
    -00034   m.cob_id.w = 0x0000; /*(NMT) << 7*/
    -00035   m.rtr = NOT_A_REQUEST;
    -00036   m.len = 2;
    -00037   m.data[0] = cs;
    -00038   m.data[1] = Node_ID;
    -00039   
    -00040   return canSend(d->canHandle,&m);
    -00041 }
    -00042 
    -00043 
    -00044 /****************************************************************************/
    -00045 UNS8 masterSendNMTnodeguard(CO_Data* d, UNS8 nodeId)
    +00002   This file is part of CanFestival, a library implementing CanOpen
    +00003   Stack.
    +00004 
    +00005   Copyright (C): Edouard TISSERANT and Francis DUPIN
    +00006 
    +00007   See COPYING file for copyrights details.
    +00008 
    +00009   This library is free software; you can redistribute it and/or
    +00010   modify it under the terms of the GNU Lesser General Public
    +00011   License as published by the Free Software Foundation; either
    +00012   version 2.1 of the License, or (at your option) any later version.
    +00013 
    +00014   This library is distributed in the hope that it will be useful,
    +00015   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +00016   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +00017   Lesser General Public License for more details.
    +00018 
    +00019   You should have received a copy of the GNU Lesser General Public
    +00020   License along with this library; if not, write to the Free Software
    +00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
    +00022   USA
    +00023 */
    +00033 #include "nmtMaster.h"
    +00034 #include "canfestival.h"
    +00035 
    +00045 UNS8 masterSendNMTstateChange(CO_Data* d, UNS8 Node_ID, UNS8 cs)
     00046 {
     00047   Message m;
    -00048   
    -00049   MSG_WAR(0x3503, "Send_NODE_GUARD to node : ", nodeId);
    -00050         
    -00051   /* message configuration */
    -00052   m.cob_id.w = nodeId | (NODE_GUARD << 7);
    -00053   m.rtr = REQUEST;
    -00054   m.len = 1;
    -00055   
    -00056   return canSend(d->canHandle,&m);
    -00057 }
    -00058 
    -00059 /******************************************************************************/
    -00060 void masterRequestNodeState(CO_Data* d, UNS8 nodeId)
    -00061 {
    -00062   /* FIXME: should warn for bad toggle bit. */
    -00063 
    -00064   /* NMTable configuration to indicate that the master is waiting
    -00065    * for a Node_Guard frame from the slave whose node_id is ID */
    -00066   d->NMTable[nodeId] = Unknown_state; /* A state that does not exist */
    -00067 
    -00068   if (nodeId == 0) { /* NMT broadcast */
    -00069     UNS8 i = 0;
    -00070     for (i = 0 ; i < NMT_MAX_NODE_ID ; i++) {
    -00071       d->NMTable[i] = Unknown_state;
    -00072     }
    -00073   }
    -00074   masterSendNMTnodeguard(d,nodeId);
    -00075 }
    -00076 
    -00077 
    -00078 
    -00079 
    +00048 
    +00049   MSG_WAR(0x3501, "Send_NMT cs : ", cs);
    +00050   MSG_WAR(0x3502, "    to node : ", Node_ID);
    +00052   m.cob_id.w = 0x0000; /*(NMT) << 7*/
    +00053   m.rtr = NOT_A_REQUEST;
    +00054   m.len = 2;
    +00055   m.data[0] = cs;
    +00056   m.data[1] = Node_ID;
    +00057 
    +00058   return canSend(d->canHandle,&m);
    +00059 }
    +00060 
    +00061 
    +00070 UNS8 masterSendNMTnodeguard(CO_Data* d, UNS8 nodeId)
    +00071 {
    +00072   Message m;
    +00073 
    +00074   MSG_WAR(0x3503, "Send_NODE_GUARD to node : ", nodeId);
    +00075 
    +00076   /* message configuration */
    +00077   m.cob_id.w = nodeId | (NODE_GUARD << 7);
    +00078   m.rtr = REQUEST;
    +00079   m.len = 1;
     00080 
    -00081 
    -00082 
    +00081   return canSend(d->canHandle,&m);
    +00082 }
     00083 
    -00084 
    -

    Generated on Mon Jun 4 17:09:26 2007 for CanFestival by  +00090 void masterRequestNodeState(CO_Data* d, UNS8 nodeId) +00091 { +00097 d->NMTable[nodeId] = Unknown_state; +00100 if (nodeId == 0) { +00101 UNS8 i = 0; +00102 for (i = 0 ; i < NMT_MAX_NODE_ID ; i++) { +00103 d->NMTable[i] = Unknown_state; +00104 } +00105 } +00106 masterSendNMTnodeguard(d,nodeId); +00107 } +00108 +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c.html --- a/doc/doxygen/html/nmtMaster_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/nmtMaster_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -19,6 +19,9 @@ #include "canfestival.h"

    +Include dependency graph for nmtMaster.c:

    + +

    Go to the source code of this file. @@ -29,7 +32,12 @@

    Functions

    void masterRequestNodeState (CO_Data *d, UNS8 nodeId)
    -


    Function Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Tue Jun 5 08:47:18 2007
    + +

    +Definition in file nmtMaster.c.


    Function Documentation

    @@ -56,11 +64,28 @@

    +

    Parameters:
    + + + +
    d 
    nodeId 
    +

    -Definition at line 60 of file nmtMaster.c. +FIXME: should warn for bad toggle bit.

    +NMTable configuration to indicate that the master is waiting for a Node_Guard frame from the slave whose node_id is ID

    +A state that does not exist

    +NMT broadcast

    -References masterSendNMTnodeguard(). +Definition at line 90 of file nmtMaster.c. +

    +References masterSendNMTnodeguard(). +

    +Here is the call graph for this function:

    + + + +

    @@ -89,9 +114,18 @@

    +

    Parameters:
    + + + +
    d 
    nodeId 
    +
    +
    Returns:

    -Definition at line 45 of file nmtMaster.c. +Definition at line 70 of file nmtMaster.c. +

    +Referenced by masterRequestNodeState().

    @@ -126,12 +160,22 @@

    +

    Parameters:
    + + + + +
    d 
    Node_ID 
    cs 
    +
    +
    Returns:

    -Definition at line 27 of file nmtMaster.c. +message configuration +

    +Definition at line 45 of file nmtMaster.c.

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:06 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c_6170d95d9900ef756921a934c5fb37d2_cgraph.dot --- a/doc/doxygen/html/nmtMaster_8c_6170d95d9900ef756921a934c5fb37d2_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="masterSendNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c_6170d95d9900ef756921a934c5fb37d2_cgraph.md5 --- a/doc/doxygen/html/nmtMaster_8c_6170d95d9900ef756921a934c5fb37d2_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -29def8dcfe8a799318744c93db04bbba \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.dot --- a/doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="masterRequestNodeState",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="masterSendNMTnodeguard",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8c.html#f63689baeabb15103c2b7afe8885c5c4"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $nmtMaster_8c.html#f63689baeabb15103c2b7afe8885c5c4 249,6 455,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.md5 --- a/doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -2903bc73de62c826be945b203cddfa10 \ No newline at end of file +2334127c3c97339f51e16aead79b4316 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.png Binary file doc/doxygen/html/nmtMaster_8c_98bee3f402438056dbd653e752054796_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c__incl.dot --- a/doc/doxygen/html/nmtMaster_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtMaster.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node3 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node7 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node3 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node9 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node10 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node11 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node12 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node13 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node3 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node16 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node17 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/nmtMaster_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c__incl.md5 --- a/doc/doxygen/html/nmtMaster_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/nmtMaster_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -bfe431b3d0acf92287b1296a39bcc1af \ No newline at end of file +5411ef332bb3ec852e585936be432632 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c__incl.png Binary file doc/doxygen/html/nmtMaster_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c_f63689baeabb15103c2b7afe8885c5c4_cgraph.dot --- a/doc/doxygen/html/nmtMaster_8c_f63689baeabb15103c2b7afe8885c5c4_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="masterSendNMTnodeguard",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8c_f63689baeabb15103c2b7afe8885c5c4_cgraph.md5 --- a/doc/doxygen/html/nmtMaster_8c_f63689baeabb15103c2b7afe8885c5c4_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -68c26061bfbf8f5aa86a467dd7f81caa \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h-source.html --- a/doc/doxygen/html/nmtMaster_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __nmtMaster_h__
    -00024 #define __nmtMaster_h__
    -00025 
    -00026 #include "data.h"
    -00027 
    -00045 UNS8 masterSendNMTstateChange (CO_Data* d, UNS8 Node_ID, UNS8 cs);
    -00046 
    -00052 UNS8 masterSendNMTnodeguard (CO_Data* d, UNS8 nodeId);
    -00053 
    -00054 
    -00061 void masterRequestNodeState (CO_Data* d, UNS8 nodeId);
    -00062 
    -00063 
    -00064 #endif /* __nmtMaster_h__ */
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h.html --- a/doc/doxygen/html/nmtMaster_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h File Reference

    #include "data.h"
    - -

    -Go to the source code of this file. - - - - - - - - -

    Functions

    UNS8 masterSendNMTstateChange (CO_Data *d, UNS8 Node_ID, UNS8 cs)
    UNS8 masterSendNMTnodeguard (CO_Data *d, UNS8 nodeId)
    void masterRequestNodeState (CO_Data *d, UNS8 nodeId)
    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void masterRequestNodeState (CO_Data d,
    UNS8  nodeId 
    )
    -
    -
    - -

    -Prepare a Node_Guard message transmission on the bus number bus_id to the slave whose node_id is nodeId Put nodeId = 0 to send an NMT broadcast. This message will ask for the slave, whose node_id is nodeId, its state bus_id is hardware dependant -

    -Definition at line 60 of file nmtMaster.c. -

    -References struct_s_timer_entry::d, masterSendNMTnodeguard(), NMT_MAX_NODE_ID, struct_CO_Data::NMTable, Unknown_state, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 masterSendNMTnodeguard (CO_Data d,
    UNS8  nodeId 
    )
    -
    -
    - -

    -Transmit a Node_Guard message on the bus number bus_id to the slave whose node_id is nodeId bus_id is hardware dependant return canSend(bus_id,&m) -

    -Definition at line 45 of file nmtMaster.c. -

    -References struct_CO_Data::canHandle, canSend(), Message::cob_id, struct_s_timer_entry::d, Message::len, MSG_WAR, NODE_GUARD, REQUEST, Message::rtr, and SHORT_CAN::w. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 masterSendNMTstateChange (CO_Data d,
    UNS8  Node_ID,
    UNS8  cs 
    )
    -
    -
    - -

    -Transmit a NMT message on the bus number bus_id to the slave whose node_id is ID bus_id is hardware dependant cs represents the order of state changement: cs = NMT_Start_Node // Put the node in operational mode cs = NMT_Stop_Node // Put the node in stopped mode cs = NMT_Enter_PreOperational // Put the node in pre_operational mode cs = NMT_Reset_Node // Put the node in initialization mode cs = NMT_Reset_Comunication // Put the node in initialization mode The mode is changed according to the slave state machine mode : initialisation ---> pre-operational (Automatic transition) pre-operational <--> operational pre-operational <--> stopped pre-operational, operational, stopped -> initialisation

    -return canSend(bus_id,&m) -

    -Definition at line 27 of file nmtMaster.c. -

    -References struct_CO_Data::canHandle, canSend(), Message::cob_id, struct_s_timer_entry::d, Message::data, Message::len, MSG_WAR, NOT_A_REQUEST, Message::rtr, and SHORT_CAN::w. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h_6170d95d9900ef756921a934c5fb37d2_cgraph.dot --- a/doc/doxygen/html/nmtMaster_8h_6170d95d9900ef756921a934c5fb37d2_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="masterSendNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h_6170d95d9900ef756921a934c5fb37d2_cgraph.md5 --- a/doc/doxygen/html/nmtMaster_8h_6170d95d9900ef756921a934c5fb37d2_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -29def8dcfe8a799318744c93db04bbba \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h_98bee3f402438056dbd653e752054796_cgraph.dot --- a/doc/doxygen/html/nmtMaster_8h_98bee3f402438056dbd653e752054796_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="masterRequestNodeState",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="masterSendNMTnodeguard",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8c.html#f63689baeabb15103c2b7afe8885c5c4"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h_98bee3f402438056dbd653e752054796_cgraph.md5 --- a/doc/doxygen/html/nmtMaster_8h_98bee3f402438056dbd653e752054796_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -93044c41da5252f8bdd06a6e7080967d \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h__dep__incl.dot --- a/doc/doxygen/html/nmtMaster_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtMaster.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node3 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node3 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node3 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node3 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node7 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node8 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node3 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node10 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node3 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node15 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h__dep__incl.md5 --- a/doc/doxygen/html/nmtMaster_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -1312e4beb9b45ab171bfc4984034f16d \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h__incl.dot --- a/doc/doxygen/html/nmtMaster_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node7 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node9 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node10 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node11 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node2 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h__incl.md5 --- a/doc/doxygen/html/nmtMaster_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -60be77e7ade7dd5576af0dea1e42dc81 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h_f63689baeabb15103c2b7afe8885c5c4_cgraph.dot --- a/doc/doxygen/html/nmtMaster_8h_f63689baeabb15103c2b7afe8885c5c4_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="masterSendNMTnodeguard",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtMaster_8h_f63689baeabb15103c2b7afe8885c5c4_cgraph.md5 --- a/doc/doxygen/html/nmtMaster_8h_f63689baeabb15103c2b7afe8885c5c4_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -68c26061bfbf8f5aa86a467dd7f81caa \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c-source.html --- a/doc/doxygen/html/nmtSlave_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/nmtSlave_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -16,96 +16,89 @@
  • Globals
  • /home/epimerde/documents/tc11/CanFestival-3/src/nmtSlave.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #include "nmtSlave.h"
    -00024 #include "states.h"
    -00025 #include "canfestival.h"
    -00026 
    -00027 /*******************************************************************)*********/
    -00028 /* put the slave in the state wanted by the master */   
    -00029 void proceedNMTstateChange(CO_Data* d, Message *m)
    -00030 {
    -00031   if( d->nodeState == Pre_operational ||
    -00032       d->nodeState == Operational ||
    -00033       d->nodeState == Stopped ) {
    -00034     
    -00035     MSG_WAR(0x3400, "NMT received. for node :  ", (*m).data[1]);
    -00036     
    -00037     /* Check if this NMT-message is for this node */
    -00038     /* byte 1 = 0 : all the nodes are concerned (broadcast) */
    -00039         
    -00040     if( ( (*m).data[1] == 0 ) || ( (*m).data[1] == *d->bDeviceNodeId ) ){
    -00041       
    -00042       switch( (*m).data[0]){ /* command specifier (cs) */                       
    -00043       case NMT_Start_Node:
    -00044         if ( (d->nodeState == Pre_operational) || (d->nodeState == Stopped) )
    -00045           setState(d,Operational);
    -00046         break; 
    -00047         
    -00048       case NMT_Stop_Node:
    -00049         if ( d->nodeState == Pre_operational ||
    -00050              d->nodeState == Operational )
    -00051           setState(d,Stopped);
    -00052         break;
    -00053         
    -00054       case NMT_Enter_PreOperational:
    -00055         if ( d->nodeState == Operational || 
    -00056              d->nodeState == Stopped )
    -00057           setState(d,Pre_operational);
    -00058         break;
    -00059         
    -00060       case NMT_Reset_Node:
    -00061           setState(d,Initialisation);
    -00062         break;
    -00063         
    -00064       case NMT_Reset_Comunication:
    -00065           setState(d,Initialisation);
    +00002   This file is part of CanFestival, a library implementing CanOpen
    +00003   Stack.
    +00004 
    +00005   Copyright (C): Edouard TISSERANT and Francis DUPIN
    +00006 
    +00007   See COPYING file for copyrights details.
    +00008 
    +00009   This library is free software; you can redistribute it and/or
    +00010   modify it under the terms of the GNU Lesser General Public
    +00011   License as published by the Free Software Foundation; either
    +00012   version 2.1 of the License, or (at your option) any later version.
    +00013 
    +00014   This library is distributed in the hope that it will be useful,
    +00015   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +00016   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +00017   Lesser General Public License for more details.
    +00018 
    +00019   You should have received a copy of the GNU Lesser General Public
    +00020   License along with this library; if not, write to the Free Software
    +00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
    +00022   USA
    +00023 */
    +00033 #include "nmtSlave.h"
    +00034 #include "states.h"
    +00035 #include "canfestival.h"
    +00036 
    +00043 void proceedNMTstateChange(CO_Data* d, Message *m)
    +00044 {
    +00045   if( d->nodeState == Pre_operational ||
    +00046       d->nodeState == Operational ||
    +00047       d->nodeState == Stopped ) {
    +00048 
    +00049     MSG_WAR(0x3400, "NMT received. for node :  ", (*m).data[1]);
    +00050 
    +00054     if( ( (*m).data[1] == 0 ) || ( (*m).data[1] == *d->bDeviceNodeId ) ){
    +00055 
    +00056       switch( (*m).data[0]){ 
    +00057       case NMT_Start_Node:
    +00058         if ( (d->nodeState == Pre_operational) || (d->nodeState == Stopped) )
    +00059           setState(d,Operational);
    +00060         break;
    +00061 
    +00062       case NMT_Stop_Node:
    +00063         if ( d->nodeState == Pre_operational ||
    +00064              d->nodeState == Operational )
    +00065           setState(d,Stopped);
     00066         break;
    -00067         
    -00068       }/* end switch */
    -00069       
    -00070     }/* end if( ( (*m).data[1] == 0 ) || ( (*m).data[1] == bDeviceNodeId ) ) */
    -00071   }
    -00072 }
    +00067 
    +00068       case NMT_Enter_PreOperational:
    +00069         if ( d->nodeState == Operational ||
    +00070              d->nodeState == Stopped )
    +00071           setState(d,Pre_operational);
    +00072         break;
     00073 
    -00074 
    -00075 /*****************************************************************************/
    -00076 UNS8 slaveSendBootUp(CO_Data* d)
    -00077 {
    -00078   Message m;
    -00079         
    -00080   MSG_WAR(0x3407, "Send a Boot-Up msg ", 0);
    -00081         
    -00082   /* message configuration */
    -00083   m.cob_id.w = NODE_GUARD << 7 | *d->bDeviceNodeId;
    -00084   m.rtr = NOT_A_REQUEST;
    -00085   m.len = 1;
    -00086   m.data[0] = 0x00;
    -00087     
    -00088   return canSend(d->canHandle,&m);
    -00089 }
    -00090 
    -

    Generated on Mon Jun 4 17:09:26 2007 for CanFestival by  +00074 case NMT_Reset_Node: +00075 setState(d,Initialisation); +00076 break; +00077 +00078 case NMT_Reset_Comunication: +00079 setState(d,Initialisation); +00080 break; +00081 +00082 } +00084 } +00086 } +00087 } +00088 +00089 +00097 UNS8 slaveSendBootUp(CO_Data* d) +00098 { +00099 Message m; +00100 +00101 MSG_WAR(0x3407, "Send a Boot-Up msg ", 0); +00102 +00104 m.cob_id.w = NODE_GUARD << 7 | *d->bDeviceNodeId; +00105 m.rtr = NOT_A_REQUEST; +00106 m.len = 1; +00107 m.data[0] = 0x00; +00108 +00109 return canSend(d->canHandle,&m); +00110 } +00111 +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c.html --- a/doc/doxygen/html/nmtSlave_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/nmtSlave_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -20,6 +20,9 @@ #include "canfestival.h"

    +Include dependency graph for nmtSlave.c:

    + +

    Go to the source code of this file. @@ -28,7 +31,12 @@

    Functions

    UNS8 slaveSendBootUp (CO_Data *d)
    -


    Function Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Tue Jun 5 08:50:53 2007
    + +

    +Definition in file nmtSlave.c.


    Function Documentation

    @@ -55,11 +63,41 @@

    +put the slave in the state wanted by the master

    +

    Parameters:
    + + + +
    d 
    m 
    +

    -Definition at line 29 of file nmtSlave.c. +Check if this NMT-message is for this node

    +byte 1 = 0 : all the nodes are concerned (broadcast)

    +command specifier (cs)

    +end switch

    +end if( ( (*m).data[1] == 0 ) || ( (*m).data[1] == bDeviceNodeId ) )

    -References setState(). +Definition at line 43 of file nmtSlave.c. +

    +References setState(). +

    +Referenced by canDispatch(). +

    +Here is the call graph for this function:

    + + + + + + + + + + + + +

    @@ -79,12 +117,22 @@

    +

    Parameters:
    + + +
    d 
    +
    +
    Returns:

    -Definition at line 76 of file nmtSlave.c. +message configuration +

    +Definition at line 97 of file nmtSlave.c. +

    +Referenced by switchCommunicationState().

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:06 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.dot --- a/doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="setState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node4 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node4 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node8 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node2 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node12 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node12 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node14 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node12 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node17 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node18 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node12 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node11 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node21 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node22 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node23 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node24 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node25 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node26 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="sendSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node27 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,11 @@ +base referer +rect $states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5 247,101 324,125 +rect $dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d 421,53 533,77 +rect $states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03 375,149 580,173 +rect $dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a 629,5 776,29 +rect $lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21 648,53 757,77 +rect $lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7 644,101 761,125 +rect $sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b 660,149 745,173 +rect $nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5 632,197 773,221 +rect $sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a 659,245 747,269 +rect $sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164 824,271 912,295 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.md5 --- a/doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -d79fc660a52801acf6b2c27e8eae8911 \ No newline at end of file +d55d71723eeeaa54b2e7d56e1e9e951a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.png Binary file doc/doxygen/html/nmtSlave_8c_97d175ea168c149c99b01dcde0989743_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c__incl.dot --- a/doc/doxygen/html/nmtSlave_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtSlave.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="nmtSlave.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node7 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node7 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node11 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node13 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node14 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node15 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node7 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node17 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node18 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node19 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node20 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/nmtSlave_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c__incl.md5 --- a/doc/doxygen/html/nmtSlave_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/nmtSlave_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -c1ef8716aedd27ae219f7a49e9c71654 \ No newline at end of file +0a6d587d0df19542b8f568f70a892616 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c__incl.png Binary file doc/doxygen/html/nmtSlave_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c_aced28a97b2c256320dfde3c4b36a7d5_cgraph.dot --- a/doc/doxygen/html/nmtSlave_8c_aced28a97b2c256320dfde3c4b36a7d5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8c_aced28a97b2c256320dfde3c4b36a7d5_cgraph.md5 --- a/doc/doxygen/html/nmtSlave_8c_aced28a97b2c256320dfde3c4b36a7d5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -00f2f0bca70d9477e5a90520d2aec7a4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h-source.html --- a/doc/doxygen/html/nmtSlave_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __nmtSlave_h__
    -00024 #define __nmtSlave_h__
    -00025 
    -00026 #include <applicfg.h>
    -00027 #include "data.h"
    -00028 
    -00035 void proceedNMTstateChange (CO_Data* d, Message * m);
    -00036 
    -00042 UNS8 slaveSendBootUp (CO_Data* d);
    -00043 
    -00044 
    -00045 #endif /* __nmtSlave_h__ */
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h.html --- a/doc/doxygen/html/nmtSlave_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h File Reference

    #include <applicfg.h>
    -#include "data.h"
    - -

    -Go to the source code of this file. - - - - - - -

    Functions

    void proceedNMTstateChange (CO_Data *d, Message *m)
    UNS8 slaveSendBootUp (CO_Data *d)
    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void proceedNMTstateChange (CO_Data d,
    Message m 
    )
    -
    -
    - -

    -Threat the reception of a NMT message from the master *m is a pointer to the message received bus_id is hardware dependant return 0 if OK, -1 if the slave is not allowed, by its state, to receive the message -

    -Definition at line 29 of file nmtSlave.c. -

    -References struct_CO_Data::bDeviceNodeId, struct_s_timer_entry::d, Initialisation, MSG_WAR, NMT_Enter_PreOperational, NMT_Reset_Comunication, NMT_Reset_Node, NMT_Start_Node, NMT_Stop_Node, struct_CO_Data::nodeState, Operational, Pre_operational, setState(), and Stopped. -

    -

    - -

    -
    - - - - - - - - - -
    UNS8 slaveSendBootUp (CO_Data d  ) 
    -
    -
    - -

    -Transmit the boot-Up frame when the slave is moving from initialization state to pre_operational state. bus_id is hardware dependant return canSend(bus_id,&m) -

    -Definition at line 76 of file nmtSlave.c. -

    -References struct_CO_Data::bDeviceNodeId, struct_CO_Data::canHandle, canSend(), Message::cob_id, struct_s_timer_entry::d, Message::data, Message::len, MSG_WAR, NODE_GUARD, NOT_A_REQUEST, Message::rtr, and SHORT_CAN::w. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h_97d175ea168c149c99b01dcde0989743_cgraph.dot --- a/doc/doxygen/html/nmtSlave_8h_97d175ea168c149c99b01dcde0989743_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="setState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node4 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node4 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node8 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node2 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node12 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node12 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node14 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node12 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node17 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node18 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node12 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node11 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node21 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node22 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node23 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node24 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node25 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node26 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="sendSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node27 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h_97d175ea168c149c99b01dcde0989743_cgraph.md5 --- a/doc/doxygen/html/nmtSlave_8h_97d175ea168c149c99b01dcde0989743_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -be21ff9c6633e7259f525be23df27bea \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h__dep__incl.dot --- a/doc/doxygen/html/nmtSlave_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtSlave.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/src/states.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h__dep__incl.md5 --- a/doc/doxygen/html/nmtSlave_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -09333da641439916a1cba167e9728dbc \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h__incl.dot --- a/doc/doxygen/html/nmtSlave_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node6 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node6 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node10 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node14 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node6 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node16 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h__incl.md5 --- a/doc/doxygen/html/nmtSlave_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -7c0ab3fdea6fe911c12dbb8fb76257ca \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h_aced28a97b2c256320dfde3c4b36a7d5_cgraph.dot --- a/doc/doxygen/html/nmtSlave_8h_aced28a97b2c256320dfde3c4b36a7d5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nmtSlave_8h_aced28a97b2c256320dfde3c4b36a7d5_cgraph.md5 --- a/doc/doxygen/html/nmtSlave_8h_aced28a97b2c256320dfde3c4b36a7d5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -00f2f0bca70d9477e5a90520d2aec7a4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/node_8py-source.html --- a/doc/doxygen/html/node_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1011 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/node.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/node.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 import cPickle
    -00025 from types import *
    -00026 import re
    -00027 
    -00028 """
    -00029 Dictionary of translation between access symbol and their signification
    -00030 """
    -00031 AccessType = {"ro" : "Read Only", "wo" : "Write Only", "rw" : "Read/Write"}
    -00032 
    -00033 BoolType = {True : "True", False : "False"} 
    -00034 OptionType = {True : "Yes", False : "No"}
    -00035 
    -00036 CustomisableTypes = [(0x02, 0), (0x03, 0), (0x04, 0), (0x05, 0), (0x06, 0), (0x07, 0),
    -00037     (0x08, 0), (0x09, 1), (0x0A, 1), (0x0B, 1), (0x10, 0), (0x11, 0), (0x12, 0),
    -00038     (0x13, 0), (0x14, 0), (0x15, 0), (0x16, 0), (0x18, 0), (0x19, 0), (0x1A, 0),
    -00039     (0x1B, 0)]
    -00040 
    -00041 DefaultParams = {"comment" : "", "save" : False}
    -00042 
    -00043 #-------------------------------------------------------------------------------
    -00044 #                      Dictionary Mapping and Organisation
    -00045 #-------------------------------------------------------------------------------
    -00046 
    -00047 """
    -00048 Properties of entry structure in the Object Dictionary
    -00049 """
    -00050 OD_Subindex = 1             # Entry has at least one subindex
    -00051 OD_MultipleSubindexes = 2   # Entry has more than one subindex
    -00052 OD_IdenticalSubindexes = 4  # Subindexes of entry have the same description
    -00053 OD_IdenticalIndexes = 8     # Entry has the same description on multiple indexes
    -00054 
    -00055 """
    -00056 Structures of entry in the Object Dictionary, sum of the properties described above
    -00057 for all sorts of entries use in CAN Open specification
    -00058 """
    -00059 nosub = 0 # Entry without subindex (only for type declaration)
    -00060 var = 1
    -00061 array = 3
    -00062 rec = 7
    -00063 # Entries identical on multiple indexes
    -00064 plurivar = 9
    -00065 pluriarray = 11 # Example : PDO Parameters
    -00066 plurirec = 15   # Example : PDO Mapping
    -00067 
    -00068 """
    -00069 MappingDictionary is the structure used for writing a good organised Object
    -00070 Dictionary. It follows the specifications of the CANOpen standard.
    -00071 Change the informations within it if there is a mistake. But don't modify the
    -00072 organisation of this object, it will involve in a malfunction of the application.
    -00073 """
    -00074 
    -00075 MappingDictionary = {
    -00076     0x0001 : {"name" : "BOOLEAN", "struct" : nosub, "size" : 1, "default" : False, "values" : []},
    -00077     0x0002 : {"name" : "INTEGER8", "struct" : nosub, "size" : 8, "default" : 0, "values" : []},
    -00078     0x0003 : {"name" : "INTEGER16", "struct" : nosub, "size" : 16, "default" : 0, "values" : []},
    -00079     0x0004 : {"name" : "INTEGER32", "struct" : nosub, "size" : 32, "default" : 0, "values" : []},
    -00080     0x0005 : {"name" : "UNSIGNED8", "struct" : nosub, "size" : 8, "default" : 0, "values" : []},
    -00081     0x0006 : {"name" : "UNSIGNED16", "struct" : nosub, "size" : 16, "default" : 0, "values" : []},
    -00082     0x0007 : {"name" : "UNSIGNED32", "struct" : nosub, "size" : 32, "default" : 0, "values" : []},
    -00083     0x0008 : {"name" : "REAL32", "struct" : nosub, "size" : 32, "default" : 0.0, "values" : []},
    -00084     0x0009 : {"name" : "VISIBLE_STRING", "struct" : nosub, "size" : 8, "default" : "", "values" : []},
    -00085     0x000A : {"name" : "OCTET_STRING", "struct" : nosub, "size" : 8, "default" : "", "values" : []},
    -00086     0x000B : {"name" : "UNICODE_STRING", "struct" : nosub, "size" : 16, "default" : "", "values" : []},
    -00087 #    0x000C : {"name" : "TIME_OF_DAY", "struct" : nosub, "size" : 48, "default" : 0, "values" : []},
    -00088 #    0x000D : {"name" : "TIME_DIFFERENCE", "struct" : nosub, "size" : 48, "default" : 0, "values" : []},
    -00089     0x000F : {"name" : "DOMAIN", "struct" : nosub, "size" : 0, "default" : "", "values" : []},
    -00090     0x0010 : {"name" : "INTEGER24", "struct" : nosub, "size" : 24, "default" : 0, "values" : []},
    -00091     0x0011 : {"name" : "REAL64", "struct" : nosub, "size" : 64, "default" : 0.0, "values" : []},
    -00092     0x0012 : {"name" : "INTEGER40", "struct" : nosub, "size" : 40, "default" : 0, "values" : []},
    -00093     0x0013 : {"name" : "INTEGER48", "struct" : nosub, "size" : 48, "default" : 0, "values" : []},
    -00094     0x0014 : {"name" : "INTEGER56", "struct" : nosub, "size" : 56, "default" : 0, "values" : []},
    -00095     0x0015 : {"name" : "INTEGER64", "struct" : nosub, "size" : 64, "default" : 0, "values" : []},
    -00096     0x0016 : {"name" : "UNSIGNED24", "struct" : nosub, "size" : 24, "default" : 0, "values" : []},
    -00097     0x0018 : {"name" : "UNSIGNED40", "struct" : nosub, "size" : 40, "default" : 0, "values" : []},
    -00098     0x0019 : {"name" : "UNSIGNED48", "struct" : nosub, "size" : 48, "default" : 0, "values" : []},
    -00099     0x001A : {"name" : "UNSIGNED56", "struct" : nosub, "size" : 56, "default" : 0, "values" : []},
    -00100     0x001B : {"name" : "UNSIGNED64", "struct" : nosub, "size" : 64, "default" : 0, "values" : []},
    -00101     0x1000 : {"name" : "Device Type", "struct" : var, "need" : True, "values" : 
    -00102                 [{"name" : "Device Type", "type" : 0x07, "access" : 'ro', "pdo" : False}]},
    -00103     0x1001 : {"name" : "Error Register", "struct" : var,  "need" : True, "values" : 
    -00104                 [{"name" : "Error Register", "type" : 0x05, "access": 'ro', "pdo" : True}]},
    -00105     0x1002 : {"name" : "Manufacturer Status Register", "struct" : var, "need" : False,  "values" :
    -00106                 [{"name" : "Manufacturer Status Register", "type" : 0x07, "access" : 'ro', "pdo" : True}]},
    -00107     0x1003 : {"name" : "Pre-defined Error Field", "struct" : rec, "need" : False,  "values" :
    -00108                 [{"name" : "Number of Errors", "type" : 0x05, "access" : 'rw', "pdo" : False},
    -00109                  {"name" : "Standard Error Field", "type" : 0x07, "access" : 'ro', "pdo" : False, "nbmax" : 0xFE}]},
    -00110     0x1005 : {"name" : "SYNC COB ID", "struct" : var, "need" : True, "callback" : True, "values" :
    -00111                 [{"name" : "SYNC COB ID", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
    -00112     0x1006 : {"name" : "Communication / Cycle Period", "struct" : var, "need" : False, "callback" : True, "values" :
    -00113                 [{"name" : "Communication Cycle Period", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
    -00114     0x1007 : {"name" : "Synchronous Window Length", "struct" : var, "need" : False, "values" :
    -00115                 [{"name" : "Synchronous Window Length", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
    -00116     0x1008 : {"name" : "Manufacturer Device Name", "struct" : var, "need" : False, "values" :
    -00117                 [{"name" : "Manufacturer Device Name", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
    -00118     0x1009 : {"name" : "Manufacturer Hardware Version", "struct" : var, "need" : False, "values" :
    -00119                 [{"name" : "Manufacturer Hardware Version", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
    -00120     0x100A : {"name" : "Manufacturer Software Version", "struct" : var, "need" : False, "values" :
    -00121                 [{"name" : "Manufacturer Software Version", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
    -00122     0x100C : {"name" : "Guard Time", "struct" : var, "need" : False, "values" :
    -00123                 [{"name" : "Guard Time", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
    -00124     0x100D : {"name" : "Life Time Factor", "struct" : var, "need" : False, "values" :
    -00125                 [{"name" : "Life Time Factor", "type" : 0x05, "access" : 'rw', "pdo" : False}]},
    -00126     0x1010 : {"name" : "Store parameters", "struct" : array, "need" : False, "values" :
    -00127                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00128                  {"name" : "Save All Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
    -00129                  {"name" : "Save Communication Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
    -00130                  {"name" : "Save Application Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
    -00131                  {"name" : "Save Manufacturer Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x7C}]},
    -00132     0x1011 : {"name" : "Restore Default Parameters", "struct" : array, "need" : False, "values" :
    -00133                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00134                  {"name" : "Restore All Default Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
    -00135                  {"name" : "Restore Communication Default Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
    -00136                  {"name" : "Restore Application Default Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
    -00137                  {"name" : "Restore Manufacturer Default Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x7C}]},
    -00138     0x1012 : {"name" : "TIME COB ID", "struct" : var, "need" : False, "values" :
    -00139                 [{"name" : "TIME COB ID", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
    -00140     0x1013 : {"name" : "High Resolution Timestamp", "struct" : var, "need" : False, "values" :
    -00141                 [{"name" : "High Resolution Time Stamp", "type" : 0x07, "access" : 'rw', "pdo" : True}]},
    -00142     0x1014 : {"name" : "Emergency COB ID", "struct" : var, "need" : False, "values" :
    -00143                 [{"name" : "Emergency COB ID", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
    -00144     0x1015 : {"name" : "Inhibit Time Emergency", "struct" : var, "need" : False, "values" :
    -00145                 [{"name" : "Inhibit Time Emergency", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
    -00146     0x1016 : {"name" : "Consumer Heartbeat Time", "struct" : rec, "need" : False, "values" :
    -00147                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00148                  {"name" : "Consumer Heartbeat Time", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x7F}]},
    -00149     0x1017 : {"name" : "Producer Heartbeat Time", "struct" : var, "need" : False, "callback" : True, "values" :
    -00150                 [{"name" : "Producer Heartbeat Time", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
    -00151     0x1018 : {"name" : "Identity", "struct" : array, "need" : True, "values" :
    -00152                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00153                  {"name" : "Vendor ID", "type" : 0x07, "access" : 'ro', "pdo" : False},
    -00154                  {"name" : "Product Code", "type" : 0x07, "access" : 'ro', "pdo" : False},
    -00155                  {"name" : "Revision Number", "type" : 0x07, "access" : 'ro', "pdo" : False},
    -00156                  {"name" : "Serial Number", "type" : 0x07, "access" : 'ro', "pdo" : False}]},
    -00157     0x1020 : {"name" : "Verify Configuration", "struct" : array, "need" : False, "values" :
    -00158                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00159                  {"name" : "Configuration Date", "type" : 0x07, "access" : 'ro', "pdo" : False},
    -00160                  {"name" : "Configuration Time", "type" : 0x07, "access" : 'ro', "pdo" : False}]},
    -00161 #    0x1021 : {"name" : "Store EDS", "struct" : var, "need" : False, "values" :
    -00162 #                [{"name" : "Store EDS", "type" : 0x0F, "access" : 'rw', "pdo" : False}]},
    -00163 #    0x1022 : {"name" : "Storage Format", "struct" : var, "need" : False, "values" :
    -00164 #                [{"name" : "Storage Format", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
    -00165     0x1023 : {"name" : "OS Command", "struct" : array, "need" : False, "values" :
    -00166                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00167                  {"name" : "Command", "type" : 0x0A, "access" : 'rw', "pdo" : False},
    -00168                  {"name" : "Status", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00169                  {"name" : "Reply", "type" : 0x0A, "access" : 'ro', "pdo" : False}]},
    -00170     0x1024 : {"name" : "OS Command Mode", "struct" : var, "need" : False, "values" :
    -00171                 [{"name" : "OS Command Mode", "type" : 0x05, "access" : 'wo', "pdo" : False}]},
    -00172     0x1025 : {"name" : "OS Debugger Interface", "struct" : array, "need" : False, "values" :
    -00173                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00174                  {"name" : "Command", "type" : 0x0A, "access" : 'rw', "pdo" : False},
    -00175                  {"name" : "Status", "type" : 0x07, "access" : 'ro', "pdo" : False},
    -00176                  {"name" : "Reply", "type" : 0x0A, "access" : 'ro', "pdo" : False}]},
    -00177     0x1026 : {"name" : "OS Prompt", "struct" : array, "need" : False, "values" :
    -00178                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00179                  {"name" : "StdIn", "type" : 0x05, "access" : 'wo', "pdo" : True},
    -00180                  {"name" : "StdOut", "type" : 0x05, "access" : 'ro', "pdo" : True},
    -00181                  {"name" : "StdErr", "type" : 0x05, "access" : 'ro', "pdo" : True}]},
    -00182     0x1027 : {"name" : "Module List", "struct" : rec, "need" : False, "values" :
    -00183                 [{"name" : "Number of Connected Modules", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00184                  {"name" : "Module %d[(sub)]", "type" : 0x06, "access" : 'ro', "pdo" : False, "nbmax" : 0xFE}]},
    -00185     0x1028 : {"name" : "Emergency Consumer", "struct" : rec, "need" : False, "values" :
    -00186                 [{"name" : "Number of Consumed Emergency Objects", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00187                  {"name" : "Emergency Consumer", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x7E}]},
    -00188     0x1029 : {"name" : "Error Behavior", "struct" : array, "need" : False, "values" :
    -00189                 [{"name" : "Number of Error Classes", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00190                  {"name" : "Communication Error", "type" : 0x05, "access" : 'rw', "pdo" : False},
    -00191                  {"name" : "Device Profile", "type" : 0x05, "access" : 'rw', "pdo" : False, "nbmax" : 0xFE}]},
    -00192     0x1200 : {"name" : "Server SDO Parameter", "struct" : array, "need" : False, "values" :
    -00193                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00194                  {"name" : "COB ID Client to Server (Receive SDO)", "type" : 0x07, "access" : 'ro', "pdo" : False},
    -00195                  {"name" : "COB ID Server to Client (Transmit SDO)", "type" : 0x07, "access" : 'ro', "pdo" : False}]},
    -00196     0x1201 : {"name" : "Additional Server SDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x7F, "need" : False, "values" :
    -00197                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00198                  {"name" : "COB ID Client to Server (Receive SDO)", "type" : 0x07, "access" : 'ro', "pdo" : False},
    -00199                  {"name" : "COB ID Server to Client (Transmit SDO)", "type" : 0x07, "access" : 'ro', "pdo" : False},
    -00200                  {"name" : "Node ID of the SDO Client", "type" : 0x05, "access" : 'ro', "pdo" : False}]},
    -00201     0x1280 : {"name" : "Client SDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x100, "need" : False, "values" :
    -00202                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00203                  {"name" : "COB ID Client to Server (Transmit SDO)", "type" : 0x07, "access" : 'rw', "pdo" : False},
    -00204                  {"name" : "COB ID Server to Client (Receive SDO)", "type" : 0x07, "access" : 'rw', "pdo" : False},
    -00205                  {"name" : "Node ID of the SDO Server", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
    -00206     0x1400 : {"name" : "Receive PDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
    -00207                 [{"name" : "Highest SubIndex Supported", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00208                  {"name" : "COB ID used by PDO", "type" : 0x07, "access" : 'rw', "pdo" : False, "default" : "{True:self.ID+(base+2)*0x100,False:0}[base<4]"},
    -00209                  {"name" : "Transmission Type", "type" : 0x05, "access" : 'rw', "pdo" : False},
    -00210                  {"name" : "Inhibit Time", "type" : 0x06, "access" : 'rw', "pdo" : False},
    -00211                  {"name" : "Compatibility Entry", "type" : 0x05, "access" : 'rw', "pdo" : False},
    -00212                  {"name" : "Event Timer", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
    -00213     0x1600 : {"name" : "Receive PDO %d Mapping[(idx)]", "struct" : plurirec, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
    -00214                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'rw', "pdo" : False},
    -00215                  {"name" : "PDO %d Mapping for an application object %d[(idx,sub)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x40}]},
    -00216     0x1800 : {"name" : "Transmit PDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
    -00217                 [{"name" : "Highest SubIndex Supported", "type" : 0x05, "access" : 'ro', "pdo" : False},
    -00218                  {"name" : "COB ID used by PDO", "type" : 0x07, "access" : 'rw', "pdo" : False, "default" : "{True:self.ID+(base+1)*0x100+0x80,False:0}[base<4]"},
    -00219                  {"name" : "Transmission Type", "type" : 0x05, "access" : 'rw', "pdo" : False},
    -00220                  {"name" : "Inhibit Time", "type" : 0x06, "access" : 'rw', "pdo" : False},
    -00221                  {"name" : "Compatibility Entry", "type" : 0x05, "access" : 'rw', "pdo" : False},
    -00222                  {"name" : "Event Timer", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
    -00223     0x1A00 : {"name" : "Transmit PDO %d Mapping[(idx)]", "struct" : plurirec, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
    -00224                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'rw', "pdo" : False},
    -00225                  {"name" : "PDO %d Mapping for a process data variable %d[(idx,sub)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x40}]},
    -00226 }
    -00227 
    -00228 #-------------------------------------------------------------------------------
    -00229 #                         Search in a Mapping Dictionary
    -00230 #-------------------------------------------------------------------------------
    -00231 
    -00232 """
    -00233 Return the index of the typename given by searching in mappingdictionary 
    -00234 """
    -00235 def FindTypeIndex(typename, mappingdictionary):
    -00236     testdic = {}
    -00237     for index, values in mappingdictionary.iteritems():
    -00238         if index < 0x1000:
    -00239             testdic[values["name"]] = index
    -00240     if typename in testdic:
    -00241         return testdic[typename]
    -00242     return None
    -00243 
    -00244 """
    -00245 Return the name of the type by searching in mappingdictionary 
    -00246 """
    -00247 def FindTypeName(typeindex, mappingdictionary):
    -00248     if typeindex < 0x1000 and typeindex in mappingdictionary:
    -00249         return mappingdictionary[typeindex]["name"]
    -00250     return None
    -00251 
    -00252 """
    -00253 Return the default value of the type by searching in mappingdictionary 
    -00254 """
    -00255 def FindTypeDefaultValue(typeindex, mappingdictionary):
    -00256     if typeindex < 0x1000 and typeindex in mappingdictionary:
    -00257         return mappingdictionary[typeindex]["default"]
    -00258     return None
    -00259 
    -00260 """
    -00261 Return the list of types defined in mappingdictionary 
    -00262 """
    -00263 def FindTypeList(mappingdictionary):
    -00264     list = []
    -00265     for index in mappingdictionary.keys():
    -00266         if index < 0x1000:
    -00267             list.append(mappingdictionary[index]["name"])
    -00268     return list
    -00269 
    -00270 """
    -00271 Return the name of an entry by searching in mappingdictionary 
    -00272 """
    -00273 def FindEntryName(index, mappingdictionary):
    -00274     base_index = FindIndex(index, mappingdictionary)
    -00275     if base_index:
    -00276         infos = mappingdictionary[base_index]
    -00277         if infos["struct"] & OD_IdenticalIndexes:
    -00278             return StringFormat(infos["name"], (index - base_index) / infos["incr"] + 1, 0)
    -00279         else:
    -00280             return infos["name"]
    -00281     return None
    -00282 
    -00283 """
    -00284 Return the informations of one entry by searching in mappingdictionary 
    -00285 """
    -00286 def FindEntryInfos(index, mappingdictionary):
    -00287     base_index = FindIndex(index, mappingdictionary)
    -00288     if base_index:
    -00289         copy = mappingdictionary[base_index].copy()
    -00290         if copy["struct"] & OD_IdenticalIndexes:
    -00291             copy["name"] = StringFormat(copy["name"], (index - base_index) / copy["incr"] + 1, 0)
    -00292         copy.pop("values")
    -00293         return copy
    -00294     return None
    -00295 
    -00296 """
    -00297 Return the informations of one subentry of an entry by searching in mappingdictionary 
    -00298 """
    -00299 def FindSubentryInfos(index, subIndex, mappingdictionary):
    -00300     base_index = FindIndex(index, mappingdictionary)
    -00301     if base_index:
    -00302         struct = mappingdictionary[base_index]["struct"]
    -00303         if struct & OD_Subindex:
    -00304             if struct & OD_IdenticalSubindexes:
    -00305                 if struct & OD_IdenticalIndexes:
    -00306                     incr = mappingdictionary[base_index]["incr"]
    -00307                 else:
    -00308                     incr = 1
    -00309                 if subIndex == 0:
    -00310                     return mappingdictionary[base_index]["values"][0].copy()
    -00311                 elif 0 < subIndex <= mappingdictionary[base_index]["values"][1]["nbmax"]:
    -00312                     copy = mappingdictionary[base_index]["values"][1].copy()
    -00313                     copy["name"] = StringFormat(copy["name"], (index - base_index) / incr + 1, subIndex)
    -00314                     return copy
    -00315             elif struct & OD_MultipleSubindexes and 0 <= subIndex < len(mappingdictionary[base_index]["values"]):
    -00316                 return mappingdictionary[base_index]["values"][subIndex].copy()
    -00317             elif subIndex == 0:
    -00318                 return mappingdictionary[base_index]["values"][0].copy()
    -00319     return None
    -00320 
    -00321 """
    -00322 Return the list of variables that can be mapped defined in mappingdictionary 
    -00323 """
    -00324 def FindMapVariableList(mappingdictionary, Node):
    -00325     list = []
    -00326     for index in mappingdictionary.iterkeys():
    -00327         if Node.IsEntry(index):
    -00328             for subIndex, values in enumerate(mappingdictionary[index]["values"]):
    -00329                 if mappingdictionary[index]["values"][subIndex]["pdo"]:
    -00330                     infos = Node.GetEntryInfos(mappingdictionary[index]["values"][subIndex]["type"])
    -00331                     if mappingdictionary[index]["struct"] & OD_IdenticalSubindexes:
    -00332                         values = Node.GetEntry(index)
    -00333                         for i in xrange(len(values) - 1):
    -00334                             list.append((index, i + 1, infos["size"], StringFormat(mappingdictionary[index]["values"][subIndex]["name"],1,i+1)))
    -00335                     else:
    -00336                         list.append((index, subIndex, infos["size"], mappingdictionary[index]["values"][subIndex]["name"]))
    -00337     return list
    -00338 
    -00339 """
    -00340 Return the list of mandatory indexes defined in mappingdictionary 
    -00341 """
    -00342 def FindMandatoryIndexes(mappingdictionary):
    -00343     list = []
    -00344     for index in mappingdictionary.iterkeys():
    -00345         if index >= 0x1000 and mappingdictionary[index]["need"]:
    -00346             list.append(index)
    -00347     return list
    -00348 
    -00349 """
    -00350 Return the index of the informations in the Object Dictionary in case of identical
    -00351 indexes
    -00352 """
    -00353 def FindIndex(index, mappingdictionary):
    -00354     if index in mappingdictionary:
    -00355         return index
    -00356     else:
    -00357         listpluri = [idx for idx in mappingdictionary.keys() if mappingdictionary[idx]["struct"] & OD_IdenticalIndexes]
    -00358         listpluri.sort()
    -00359         for idx in listpluri:
    -00360             nb_max = mappingdictionary[idx]["nbmax"]
    -00361             incr = mappingdictionary[idx]["incr"]
    -00362             if idx < index < idx + incr * nb_max and (index - idx)%incr == 0:
    -00363                 return idx
    -00364     return None
    -00365 
    -00366 #-------------------------------------------------------------------------------
    -00367 #                           Formating Name of an Entry
    -00368 #-------------------------------------------------------------------------------
    -00369 
    -00370 name_model = re.compile('(.*)\[(.*)\]')
    -00371 
    -00372 """
    -00373 Format the text given with the index and subindex defined
    -00374 """
    -00375 def StringFormat(text, idx, sub):
    -00376     result = name_model.match(text)
    -00377     if result:
    -00378         format = result.groups()
    -00379         return format[0]%eval(format[1])
    -00380     else:
    -00381         return text
    -00382 
    -00383 #-------------------------------------------------------------------------------
    -00384 #                          Definition of Node Object
    -00385 #-------------------------------------------------------------------------------
    -00386 
    -00387 """
    -00388 Class recording the Object Dictionary entries. It checks at each modification
    -00389 that the structure of the Object Dictionary stay coherent
    -00390 """
    -00391 
    -00392 class Node:
    -00393     
    -00394     def __init__(self, name = "", type = "slave", id = 0, description = "", profilename = "DS-301", profile = {}, specificmenu = []):
    -00395         self.NameName = name
    -00396         self.TypeType = type
    -00397         self.IDID = id
    -00398         self.DescriptionDescription = description
    -00399         self.ProfileNameProfileName = profilename
    -00400         self.ProfileProfile = profile
    -00401         self.SpecificMenuSpecificMenu = specificmenu
    -00402         self.DictionaryDictionary = {}
    -00403         self.ParamsDictionaryParamsDictionary = {}
    -00404         self.DS302DS302 = {}
    -00405         self.UserMappingUserMapping = {}
    -00406     
    -00407     """
    -00408     Return the node name
    -00409     """
    -00410     def GetNodeName(self):
    -00411         return self.NameName
    -00412     
    -00413     """
    -00414     Define the node name
    -00415     """
    -00416     def SetNodeName(self, name):
    -00417         self.NameName = name
    -00418 
    -00419     """
    -00420     Return the node type ("master" or "slave")
    -00421     """
    -00422     def GetNodeType(self):
    -00423         return self.TypeType
    -00424     
    -00425     """
    -00426     Define the node type ("master" or "slave")
    -00427     """
    -00428     def SetNodeType(self, type):
    -00429         self.TypeType = type
    -00430 
    -00431     """
    -00432     Return the node ID
    -00433     """
    -00434     def GetNodeID(self):
    -00435         return self.IDID
    -00436     
    -00437     """
    -00438     Define the node ID
    -00439     """
    -00440     def SetNodeID(self, id):
    -00441         self.IDID = id
    -00442 
    -00443     """
    -00444     Return the node description
    -00445     """
    -00446     def GetNodeDescription(self):
    -00447         if getattr(self, "Description", False):
    -00448             return self.DescriptionDescription
    -00449         else:
    -00450             return ""
    -00451     
    -00452     """
    -00453     Define the node description
    -00454     """
    -00455     def SetNodeDescription(self, description):
    -00456         self.DescriptionDescription = description
    -00457 
    -00458     """
    -00459     Return the Specific Profile Name
    -00460     """
    -00461     def GetProfileName(self):
    -00462         return self.ProfileNameProfileName
    -00463     
    -00464     """
    -00465     Define the Specific Profile Name
    -00466     """
    -00467     def SetProfileName(self, profilename):
    -00468         self.ProfileNameProfileName = profilename
    -00469 
    -00470     """
    -00471     Return the Specific Profile
    -00472     """
    -00473     def GetProfile(self):
    -00474         return self.ProfileProfile
    -00475     
    -00476     """
    -00477     Define the Specific Profile
    -00478     """
    -00479     def SetProfile(self, profile):
    -00480         self.ProfileProfile = profile
    -00481     
    -00482     """
    -00483     Define the DS-302 Profile
    -00484     """
    -00485     def SetDS302Profile(self, profile):
    -00486         self.DS302DS302 = profile
    -00487     
    -00488     """
    -00489     Define the DS-302 Profile
    -00490     """
    -00491     def GetDS302Profile(self):
    -00492         return self.DS302DS302
    -00493     
    -00494     """
    -00495     Return the Specific Menu Entries
    -00496     """
    -00497     def GetSpecificMenu(self):
    -00498         return self.SpecificMenuSpecificMenu
    -00499     
    -00500     """
    -00501     Define the Specific Menu Entries
    -00502     """
    -00503     def SetSpecificMenu(self, specificmenu):
    -00504         self.SpecificMenuSpecificMenu = specificmenu
    -00505     
    -00506     """
    -00507     Extend the Specific Menu Entries
    -00508     """
    -00509     
    -00510     def ExtendSpecificMenu(self, specificmenu):
    -00511         self.SpecificMenuSpecificMenu.extend(specificmenu)
    -00512     
    -00513     """
    -00514     Function which return the different Mappings available for this node
    -00515     """
    -00516     def GetMappings(self, userdefinedtoo = True):
    -00517         if userdefinedtoo:
    -00518             return [self.ProfileProfile, self.DS302DS302, self.UserMappingUserMapping]
    -00519         else:
    -00520             return [self.ProfileProfile, self.DS302DS302]
    -00521     
    -00522     """
    -00523     Add a new entry in the Object Dictionary
    -00524     """
    -00525     def AddEntry(self, index, subIndex = None, value = None):
    -00526         if index not in self.DictionaryDictionary:
    -00527             if not subIndex:
    -00528                 self.DictionaryDictionary[index] = value
    -00529                 return True
    -00530             elif subIndex == 1:
    -00531                 self.DictionaryDictionary[index] = [value]
    -00532                 return True
    -00533         elif subIndex > 1 and type(self.DictionaryDictionary[index]) == ListType and subIndex == len(self.DictionaryDictionary[index]) + 1:
    -00534             self.DictionaryDictionary[index].append(value)
    -00535             return True
    -00536         return False
    -00537 
    -00538     """
    -00539     Warning ! Modifies an existing entry in the Object Dictionary. Can't add a new one.
    -00540     """
    -00541     def SetEntry(self, index, subIndex = None, value = None):
    -00542         if index in self.DictionaryDictionary:
    -00543             if not subIndex:
    -00544                 if value != None:
    -00545                     self.DictionaryDictionary[index] = value
    -00546                 return True
    -00547             elif type(self.DictionaryDictionary[index]) == ListType and 0 < subIndex <= len(self.DictionaryDictionary[index]):
    -00548                 if value != None:
    -00549                     self.DictionaryDictionary[index][subIndex - 1] = value
    -00550                 return True
    -00551         return False
    -00552     
    -00553     def SetParamsEntry(self, index, subIndex = None, comment = None, save = None, callback = None):
    -00554         if not getattr(self, "ParamsDictionary", False):
    -00555             self.ParamsDictionaryParamsDictionary = {}
    -00556         if index in self.DictionaryDictionary:
    -00557             if (comment != None or save != None or callback != None) and index not in self.ParamsDictionaryParamsDictionary:
    -00558                 self.ParamsDictionaryParamsDictionary[index] = {}
    -00559             if subIndex == None or type(self.DictionaryDictionary[index]) != ListType and subIndex == 0:
    -00560                 if comment != None:
    -00561                     self.ParamsDictionaryParamsDictionary[index]["comment"] = comment
    -00562                 if save != None:
    -00563                     self.ParamsDictionaryParamsDictionary[index]["save"] = save
    -00564                 if callback != None:
    -00565                     self.ParamsDictionaryParamsDictionary[index]["callback"] = callback
    -00566                 return True
    -00567             elif type(self.DictionaryDictionary[index]) == ListType and 0 <= subIndex <= len(self.DictionaryDictionary[index]):
    -00568                 if (comment != None or save != None or callback != None) and subIndex not in self.ParamsDictionaryParamsDictionary[index]:
    -00569                     self.ParamsDictionaryParamsDictionary[index][subIndex] = {}
    -00570                 if comment != None:
    -00571                     self.ParamsDictionaryParamsDictionary[index][subIndex]["comment"] = comment
    -00572                 if save != None:
    -00573                     self.ParamsDictionaryParamsDictionary[index][subIndex]["save"] = save
    -00574                 return True
    -00575         return False
    -00576     
    -00577     """
    -00578     Removes an existing entry in the Object Dictionary. If a subIndex is specified
    -00579     it will remove this subIndex only if it's the last of the index. If no subIndex
    -00580     is specified it removes the whole index and subIndexes from the Object Dictionary.
    -00581     """
    -00582     def RemoveEntry(self, index, subIndex = None):
    -00583         if not getattr(self, "ParamsDictionary", False):
    -00584             self.ParamsDictionaryParamsDictionary = {}
    -00585         if index in self.DictionaryDictionary:
    -00586             if not subIndex:
    -00587                 self.DictionaryDictionary.pop(index)
    -00588                 if index in self.ParamsDictionaryParamsDictionary:
    -00589                     self.ParamsDictionaryParamsDictionary.pop(index)
    -00590                 return True
    -00591             elif type(self.DictionaryDictionary[index]) == ListType and subIndex == len(self.DictionaryDictionary[index]):
    -00592                 self.DictionaryDictionary[index].pop(subIndex - 1)
    -00593                 if index in self.ParamsDictionaryParamsDictionary:
    -00594                     if subIndex in self.ParamsDictionaryParamsDictionary[index]:
    -00595                         self.ParamsDictionaryParamsDictionary[index].pop(subIndex)
    -00596                     if len(self.ParamsDictionaryParamsDictionary[index]) == 0:
    -00597                         self.ParamsDictionaryParamsDictionary.pop(index)
    -00598                 if len(self.DictionaryDictionary[index]) == 0:
    -00599                     self.DictionaryDictionary.pop(index)
    -00600                     if index in self.ParamsDictionaryParamsDictionary:
    -00601                         self.ParamsDictionaryParamsDictionary.pop(index)
    -00602                 return True
    -00603         return False
    -00604     
    -00605     """
    -00606     Check if an entry exists in the Object Dictionary and returns the answer.
    -00607     """
    -00608     def IsEntry(self, index, subIndex = None):
    -00609         if index in self.DictionaryDictionary:
    -00610             if not subIndex:
    -00611                 return True
    -00612             return subIndex <= len(self.DictionaryDictionary[index])
    -00613         return False
    -00614     
    -00615     """
    -00616     Returns the value of the entry asked. If the entry has the value "count", it
    -00617     returns the number of subIndex in the entry except the first.
    -00618     """
    -00619     def GetEntry(self, index, subIndex = None):
    -00620         if index in self.DictionaryDictionary:
    -00621             if subIndex == None:
    -00622                 if type(self.DictionaryDictionary[index]) == ListType:
    -00623                     values = [len(self.DictionaryDictionary[index])]
    -00624                     for value in self.DictionaryDictionary[index]:
    -00625                         values.append(self.CompileValueCompileValue(value, index))
    -00626                     return values
    -00627                 else:
    -00628                     return self.DictionaryDictionary[index]
    -00629             elif subIndex == 0:
    -00630                 if type(self.DictionaryDictionary[index]) == ListType:
    -00631                     return len(self.DictionaryDictionary[index])
    -00632                 else:
    -00633                     return self.CompileValueCompileValue(self.DictionaryDictionary[index], index)
    -00634             elif type(self.DictionaryDictionary[index]) == ListType and 0 < subIndex <= len(self.DictionaryDictionary[index]):
    -00635                 return self.CompileValueCompileValue(self.DictionaryDictionary[index][subIndex - 1], index)
    -00636         return None
    -00637 
    -00638     """
    -00639     Returns the value of the entry asked. If the entry has the value "count", it
    -00640     returns the number of subIndex in the entry except the first.
    -00641     """
    -00642     def GetParamsEntry(self, index, subIndex = None):
    -00643         if not getattr(self, "ParamsDictionary", False):
    -00644             self.ParamsDictionaryParamsDictionary = {}
    -00645         if index in self.DictionaryDictionary:
    -00646             if subIndex == None:
    -00647                 if type(self.DictionaryDictionary[index]) == ListType:
    -00648                     if index in self.ParamsDictionaryParamsDictionary:
    -00649                         result = []
    -00650                         for i in xrange(len(self.DictionaryDictionary[index]) + 1):
    -00651                             line = DefaultParams.copy()
    -00652                             if i in self.ParamsDictionaryParamsDictionary[index]:
    -00653                                 line.update(self.ParamsDictionaryParamsDictionary[index][i])
    -00654                             result.append(line)
    -00655                         return result
    -00656                     else:
    -00657                         return [DefaultParams.copy() for i in xrange(len(self.DictionaryDictionary[index]) + 1)]
    -00658                 else:
    -00659                     result = DefaultParams.copy()
    -00660                     if index in self.ParamsDictionaryParamsDictionary:
    -00661                         result.update(self.ParamsDictionaryParamsDictionary[index])
    -00662                     return result
    -00663             elif subIndex == 0 and type(self.DictionaryDictionary[index]) != ListType:
    -00664                 result = DefaultParams.copy()
    -00665                 if index in self.ParamsDictionaryParamsDictionary:
    -00666                     result.update(self.ParamsDictionaryParamsDictionary[index])
    -00667                 return result
    -00668             elif type(self.DictionaryDictionary[index]) == ListType and 0 <= subIndex <= len(self.DictionaryDictionary[index]):
    -00669                 result = DefaultParams.copy()
    -00670                 if index in self.ParamsDictionaryParamsDictionary and subIndex in self.ParamsDictionaryParamsDictionary[index]:
    -00671                     result.update(self.ParamsDictionaryParamsDictionary[index][subIndex])
    -00672                 return result
    -00673         return None
    -00674 
    -00675     def HasEntryCallbacks(self, index):
    -00676         if not getattr(self, "ParamsDictionary", False):
    -00677             self.ParamsDictionaryParamsDictionary = {}
    -00678         if index in self.DictionaryDictionary and index in self.ParamsDictionaryParamsDictionary and "callback" in self.ParamsDictionaryParamsDictionary[index]:
    -00679             return self.ParamsDictionaryParamsDictionary[index]["callback"]
    -00680         return False
    -00681 
    -00682     """
    -00683     Check if an entry exists in the User Mapping Dictionary and returns the answer.
    -00684     """
    -00685     def IsMappingEntry(self, index):
    -00686         if index in self.UserMappingUserMapping:
    -00687             return True
    -00688         return False
    -00689 
    -00690     """
    -00691     Add a new entry in the User Mapping Dictionary
    -00692     """
    -00693     def AddMappingEntry(self, index, subIndex = None, name = "Undefined", struct = 0, size = None, nbmax = None, default = None, values = None):
    -00694         if index not in self.UserMappingUserMapping:
    -00695             if values == None:
    -00696                 values = []
    -00697             if subIndex == None:
    -00698                 self.UserMappingUserMapping[index] = {"name" : name, "struct" : struct, "need" : False, "values" : values}
    -00699                 if size != None:
    -00700                     self.UserMappingUserMapping[index]["size"] = size
    -00701                 if nbmax != None:
    -00702                     self.UserMappingUserMapping[index]["nbmax"] = nbmax
    -00703                 if default != None:
    -00704                     self.UserMappingUserMapping[index]["default"] = default
    -00705                 return True
    -00706         elif subIndex != None and subIndex == len(self.UserMappingUserMapping[index]["values"]):
    -00707             if values == None:
    -00708                 values = {}
    -00709             self.UserMappingUserMapping[index]["values"].append(values)
    -00710             return True
    -00711         return False
    -00712 
    -00713     """
    -00714     Warning ! Modifies an existing entry in the User Mapping Dictionary. Can't add a new one.
    -00715     """
    -00716     def SetMappingEntry(self, index, subIndex = None, name = None, struct = None, size = None, nbmax = None, default = None, values = None):
    -00717         if index in self.UserMappingUserMapping:
    -00718             if subIndex == None:
    -00719                 if name != None:
    -00720                     self.UserMappingUserMapping[index]["name"] = name
    -00721                     if self.UserMappingUserMapping[index]["struct"] & OD_IdenticalSubindexes:
    -00722                         self.UserMappingUserMapping[index]["values"][1]["name"] = name + " %d[(sub)]"
    -00723                     elif not self.UserMappingUserMapping[index]["struct"] & OD_MultipleSubindexes:
    -00724                         self.UserMappingUserMapping[index]["values"][0]["name"] = name
    -00725                 if struct != None:
    -00726                     self.UserMappingUserMapping[index]["struct"] = struct
    -00727                 if size != None:
    -00728                     self.UserMappingUserMapping[index]["size"] = size
    -00729                 if nbmax != None:
    -00730                     self.UserMappingUserMapping[index]["nbmax"] = nbmax
    -00731                 if default != None:
    -00732                     self.UserMappingUserMapping[index]["default"] = default
    -00733                 if values != None:
    -00734                     self.UserMappingUserMapping[index]["values"] = values
    -00735                 return True
    -00736             elif 0 <= subIndex < len(self.UserMappingUserMapping[index]["values"]) and values != None:
    -00737                 self.UserMappingUserMapping[index]["values"][subIndex].update(values)
    -00738                 return True
    -00739         return False
    -00740     
    -00741     """
    -00742     Removes an existing entry in the User Mapping Dictionary. If a subIndex is specified
    -00743     it will remove this subIndex only if it's the last of the index. If no subIndex
    -00744     is specified it removes the whole index and subIndexes from the User Mapping Dictionary.
    -00745     """
    -00746     def RemoveMappingEntry(self, index, subIndex = None):
    -00747         if index in self.UserMappingUserMapping:
    -00748             if subIndex == None:
    -00749                 self.UserMappingUserMapping.pop(index)
    -00750                 return True
    -00751             elif subIndex == len(self.UserMappingUserMapping[index]["values"]) - 1:
    -00752                 self.UserMappingUserMapping[index]["values"].pop(subIndex)
    -00753                 return True
    -00754         return False
    -00755 
    -00756     def RemoveMapVariable(self, index, subIndex = None):
    -00757         model = index << 16
    -00758         mask = 0xFFFF << 16
    -00759         if subIndex:
    -00760             model += subIndex << 8
    -00761             mask = 0xFF << 8
    -00762         for i in self.DictionaryDictionary.iterkeys():
    -00763             if 0x1600 <= i <= 0x17FF or 0x1A00 <= i <= 0x1BFF:
    -00764                 for j,value in enumerate(self.DictionaryDictionary[i]):
    -00765                     if (value & mask) == model:
    -00766                         self.DictionaryDictionary[i][j] = 0
    -00767     
    -00768     def UpdateMapVariable(self, index, subIndex, size):
    -00769         model = index << 16
    -00770         mask = 0xFFFF << 16
    -00771         if subIndex:
    -00772             model += subIndex << 8
    -00773             mask = 0xFF << 8
    -00774         for i in self.DictionaryDictionary.iterkeys():
    -00775             if 0x1600 <= i <= 0x17FF or 0x1A00 <= i <= 0x1BFF:
    -00776                 for j,value in enumerate(self.DictionaryDictionary[i]):
    -00777                     if (value & mask) == model:
    -00778                         self.DictionaryDictionary[i][j] = model + size
    -00779     
    -00780     def RemoveLine(self, index, max, incr = 1):
    -00781         i = index
    -00782         while i < max and self.IsEntryIsEntry(i + incr):
    -00783             self.DictionaryDictionary[i] = self.DictionaryDictionary[i + incr]
    -00784             i += incr
    -00785         self.DictionaryDictionary.pop(i)
    -00786 
    -00787     def RemoveUserType(self, index):
    -00788         type = self.GetEntryGetEntry(index, 1)
    -00789         for i in self.UserMappingUserMapping:
    -00790             for value in self.UserMappingUserMapping[i]["values"]:
    -00791                 if value["type"] == index:
    -00792                     value["type"] = type
    -00793         self.RemoveMappingEntryRemoveMappingEntry(index)
    -00794         self.RemoveEntryRemoveEntry(index)
    -00795 
    -00796     """
    -00797     Return a copy of the node
    -00798     """
    -00799     def Copy(self):
    -00800         return cPickle.loads(cPickle.dumps(self))
    -00801 
    -00802     """
    -00803     Return a sorted list of indexes in Object Dictionary
    -00804     """
    -00805     def GetIndexes(self):
    -00806         listindex = self.DictionaryDictionary.keys()
    -00807         listindex.sort()
    -00808         return listindex
    -00809 
    -00810     """
    -00811     Print the Dictionary values
    -00812     """
    -00813     def Print(self):
    -00814         listindex = self.DictionaryDictionary.keys()
    -00815         listindex.sort()
    -00816         for index in listindex:
    -00817             print "%04X : %s"%(index, self.DictionaryDictionary[index])    
    -00818 
    -00819     def CompileValue(self, value, index):
    -00820         if type(value) == StringType and value.find("self.ID") != -1:
    -00821             base = self.GetBaseIndexGetBaseIndex(index)
    -00822             try:
    -00823                 return eval(value)
    -00824             except:
    -00825                 return 0
    -00826         else:
    -00827             return value
    -00828 
    -00829 #-------------------------------------------------------------------------------
    -00830 #                         Node Informations Functions
    -00831 #-------------------------------------------------------------------------------
    -00832 
    -00833     def GetBaseIndex(self, index):
    -00834         for mapping in self.GetMappingsGetMappings():
    -00835             result = FindIndex(index, mapping)
    -00836             if result != None:
    -00837                 return (index - result) / mapping[result]["incr"]
    -00838         result = FindIndex(index, MappingDictionary)
    -00839         if result != None:
    -00840             return (index - result) / MappingDictionary[result]["incr"]
    -00841         return 0
    -00842 
    -00843     def GetCustomisedTypeValues(self, index):
    -00844         values = self.GetEntryGetEntry(index)
    -00845         customisabletypes = self.GetCustomisableTypesGetCustomisableTypes()
    -00846         return values, customisabletypes[values[1]][1]
    -00847 
    -00848     def GetEntryName(self, index):
    -00849         result = None
    -00850         mappings = self.GetMappingsGetMappings()
    -00851         i = 0
    -00852         while not result and i < len(mappings):
    -00853             result = FindEntryName(index, mappings[i])
    -00854             i += 1
    -00855         if result == None:
    -00856             result = FindEntryName(index, MappingDictionary)
    -00857         return result
    -00858     
    -00859     def GetEntryInfos(self, index):
    -00860         result = None
    -00861         mappings = self.GetMappingsGetMappings()
    -00862         i = 0
    -00863         while not result and i < len(mappings):
    -00864             result = FindEntryInfos(index, mappings[i])
    -00865             i += 1
    -00866         if result == None:
    -00867             result = FindEntryInfos(index, MappingDictionary)
    -00868         return result
    -00869     
    -00870     def GetSubentryInfos(self, index, subIndex):
    -00871         result = None
    -00872         mappings = self.GetMappingsGetMappings()
    -00873         i = 0
    -00874         while not result and i < len(mappings):
    -00875             result = FindSubentryInfos(index, subIndex, mappings[i])
    -00876             if result:
    -00877                 result["user_defined"] = i == len(mappings) - 1 and index >= 0x1000
    -00878             i += 1
    -00879         if result == None:
    -00880             result = FindSubentryInfos(index, subIndex, MappingDictionary)
    -00881             if result:
    -00882                 result["user_defined"] = False
    -00883         return result
    -00884     
    -00885     def GetTypeIndex(self, typename):
    -00886         result = None
    -00887         mappings = self.GetMappingsGetMappings()
    -00888         i = 0
    -00889         while not result and i < len(mappings):
    -00890             result = FindTypeIndex(typename, mappings[i])
    -00891             i += 1
    -00892         if result == None:
    -00893             result = FindTypeIndex(typename, MappingDictionary)
    -00894         return result
    -00895     
    -00896     def GetTypeName(self, typeindex):
    -00897         result = None
    -00898         mappings = self.GetMappingsGetMappings()
    -00899         i = 0
    -00900         while not result and i < len(mappings):
    -00901             result = FindTypeName(typeindex, mappings[i])
    -00902             i += 1
    -00903         if result == None:
    -00904             result = FindTypeName(typeindex, MappingDictionary)
    -00905         return result
    -00906     
    -00907     def GetTypeDefaultValue(self, typeindex):
    -00908         result = None
    -00909         mappings = self.GetMappingsGetMappings()
    -00910         i = 0
    -00911         while not result and i < len(mappings):
    -00912             result = FindTypeDefaultValue(typeindex, mappings[i])
    -00913             i += 1
    -00914         if result == None:
    -00915             result = FindTypeDefaultValue(typeindex, MappingDictionary)
    -00916         return result
    -00917     
    -00918     def GetMapVariableList(self):
    -00919         list = FindMapVariableList(MappingDictionary, self)
    -00920         for mapping in self.GetMappingsGetMappings():
    -00921             list.extend(FindMapVariableList(mapping, self))
    -00922         list.sort()
    -00923         return list
    -00924     
    -00925     def GetMandatoryIndexes(self, node = None):
    -00926         list = FindMandatoryIndexes(MappingDictionary)
    -00927         for mapping in self.GetMappingsGetMappings():
    -00928             list.extend(FindMandatoryIndexes(mapping))
    -00929         return list
    -00930     
    -00931     def GetCustomisableTypes(self):
    -00932         dic = {}
    -00933         for index, valuetype in CustomisableTypes:
    -00934             name = self.GetTypeNameGetTypeName(index)
    -00935             dic[index] = [name, valuetype]
    -00936         return dic
    -00937 
    -00938 #-------------------------------------------------------------------------------
    -00939 #                            Type and Map Variable Lists
    -00940 #-------------------------------------------------------------------------------
    -00941     
    -00942     def GetTypeList(self):
    -00943         list = FindTypeList(MappingDictionary)
    -00944         for mapping in self.GetMappingsGetMappings():
    -00945             list.extend(FindTypeList(mapping))
    -00946         list.sort()
    -00947         return ",".join(list)
    -00948 
    -00949     """
    -00950     Generate the list of variables that can be mapped for the current node
    -00951     """
    -00952     def GenerateMapList(self):
    -00953         self.MapListMapList = "None"
    -00954         self.NameTranslationNameTranslation = {"None" : "00000000"}
    -00955         self.MapTranslationMapTranslation = {"00000000" : "None"}
    -00956         list = self.GetMapVariableListGetMapVariableList()
    -00957         for index, subIndex, size, name in list:
    -00958             self.MapListMapList += ",%s"%name
    -00959             map = "%04X%02X%02X"%(index,subIndex,size)
    -00960             self.NameTranslationNameTranslation[name] = map
    -00961             self.MapTranslationMapTranslation[map] = name
    -00962 
    -00963     def GetMapValue(self, mapname):
    -00964         if mapname == "None":
    -00965             return 0
    -00966         else:
    -00967             list = self.GetMapVariableListGetMapVariableList()
    -00968             for index, subIndex, size, name in list:
    -00969                 if mapname == name:
    -00970                     return (index << 16) + (subIndex << 8) + size
    -00971             return None
    -00972     
    -00973     def GetMapName(self, value):
    -00974         if value != 0:
    -00975             index = value >> 16
    -00976             subindex = (value >> 8) % (1 << 8)
    -00977             result = self.GetSubentryInfosGetSubentryInfos(index, subindex)
    -00978             if result:
    -00979                 return result["name"]
    -00980         return "None"
    -00981     
    -00982     """
    -00983     Return the list of variables that can be mapped for the current node
    -00984     """
    -00985     def GetMapList(self):
    -00986         list = ["None"] + [name for index, subIndex, size, name in self.GetMapVariableListGetMapVariableList()]
    -00987         return ",".join(list)
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/node_8py.html --- a/doc/doxygen/html/node_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/node.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/node.py File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Namespaces

    namespace  node

    Data Structures

    class  node::Node

    Functions

    def node::FindTypeIndex
    def node::FindTypeName
    def node::FindTypeDefaultValue
    def node::FindTypeList
    def node::FindEntryName
    def node::FindEntryInfos
    def node::FindSubentryInfos
    def node::FindMapVariableList
    def node::FindMandatoryIndexes
    def node::FindIndex
    def node::StringFormat
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nodelist_8py-source.html --- a/doc/doxygen/html/nodelist_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,302 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodelist.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodelist.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 from gnosis.xml.pickle import *
    -00025 from gnosis.xml.pickle.util import setParanoia
    -00026 setParanoia(0)
    -00027 
    -00028 from node import *
    -00029 import eds_utils
    -00030 import os, shutil
    -00031 
    -00032 #-------------------------------------------------------------------------------
    -00033 #                          Definition of NodeList Object
    -00034 #-------------------------------------------------------------------------------
    -00035 
    -00036 """
    -00037 Class recording a node list for a CANOpen network.
    -00038 """
    -00039 
    -00040 class NodeList:
    -00041     
    -00042     def __init__(self, manager):
    -00043         self.RootRoot = ""
    -00044         self.ManagerManager = manager
    -00045         self.NetworkNameNetworkName = ""
    -00046         self.SlaveNodesSlaveNodes = {}
    -00047         self.EDSNodesEDSNodes = {}
    -00048         self.CurrentSelectedCurrentSelected = None
    -00049     
    -00050     def GetNetworkName(self):
    -00051         return self.NetworkNameNetworkName
    -00052     
    -00053     def SetNetworkName(self, name):
    -00054         self.NetworkNameNetworkName = name
    -00055     
    -00056     def GetManager(self):
    -00057         return self.ManagerManager
    -00058     
    -00059     def GetRoot(self):
    -00060         return self.RootRoot
    -00061     
    -00062     def GetSlaveNumber(self):
    -00063         return len(self.SlaveNodesSlaveNodes)
    -00064     
    -00065     def GetSlaveNames(self):
    -00066         nodes = self.SlaveNodesSlaveNodes.keys()
    -00067         nodes.sort()
    -00068         return ["0x%2.2X %s"%(idx, self.SlaveNodesSlaveNodes[idx]["Name"]) for idx in nodes]
    -00069     
    -00070     def GetSlaveIDs(self):
    -00071         nodes = self.SlaveNodesSlaveNodes.keys()
    -00072         nodes.sort()
    -00073         return nodes
    -00074         
    -00075     def SetCurrentSelected(self, selected):
    -00076         self.CurrentSelectedCurrentSelected = selected
    -00077         
    -00078     def GetCurrentSelected(self):
    -00079         return self.CurrentSelectedCurrentSelected
    -00080             
    -00081     def LoadProject(self, root):
    -00082         self.SlaveNodesSlaveNodes = {}
    -00083         self.EDSNodesEDSNodes = {}
    -00084         
    -00085         self.RootRoot = root
    -00086         if not os.path.exists(self.RootRoot):
    -00087             return "\"%s\" folder doesn't exist"%self.RootRoot
    -00088         
    -00089         self.EDSFolderEDSFolder = os.path.join(self.RootRoot, "eds")
    -00090         if not os.path.exists(self.EDSFolderEDSFolder):
    -00091             return "\"%s\" folder doesn't contain a \"eds\" folder"%self.RootRoot
    -00092         
    -00093         files = os.listdir(self.EDSFolderEDSFolder)
    -00094         for file in files:
    -00095             result = self.LoadEDSLoadEDS(file)
    -00096             if result != None:
    -00097                 return result
    -00098                 
    -00099         result = self.LoadMasterNodeLoadMasterNode()
    -00100         if result != None:
    -00101             return result
    -00102             
    -00103         result = self.LoadSlaveNodesLoadSlaveNodes()
    -00104         if result != None:
    -00105             return result
    -00106     
    -00107     def SaveProject(self):
    -00108         result = self.SaveMasterNodeSaveMasterNode()
    -00109         if result != None:
    -00110             return result
    -00111             
    -00112         result = self.SaveNodeListSaveNodeList()
    -00113         if result != None:
    -00114             return result
    -00115     
    -00116     def ImportEDSFile(self, edspath):
    -00117         dir, file = os.path.split(edspath)
    -00118         eds = os.path.join(self.EDSFolderEDSFolder, file)
    -00119         if os.path.isfile(eds):
    -00120             return "EDS file already imported"
    -00121         else:
    -00122             shutil.copy(edspath, self.EDSFolderEDSFolder)
    -00123             return self.LoadEDSLoadEDS(file)
    -00124     
    -00125     def LoadEDS(self, eds):
    -00126         edspath = os.path.join(self.EDSFolderEDSFolder, eds)
    -00127         node = eds_utils.GenerateNode(edspath, self.ManagerManager.ScriptDirectory)
    -00128         if isinstance(node, Node):
    -00129             self.EDSNodesEDSNodes[eds] = node
    -00130             return None
    -00131         else:
    -00132             return node
    -00133     
    -00134     def AddSlaveNode(self, nodeName, nodeID, eds):
    -00135         if eds in self.EDSNodesEDSNodes.keys():
    -00136             slave = {"Name" : nodeName, "EDS" : eds, "Node" : self.EDSNodesEDSNodes[eds]}
    -00137             self.SlaveNodesSlaveNodes[nodeID] = slave
    -00138             return None
    -00139         else:
    -00140             return "\"%s\" EDS file is not available"%eds
    -00141     
    -00142     def RemoveSlaveNode(self, index):
    -00143         if index in self.SlaveNodesSlaveNodes.keys():
    -00144             self.SlaveNodesSlaveNodes.pop(index)
    -00145             return None
    -00146         else:
    -00147             return "Node with \"0x%2.2X\" ID doesn't exist"
    -00148     
    -00149     def LoadMasterNode(self):
    -00150         masterpath = os.path.join(self.RootRoot, "master.od")
    -00151         if os.path.isfile(masterpath):
    -00152             self.ManagerManager.OpenFileInCurrent(masterpath)
    -00153         else:
    -00154             self.ManagerManager.CreateNewNode("MasterNode", 0x00, "master", "", "None", "", "heartbeat", ["DS302"])
    -00155         return None
    -00156     
    -00157     def SaveMasterNode(self):
    -00158         masterpath = os.path.join(self.RootRoot, "master.od")
    -00159         if self.ManagerManager.SaveCurrentInFile(masterpath):
    -00160             return None
    -00161         else:
    -00162             return "Fail to save Master Node"
    -00163     
    -00164     def LoadSlaveNodes(self):
    -00165         cpjpath = os.path.join(self.RootRoot, "nodelist.cpj")
    -00166         if os.path.isfile(cpjpath):
    -00167             try:
    -00168                 networks = eds_utils.ParseCPJFile(cpjpath)
    -00169                 if len(networks) > 0:
    -00170                     self.NetworkNameNetworkName = networks[0]["Name"]
    -00171                     for nodeid, node in networks[0]["Nodes"].items():
    -00172                         if node["Present"] == 1:
    -00173                             result = self.AddSlaveNodeAddSlaveNode(node["Name"], nodeid, node["DCFName"])
    -00174                             if result != None:
    -00175                                 return result
    -00176             except SyntaxError, message:
    -00177                 return "Unable to load CPJ file\n%s"%message
    -00178         return None
    -00179     
    -00180     def SaveNodeList(self):
    -00181         cpjpath = os.path.join(self.RootRoot, "nodelist.cpj")
    -00182         content = eds_utils.GenerateCPJContent(self)
    -00183         file = open(cpjpath, "w")
    -00184         file.write(content)
    -00185         file.close()
    -00186     
    -00187     def GetSlaveNodeEntry(self, nodeid, index, subindex = None):
    -00188         if nodeid in self.SlaveNodesSlaveNodes.keys():
    -00189             self.SlaveNodesSlaveNodes[nodeid]["Node"].SetNodeID(nodeid)
    -00190             return self.SlaveNodesSlaveNodes[nodeid]["Node"].GetEntry(index, subindex)
    -00191         else:
    -00192             return "Node 0x%2.2X doesn't exist"%nodeid
    -00193 
    -00194     def GetMasterNodeEntry(self, index, subindex = None):
    -00195         return self.ManagerManager.GetCurrentEntry(index, subindex)
    -00196         
    -00197     def SetMasterNodeEntry(self, index, subindex = None, value = None):
    -00198         self.ManagerManager.SetCurrentEntry(index, subindex, value)
    -00199     
    -00200     def GetOrderNumber(self, nodeid):
    -00201         nodeindexes = self.SlaveNodesSlaveNodes.keys()
    -00202         nodeindexes.sort()
    -00203         return nodeindexes.index(nodeid) + 1
    -00204     
    -00205     def GetNodeByOrder(self, order):
    -00206         if order > 0:
    -00207             nodeindexes = self.SlaveNodesSlaveNodes.keys()
    -00208             nodeindexes.sort()
    -00209             print nodeindexes
    -00210             if order <= len(nodeindexes):
    -00211                 return self.SlaveNodesSlaveNodes[nodeindexes[order - 1]]["Node"]
    -00212         return None
    -00213     
    -00214     def IsCurrentEntry(self, index):
    -00215         if self.CurrentSelectedCurrentSelected != None:
    -00216             if self.CurrentSelectedCurrentSelected == 0:
    -00217                 return self.ManagerManager.IsCurrentEntry(index)
    -00218             else:
    -00219                 node = self.SlaveNodesSlaveNodes[self.CurrentSelectedCurrentSelected]["Node"]
    -00220                 if node:
    -00221                     return node.IsEntry(index)
    -00222         return False
    -00223     
    -00224     def GetEntryInfos(self, index):
    -00225         if self.CurrentSelectedCurrentSelected != None:
    -00226             if self.CurrentSelectedCurrentSelected == 0:
    -00227                 return self.ManagerManager.GetEntryInfos(index)
    -00228             else:
    -00229                 node = self.SlaveNodesSlaveNodes[self.CurrentSelectedCurrentSelected]["Node"]
    -00230                 if node:
    -00231                     return node.GetEntryInfos(index)
    -00232         return None
    -00233 
    -00234     def GetCurrentValidIndexes(self, min, max):
    -00235         if self.CurrentSelectedCurrentSelected != None:
    -00236             if self.CurrentSelectedCurrentSelected == 0:
    -00237                 return self.ManagerManager.GetCurrentValidIndexes(min, max)
    -00238             else:
    -00239                 node = self.SlaveNodesSlaveNodes[self.CurrentSelectedCurrentSelected]["Node"]
    -00240                 if node:
    -00241                     validindexes = []
    -00242                     for index in node.GetIndexes():
    -00243                         if min <= index <= max:
    -00244                             validindexes.append((node.GetEntryName(index), index))
    -00245                     return validindexes
    -00246                 else:
    -00247                     print "Can't find node"
    -00248         return []
    -00249     
    -00250     def GetCurrentEntryValues(self, index):
    -00251         if self.CurrentSelectedCurrentSelected != None:
    -00252             node = self.SlaveNodesSlaveNodes[self.CurrentSelectedCurrentSelected]["Node"]
    -00253             if node:
    -00254                 return self.ManagerManager.GetNodeEntryValues(node, index)
    -00255             else:
    -00256                 print "Can't find node"
    -00257         return [], []
    -00258     
    -00259 if __name__ == "__main__":
    -00260     from nodemanager import *
    -00261     import os, sys, shutil
    -00262     
    -00263     manager = NodeManager(sys.path[0])
    -00264     
    -00265     nodelist = NodeList(manager)
    -00266     
    -00267     result = nodelist.LoadProject("/home/laurent/test_nodelist")
    -00268     if result != None:
    -00269         print result
    -00270     else:
    -00271         print "MasterNode :"
    -00272         manager.CurrentNode.Print()
    -00273         print 
    -00274         for nodeid, node in nodelist.SlaveNodes.items():
    -00275             print "SlaveNode name=%s id=0x%2.2X :"%(node["Name"], nodeid)
    -00276             node["Node"].Print()
    -00277             print
    -00278 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nodelist_8py.html --- a/doc/doxygen/html/nodelist_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodelist.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodelist.py File Reference

    -

    -Go to the source code of this file. - - - - - - - - - -

    Namespaces

    namespace  nodelist
    namespace  gnosis::xml::pickle::*

    Data Structures

    class  nodelist::NodeList
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nodemanager_8py-source.html --- a/doc/doxygen/html/nodemanager_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1107 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodemanager.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodemanager.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 from gnosis.xml.pickle import *
    -00025 from gnosis.xml.pickle.util import setParanoia
    -00026 setParanoia(0)
    -00027 
    -00028 from node import *
    -00029 import eds_utils, gen_cfile
    -00030 
    -00031 from types import *
    -00032 import os, re
    -00033 
    -00034 UndoBufferLength = 20
    -00035 
    -00036 type_model = re.compile('([\_A-Z]*)([0-9]*)')
    -00037 range_model = re.compile('([\_A-Z]*)([0-9]*)\[([\-0-9]*)-([\-0-9]*)\]')
    -00038 
    -00039 # ID for the file viewed
    -00040 CurrentID = 0
    -00041 
    -00042 # Returns a new id
    -00043 def GetNewId():
    -00044     global CurrentID
    -00045     CurrentID += 1
    -00046     return CurrentID
    -00047 
    -00048 """
    -00049 Class implementing a buffer of changes made on the current editing Object Dictionary
    -00050 """
    -00051 
    -00052 class UndoBuffer:
    -00053 
    -00054     """
    -00055     Constructor initialising buffer
    -00056     """
    -00057     def __init__(self, currentstate, issaved = False):
    -00058         self.BufferBuffer = []
    -00059         self.CurrentIndexCurrentIndex = -1
    -00060         self.MinIndexMinIndex = -1
    -00061         self.MaxIndexMaxIndex = -1
    -00062         # if current state is defined
    -00063         if currentstate:
    -00064             self.CurrentIndexCurrentIndex = 0
    -00065             self.MinIndexMinIndex = 0
    -00066             self.MaxIndexMaxIndex = 0
    -00067         # Initialising buffer with currentstate at the first place
    -00068         for i in xrange(UndoBufferLength):
    -00069             if i == 0:
    -00070                 self.BufferBuffer.append(currentstate)
    -00071             else:
    -00072                 self.BufferBuffer.append(None)
    -00073         # Initialising index of state saved
    -00074         if issaved:
    -00075             self.LastSaveLastSave = 0
    -00076         else:
    -00077             self.LastSaveLastSave = -1
    -00078     
    -00079     """
    -00080     Add a new state in buffer
    -00081     """
    -00082     def Buffering(self, currentstate):
    -00083         self.CurrentIndexCurrentIndex = (self.CurrentIndexCurrentIndex + 1) % UndoBufferLength
    -00084         self.BufferBuffer[self.CurrentIndexCurrentIndex] = currentstate
    -00085         # Actualising buffer limits
    -00086         self.MaxIndexMaxIndex = self.CurrentIndexCurrentIndex
    -00087         if self.MinIndexMinIndex == self.CurrentIndexCurrentIndex:
    -00088             # If the removed state was the state saved, there is no state saved in the buffer
    -00089             if self.LastSaveLastSave == self.MinIndexMinIndex:
    -00090                 self.LastSaveLastSave = -1
    -00091             self.MinIndexMinIndex = (self.MinIndexMinIndex + 1) % UndoBufferLength
    -00092         self.MinIndexMinIndex = max(self.MinIndexMinIndex, 0)
    -00093     
    -00094     """
    -00095     Return current state of buffer
    -00096     """
    -00097     def Current(self):
    -00098         return self.BufferBuffer[self.CurrentIndexCurrentIndex]
    -00099     
    -00100     """
    -00101     Change current state to previous in buffer and return new current state
    -00102     """
    -00103     def Previous(self):
    -00104         if self.CurrentIndexCurrentIndex != self.MinIndexMinIndex:
    -00105             self.CurrentIndexCurrentIndex = (self.CurrentIndexCurrentIndex - 1) % UndoBufferLength
    -00106             return self.BufferBuffer[self.CurrentIndexCurrentIndex]
    -00107         return None
    -00108     
    -00109     """
    -00110     Change current state to next in buffer and return new current state
    -00111     """
    -00112     def Next(self):
    -00113         if self.CurrentIndexCurrentIndex != self.MaxIndexMaxIndex:
    -00114             self.CurrentIndexCurrentIndex = (self.CurrentIndexCurrentIndex + 1) % UndoBufferLength
    -00115             return self.BufferBuffer[self.CurrentIndexCurrentIndex]
    -00116         return None
    -00117     
    -00118     """
    -00119     Return True if current state is the first in buffer
    -00120     """
    -00121     def IsFirst(self):
    -00122         return self.CurrentIndexCurrentIndex == self.MinIndexMinIndex
    -00123     
    -00124     """
    -00125     Return True if current state is the last in buffer
    -00126     """
    -00127     def IsLast(self):
    -00128         return self.CurrentIndexCurrentIndex == self.MaxIndexMaxIndex
    -00129 
    -00130     """
    -00131     Note that current state is saved
    -00132     """
    -00133     def CurrentSaved(self):
    -00134         self.LastSaveLastSave = self.CurrentIndexCurrentIndex
    -00135         
    -00136     """
    -00137     Return True if current state is saved
    -00138     """
    -00139     def IsCurrentSaved(self):
    -00140         return self.LastSaveLastSave == self.CurrentIndexCurrentIndex
    -00141 
    -00142 
    -00143 
    -00144 """
    -00145 Class which control the operations made on the node and answer to view requests
    -00146 """
    -00147 
    -00148 class NodeManager:
    -00149 
    -00150     """
    -00151     Constructor
    -00152     """
    -00153     def __init__(self, cwd):
    -00154         self.LastNewIndexLastNewIndex = 0
    -00155         self.FilePathsFilePaths = {}
    -00156         self.FileNamesFileNames = {}
    -00157         self.NodeIndexNodeIndex = None
    -00158         self.CurrentNodeCurrentNode = None
    -00159         self.ScriptDirectoryScriptDirectory = cwd
    -00160         self.UndoBuffersUndoBuffers = {}
    -00161 
    -00162 #-------------------------------------------------------------------------------
    -00163 #                         Type and Map Variable Lists
    -00164 #-------------------------------------------------------------------------------
    -00165     
    -00166     """
    -00167     Return the list of types defined for the current node
    -00168     """
    -00169     def GetCurrentTypeList(self):
    -00170         if self.CurrentNodeCurrentNode:
    -00171             return self.CurrentNodeCurrentNode.GetTypeList()
    -00172         else:
    -00173             return ""
    -00174 
    -00175     """
    -00176     Return the list of variables that can be mapped for the current node
    -00177     """
    -00178     def GetCurrentMapList(self):
    -00179         if self.CurrentNodeCurrentNode:
    -00180             return self.CurrentNodeCurrentNode.GetMapList()
    -00181         else:
    -00182             return ""
    -00183 
    -00184 #-------------------------------------------------------------------------------
    -00185 #                        Create Load and Save Functions
    -00186 #-------------------------------------------------------------------------------
    -00187 
    -00188     """
    -00189     Create a new node and add a new buffer for storing it
    -00190     """
    -00191     def CreateNewNode(self, name, id, type, description, profile, filepath, NMT, options):
    -00192         # Create a new node
    -00193         node = Node()
    -00194         # Try to load profile given
    -00195         result = self.LoadProfileLoadProfile(profile, filepath, node)
    -00196         if not result:
    -00197             # if success, initialising node
    -00198             self.CurrentNodeCurrentNode = node
    -00199             self.CurrentNodeCurrentNode.SetNodeName(name)
    -00200             self.CurrentNodeCurrentNode.SetNodeID(id)
    -00201             self.CurrentNodeCurrentNode.SetNodeType(type)
    -00202             self.CurrentNodeCurrentNode.SetNodeDescription(description)
    -00203             AddIndexList = self.GetMandatoryIndexesGetMandatoryIndexes()
    -00204             if NMT == "NodeGuarding":
    -00205                 AddIndexList.extend([0x100C, 0x100D])
    -00206             elif NMT == "Heartbeat":
    -00207                 AddIndexList.append(0x1017)
    -00208             for option in options:
    -00209                 if option == "DS302":
    -00210                     DS302Path = os.path.join(self.ScriptDirectoryScriptDirectory, "config/DS-302.prf")
    -00211                     # Charging DS-302 profile if choosen by user
    -00212                     if os.path.isfile(DS302Path):
    -00213                         try:
    -00214                             execfile(DS302Path)
    -00215                             self.CurrentNodeCurrentNode.SetDS302Profile(Mapping)
    -00216                             self.CurrentNodeCurrentNode.ExtendSpecificMenu(AddMenuEntries)
    -00217                         except:
    -00218                             return "Problem with DS-302! Syntax Error."
    -00219                     else:
    -00220                         return "Couldn't find DS-302 in 'config' folder!"
    -00221                 elif option == "GenSYNC":
    -00222                     AddIndexList.extend([0x1005, 0x1006])
    -00223                 elif option == "Emergency":
    -00224                     AddIndexList.append(0x1014)
    -00225                 elif option == "SaveConfig":
    -00226                     AddIndexList.extend([0x1010, 0x1011, 0x1020])
    -00227                 elif option == "StoreEDS":
    -00228                     AddIndexList.extend([0x1021, 0x1022])
    -00229             # Add a new buffer 
    -00230             index = self.AddNodeBufferAddNodeBuffer()
    -00231             self.SetCurrentFilePathSetCurrentFilePath("")
    -00232             # Add Mandatory indexes
    -00233             self.ManageEntriesOfCurrentManageEntriesOfCurrent(AddIndexList, [])
    -00234             return index
    -00235         else:
    -00236             return result
    -00237     
    -00238     """
    -00239     Load a profile in node
    -00240     """
    -00241     def LoadProfile(self, profile, filepath, node):
    -00242         if profile != "None":
    -00243             # Try to charge the profile given
    -00244             try:
    -00245                 execfile(filepath)
    -00246                 node.SetProfileName(profile)
    -00247                 node.SetProfile(Mapping)
    -00248                 node.SetSpecificMenu(AddMenuEntries)
    -00249                 return None
    -00250             except:
    -00251                 return "Syntax Error\nBad OD Profile file!."
    -00252         else:
    -00253             # Default profile
    -00254             node.SetProfileName("None")
    -00255             node.SetProfile({})
    -00256             node.SetSpecificMenu([])
    -00257             return None
    -00258 
    -00259     """
    -00260     Open a file and store it in a new buffer
    -00261     """
    -00262     def OpenFileInCurrent(self, filepath):
    -00263         # Open and load file
    -00264         file = open(filepath, "r")
    -00265         node = load(file)
    -00266         file.close()
    -00267         self.CurrentNodeCurrentNode = node
    -00268         # Add a new buffer and defining current state
    -00269         index = self.AddNodeBufferAddNodeBuffer(self.CurrentNodeCurrentNode.Copy(), True)
    -00270         self.SetCurrentFilePathSetCurrentFilePath(filepath)
    -00271         return index
    -00272 
    -00273     """
    -00274     Save current node in  a file
    -00275     """
    -00276     def SaveCurrentInFile(self, filepath = None):
    -00277         # if no filepath given, verify if current node has a filepath defined
    -00278         if not filepath:
    -00279             filepath = self.GetCurrentFilePathGetCurrentFilePath()
    -00280             if filepath == "":
    -00281                 return False
    -00282         # Save node in file
    -00283         file = open(filepath, "w")
    -00284         dump(self.CurrentNodeCurrentNode, file)
    -00285         file.close()
    -00286         self.SetCurrentFilePathSetCurrentFilePath(filepath)
    -00287         # Update saved state in buffer
    -00288         self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].CurrentSaved()
    -00289         return True
    -00290 
    -00291     """
    -00292     Close current state
    -00293     """
    -00294     def CloseCurrent(self, ignore = False):
    -00295         # Verify if it's not forced that the current node is saved before closing it
    -00296         if self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].IsCurrentSaved() or ignore:
    -00297             self.RemoveNodeBufferRemoveNodeBuffer(self.NodeIndexNodeIndex)
    -00298             return True
    -00299         return False
    -00300 
    -00301     """
    -00302     Import an eds file and store it in a new buffer if no node edited
    -00303     """
    -00304     def ImportCurrentFromEDSFile(self, filepath):
    -00305         # Generate node from definition in a xml file
    -00306         result = eds_utils.GenerateNode(filepath, self.ScriptDirectoryScriptDirectory)
    -00307         if isinstance(result, Node):
    -00308             self.CurrentNodeCurrentNode = result
    -00309             if len(self.UndoBuffersUndoBuffers) == 0:
    -00310                 index = self.AddNodeBufferAddNodeBuffer()
    -00311                 self.SetCurrentFilePathSetCurrentFilePath("")
    -00312             self.BufferCurrentNodeBufferCurrentNode()
    -00313             return index
    -00314         else:
    -00315             return result
    -00316     
    -00317     """
    -00318     Export to an eds file and store it in a new buffer if no node edited
    -00319     """
    -00320     def ExportCurrentToEDSFile(self, filepath):
    -00321         return eds_utils.GenerateEDSFile(filepath, self)
    -00322     
    -00323     """
    -00324     Build the C definition of Object Dictionary for current node 
    -00325     """
    -00326     def ExportCurrentToCFile(self, filepath):
    -00327         return gen_cfile.GenerateFile(filepath, self)
    -00328 
    -00329 #-------------------------------------------------------------------------------
    -00330 #                        Add Entries to Current Functions
    -00331 #-------------------------------------------------------------------------------
    -00332 
    -00333     """
    -00334     Add the specified number of subentry for the given entry. Verify that total
    -00335     number of subentry (except 0) doesn't exceed nbmax defined
    -00336     """
    -00337     def AddSubentriesToCurrent(self, index, number):
    -00338         # Informations about entry
    -00339         length = self.CurrentNodeCurrentNode.GetEntry(index, 0)
    -00340         infos = self.GetEntryInfosGetEntryInfos(index)
    -00341         subentry_infos = self.GetSubentryInfosGetSubentryInfos(index, 1)
    -00342         # Get default value for subindex
    -00343         if "default" in subentry_infos:
    -00344             default = subentry_infos["default"]
    -00345         else:
    -00346             default = self.GetTypeDefaultValueGetTypeDefaultValue(subentry_infos["type"])   
    -00347         # First case entry is record
    -00348         if infos["struct"] & OD_IdenticalSubindexes:
    -00349             for i in xrange(1, min(number,subentry_infos["nbmax"]-length) + 1):
    -00350                 self.CurrentNodeCurrentNode.AddEntry(index, length + i, default)
    -00351             self.BufferCurrentNodeBufferCurrentNode()
    -00352         # Second case entry is array, only possible for manufacturer specific
    -00353         elif infos["struct"] & OD_MultipleSubindexes and 0x2000 <= index <= 0x5FFF:
    -00354             values = {"name" : "Undefined", "type" : 5, "access" : "rw", "pdo" : True}
    -00355             for i in xrange(1, min(number,0xFE-length) + 1):
    -00356                 self.CurrentNodeCurrentNode.AddMappingEntry(index, length + i, values = values.copy())
    -00357                 self.CurrentNodeCurrentNode.AddEntry(index, length + i, 0)
    -00358             self.BufferCurrentNodeBufferCurrentNode()
    -00359 
    -00360     """
    -00361     Remove the specified number of subentry for the given entry. Verify that total
    -00362     number of subentry (except 0) isn't less than 1
    -00363     """
    -00364     def RemoveSubentriesFromCurrent(self, index, number):
    -00365         # Informations about entry
    -00366         infos = self.GetEntryInfosGetEntryInfos(index)
    -00367         length = self.CurrentNodeCurrentNode.GetEntry(index, 0)
    -00368         # Entry is a record, or is an array of manufacturer specific
    -00369         if infos["struct"] & OD_IdenticalSubindexes or 0x2000 <= index <= 0x5FFF and infos["struct"] & OD_IdenticalSubindexes:
    -00370             for i in xrange(min(number, length - 1)):
    -00371                 self.RemoveCurrentVariableRemoveCurrentVariable(index, length - i)
    -00372             self.BufferCurrentNodeBufferCurrentNode()
    -00373 
    -00374     """
    -00375     Add a SDO Server to current node
    -00376     """
    -00377     def AddSDOServerToCurrent(self):
    -00378         # An SDO Server is already defined at index 0x1200
    -00379         if self.CurrentNodeCurrentNode.IsEntry(0x1200):
    -00380             indexlist = [self.GetLineFromIndexGetLineFromIndex(0x1201)]
    -00381             if None not in indexlist:
    -00382                 self.ManageEntriesOfCurrentManageEntriesOfCurrent(indexlist, [])
    -00383         # Add an SDO Server at index 0x1200
    -00384         else:
    -00385             self.ManageEntriesOfCurrentManageEntriesOfCurrent([0x1200], [])
    -00386         
    -00387     """
    -00388     Add a SDO Server to current node
    -00389     """
    -00390     def AddSDOClientToCurrent(self):
    -00391         indexlist = [self.GetLineFromIndexGetLineFromIndex(0x1280)]
    -00392         if None not in indexlist:
    -00393             self.ManageEntriesOfCurrentManageEntriesOfCurrent(indexlist, [])
    -00394 
    -00395     """
    -00396     Add a Transmit PDO to current node
    -00397     """
    -00398     def AddPDOTransmitToCurrent(self):
    -00399         indexlist = [self.GetLineFromIndexGetLineFromIndex(0x1800),self.GetLineFromIndexGetLineFromIndex(0x1A00)]
    -00400         if None not in indexlist:
    -00401             self.ManageEntriesOfCurrentManageEntriesOfCurrent(indexlist, [])
    -00402         
    -00403     """
    -00404     Add a Receive PDO to current node
    -00405     """
    -00406     def AddPDOReceiveToCurrent(self):
    -00407         indexlist = [self.GetLineFromIndexGetLineFromIndex(0x1400),self.GetLineFromIndexGetLineFromIndex(0x1600)]
    -00408         if None not in indexlist:
    -00409             self.ManageEntriesOfCurrentManageEntriesOfCurrent(indexlist, [])
    -00410 
    -00411     """
    -00412     Add a list of entries defined in profile for menu item selected to current node
    -00413     """
    -00414     def AddSpecificEntryToCurrent(self, menuitem):
    -00415         indexlist = []
    -00416         for menu, indexes in self.CurrentNodeCurrentNode.GetSpecificMenu():
    -00417             if menuitem == menu:
    -00418                 for index in indexes:
    -00419                     indexlist.append(self.GetLineFromIndexGetLineFromIndex(index))
    -00420         if None not in indexlist:
    -00421             self.ManageEntriesOfCurrentManageEntriesOfCurrent(indexlist, [])
    -00422 
    -00423     """
    -00424     Search the first index available for a pluri entry from base_index
    -00425     """
    -00426     def GetLineFromIndex(self, base_index):
    -00427         found = False
    -00428         index = base_index
    -00429         infos = self.GetEntryInfosGetEntryInfos(base_index)
    -00430         while index < base_index + infos["incr"]*infos["nbmax"] and not found:
    -00431             if not self.CurrentNodeCurrentNode.IsEntry(index):
    -00432                 found = True
    -00433             else:
    -00434                 index += infos["incr"]
    -00435         if found:
    -00436             return index
    -00437         return None
    -00438     
    -00439     """
    -00440     Add entries specified in addinglist and remove entries specified in removinglist
    -00441     """
    -00442     def ManageEntriesOfCurrent(self, addinglist, removinglist):
    -00443         # Add all the entries in addinglist
    -00444         for index in addinglist:
    -00445             infos = self.GetEntryInfosGetEntryInfos(index)
    -00446             if infos["struct"] & OD_MultipleSubindexes:
    -00447                 # First case entry is a record
    -00448                 if infos["struct"] & OD_IdenticalSubindexes:
    -00449                     subentry_infos = self.GetSubentryInfosGetSubentryInfos(index, 1)
    -00450                     if "default" in subentry_infos:
    -00451                         default = subentry_infos["default"]
    -00452                     else:
    -00453                         default = self.GetTypeDefaultValueGetTypeDefaultValue(subentry_infos["type"])
    -00454                     self.CurrentNodeCurrentNode.AddEntry(index, 1, default)
    -00455                 # Second case entry is a record
    -00456                 else:
    -00457                     i = 1
    -00458                     subentry_infos = self.GetSubentryInfosGetSubentryInfos(index, i)
    -00459                     while subentry_infos:
    -00460                         if "default" in subentry_infos:
    -00461                             default = subentry_infos["default"]
    -00462                         else:
    -00463                             default = self.GetTypeDefaultValueGetTypeDefaultValue(subentry_infos["type"])
    -00464                         self.CurrentNodeCurrentNode.AddEntry(index, i, default)
    -00465                         i += 1
    -00466                         subentry_infos = self.GetSubentryInfosGetSubentryInfos(index, i)
    -00467             # Third case entry is a record
    -00468             else:
    -00469                 subentry_infos = self.GetSubentryInfosGetSubentryInfos(index, 0)
    -00470                 if "default" in subentry_infos:
    -00471                     default = subentry_infos["default"]
    -00472                 else:
    -00473                     default = self.GetTypeDefaultValueGetTypeDefaultValue(subentry_infos["type"])
    -00474                 self.CurrentNodeCurrentNode.AddEntry(index, 0, default)
    -00475         # Remove all the entries in removinglist
    -00476         for index in removinglist:
    -00477             self.RemoveCurrentVariableRemoveCurrentVariable(index)
    -00478         self.BufferCurrentNodeBufferCurrentNode()
    -00479 
    -00480 
    -00481     """
    -00482     Remove an entry from current node. Analize the index to perform the correct
    -00483     method
    -00484     """
    -00485     def RemoveCurrentVariable(self, index, subIndex = None):
    -00486         Mappings = self.CurrentNodeCurrentNode.GetMappings()
    -00487         if index < 0x1000 and subIndex == None:
    -00488             type = self.CurrentNodeCurrentNode.GetEntry(index, 1)
    -00489             for i in Mappings[-1]:
    -00490                 for value in Mappings[-1][i]["values"]:
    -00491                     if value["type"] == index:
    -00492                         value["type"] = type
    -00493             self.CurrentNodeCurrentNode.RemoveMappingEntry(index)
    -00494             self.CurrentNodeCurrentNode.RemoveEntry(index)
    -00495         elif index == 0x1200 and subIndex == None:
    -00496             self.CurrentNodeCurrentNode.RemoveEntry(0x1200)
    -00497         elif 0x1201 <= index <= 0x127F and subIndex == None:
    -00498             self.CurrentNodeCurrentNode.RemoveLine(index, 0x127F)
    -00499         elif 0x1280 <= index <= 0x12FF and subIndex == None:
    -00500             self.CurrentNodeCurrentNode.RemoveLine(index, 0x12FF)
    -00501         elif 0x1400 <= index <= 0x15FF or 0x1600 <= index <= 0x17FF and subIndex == None:
    -00502             if 0x1600 <= index <= 0x17FF and subIndex == None:
    -00503                 index -= 0x200
    -00504             self.CurrentNodeCurrentNode.RemoveLine(index, 0x15FF)
    -00505             self.CurrentNodeCurrentNode.RemoveLine(index + 0x200, 0x17FF)
    -00506         elif 0x1800 <= index <= 0x19FF or 0x1A00 <= index <= 0x1BFF and subIndex == None:
    -00507             if 0x1A00 <= index <= 0x1BFF:
    -00508                 index -= 0x200
    -00509             self.CurrentNodeCurrentNode.RemoveLine(index, 0x19FF)
    -00510             self.CurrentNodeCurrentNode.RemoveLine(index + 0x200, 0x1BFF)
    -00511         else:
    -00512             found = False
    -00513             for menu,list in self.CurrentNodeCurrentNode.GetSpecificMenu():
    -00514                 for i in list:
    -00515                     iinfos = self.GetEntryInfosGetEntryInfos(i)
    -00516                     indexes = [i + incr * iinfos["incr"] for incr in xrange(iinfos["nbmax"])] 
    -00517                     if index in indexes:
    -00518                         found = True
    -00519                         diff = index - i
    -00520                         for j in list:
    -00521                             jinfos = self.GetEntryInfosGetEntryInfos(j)
    -00522                             self.CurrentNodeCurrentNode.RemoveLine(j + diff, j + jinfos["incr"]*jinfos["nbmax"], jinfos["incr"])
    -00523             self.CurrentNodeCurrentNode.RemoveMapVariable(index, subIndex)
    -00524             if not found:
    -00525                 infos = self.GetEntryInfosGetEntryInfos(index)
    -00526                 if not infos["need"]:
    -00527                     self.CurrentNodeCurrentNode.RemoveEntry(index, subIndex)
    -00528             if index in Mappings[-1]:
    -00529                 self.CurrentNodeCurrentNode.RemoveMappingEntry(index, subIndex)
    -00530 
    -00531     def AddMapVariableToCurrent(self, index, name, struct, number):
    -00532         if 0x2000 <= index <= 0x5FFF:
    -00533             if not self.CurrentNodeCurrentNode.IsEntry(index):
    -00534                 self.CurrentNodeCurrentNode.AddMappingEntry(index, name = name, struct = struct)
    -00535                 if struct == var:
    -00536                     values = {"name" : name, "type" : 0x05, "access" : "rw", "pdo" : True}
    -00537                     self.CurrentNodeCurrentNode.AddMappingEntry(index, 0, values = values)
    -00538                     self.CurrentNodeCurrentNode.AddEntry(index, 0, 0)
    -00539                 else:
    -00540                     values = {"name" : "Number of Entries", "type" : 0x05, "access" : "ro", "pdo" : False}
    -00541                     self.CurrentNodeCurrentNode.AddMappingEntry(index, 0, values = values)
    -00542                     if struct == rec:
    -00543                         values = {"name" : name + " %d[(sub)]", "type" : 0x05, "access" : "rw", "pdo" : True, "nbmax" : 0xFE}
    -00544                         self.CurrentNodeCurrentNode.AddMappingEntry(index, 1, values = values)
    -00545                         for i in xrange(number):
    -00546                             self.CurrentNodeCurrentNode.AddEntry(index, i + 1, 0)
    -00547                     else:
    -00548                         for i in xrange(number):
    -00549                             values = {"name" : "Undefined", "type" : 0x05, "access" : "rw", "pdo" : True}
    -00550                             self.CurrentNodeCurrentNode.AddMappingEntry(index, i + 1, values = values)
    -00551                             self.CurrentNodeCurrentNode.AddEntry(index, i + 1, 0)
    -00552                 self.BufferCurrentNodeBufferCurrentNode()
    -00553                 return None
    -00554             else:
    -00555                 return "Index 0x%04X already defined!"%index
    -00556         else:
    -00557             return "Index 0x%04X isn't a valid index for Map Variable!"%index
    -00558 
    -00559     def AddUserTypeToCurrent(self, type, min, max, length):
    -00560         index = 0xA0
    -00561         while index < 0x100 and self.CurrentNodeCurrentNode.IsEntry(index):
    -00562             index += 1
    -00563         if index < 0x100:
    -00564             customisabletypes = self.GetCustomisableTypesGetCustomisableTypes()
    -00565             name, valuetype = customisabletypes[type]
    -00566             size = self.GetEntryInfosGetEntryInfos(type)["size"]
    -00567             default = self.GetTypeDefaultValueGetTypeDefaultValue(type)
    -00568             if valuetype == 0:
    -00569                 self.CurrentNodeCurrentNode.AddMappingEntry(index, name = "%s[%d-%d]"%(name, min, max), struct = 3, size = size, default = default)
    -00570                 self.CurrentNodeCurrentNode.AddMappingEntry(index, 0, values = {"name" : "Number of Entries", "type" : 0x05, "access" : "ro", "pdo" : False})
    -00571                 self.CurrentNodeCurrentNode.AddMappingEntry(index, 1, values = {"name" : "Type", "type" : 0x05, "access" : "ro", "pdo" : False})
    -00572                 self.CurrentNodeCurrentNode.AddMappingEntry(index, 2, values = {"name" : "Minimum Value", "type" : type, "access" : "ro", "pdo" : False})
    -00573                 self.CurrentNodeCurrentNode.AddMappingEntry(index, 3, values = {"name" : "Maximum Value", "type" : type, "access" : "ro", "pdo" : False})
    -00574                 self.CurrentNodeCurrentNode.AddEntry(index, 1, type)
    -00575                 self.CurrentNodeCurrentNode.AddEntry(index, 2, min)
    -00576                 self.CurrentNodeCurrentNode.AddEntry(index, 3, max)
    -00577             elif valuetype == 1:
    -00578                 self.CurrentNodeCurrentNode.AddMappingEntry(index, name = "%s%d"%(name, length), struct = 3, size = length * size, default = default)
    -00579                 self.CurrentNodeCurrentNode.AddMappingEntry(index, 0, values = {"name" : "Number of Entries", "type" : 0x05, "access" : "ro", "pdo" : False})
    -00580                 self.CurrentNodeCurrentNode.AddMappingEntry(index, 1, values = {"name" : "Type", "type" : 0x05, "access" : "ro", "pdo" : False})
    -00581                 self.CurrentNodeCurrentNode.AddMappingEntry(index, 2, values = {"name" : "Length", "type" : 0x05, "access" : "ro", "pdo" : False})
    -00582                 self.CurrentNodeCurrentNode.AddEntry(index, 1, type)
    -00583                 self.CurrentNodeCurrentNode.AddEntry(index, 2, length)
    -00584             self.BufferCurrentNodeBufferCurrentNode()
    -00585             return None
    -00586         else:
    -00587             return "Too many User Types have already been defined!"
    -00588 
    -00589 #-------------------------------------------------------------------------------
    -00590 #                      Modify Entry and Mapping Functions
    -00591 #-------------------------------------------------------------------------------
    -00592 
    -00593     def SetCurrentEntryCallbacks(self, index, value):
    -00594         if self.CurrentNodeCurrentNode and self.CurrentNodeCurrentNode.IsEntry(index):
    -00595             entry_infos = self.GetEntryInfosGetEntryInfos(index)
    -00596             if "callback" not in entry_infos:
    -00597                 self.CurrentNodeCurrentNode.SetParamsEntry(index, None, callback = value)
    -00598                 self.BufferCurrentNodeBufferCurrentNode()
    -00599 
    -00600     def SetCurrentEntry(self, index, subIndex, value, name, editor):
    -00601         if self.CurrentNodeCurrentNode and self.CurrentNodeCurrentNode.IsEntry(index):
    -00602             if name == "value":
    -00603                 if editor == "map":
    -00604                     value = self.CurrentNodeCurrentNode.GetMapValue(value)
    -00605                     if value:
    -00606                         self.CurrentNodeCurrentNode.SetEntry(index, subIndex, value)
    -00607                 elif editor == "bool":
    -00608                     value = value == "True"
    -00609                     self.CurrentNodeCurrentNode.SetEntry(index, subIndex, value)
    -00610                 elif editor == "time":
    -00611                     self.CurrentNodeCurrentNode.SetEntry(index, subIndex, value)
    -00612                 elif editor == "number":
    -00613                     try:
    -00614                         self.CurrentNodeCurrentNode.SetEntry(index, subIndex, int(value))
    -00615                     except:
    -00616                         pass
    -00617                 elif editor == "domain":
    -00618                     try:
    -00619                         if len(value) % 2 != 0:
    -00620                             value = "0" + value
    -00621                         value = value.decode('hex_codec')
    -00622                         self.CurrentNodeCurrentNode.SetEntry(index, subIndex, value)
    -00623                     except:
    -00624                         pass
    -00625                 else:
    -00626                     subentry_infos = self.GetSubentryInfosGetSubentryInfos(index, subIndex)
    -00627                     type = subentry_infos["type"]
    -00628                     dic = {}
    -00629                     for typeindex, typevalue in CustomisableTypes:
    -00630                         dic[typeindex] = typevalue
    -00631                     if type not in dic:
    -00632                         type = self.CurrentNodeCurrentNode.GetEntry(type)[1]
    -00633                     if dic[type] == 0:
    -00634                         try:
    -00635                             value = int(value, 16)
    -00636                             self.CurrentNodeCurrentNode.SetEntry(index, subIndex, value)
    -00637                         except:
    -00638                             pass
    -00639                     else:
    -00640                         self.CurrentNodeCurrentNode.SetEntry(index, subIndex, value)
    -00641             elif name in ["comment", "save"]:
    -00642                 if editor == "option":
    -00643                     value = value == "Yes"
    -00644                 if name == "save":
    -00645                     self.CurrentNodeCurrentNode.SetParamsEntry(index, subIndex, save = value)
    -00646                 elif name == "comment":
    -00647                     self.CurrentNodeCurrentNode.SetParamsEntry(index, subIndex, comment = value)
    -00648             else:
    -00649                 if editor == "type":
    -00650                     value = self.GetTypeIndexGetTypeIndex(value)
    -00651                     size = self.GetEntryInfosGetEntryInfos(value)["size"]
    -00652                     self.CurrentNodeCurrentNode.UpdateMapVariable(index, subIndex, size)
    -00653                 elif editor in ["access","raccess"]:
    -00654                     dic = {}
    -00655                     for abbrev,access in AccessType.iteritems():
    -00656                         dic[access] = abbrev
    -00657                     value = dic[value]
    -00658                     if editor == "raccess" and not self.CurrentNodeCurrentNode.IsMappingEntry(index):
    -00659                         entry_infos = self.GetEntryInfosGetEntryInfos(index)
    -00660                         self.CurrentNodeCurrentNode.AddMappingEntry(index, name = entry_infos["name"], struct = 7)
    -00661                         self.CurrentNodeCurrentNode.AddMappingEntry(index, 0, values = self.GetSubentryInfosGetSubentryInfos(index, 0, False).copy())
    -00662                         self.CurrentNodeCurrentNode.AddMappingEntry(index, 1, values = self.GetSubentryInfosGetSubentryInfos(index, 1, False).copy())
    -00663                 self.CurrentNodeCurrentNode.SetMappingEntry(index, subIndex, values = {name : value})
    -00664             self.BufferCurrentNodeBufferCurrentNode()
    -00665 
    -00666     def SetCurrentEntryName(self, index, name):
    -00667         self.CurrentNodeCurrentNode.SetMappingEntry(index, name=name)
    -00668         self.BufferCurrentNodeBufferCurrentNode()
    -00669 
    -00670     def SetCurrentUserType(self, index, type, min, max, length):
    -00671         customisabletypes = self.GetCustomisableTypesGetCustomisableTypes()
    -00672         values, valuetype = self.GetCustomisedTypeValuesGetCustomisedTypeValues(index)
    -00673         name, new_valuetype = customisabletypes[type]
    -00674         size = self.GetEntryInfosGetEntryInfos(type)["size"]
    -00675         default = self.GetTypeDefaultValueGetTypeDefaultValue(type)
    -00676         if new_valuetype == 0:
    -00677             self.CurrentNodeCurrentNode.SetMappingEntry(index, name = "%s[%d-%d]"%(name, min, max), struct = 3, size = size, default = default) 
    -00678             if valuetype == 1:
    -00679                 self.CurrentNodeCurrentNode.SetMappingEntry(index, 2, values = {"name" : "Minimum Value", "type" : type, "access" : "ro", "pdo" : False})
    -00680                 self.CurrentNodeCurrentNode.AddMappingEntry(index, 3, values = {"name" : "Maximum Value", "type" : type, "access" : "ro", "pdo" : False})
    -00681             self.CurrentNodeCurrentNode.SetEntry(index, 1, type)
    -00682             self.CurrentNodeCurrentNode.SetEntry(index, 2, min)
    -00683             if valuetype == 1:
    -00684                 self.CurrentNodeCurrentNode.AddEntry(index, 3, max)
    -00685             else:
    -00686                 self.CurrentNodeCurrentNode.SetEntry(index, 3, max)
    -00687         elif new_valuetype == 1:
    -00688             self.CurrentNodeCurrentNode.SetMappingEntry(index, name = "%s%d"%(name, length), struct = 3, size = size, default = default)
    -00689             if valuetype == 0:
    -00690                 self.CurrentNodeCurrentNode.SetMappingEntry(index, 2, values = {"name" : "Length", "type" : 0x02, "access" : "ro", "pdo" : False})
    -00691                 self.CurrentNodeCurrentNode.RemoveMappingEntry(index, 3)
    -00692             self.CurrentNodeCurrentNode.SetEntry(index, 1, type)
    -00693             self.CurrentNodeCurrentNode.SetEntry(index, 2, length)
    -00694             if valuetype == 0:
    -00695                 self.CurrentNodeCurrentNode.RemoveEntry(index, 3)
    -00696         self.BufferCurrentNodeBufferCurrentNode()
    -00697 
    -00698 #-------------------------------------------------------------------------------
    -00699 #                      Current Buffering Management Functions
    -00700 #-------------------------------------------------------------------------------
    -00701 
    -00702     def BufferCurrentNode(self):
    -00703         self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].Buffering(self.CurrentNodeCurrentNode.Copy())
    -00704 
    -00705     def CurrentIsSaved(self):
    -00706         return self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].IsCurrentSaved()
    -00707 
    -00708     def OneFileHasChanged(self):
    -00709         result = False
    -00710         for buffer in self.UndoBuffersUndoBuffers.values():
    -00711             result |= not buffer.IsCurrentSaved()
    -00712         return result
    -00713 
    -00714     def GetBufferNumber(self):
    -00715         return len(self.UndoBuffersUndoBuffers)
    -00716 
    -00717     def LoadCurrentPrevious(self):
    -00718         self.CurrentNodeCurrentNode = self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].Previous().Copy()
    -00719     
    -00720     def LoadCurrentNext(self):
    -00721         self.CurrentNodeCurrentNode = self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].Next().Copy()
    -00722 
    -00723     def AddNodeBuffer(self, currentstate = None, issaved = False):
    -00724         self.NodeIndexNodeIndex = GetNewId()
    -00725         self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex] = UndoBuffer(currentstate, issaved)
    -00726         self.FilePathsFilePaths[self.NodeIndexNodeIndex] = ""
    -00727         self.FileNamesFileNames[self.NodeIndexNodeIndex] = ""
    -00728         return self.NodeIndexNodeIndex
    -00729 
    -00730     def ChangeCurrentNode(self, index):
    -00731         if index in self.UndoBuffersUndoBuffers.keys():
    -00732             self.NodeIndexNodeIndex = index
    -00733             self.CurrentNodeCurrentNode = self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].Current().Copy()
    -00734     
    -00735     def RemoveNodeBuffer(self, index):
    -00736         self.UndoBuffersUndoBuffers.pop(index)
    -00737         self.FilePathsFilePaths.pop(index)
    -00738         self.FileNamesFileNames.pop(index)
    -00739     
    -00740     def GetCurrentNodeIndex(self):
    -00741         return self.NodeIndexNodeIndex
    -00742     
    -00743     def GetCurrentFilename(self):
    -00744         return self.GetFilenameGetFilename(self.NodeIndexNodeIndex)
    -00745     
    -00746     def GetAllFilenames(self):
    -00747         indexes = self.UndoBuffersUndoBuffers.keys()
    -00748         indexes.sort()
    -00749         return [self.GetFilenameGetFilename(idx) for idx in indexes]
    -00750     
    -00751     def GetFilename(self, index):
    -00752         if self.UndoBuffersUndoBuffers[index].IsCurrentSaved():
    -00753             return self.FileNamesFileNames[index]
    -00754         else:
    -00755             return "~%s~"%self.FileNamesFileNames[index]
    -00756     
    -00757     def SetCurrentFilePath(self, filepath):
    -00758         self.FilePathsFilePaths[self.NodeIndexNodeIndex] = filepath
    -00759         if filepath == "":
    -00760             self.LastNewIndexLastNewIndex += 1
    -00761             self.FileNamesFileNames[self.NodeIndexNodeIndex] = "Unnamed%d"%self.LastNewIndexLastNewIndex
    -00762         else:
    -00763             self.FileNamesFileNames[self.NodeIndexNodeIndex] = os.path.splitext(os.path.basename(filepath))[0]
    -00764                 
    -00765     def GetCurrentFilePath(self):
    -00766         if len(self.FilePathsFilePaths) > 0:
    -00767             return self.FilePathsFilePaths[self.NodeIndexNodeIndex]
    -00768         else:
    -00769             return ""
    -00770     
    -00771     def GetCurrentBufferState(self):
    -00772         first = self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].IsFirst()
    -00773         last = self.UndoBuffersUndoBuffers[self.NodeIndexNodeIndex].IsLast()
    -00774         return not first, not last
    -00775 
    -00776 #-------------------------------------------------------------------------------
    -00777 #                         Profiles Management Functions
    -00778 #-------------------------------------------------------------------------------
    -00779 
    -00780     def GetCurrentCommunicationLists(self):
    -00781         list = []
    -00782         for index in MappingDictionary.iterkeys():
    -00783             if 0x1000 <= index < 0x1200:
    -00784                 list.append(index)
    -00785         return self.GetProfileListsGetProfileLists(MappingDictionary, list)
    -00786     
    -00787     def GetCurrentDS302Lists(self):
    -00788         return self.GetSpecificProfileListsGetSpecificProfileLists(self.CurrentNodeCurrentNode.GetDS302Profile())
    -00789     
    -00790     def GetCurrentProfileLists(self):
    -00791         return self.GetSpecificProfileListsGetSpecificProfileLists(self.CurrentNodeCurrentNode.GetProfile())
    -00792     
    -00793     def GetSpecificProfileLists(self, mappingdictionary):
    -00794         validlist = []
    -00795         exclusionlist = []
    -00796         for name, list in self.CurrentNodeCurrentNode.GetSpecificMenu():
    -00797             exclusionlist.extend(list)
    -00798         for index in mappingdictionary.iterkeys():
    -00799             if index not in exclusionlist:
    -00800                 validlist.append(index)
    -00801         return self.GetProfileListsGetProfileLists(mappingdictionary, validlist)
    -00802     
    -00803     def GetProfileLists(self, mappingdictionary, list):
    -00804         dictionary = {}
    -00805         current = []
    -00806         for index in list:
    -00807             dictionary[index] = (mappingdictionary[index]["name"], mappingdictionary[index]["need"])
    -00808             if self.CurrentNodeCurrentNode.IsEntry(index):
    -00809                 current.append(index)
    -00810         return dictionary, current
    -00811 
    -00812     def GetCurrentNextMapIndex(self):
    -00813         if self.CurrentNodeCurrentNode:
    -00814             index = 0x2000
    -00815             while self.CurrentNodeCurrentNode.IsEntry(index) and index < 0x5FFF:
    -00816                 index += 1
    -00817             if index < 0x6000:
    -00818                 return index
    -00819             else:
    -00820                 return None
    -00821 
    -00822     def CurrentDS302Defined(self):
    -00823         if self.CurrentNodeCurrentNode:
    -00824             return len(self.CurrentNodeCurrentNode.GetDS302Profile()) > 0
    -00825         return False
    -00826 
    -00827 #-------------------------------------------------------------------------------
    -00828 #                         Node State and Values Functions
    -00829 #-------------------------------------------------------------------------------
    -00830     
    -00831     def GetCurrentNodeName(self):
    -00832         if self.CurrentNodeCurrentNode:
    -00833             return self.CurrentNodeCurrentNode.GetNodeName()
    -00834         else:
    -00835             return ""
    -00836 
    -00837     def GetCurrentNodeID(self):
    -00838         if self.CurrentNodeCurrentNode:
    -00839             return self.CurrentNodeCurrentNode.GetNodeID()
    -00840         else:
    -00841             return None
    -00842 
    -00843     def GetCurrentNodeInfos(self):
    -00844         name = self.CurrentNodeCurrentNode.GetNodeName()
    -00845         id = self.CurrentNodeCurrentNode.GetNodeID()
    -00846         type = self.CurrentNodeCurrentNode.GetNodeType()
    -00847         description = self.CurrentNodeCurrentNode.GetNodeDescription()
    -00848         return name, id, type, description
    -00849         
    -00850     def SetCurrentNodeInfos(self, name, id, type, description):
    -00851         self.CurrentNodeCurrentNode.SetNodeName(name)
    -00852         self.CurrentNodeCurrentNode.SetNodeID(id)
    -00853         self.CurrentNodeCurrentNode.SetNodeType(type)
    -00854         self.CurrentNodeCurrentNode.SetNodeDescription(description)
    -00855         self.BufferCurrentNodeBufferCurrentNode()
    -00856 
    -00857     def GetCurrentProfileName(self):
    -00858         if self.CurrentNodeCurrentNode:
    -00859             return self.CurrentNodeCurrentNode.GetProfileName()
    -00860         return ""
    -00861 
    -00862     def IsCurrentEntry(self, index):
    -00863         if self.CurrentNodeCurrentNode:
    -00864             return self.CurrentNodeCurrentNode.IsEntry(index)
    -00865         return False
    -00866     
    -00867     def GetCurrentEntry(self, index, subIndex = None):
    -00868         if self.CurrentNodeCurrentNode:
    -00869             return self.CurrentNodeCurrentNode.GetEntry(index, subIndex)
    -00870         return None
    -00871     
    -00872     def GetCurrentParamsEntry(self, index, subIndex = None):
    -00873         if self.CurrentNodeCurrentNode:
    -00874             return self.CurrentNodeCurrentNode.GetParamsEntry(index, subIndex)
    -00875         return None
    -00876     
    -00877     def GetCurrentValidIndexes(self, min, max):
    -00878         validindexes = []
    -00879         for index in self.CurrentNodeCurrentNode.GetIndexes():
    -00880             if min <= index <= max:
    -00881                 validindexes.append((self.GetEntryNameGetEntryName(index), index))
    -00882         return validindexes
    -00883         
    -00884     def GetCurrentValidChoices(self, min, max):
    -00885         validchoices = []
    -00886         exclusionlist = []
    -00887         for menu, indexes in self.CurrentNodeCurrentNode.GetSpecificMenu():
    -00888             exclusionlist.extend(indexes)
    -00889             good = True
    -00890             for index in indexes:
    -00891                 good &= min <= index <= max
    -00892             if good:
    -00893                 validchoices.append((menu, None))
    -00894         list = [index for index in MappingDictionary.keys() if index >= 0x1000]
    -00895         profiles = self.CurrentNodeCurrentNode.GetMappings(False)
    -00896         for profile in profiles:
    -00897             list.extend(profile.keys())
    -00898         list.sort()
    -00899         for index in list:
    -00900             if min <= index <= max and not self.CurrentNodeCurrentNode.IsEntry(index) and index not in exclusionlist:
    -00901                 validchoices.append((self.GetEntryNameGetEntryName(index), index))
    -00902         return validchoices
    -00903     
    -00904     def HasCurrentEntryCallbacks(self, index):
    -00905         if self.CurrentNodeCurrentNode and self.CurrentNodeCurrentNode.IsEntry(index):
    -00906             entry_infos = self.GetEntryInfosGetEntryInfos(index)
    -00907             if "callback" in entry_infos:
    -00908                 return entry_infos["callback"]
    -00909             return self.CurrentNodeCurrentNode.HasEntryCallbacks(index)
    -00910         return False
    -00911     
    -00912     def GetCurrentEntryValues(self, index):
    -00913         if self.CurrentNodeCurrentNode:
    -00914             return self.GetNodeEntryValuesGetNodeEntryValues(self.CurrentNodeCurrentNode, index)
    -00915     
    -00916     def GetNodeEntryValues(self, node, index):
    -00917         if node and node.IsEntry(index):
    -00918             entry_infos = node.GetEntryInfos(index)
    -00919             data = []
    -00920             editors = []
    -00921             values = node.GetEntry(index)
    -00922             params = node.GetParamsEntry(index)
    -00923             if type(values) == ListType:
    -00924                 for i, value in enumerate(values):
    -00925                     data.append({"value" : value})
    -00926                     data[-1].update(params[i])      
    -00927             else:
    -00928                 data.append({"value" : values})
    -00929                 data[-1].update(params)
    -00930             for i, dic in enumerate(data):
    -00931                 infos = node.GetSubentryInfos(index, i)
    -00932                 dic["subindex"] = "0x%02X"%i
    -00933                 dic["name"] = infos["name"]
    -00934                 dic["type"] = node.GetTypeName(infos["type"])
    -00935                 dic["access"] = AccessType[infos["access"]]
    -00936                 dic["save"] = OptionType[dic["save"]]
    -00937                 editor = {"subindex" : None, "save" : "option", "callback" : "option", "comment" : "string"}
    -00938                 if type(values) == ListType and i == 0:
    -00939                     editor["name"] = None
    -00940                     editor["type"] = None
    -00941                     if 0x1600 <= index <= 0x17FF or 0x1A00 <= index <= 0x1C00:
    -00942                         editor["access"] = "raccess"
    -00943                     else:
    -00944                         editor["access"] = None
    -00945                     editor["value"] = None
    -00946                 else:
    -00947                     if infos["user_defined"]:
    -00948                         if entry_infos["struct"] & OD_IdenticalSubindexes:
    -00949                             editor["name"] = None
    -00950                             if i > 1:
    -00951                                 editor["type"] = None
    -00952                                 editor["access"] = None
    -00953                             else:
    -00954                                 editor["type"] = "type"
    -00955                                 editor["access"] = "access"
    -00956                         else:
    -00957                             if entry_infos["struct"] & OD_MultipleSubindexes:
    -00958                                 editor["name"] = "string"
    -00959                             else:
    -00960                                 editor["name"] = None
    -00961                             editor["type"] = "type"
    -00962                             editor["access"] = "access"
    -00963                     else:
    -00964                         editor["name"] = None
    -00965                         editor["type"] = None
    -00966                         editor["access"] = None
    -00967                     if index < 0x260:
    -00968                         editor["value"] = None
    -00969                         if i == 1:
    -00970                             dic["value"] = node.GetTypeName(dic["value"])
    -00971                     elif 0x1600 <= index <= 0x17FF or 0x1A00 <= index <= 0x1C00:
    -00972                         editor["value"] = "map"
    -00973                         dic["value"] = node.GetMapName(dic["value"])
    -00974                     else:
    -00975                         if dic["type"].startswith("VISIBLE_STRING"):
    -00976                             editor["value"] = "string"
    -00977                         elif dic["type"] in ["TIME_OF_DAY","TIME_DIFFERENCE"]:
    -00978                             editor["value"] = "time"
    -00979                         elif dic["type"] == "DOMAIN":
    -00980                             editor["value"] = "domain"
    -00981                             dic["value"] = dic["value"].encode('hex_codec')
    -00982                         elif dic["type"] == "BOOLEAN":
    -00983                             editor["value"] = "bool"
    -00984                             dic["value"] = BoolType[dic["value"]]
    -00985                         result = type_model.match(dic["type"])
    -00986                         if result:
    -00987                             values = result.groups()
    -00988                             if values[0] == "UNSIGNED":
    -00989                                 format = "0x%0" + str(int(values[1])/4) + "X"
    -00990                                 dic["value"] = format%dic["value"]
    -00991                                 editor["value"] = "string"
    -00992                             if values[0] == "INTEGER":
    -00993                                 editor["value"] = "number"
    -00994                             elif values[0] == "REAL":
    -00995                                 editor["value"] = "float"
    -00996                             elif values[0] == "VISIBLE_STRING":
    -00997                                 editor["length"] = values[0]
    -00998                         result = range_model.match(dic["type"])
    -00999                         if result:
    -01000                             values = result.groups()
    -01001                             if values[0] in ["UNSIGNED", "INTEGER", "REAL"]:
    -01002                                 editor["min"] = values[2]
    -01003                                 editor["max"] = values[3]
    -01004                 editors.append(editor)
    -01005             return data, editors
    -01006         else:
    -01007             return None
    -01008 
    -01009 #-------------------------------------------------------------------------------
    -01010 #                         Node Informations Functions
    -01011 #-------------------------------------------------------------------------------
    -01012 
    -01013     def GetCustomisedTypeValues(self, index):
    -01014         if self.CurrentNodeCurrentNode:
    -01015             values = self.CurrentNodeCurrentNode.GetEntry(index)
    -01016             customisabletypes = self.GetCustomisableTypesGetCustomisableTypes()
    -01017             return values, customisabletypes[values[1]][1]
    -01018         else:
    -01019             return None, None
    -01020 
    -01021     def GetEntryName(self, index):
    -01022         if self.CurrentNodeCurrentNode:
    -01023             return self.CurrentNodeCurrentNode.GetEntryName(index)
    -01024         else:
    -01025             return FindEntryName(index, MappingDictionary)
    -01026     
    -01027     def GetEntryInfos(self, index):
    -01028         if self.CurrentNodeCurrentNode:
    -01029             return self.CurrentNodeCurrentNode.GetEntryInfos(index)
    -01030         else:
    -01031             return FindEntryInfos(index, MappingDictionary)
    -01032     
    -01033     def GetSubentryInfos(self, index, subindex):
    -01034         if self.CurrentNodeCurrentNode:
    -01035             return self.CurrentNodeCurrentNode.GetSubentryInfos(index, subindex)
    -01036         else:
    -01037             result = FindSubentryInfos(index, subindex, MappingDictionary)
    -01038             if result:
    -01039                 result["user_defined"] = False
    -01040             return result
    -01041     
    -01042     def GetTypeIndex(self, typename):
    -01043         if self.CurrentNodeCurrentNode:
    -01044             return self.CurrentNodeCurrentNode.GetTypeIndex(typename)
    -01045         else:
    -01046             return FindTypeIndex(typename, MappingDictionary)
    -01047     
    -01048     def GetTypeName(self, typeindex):
    -01049         if self.CurrentNodeCurrentNode:
    -01050             return self.CurrentNodeCurrentNode.GetTypeName(typeindex)
    -01051         else:
    -01052             return FindTypeName(typeindex, MappingDictionary)
    -01053     
    -01054     def GetTypeDefaultValue(self, typeindex):
    -01055         if self.CurrentNodeCurrentNode:
    -01056             return self.CurrentNodeCurrentNode.GetTypeDefaultValue(typeindex)
    -01057         else:
    -01058             return FindTypeDefaultValue(typeindex, MappingDictionary)
    -01059     
    -01060     def GetMapVariableList(self):
    -01061         if self.CurrentNodeCurrentNode:
    -01062             return self.CurrentNodeCurrentNode.GetMapVariableList()
    -01063         else:
    -01064             return []
    -01065 
    -01066     def GetMandatoryIndexes(self, node = None):
    -01067         if self.CurrentNodeCurrentNode:
    -01068             return self.CurrentNodeCurrentNode.GetMapVariableList()
    -01069         else:
    -01070             return FindMandatoryIndexes(MappingDictionary)
    -01071     
    -01072     def GetCustomisableTypes(self):
    -01073         dic = {}
    -01074         for index, valuetype in CustomisableTypes:
    -01075             name = self.GetTypeNameGetTypeName(index)
    -01076             dic[index] = [name, valuetype]
    -01077         return dic
    -01078     
    -01079     def GetCurrentSpecificMenu(self):
    -01080         if self.CurrentNodeCurrentNode:
    -01081             return self.CurrentNodeCurrentNode.GetSpecificMenu()
    -01082         return []
    -01083 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/nodemanager_8py.html --- a/doc/doxygen/html/nodemanager_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodemanager.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodemanager.py File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - -

    Namespaces

    namespace  nodemanager

    Data Structures

    class  nodemanager::UndoBuffer
    class  nodemanager::NodeManager

    Functions

    def nodemanager::GetNewId
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c-source.html --- a/doc/doxygen/html/objacces_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -16,314 +16,304 @@
  • Globals
  • /home/epimerde/documents/tc11/CanFestival-3/src/objacces.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 /* #define DEBUG_WAR_CONSOLE_ON */
    -00024 /* #define DEBUG_ERR_CONSOLE_ON */
    -00025 
    -00026 
    -00027 #include "objacces.h"
    -00028 
    -00029 
    -00030 
    -00031 UNS8 accessDictionaryError(UNS16 index, UNS8 subIndex, 
    -00032                              UNS8 sizeDataDict, UNS8 sizeDataGiven, UNS32 code)
    -00033 {
    -00034 #ifdef DEBUG_WAR_CONSOLE_ON
    -00035   MSG_WAR(0x2B09,"Dictionary index : ", index);
    -00036   MSG_WAR(0X2B10,"           subindex : ", subIndex);
    -00037   switch (code) {
    -00038     case  OD_NO_SUCH_OBJECT: 
    -00039       MSG_WAR(0x2B11,"Index not found ", index);
    -00040       break;
    -00041     case OD_NO_SUCH_SUBINDEX :
    -00042       MSG_WAR(0x2B12,"SubIndex not found ", subIndex);
    -00043       break;   
    -00044     case OD_WRITE_NOT_ALLOWED :
    -00045       MSG_WAR(0x2B13,"Write not allowed, data is read only ", index);
    -00046       break;         
    -00047     case OD_LENGTH_DATA_INVALID :    
    -00048       MSG_WAR(0x2B14,"Conflict size data. Should be (bytes)  : ", sizeDataDict);
    -00049       MSG_WAR(0x2B15,"But you have given the size  : ", sizeDataGiven);
    -00050       break;
    -00051     case OD_NOT_MAPPABLE :
    -00052       MSG_WAR(0x2B16,"Not mappable data in a PDO at index    : ", index);
    -00053       break;
    -00054     case OD_VALUE_TOO_LOW :
    -00055       MSG_WAR(0x2B17,"Value range error : value too low. SDOabort : ", code);
    -00056       break;
    -00057     case OD_VALUE_TOO_HIGH :
    -00058       MSG_WAR(0x2B18,"Value range error : value too high. SDOabort : ", code);
    -00059       break;
    -00060   default :
    -00061     MSG_WAR(0x2B20, "Unknown error code : ", code);
    -00062   }
    -00063 #endif
    -00064   return 0; 
    -00065 }       
    -00066 
    -00067 
    -00068 UNS32 _getODentry( CO_Data* d, 
    -00069                   UNS16 wIndex,
    -00070                   UNS8 bSubindex,
    -00071                   void * pDestData,
    -00072                   UNS8 * pExpectedSize,
    -00073                   UNS8 * pDataType,
    -00074                   UNS8 checkAccess,
    -00075                   UNS8 endianize)
    -00076 { /* DO NOT USE MSG_ERR because the macro may send a PDO -> infinite loop if it fails. */
    -00077   UNS32 errorCode;
    -00078   UNS8 szData;
    -00079   const indextable *ptrTable;
    -00080   ODCallback_t *Callback;
    -00081 
    -00082   ptrTable = (*d->scanIndexOD)(wIndex, &errorCode, &Callback);
    -00083 
    -00084   if (errorCode != OD_SUCCESSFUL)
    -00085     return errorCode;
    -00086   if( ptrTable->bSubCount <= bSubindex ) {
    -00087     /* Subindex not found */
    -00088     accessDictionaryError(wIndex, bSubindex, 0, 0, OD_NO_SUCH_SUBINDEX);
    -00089     return OD_NO_SUCH_SUBINDEX;
    -00090   }
    -00091   
    -00092   if (checkAccess && !(ptrTable->pSubindex[bSubindex].bAccessType & WO)) {
    -00093         MSG_WAR(0x2B30, "Access Type : ", ptrTable->pSubindex[bSubindex].bAccessType);
    -00094     accessDictionaryError(wIndex, bSubindex, 0, 0, OD_WRITE_NOT_ALLOWED);
    -00095     return OD_READ_NOT_ALLOWED;
    -00096   }
    -00097 
    -00098   *pDataType = ptrTable->pSubindex[bSubindex].bDataType;
    -00099    szData = ptrTable->pSubindex[bSubindex].size;
    -00100 
    -00101    if(  *pExpectedSize == 0 ||
    -00102         *pExpectedSize == szData ||
    -00103         (*pDataType == visible_string && *pExpectedSize < szData)) {/* We allow to fetch a shorter string than expected */
    -00104      
    -00105 #  ifdef CANOPEN_BIG_ENDIAN
    -00106      if(endianize && *pDataType > boolean && *pDataType < visible_string) {
    -00107        /* data must be transmited with low byte first */
    -00108        UNS8 i, j = 0;
    -00109        MSG_WAR(boolean, "data type ", *pDataType);
    -00110        MSG_WAR(visible_string, "data type ", *pDataType);
    -00111        for ( i = szData ; i > 0 ; i--) {
    -00112          MSG_WAR(i," ", j);
    -00113          ((UNS8*)pDestData)[j++] = 
    -00114            ((UNS8*)ptrTable->pSubindex[bSubindex].pObject)[i-1];
    -00115        }
    -00116      }
    -00117      else /* It it is a visible string no endianisation to perform */
    -00118        memcpy(pDestData, ptrTable->pSubindex[bSubindex].pObject,szData);
    -00119 #  else
    -00120      memcpy(pDestData, ptrTable->pSubindex[bSubindex].pObject,szData);
    -00121 #  endif
    -00122      
    -00123      *pExpectedSize = szData;
    -00124 #if 0
    -00125      /* Me laisser ça, please ! (FD) */
    -00126      {
    -00127        UNS8 i;
    -00128        for (i = 0 ; i < 10 ; i++) {
    -00129          MSG_WAR(*pExpectedSize, "dic data= ",
    -00130                  *(UNS8 *)(ptrTable->pSubindex[bSubindex].pObject + i));
    -00131        }
    -00132       
    -00133      }
    -00134 #endif
    -00135      return OD_SUCCESSFUL;
    -00136    }
    -00137    else { /* Error ! */
    -00138      *pExpectedSize = szData;
    -00139      accessDictionaryError(wIndex, bSubindex, szData, 
    -00140                            *pExpectedSize, OD_LENGTH_DATA_INVALID);
    -00141      return OD_LENGTH_DATA_INVALID;
    -00142    }
    -00143 }
    -00144 
    -00145 UNS32 getODentry( CO_Data* d, 
    -00146                   UNS16 wIndex,
    -00147                   UNS8 bSubindex,
    -00148                   void * pDestData,
    -00149                   UNS8 * pExpectedSize,
    -00150                   UNS8 * pDataType,
    -00151                   UNS8 checkAccess)
    -00152 {
    -00153         return _getODentry( d, 
    -00154                   wIndex,
    -00155                   bSubindex,
    -00156                   pDestData,
    -00157                   pExpectedSize,
    -00158                   pDataType,
    -00159                   checkAccess,
    -00160                   1);//endianize
    -00161 }
    -00162 
    -00163 UNS32 readLocalDict( CO_Data* d, 
    -00164                   UNS16 wIndex,
    -00165                   UNS8 bSubindex,
    -00166                   void * pDestData,
    -00167                   UNS8 * pExpectedSize,
    -00168                   UNS8 * pDataType,
    -00169                   UNS8 checkAccess)
    -00170 {
    -00171                 return _getODentry( d, 
    -00172                   wIndex,
    -00173                   bSubindex,
    -00174                   pDestData,
    -00175                   pExpectedSize,
    -00176                   pDataType,
    -00177                   checkAccess,
    -00178                   0);//do not endianize
    -00179 }
    -00180 
    -00181 UNS32 _setODentry( CO_Data* d, 
    -00182                   UNS16 wIndex,
    -00183                   UNS8 bSubindex, 
    -00184                   void * pSourceData, 
    -00185                   UNS8 * pExpectedSize, 
    -00186                   UNS8 checkAccess,
    -00187                   UNS8 endianize)
    -00188 {
    -00189   UNS8 szData;
    -00190   UNS8 dataType;
    -00191   UNS32 errorCode;
    -00192   const indextable *ptrTable;
    -00193   ODCallback_t *Callback;
    -00194 
    -00195   ptrTable =(*d->scanIndexOD)(wIndex, &errorCode, &Callback);
    -00196   if (errorCode != OD_SUCCESSFUL)
    -00197     return errorCode;
    -00198 
    -00199   if( ptrTable->bSubCount <= bSubindex ) {
    -00200     /* Subindex not found */
    -00201     accessDictionaryError(wIndex, bSubindex, 0, *pExpectedSize, OD_NO_SUCH_SUBINDEX);
    -00202     return OD_NO_SUCH_SUBINDEX;
    -00203   }
    -00204   if (checkAccess && (ptrTable->pSubindex[bSubindex].bAccessType == RO)) {
    -00205         MSG_WAR(0x2B25, "Access Type : ", ptrTable->pSubindex[bSubindex].bAccessType);
    -00206     accessDictionaryError(wIndex, bSubindex, 0, *pExpectedSize, OD_WRITE_NOT_ALLOWED);
    -00207     return OD_WRITE_NOT_ALLOWED;
    -00208   }
    -00209 
    -00210 
    -00211    dataType = ptrTable->pSubindex[bSubindex].bDataType;
    -00212    szData = ptrTable->pSubindex[bSubindex].size;
    -00213 
    -00214   if( *pExpectedSize == 0 ||
    -00215         *pExpectedSize == szData ||
    -00216         (dataType == visible_string && *pExpectedSize < szData)) /* We allow to store a shorter string than entry size */
    -00217   {
    -00218       #ifdef CANOPEN_BIG_ENDIAN
    -00219               if(endianize && dataType > boolean && dataType < visible_string)
    -00220               {
    -00221                         /* we invert the data source directly. This let us do range testing without */
    -00222                         /* additional temp variable */
    -00223                         UNS8 i;
    -00224                         for ( i = 0 ; i < ( ptrTable->pSubindex[bSubindex].size >> 1)  ; i++) 
    -00225                         {
    -00226                         UNS8 tmp =((UNS8 *)pSourceData) [(ptrTable->pSubindex[bSubindex].size - 1) - i];
    -00227                         ((UNS8 *)pSourceData) [(ptrTable->pSubindex[bSubindex].size - 1) - i] = ((UNS8 *)pSourceData)[i];
    -00228                         ((UNS8 *)pSourceData)[i] = tmp;
    -00229                 }
    -00230                 }  
    -00231       #endif
    -00232       errorCode = (*d->valueRangeTest)(dataType, pSourceData);
    -00233       if (errorCode) {
    -00234         accessDictionaryError(wIndex, bSubindex, szData, *pExpectedSize, errorCode);
    -00235         return errorCode;
    -00236       }
    -00237       memcpy(ptrTable->pSubindex[bSubindex].pObject,pSourceData, *pExpectedSize);
    -00238       *pExpectedSize = szData;
    -00239       
    -00240       /* Callbacks */
    -00241       if(Callback && Callback[bSubindex]){
    -00242          (*Callback[bSubindex])(d, ptrTable, bSubindex);
    -00243       }
    -00244       
    -00245       /* TODO : Store dans NVRAM */     
    -00246       if (ptrTable->pSubindex[bSubindex].bAccessType & TO_BE_SAVE){
    -00247         (*d->storeODSubIndex)(wIndex, bSubindex);
    -00248       }
    -00249       return OD_SUCCESSFUL;
    -00250   }else{
    -00251       *pExpectedSize = szData;
    -00252       accessDictionaryError(wIndex, bSubindex, szData, *pExpectedSize, OD_LENGTH_DATA_INVALID);
    -00253       return OD_LENGTH_DATA_INVALID;
    -00254   }
    -00255 }
    -00256 
    -00257 UNS32 setODentry( CO_Data* d, 
    -00258                   UNS16 wIndex,
    -00259                   UNS8 bSubindex, 
    -00260                   void * pSourceData, 
    -00261                   UNS8 * pExpectedSize, 
    -00262                   UNS8 checkAccess)
    -00263 {
    -00264         return _setODentry( d, 
    -00265                   wIndex,
    -00266                   bSubindex, 
    -00267                   pSourceData, 
    -00268                   pExpectedSize, 
    -00269                   checkAccess,
    -00270                   1);//endianize
    -00271 }
    -00272 
    -00273 UNS32 writeLocalDict( CO_Data* d, 
    -00274                   UNS16 wIndex,
    -00275                   UNS8 bSubindex, 
    -00276                   void * pSourceData, 
    -00277                   UNS8 * pExpectedSize, 
    -00278                   UNS8 checkAccess)
    -00279 {
    -00280         return _setODentry( d, 
    -00281                   wIndex,
    -00282                   bSubindex, 
    -00283                   pSourceData, 
    -00284                   pExpectedSize, 
    -00285                   checkAccess,
    -00286                   0);//do not endianize
    -00287 }
    +00002   This file is part of CanFestival, a library implementing CanOpen
    +00003   Stack.
    +00004 
    +00005   Copyright (C): Edouard TISSERANT and Francis DUPIN
    +00006 
    +00007   See COPYING file for copyrights details.
    +00008 
    +00009   This library is free software; you can redistribute it and/or
    +00010   modify it under the terms of the GNU Lesser General Public
    +00011   License as published by the Free Software Foundation; either
    +00012   version 2.1 of the License, or (at your option) any later version.
    +00013 
    +00014   This library is distributed in the hope that it will be useful,
    +00015   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +00016   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +00017   Lesser General Public License for more details.
    +00018 
    +00019   You should have received a copy of the GNU Lesser General Public
    +00020   License along with this library; if not, write to the Free Software
    +00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
    +00022   USA
    +00023 */
    +00037 /* #define DEBUG_WAR_CONSOLE_ON */
    +00038 /* #define DEBUG_ERR_CONSOLE_ON */
    +00039 
    +00040 
    +00041 #include "objacces.h"
    +00042 
    +00043 
    +00055 UNS8 accessDictionaryError(UNS16 index, UNS8 subIndex,
    +00056                            UNS8 sizeDataDict, UNS8 sizeDataGiven, UNS32 code)
    +00057 {
    +00058 #ifdef DEBUG_WAR_CONSOLE_ON
    +00059   MSG_WAR(0x2B09,"Dictionary index : ", index);
    +00060   MSG_WAR(0X2B10,"           subindex : ", subIndex);
    +00061   switch (code) {
    +00062   case  OD_NO_SUCH_OBJECT:
    +00063     MSG_WAR(0x2B11,"Index not found ", index);
    +00064     break;
    +00065   case OD_NO_SUCH_SUBINDEX :
    +00066     MSG_WAR(0x2B12,"SubIndex not found ", subIndex);
    +00067     break;
    +00068   case OD_WRITE_NOT_ALLOWED :
    +00069     MSG_WAR(0x2B13,"Write not allowed, data is read only ", index);
    +00070     break;
    +00071   case OD_LENGTH_DATA_INVALID :
    +00072     MSG_WAR(0x2B14,"Conflict size data. Should be (bytes)  : ", sizeDataDict);
    +00073     MSG_WAR(0x2B15,"But you have given the size  : ", sizeDataGiven);
    +00074     break;
    +00075   case OD_NOT_MAPPABLE :
    +00076     MSG_WAR(0x2B16,"Not mappable data in a PDO at index    : ", index);
    +00077     break;
    +00078   case OD_VALUE_TOO_LOW :
    +00079     MSG_WAR(0x2B17,"Value range error : value too low. SDOabort : ", code);
    +00080     break;
    +00081   case OD_VALUE_TOO_HIGH :
    +00082     MSG_WAR(0x2B18,"Value range error : value too high. SDOabort : ", code);
    +00083     break;
    +00084   default :
    +00085     MSG_WAR(0x2B20, "Unknown error code : ", code);
    +00086   }
    +00087 #endif
    +00088   return 0;
    +00089 }
    +00090 
    +00105 UNS32 _getODentry( CO_Data* d,
    +00106                    UNS16 wIndex,
    +00107                    UNS8 bSubindex,
    +00108                    void * pDestData,
    +00109                    UNS8 * pExpectedSize,
    +00110                    UNS8 * pDataType,
    +00111                    UNS8 checkAccess,
    +00112                    UNS8 endianize)
    +00113 { 
    +00115   UNS32 errorCode;
    +00116   UNS8 szData;
    +00117   const indextable *ptrTable;
    +00118   ODCallback_t *Callback;
    +00119 
    +00120   ptrTable = (*d->scanIndexOD)(wIndex, &errorCode, &Callback);
    +00121 
    +00122   if (errorCode != OD_SUCCESSFUL)
    +00123     return errorCode;
    +00124   if( ptrTable->bSubCount <= bSubindex ) {
    +00125     /* Subindex not found */
    +00126     accessDictionaryError(wIndex, bSubindex, 0, 0, OD_NO_SUCH_SUBINDEX);
    +00127     return OD_NO_SUCH_SUBINDEX;
    +00128   }
    +00129 
    +00130   if (checkAccess && !(ptrTable->pSubindex[bSubindex].bAccessType & WO)) {
    +00131     MSG_WAR(0x2B30, "Access Type : ", ptrTable->pSubindex[bSubindex].bAccessType);
    +00132     accessDictionaryError(wIndex, bSubindex, 0, 0, OD_WRITE_NOT_ALLOWED);
    +00133     return OD_READ_NOT_ALLOWED;
    +00134   }
    +00135 
    +00136   *pDataType = ptrTable->pSubindex[bSubindex].bDataType;
    +00137   szData = ptrTable->pSubindex[bSubindex].size;
    +00138 
    +00139   if(*pExpectedSize == 0 ||
    +00140      *pExpectedSize == szData ||
    +00141      (*pDataType == visible_string && *pExpectedSize < szData)) {
    +00145 #  ifdef CANOPEN_BIG_ENDIAN
    +00146     if(endianize && *pDataType > boolean && *pDataType < visible_string) {
    +00148       UNS8 i, j = 0;
    +00149       MSG_WAR(boolean, "data type ", *pDataType);
    +00150       MSG_WAR(visible_string, "data type ", *pDataType);
    +00151       for ( i = szData ; i > 0 ; i--) {
    +00152         MSG_WAR(i," ", j);
    +00153         ((UNS8*)pDestData)[j++] =
    +00154           ((UNS8*)ptrTable->pSubindex[bSubindex].pObject)[i-1];
    +00155       }
    +00156     }
    +00157     else 
    +00158       memcpy(pDestData, ptrTable->pSubindex[bSubindex].pObject,szData);
    +00159 #  else
    +00160     memcpy(pDestData, ptrTable->pSubindex[bSubindex].pObject,szData);
    +00161 #  endif
    +00162 
    +00163     *pExpectedSize = szData;
    +00164 #if 0
    +00165 
    +00166     {
    +00167       UNS8 i;
    +00168       for (i = 0 ; i < 10 ; i++) {
    +00169         MSG_WAR(*pExpectedSize, "dic data= ",
    +00170                 *(UNS8 *)(ptrTable->pSubindex[bSubindex].pObject + i));
    +00171       }
    +00172 
    +00173     }
    +00174 #endif
    +00175     return OD_SUCCESSFUL;
    +00176   }
    +00177   else { 
    +00178     *pExpectedSize = szData;
    +00179     accessDictionaryError(wIndex, bSubindex, szData,
    +00180                           *pExpectedSize, OD_LENGTH_DATA_INVALID);
    +00181     return OD_LENGTH_DATA_INVALID;
    +00182   }
    +00183 }
    +00184 
    +00198 UNS32 getODentry( CO_Data* d,
    +00199                   UNS16 wIndex,
    +00200                   UNS8 bSubindex,
    +00201                   void * pDestData,
    +00202                   UNS8 * pExpectedSize,
    +00203                   UNS8 * pDataType,
    +00204                   UNS8 checkAccess)
    +00205 {
    +00206   return _getODentry( d,
    +00207                       wIndex,
    +00208                       bSubindex,
    +00209                       pDestData,
    +00210                       pExpectedSize,
    +00211                       pDataType,
    +00212                       checkAccess,
    +00213                       1);//endianize
    +00214 }
    +00215 
    +00229 UNS32 readLocalDict( CO_Data* d,
    +00230                      UNS16 wIndex,
    +00231                      UNS8 bSubindex,
    +00232                      void * pDestData,
    +00233                      UNS8 * pExpectedSize,
    +00234                      UNS8 * pDataType,
    +00235                      UNS8 checkAccess)
    +00236 {
    +00237   return _getODentry( d,
    +00238                       wIndex,
    +00239                       bSubindex,
    +00240                       pDestData,
    +00241                       pExpectedSize,
    +00242                       pDataType,
    +00243                       checkAccess,
    +00244                       0);//do not endianize
    +00245 }
    +00246 
    +00260 UNS32 _setODentry( CO_Data* d,
    +00261                    UNS16 wIndex,
    +00262                    UNS8 bSubindex,
    +00263                    void * pSourceData,
    +00264                    UNS8 * pExpectedSize,
    +00265                    UNS8 checkAccess,
    +00266                    UNS8 endianize)
    +00267 {
    +00268   UNS8 szData;
    +00269   UNS8 dataType;
    +00270   UNS32 errorCode;
    +00271   const indextable *ptrTable;
    +00272   ODCallback_t *Callback;
    +00273 
    +00274   ptrTable =(*d->scanIndexOD)(wIndex, &errorCode, &Callback);
    +00275   if (errorCode != OD_SUCCESSFUL)
    +00276     return errorCode;
    +00277 
    +00278   if( ptrTable->bSubCount <= bSubindex ) {
    +00280     accessDictionaryError(wIndex, bSubindex, 0, *pExpectedSize, OD_NO_SUCH_SUBINDEX);
    +00281     return OD_NO_SUCH_SUBINDEX;
    +00282   }
    +00283   if (checkAccess && (ptrTable->pSubindex[bSubindex].bAccessType == RO)) {
    +00284     MSG_WAR(0x2B25, "Access Type : ", ptrTable->pSubindex[bSubindex].bAccessType);
    +00285     accessDictionaryError(wIndex, bSubindex, 0, *pExpectedSize, OD_WRITE_NOT_ALLOWED);
    +00286     return OD_WRITE_NOT_ALLOWED;
    +00287   }
     00288 
     00289 
    -00290 
    -00291 
    -00292 const indextable * scanIndexOD (CO_Data* d, UNS16 wIndex, UNS32 *errorCode, ODCallback_t **Callback)
    -00293 {
    -00294   return (*d->scanIndexOD)(wIndex, errorCode, Callback);
    -00295 }
    -00296 
    -00297 UNS32 RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback)
    -00298 {
    -00299         UNS32 errorCode;
    -00300         ODCallback_t *CallbackList;
    -00301 
    -00302         scanIndexOD (d, wIndex, &errorCode, &CallbackList);
    -00303         if(errorCode == OD_SUCCESSFUL && CallbackList) 
    -00304                 CallbackList[bSubindex] = Callback;
    -00305         return errorCode;
    -00306 }
    -00307 
    -00308 void _storeODSubIndex (UNS16 wIndex, UNS8 bSubindex){}
    -

    Generated on Mon Jun 4 17:09:26 2007 for CanFestival by  +00290 dataType = ptrTable->pSubindex[bSubindex].bDataType; +00291 szData = ptrTable->pSubindex[bSubindex].size; +00292 +00293 if( *pExpectedSize == 0 || +00294 *pExpectedSize == szData || +00295 (dataType == visible_string && *pExpectedSize < szData)) /* We +00296 allow to store a shorter string than entry size */ +00297 { +00298 #ifdef CANOPEN_BIG_ENDIAN +00299 if(endianize && dataType > boolean && dataType < visible_string) +00300 { +00304 UNS8 i; +00305 for ( i = 0 ; i < ( ptrTable->pSubindex[bSubindex].size >> 1) ; i++) +00306 { +00307 UNS8 tmp =((UNS8 *)pSourceData) [(ptrTable->pSubindex[bSubindex].size - 1) - i]; +00308 ((UNS8 *)pSourceData) [(ptrTable->pSubindex[bSubindex].size - 1) - i] = ((UNS8 *)pSourceData)[i]; +00309 ((UNS8 *)pSourceData)[i] = tmp; +00310 } +00311 } +00312 #endif +00313 errorCode = (*d->valueRangeTest)(dataType, pSourceData); +00314 if (errorCode) { +00315 accessDictionaryError(wIndex, bSubindex, szData, *pExpectedSize, errorCode); +00316 return errorCode; +00317 } +00318 memcpy(ptrTable->pSubindex[bSubindex].pObject,pSourceData, *pExpectedSize); +00319 *pExpectedSize = szData; +00320 +00322 if(Callback && Callback[bSubindex]){ +00323 (*Callback[bSubindex])(d, ptrTable, bSubindex); +00324 } +00325 +00327 if (ptrTable->pSubindex[bSubindex].bAccessType & TO_BE_SAVE){ +00328 (*d->storeODSubIndex)(wIndex, bSubindex); +00329 } +00330 return OD_SUCCESSFUL; +00331 }else{ +00332 *pExpectedSize = szData; +00333 accessDictionaryError(wIndex, bSubindex, szData, *pExpectedSize, OD_LENGTH_DATA_INVALID); +00334 return OD_LENGTH_DATA_INVALID; +00335 } +00336 } +00337 +00350 UNS32 setODentry( CO_Data* d, +00351 UNS16 wIndex, +00352 UNS8 bSubindex, +00353 void * pSourceData, +00354 UNS8 * pExpectedSize, +00355 UNS8 checkAccess) +00356 { +00357 return _setODentry( d, +00358 wIndex, +00359 bSubindex, +00360 pSourceData, +00361 pExpectedSize, +00362 checkAccess, +00363 1);//endianize +00364 } +00365 +00378 UNS32 writeLocalDict( CO_Data* d, +00379 UNS16 wIndex, +00380 UNS8 bSubindex, +00381 void * pSourceData, +00382 UNS8 * pExpectedSize, +00383 UNS8 checkAccess) +00384 { +00385 return _setODentry( d, +00386 wIndex, +00387 bSubindex, +00388 pSourceData, +00389 pExpectedSize, +00390 checkAccess, +00391 0);//do not endianize +00392 } +00393 +00404 const indextable * scanIndexOD (CO_Data* d, UNS16 wIndex, UNS32 *errorCode, ODCallback_t **Callback) +00405 { +00406 return (*d->scanIndexOD)(wIndex, errorCode, Callback); +00407 } +00408 +00419 UNS32 RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback) +00420 { +00421 UNS32 errorCode; +00422 ODCallback_t *CallbackList; +00423 +00424 scanIndexOD (d, wIndex, &errorCode, &CallbackList); +00425 if(errorCode == OD_SUCCESSFUL && CallbackList) +00426 CallbackList[bSubindex] = Callback; +00427 return errorCode; +00428 } +00429 +00436 void _storeODSubIndex (UNS16 wIndex, UNS8 bSubindex){} +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c.html --- a/doc/doxygen/html/objacces_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -18,6 +18,9 @@

    /home/epimerde/documents/tc11/CanFestival-3/src/objacces.c File Reference

    #include "objacces.h"

    +Include dependency graph for objacces.c:

    + +

    Go to the source code of this file. @@ -42,7 +45,12 @@

    Functions

    void _storeODSubIndex (UNS16 wIndex, UNS8 bSubindex)
    -


    Function Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Tue Jun 5 08:55:23 2007
    + +

    +Definition in file objacces.c.


    Function Documentation

    @@ -105,11 +113,36 @@

    - -

    -Definition at line 68 of file objacces.c. -

    -References accessDictionaryError(), and ptrTable. +

    Parameters:
    + + + + + + + + + +
    d 
    wIndex 
    bSubindex 
    pDestData 
    pExpectedSize 
    pDataType 
    checkAccess 
    endianize 
    +
    +
    Returns:
    + +

    +DO NOT USE MSG_ERR because the macro may send a PDO -> infinite loop if it fails.

    +We allow to fetch a shorter string than expected

    +Error ! +

    +Definition at line 105 of file objacces.c. +

    +References accessDictionaryError(), and ptrTable. +

    +Referenced by getODentry(), and readLocalDict(). +

    +Here is the call graph for this function:

    + + + +

    @@ -168,11 +201,35 @@

    - -

    -Definition at line 181 of file objacces.c. -

    -References accessDictionaryError(), and ptrTable. +

    Parameters:
    + + + + + + + + +
    d 
    wIndex 
    bSubindex 
    pSourceData 
    pExpectedSize 
    checkAccess 
    endianize 
    +
    +
    Returns:
    + +

    +Subindex not found

    +Callbacks

    +TODO : Store dans NVRAM +

    +Definition at line 260 of file objacces.c. +

    +References accessDictionaryError(), and ptrTable. +

    +Referenced by setODentry(), and writeLocalDict(). +

    +Here is the call graph for this function:

    + + + +

    @@ -201,9 +258,15 @@

    - -

    -Definition at line 308 of file objacces.c. +

    Parameters:
    + + + +
    wIndex 
    bSubindex 
    +
    + +

    +Definition at line 436 of file objacces.c.

    @@ -250,9 +313,21 @@

    - -

    -Definition at line 31 of file objacces.c. +

    Parameters:
    + + + + + + +
    index 
    subIndex 
    sizeDataDict 
    sizeDataGiven 
    code 
    +
    +
    Returns:
    + +

    +Definition at line 55 of file objacces.c. +

    +Referenced by _getODentry(), and _setODentry().

    @@ -311,11 +386,32 @@

    - -

    -Definition at line 145 of file objacces.c. -

    -References _getODentry(). +

    Parameters:
    + + + + + + + + +
    d 
    wIndex 
    bSubindex 
    pDestData 
    pExpectedSize 
    pDataType 
    checkAccess 
    +
    +
    Returns:
    + +

    +Definition at line 198 of file objacces.c. +

    +References _getODentry(). +

    +Referenced by objdictToSDOline(), proceedPDO(), and proceedSYNC(). +

    +Here is the call graph for this function:

    + + + + +

    @@ -374,11 +470,30 @@

    - -

    -Definition at line 163 of file objacces.c. -

    -References _getODentry(). +

    Parameters:
    + + + + + + + + +
    d 
    wIndex 
    bSubindex 
    pDestData 
    pExpectedSize 
    pDataType 
    checkAccess 
    +
    +
    Returns:
    + +

    +Definition at line 229 of file objacces.c. +

    +References _getODentry(). +

    +Here is the call graph for this function:

    + + + + +

    @@ -419,11 +534,28 @@

    - -

    -Definition at line 297 of file objacces.c. -

    -References scanIndexOD(). +

    Parameters:
    + + + + + +
    d 
    wIndex 
    bSubindex 
    Callback 
    +
    +
    Returns:
    + +

    +Definition at line 419 of file objacces.c. +

    +References scanIndexOD(). +

    +Referenced by heartbeatInit(), and startSYNC(). +

    +Here is the call graph for this function:

    + + + +

    @@ -464,9 +596,20 @@

    - -

    -Definition at line 292 of file objacces.c. +

    Parameters:
    + + + + + +
    d 
    wIndex 
    errorCode 
    Callback 
    +
    +
    Returns:
    + +

    +Definition at line 404 of file objacces.c. +

    +Referenced by RegisterSetODentryCallBack().

    @@ -519,11 +662,31 @@

    - -

    -Definition at line 257 of file objacces.c. -

    -References _setODentry(). +

    Parameters:
    + + + + + + + +
    d 
    wIndex 
    bSubindex 
    pSourceData 
    pExpectedSize 
    checkAccess 
    +
    +
    Returns:
    + +

    +Definition at line 350 of file objacces.c. +

    +References _setODentry(). +

    +Referenced by proceedPDO(), and SDOlineToObjdict(). +

    +Here is the call graph for this function:

    + + + + +

    @@ -576,14 +739,32 @@

    - -

    -Definition at line 273 of file objacces.c. -

    -References _setODentry(). -

    -

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Parameters:
    + + + + + + + +
    d 
    wIndex 
    bSubindex 
    pSourceData 
    pExpectedSize 
    checkAccess 
    +
    +
    Returns:
    + +

    +Definition at line 378 of file objacces.c. +

    +References _setODentry(). +

    +Here is the call graph for this function:

    + + + + + + +

    +


    Generated on Tue Jun 5 18:32:07 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.dot --- a/doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,3 @@ +base referer +rect $objacces_8c.html#72f69950be4a1352fc78648c71454820 152,6 259,30 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 308,6 476,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.md5 --- a/doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -baacfdcb619065ac5d7c77e2680340e5 \ No newline at end of file +93eda75497c77efb2be77afdc40b379b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.png Binary file doc/doxygen/html/objacces_8c_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.dot --- a/doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,3 @@ +base referer +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 156,6 263,30 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 313,6 481,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.md5 --- a/doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -153f2e397615083272fa315c728a1a79 \ No newline at end of file +80281ff93f6b8938e299fb458dc97526 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.png Binary file doc/doxygen/html/objacces_8c_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.dot --- a/doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="_getODentry",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="accessDictionaryError",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 164,6 332,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.md5 --- a/doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -9eb5ee4098a47bdfe3e21792fc8ff314 \ No newline at end of file +afcbb7f9bdd716b771bf037b918505bb \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.png Binary file doc/doxygen/html/objacces_8c_49e9444c8c8d39906a40a153366ed09c_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.dot --- a/doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $objacces_8c.html#11e9f24840d05a6a622955b51f91af53 267,6 379,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.md5 --- a/doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -62421b0d59fb710abe586402ce91ddd0 \ No newline at end of file +50a5ad0edf265be219c43988dbe445b3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.png Binary file doc/doxygen/html/objacces_8c_514e7b9c13835a86446b1cd38fa34049_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.dot --- a/doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="_setODentry",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="accessDictionaryError",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 161,6 329,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.md5 --- a/doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -281e28200706be609369c2d8c0a7ddc0 \ No newline at end of file +be448d8a840e5775bacaca3d06aa1d80 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.png Binary file doc/doxygen/html/objacces_8c_72f69950be4a1352fc78648c71454820_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.dot --- a/doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="writeLocalDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,3 @@ +base referer +rect $objacces_8c.html#72f69950be4a1352fc78648c71454820 171,6 277,30 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 327,6 495,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.md5 --- a/doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -3f79bac6b77b10895ded9e9da1ce6648 \ No newline at end of file +b1515b0a5eb7ac0f6dac382e7b2f6a16 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.png Binary file doc/doxygen/html/objacces_8c_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c__incl.dot --- a/doc/doxygen/html/objacces_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/objacces.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node7 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node7 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node14 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node7 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node16 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/objacces_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c__incl.md5 --- a/doc/doxygen/html/objacces_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -953146fe322a107525a1cc34b9a5e8d1 \ No newline at end of file +5aa0a83eb120249fd0868434e859e31c \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c__incl.png Binary file doc/doxygen/html/objacces_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.dot --- a/doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="readLocalDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,3 @@ +base referer +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 169,6 276,30 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 327,6 495,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.md5 --- a/doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -d5703905b942d78f8e3cc3ccaefbd5c6 \ No newline at end of file +f56f6f48af6ded35fded8a36a6501505 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.png Binary file doc/doxygen/html/objacces_8c_ed0728e75c0cf3a68c7c7a52a8148a2e_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h-source.html --- a/doc/doxygen/html/objacces_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,161 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/objacces.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/objacces.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00034 #ifndef __objacces_h__
    -00035 #define __objacces_h__
    -00036 
    -00037 #include <applicfg.h>
    -00038 
    -00039 typedef UNS32 (*valueRangeTest_t)(UNS8 typeValue, void *Value);
    -00040 typedef void (* storeODSubIndex_t)(UNS16 wIndex, UNS8 bSubindex);
    -00041 void _storeODSubIndex (UNS16 wIndex, UNS8 bSubindex);
    -00042 
    -00043 #include "data.h"
    -00044 
    -00045 
    -00046 
    -00047 /*
    -00048 Print MSG_WAR (s) if error to the access to the object dictionary occurs.
    -00049 You must uncomment the lines
    -00050 //#define DEBUG_CAN
    -00051 //#define DEBUG_WAR_CONSOLE_ON
    -00052 //#define DEBUG_ERR_CONSOLE_ON
    -00053 in the file objaccess.c
    -00054 sizeDataDict : Size of the data defined in the dictionary
    -00055 sizeDataGiven : Size data given by the user.
    -00056 code : error code to print. (SDO abort code. See file def.h)
    -00057 Beware that sometimes, we force the sizeDataDict or sizeDataGiven to 0, when we wants to use
    -00058 this function but we do not have the access to the right value. One example is
    -00059 getSDOerror(). So do not take attention to these variables if they are null.
    -00060 */
    -00061 
    -00062 UNS8 accessDictionaryError(UNS16 index, UNS8 subIndex, 
    -00063                            UNS8 sizeDataDict, UNS8 sizeDataGiven, UNS32 code);
    -00064 
    -00065 
    -00066 /* Reads an entry from the object dictionary.\n
    -00067  *  \code
    -00068  *  // Example usage:
    -00069  *  UNS8  *pbData;
    -00070  *  UNS8 length;
    -00071  *  UNS32 returnValue;
    -00072  *
    -00073  *  returnValue = getODentry( (UNS16)0x100B, (UNS8)1, 
    -00074  *  (void * *)&pbData, (UNS8 *)&length );
    -00075  *  if( returnValue != SUCCESSFUL )
    -00076  *  {
    -00077  *      // error handling
    -00078  *  }
    -00079  *  \endcode 
    -00080  *  \param wIndex The index in the object dictionary where you want to read
    -00081  *                an entry
    -00082  *  \param bSubindex The subindex of the Index. e.g. mostly subindex 0 is
    -00083  *                   used to tell you how many valid entries you can find
    -00084  *                   in this index. Look at the canopen standard for further
    -00085  *                   information
    -00086  *  \param ppbData Pointer to the pointer which points to the variable where
    -00087  *                 the value of this object dictionary entry should be copied
    -00088  *  \param pdwSize This function writes the size of the copied value (in Byte)
    -00089  *                 into this variable.
    -00090  *  \param pDataType : The type of the data. See objdictdef.h
    -00091  *  \param CheckAccess if other than 0, do not read if the data is Write Only
    -00092  *                     [Not used today. Put always 0].
    -00093  *  \return OD_SUCCESSFUL or SDO abort code. (See file def.h)
    -00094  */
    -00095 UNS32 getODentry( CO_Data* d, 
    -00096                   UNS16 wIndex,
    -00097                   UNS8 bSubindex,
    -00098                   void * pDestData,
    -00099                   UNS8 * pExpectedSize,
    -00100                   UNS8 * pDataType,
    -00101                   UNS8 checkAccess);
    -00102 
    -00103 
    -00104 /* By this function you can write an entry into the object dictionary\n
    -00105  *  \code
    -00106  *  // Example usage:
    -00107  *  UNS8 B;
    -00108  *  B = 0xFF; // set transmission type
    -00109  *
    -00110  *  retcode = setODentry( (UNS16)0x1800, (UNS8)2, &B, sizeof(UNS8), 1 );
    -00111  *  \endocde
    -00112  *  \param wIndex The index in the object dictionary where you want to write
    -00113  *                an entry
    -00114  *  \param bSubindex The subindex of the Index. e.g. mostly subindex 0 is
    -00115  *                   used to tell you how many valid entries you can find
    -00116  *                   in this index. Look at the canopen standard for further
    -00117  *                   information
    -00118  *  \param pbData Pointer to the variable that holds the value that should
    -00119  *                 be copied into the object dictionary
    -00120  *  \param dwSize The size of the value (in Byte).
    -00121  *  \param CheckAccess if other than 0, do not read if the data is Read Only or Constant
    -00122  *  \return OD_SUCCESSFUL or SDO abort code. (See file def.h)
    -00123  */
    -00124 UNS32 setODentry( CO_Data* d, 
    -00125                   UNS16 wIndex,
    -00126                   UNS8 bSubindex, 
    -00127                   void * pSourceData, 
    -00128                   UNS8 * pExpectedSize, 
    -00129                   UNS8 checkAccess);
    -00130 
    -00131 /*The same, without endianisation*/
    -00132 UNS32 writeLocalDict( CO_Data* d, 
    -00133                   UNS16 wIndex,
    -00134                   UNS8 bSubindex, 
    -00135                   void * pSourceData, 
    -00136                   UNS8 * pExpectedSize, 
    -00137                   UNS8 checkAccess);
    -00138 
    -00139 
    -00140 /* Scan the index of object dictionary. Used only by setODentry and getODentry.
    -00141  *  *errorCode :  OD_SUCCESSFUL if index foundor SDO abort code. (See file def.h)
    -00142  *  Return NULL if index not found. Else : return the table part of the object dictionary.
    -00143  */
    -00144  const indextable * scanIndexOD (CO_Data* d, UNS16 wIndex, UNS32 *errorCode, ODCallback_t **Callback);
    -00145 
    -00146 UNS32 RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback);
    -00147 
    -00148 #endif /* __objacces_h__ */
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h.html --- a/doc/doxygen/html/objacces_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,444 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/objacces.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/objacces.h File Reference

    Responsible for accessing the object dictionary. More... -

    -#include <applicfg.h>
    -#include "data.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - -

    Typedefs

    typedef UNS32(*) valueRangeTest_t (UNS8 typeValue, void *Value)
    typedef void(*) storeODSubIndex_t (UNS16 wIndex, UNS8 bSubindex)

    Functions

    void _storeODSubIndex (UNS16 wIndex, UNS8 bSubindex)
    UNS8 accessDictionaryError (UNS16 index, UNS8 subIndex, UNS8 sizeDataDict, UNS8 sizeDataGiven, UNS32 code)
    UNS32 getODentry (CO_Data *d, UNS16 wIndex, UNS8 bSubindex, void *pDestData, UNS8 *pExpectedSize, UNS8 *pDataType, UNS8 checkAccess)
    UNS32 setODentry (CO_Data *d, UNS16 wIndex, UNS8 bSubindex, void *pSourceData, UNS8 *pExpectedSize, UNS8 checkAccess)
    UNS32 writeLocalDict (CO_Data *d, UNS16 wIndex, UNS8 bSubindex, void *pSourceData, UNS8 *pExpectedSize, UNS8 checkAccess)
    const indextablescanIndexOD (CO_Data *d, UNS16 wIndex, UNS32 *errorCode, ODCallback_t **Callback)
    UNS32 RegisterSetODentryCallBack (CO_Data *d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback)
    -


    Detailed Description

    -Responsible for accessing the object dictionary. -

    -This file contains functions for accessing the object dictionary and variables that are contained by the object dictionary. Accessing the object dictionary contains setting local variables as PDOs and accessing (read/write) all entries of the object dictionary

    Warning:
    Only the basic entries of an object dictionary are included at the moment.
    - -

    -Definition in file objacces.h.


    Typedef Documentation

    - -
    -
    - - - - -
    typedef void(* ) storeODSubIndex_t(UNS16 wIndex, UNS8 bSubindex)
    -
    -
    - -

    - -

    -Definition at line 40 of file objacces.h. -

    -

    - -

    -
    - - - - -
    typedef UNS32(*) valueRangeTest_t(UNS8 typeValue, void *Value)
    -
    -
    - -

    - -

    -Definition at line 39 of file objacces.h. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void _storeODSubIndex (UNS16  wIndex,
    UNS8  bSubindex 
    )
    -
    -
    - -

    - -

    -Definition at line 308 of file objacces.c. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 accessDictionaryError (UNS16  index,
    UNS8  subIndex,
    UNS8  sizeDataDict,
    UNS8  sizeDataGiven,
    UNS32  code 
    )
    -
    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS32 getODentry (CO_Data d,
    UNS16  wIndex,
    UNS8  bSubindex,
    void *  pDestData,
    UNS8 *  pExpectedSize,
    UNS8 *  pDataType,
    UNS8  checkAccess 
    )
    -
    -
    - -

    - -

    -Definition at line 145 of file objacces.c. -

    -References _getODentry(), and struct_s_timer_entry::d. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS32 RegisterSetODentryCallBack (CO_Data d,
    UNS16  wIndex,
    UNS8  bSubindex,
    ODCallback_t  Callback 
    )
    -
    -
    - -

    - -

    -Definition at line 297 of file objacces.c. -

    -References struct_s_timer_entry::d, OD_SUCCESSFUL, scanIndexOD(), and UNS32. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    const indextable* scanIndexOD (CO_Data d,
    UNS16  wIndex,
    UNS32 *  errorCode,
    ODCallback_t **  Callback 
    )
    -
    -
    - -

    - -

    -Definition at line 292 of file objacces.c. -

    -References struct_s_timer_entry::d, and struct_CO_Data::scanIndexOD. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS32 setODentry (CO_Data d,
    UNS16  wIndex,
    UNS8  bSubindex,
    void *  pSourceData,
    UNS8 *  pExpectedSize,
    UNS8  checkAccess 
    )
    -
    -
    - -

    - -

    -Definition at line 257 of file objacces.c. -

    -References _setODentry(), and struct_s_timer_entry::d. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS32 writeLocalDict (CO_Data d,
    UNS16  wIndex,
    UNS8  bSubindex,
    void *  pSourceData,
    UNS8 *  pExpectedSize,
    UNS8  checkAccess 
    )
    -
    -
    - -

    - -

    -Definition at line 273 of file objacces.c. -

    -References _setODentry(), and struct_s_timer_entry::d. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.dot --- a/doc/doxygen/html/objacces_8h_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.md5 --- a/doc/doxygen/html/objacces_8h_17e598cc1b2e60380e2e4e75afe9b3b0_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -baacfdcb619065ac5d7c77e2680340e5 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.dot --- a/doc/doxygen/html/objacces_8h_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.md5 --- a/doc/doxygen/html/objacces_8h_39c263a4bc5d2d824fefe22fdb4c2dac_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -f6e77f1ea7a70eaf54fd9412a28d03e6 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h_514e7b9c13835a86446b1cd38fa34049_cgraph.dot --- a/doc/doxygen/html/objacces_8h_514e7b9c13835a86446b1cd38fa34049_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h_514e7b9c13835a86446b1cd38fa34049_cgraph.md5 --- a/doc/doxygen/html/objacces_8h_514e7b9c13835a86446b1cd38fa34049_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -62421b0d59fb710abe586402ce91ddd0 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.dot --- a/doc/doxygen/html/objacces_8h_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="writeLocalDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.md5 --- a/doc/doxygen/html/objacces_8h_7cc58d6e7711bd0d9fd75e8ff721ce36_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -3f79bac6b77b10895ded9e9da1ce6648 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h__dep__incl.dot --- a/doc/doxygen/html/objacces_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/src/objacces.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/src/pdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html"]; - Node1 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html"]; - Node1 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node6 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node6 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node6 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node6 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node10 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node11 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node6 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node13 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node14 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node15 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node16 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node17 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node6 -> Node18 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node18 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h__dep__incl.md5 --- a/doc/doxygen/html/objacces_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -e5f044fea29fd6a6d987d5c4b9630c60 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h__incl.dot --- a/doc/doxygen/html/objacces_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node6 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node6 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node10 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node11 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node13 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node6 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node15 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objacces_8h__incl.md5 --- a/doc/doxygen/html/objacces_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -da59bca28e454e3346c1528bdb6b6077 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdict_8c.html --- a/doc/doxygen/html/objdict_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1114 +0,0 @@ - - -CanFestival: examples/gene_SYNC_HCS12/objdict.c File Reference - - - - - - -

    examples/gene_SYNC_HCS12/objdict.c File Reference

    #include "objdict.h"
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Functions

    UNS32 gene_SYNC_valueRangeTest (UNS8 typeValue, void *value)
    const indextablegene_SYNC_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)

    Variables

    UNS16 acceptanceFilter1 = 0x0
    UNS16 acceptanceFilter2 = 0x0
    UNS16 acceptanceFilter3 = 0x0
    UNS16 acceptanceFilter4 = 0x0
    UNS16 mask1 = 0x0
    UNS16 mask2 = 0x0
    UNS16 mask3 = 0x0
    UNS16 mask4 = 0x0
    UNS8 applyDownloadedFilters = 0x0
    UNS8 gene_SYNC_bDeviceNodeId = 0x03
    const UNS8 gene_SYNC_iam_a_slave = 1
    TIMER_HANDLE gene_SYNC_heartBeatTimers [1]
    UNS32 gene_SYNC_obj1000 = 0x0
    subindex gene_SYNC_Index1000 []
    UNS8 gene_SYNC_obj1001 = 0x0
    subindex gene_SYNC_Index1001 []
    UNS32 gene_SYNC_obj1005 = 0x40000080
    ODCallback_t gene_SYNC_Index1005_callbacks []
    subindex gene_SYNC_Index1005 []
    UNS32 gene_SYNC_obj1006 = 0x2710
    ODCallback_t gene_SYNC_Index1006_callbacks []
    subindex gene_SYNC_Index1006 []
    UNS8 gene_SYNC_obj1008 [10] = "GENE_SYNC"
    subindex gene_SYNC_Index1008 []
    UNS8 gene_SYNC_highestSubIndex_obj1016 = 0
    UNS32 gene_SYNC_obj1016 []
    subindex gene_SYNC_Index1016 []
    UNS16 gene_SYNC_obj1017 = 0x0
    UNS8 gene_SYNC_highestSubIndex_obj1018 = 4
    UNS32 gene_SYNC_obj1018_Vendor_ID = 0x0
    UNS32 gene_SYNC_obj1018_Product_Code = 0x0
    UNS32 gene_SYNC_obj1018_Revision_Number = 0x0
    UNS32 gene_SYNC_obj1018_Serial_Number = 0x0
    subindex gene_SYNC_Index1018 []
    UNS8 gene_SYNC_highestSubIndex_obj1200 = 2
    UNS32 gene_SYNC_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x0
    UNS32 gene_SYNC_obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x0
    subindex gene_SYNC_Index1200 []
    subindex gene_SYNC_Index2015 []
    subindex gene_SYNC_Index2016 []
    subindex gene_SYNC_Index2017 []
    subindex gene_SYNC_Index2018 []
    subindex gene_SYNC_Index2019 []
    subindex gene_SYNC_Index2020 []
    subindex gene_SYNC_Index2021 []
    subindex gene_SYNC_Index2022 []
    subindex gene_SYNC_Index2023 []
    const indextable gene_SYNC_objdict []
    UNS8 gene_SYNC_count_sync [1] = {0,}
    quick_index gene_SYNC_firstIndex
    quick_index gene_SYNC_lastIndex
    UNS16 gene_SYNC_ObjdictSize = sizeof(gene_SYNC_objdict)/sizeof(gene_SYNC_objdict[0])
    CO_Data gene_SYNC_Data = CANOPEN_NODE_DATA_INITIALIZER(gene_SYNC)
    -

    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    const indextable* gene_SYNC_scanIndexOD (UNS16  wIndex,
    UNS32 *  errorCode,
    ODCallback_t **  callbacks 
    )
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS32 gene_SYNC_valueRangeTest (UNS8  typeValue,
    void *  value 
    )
    -
    -
    - -

    - -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    UNS16 acceptanceFilter1 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 acceptanceFilter2 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 acceptanceFilter3 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 acceptanceFilter4 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 applyDownloadedFilters = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 gene_SYNC_bDeviceNodeId = 0x03
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 gene_SYNC_count_sync[1] = {0,}
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    CO_Data gene_SYNC_Data = CANOPEN_NODE_DATA_INITIALIZER(gene_SYNC)
    -
    -
    - -

    - -

    -

    - -

    - -
    - -

    -Initial value:

     {
    -  6, 
    -  0, 
    -  0, 
    -  0, 
    -  0, 
    -  0 
    -}
    -
    -
    -

    - -

    -
    - - - - -
    TIMER_HANDLE gene_SYNC_heartBeatTimers[1]
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 gene_SYNC_highestSubIndex_obj1016 = 0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 gene_SYNC_highestSubIndex_obj1018 = 4
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 gene_SYNC_highestSubIndex_obj1200 = 2
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    const UNS8 gene_SYNC_iam_a_slave = 1
    -
    -
    - -

    - -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1000 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RO, uint8, sizeof (UNS8), (void*)&gene_SYNC_obj1001 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1005 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       NULL,
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1006 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       NULL,
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RO, visible_string, sizeof (gene_SYNC_obj1008), (void*)&gene_SYNC_obj1008 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    - -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RO, uint8, sizeof (UNS8), (void*)&gene_SYNC_highestSubIndex_obj1018 },
    -                       { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1018_Vendor_ID },
    -                       { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1018_Product_Code },
    -                       { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1018_Revision_Number },
    -                       { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1018_Serial_Number }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint16, sizeof (UNS16), (void*)&acceptanceFilter1 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint16, sizeof (UNS16), (void*)&acceptanceFilter2 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint16, sizeof (UNS16), (void*)&acceptanceFilter3 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint16, sizeof (UNS16), (void*)&acceptanceFilter4 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint16, sizeof (UNS16), (void*)&mask1 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint16, sizeof (UNS16), (void*)&mask2 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint16, sizeof (UNS16), (void*)&mask3 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint16, sizeof (UNS16), (void*)&mask4 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint8, sizeof (UNS8), (void*)&applyDownloadedFilters }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     {
    -  6, 
    -  0, 
    -  0, 
    -  0, 
    -  0, 
    -  0 
    -}
    -
    -
    -

    - -

    -
    - - - - -
    UNS32 gene_SYNC_obj1000 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 gene_SYNC_obj1001 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 gene_SYNC_obj1005 = 0x40000080
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 gene_SYNC_obj1006 = 0x2710
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 gene_SYNC_obj1008[10] = "GENE_SYNC"
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 gene_SYNC_obj1016[]
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 gene_SYNC_obj1017 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 gene_SYNC_obj1018_Product_Code = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 gene_SYNC_obj1018_Revision_Number = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 gene_SYNC_obj1018_Serial_Number = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 gene_SYNC_obj1018_Vendor_ID = 0x0
    -
    -
    - -

    - -

    -

    - -

    - -
    - -

    - -

    -

    - -

    - -
    - -

    - -

    -

    - -

    -
    - - - - -
    const indextable gene_SYNC_objdict[]
    -
    -
    - -

    -Initial value:

     
    -{
    -  { (subindex*)gene_SYNC_Index1000,sizeof(gene_SYNC_Index1000)/sizeof(gene_SYNC_Index1000[0]), 0x1000},
    -  { (subindex*)gene_SYNC_Index1001,sizeof(gene_SYNC_Index1001)/sizeof(gene_SYNC_Index1001[0]), 0x1001},
    -  { (subindex*)gene_SYNC_Index1005,sizeof(gene_SYNC_Index1005)/sizeof(gene_SYNC_Index1005[0]), 0x1005},
    -  { (subindex*)gene_SYNC_Index1006,sizeof(gene_SYNC_Index1006)/sizeof(gene_SYNC_Index1006[0]), 0x1006},
    -  { (subindex*)gene_SYNC_Index1008,sizeof(gene_SYNC_Index1008)/sizeof(gene_SYNC_Index1008[0]), 0x1008},
    -  { (subindex*)gene_SYNC_Index1018,sizeof(gene_SYNC_Index1018)/sizeof(gene_SYNC_Index1018[0]), 0x1018},
    -  { (subindex*)gene_SYNC_Index1200,sizeof(gene_SYNC_Index1200)/sizeof(gene_SYNC_Index1200[0]), 0x1200},
    -  { (subindex*)gene_SYNC_Index2015,sizeof(gene_SYNC_Index2015)/sizeof(gene_SYNC_Index2015[0]), 0x2015},
    -  { (subindex*)gene_SYNC_Index2016,sizeof(gene_SYNC_Index2016)/sizeof(gene_SYNC_Index2016[0]), 0x2016},
    -  { (subindex*)gene_SYNC_Index2017,sizeof(gene_SYNC_Index2017)/sizeof(gene_SYNC_Index2017[0]), 0x2017},
    -  { (subindex*)gene_SYNC_Index2018,sizeof(gene_SYNC_Index2018)/sizeof(gene_SYNC_Index2018[0]), 0x2018},
    -  { (subindex*)gene_SYNC_Index2019,sizeof(gene_SYNC_Index2019)/sizeof(gene_SYNC_Index2019[0]), 0x2019},
    -  { (subindex*)gene_SYNC_Index2020,sizeof(gene_SYNC_Index2020)/sizeof(gene_SYNC_Index2020[0]), 0x2020},
    -  { (subindex*)gene_SYNC_Index2021,sizeof(gene_SYNC_Index2021)/sizeof(gene_SYNC_Index2021[0]), 0x2021},
    -  { (subindex*)gene_SYNC_Index2022,sizeof(gene_SYNC_Index2022)/sizeof(gene_SYNC_Index2022[0]), 0x2022},
    -  { (subindex*)gene_SYNC_Index2023,sizeof(gene_SYNC_Index2023)/sizeof(gene_SYNC_Index2023[0]), 0x2023},
    -}
    -
    -
    -

    - -

    -
    - - - - -
    UNS16 gene_SYNC_ObjdictSize = sizeof(gene_SYNC_objdict)/sizeof(gene_SYNC_objdict[0])
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 mask1 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 mask2 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 mask3 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 mask4 = 0x0
    -
    -
    - -

    - -

    -

    -


    Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdict_8h.html --- a/doc/doxygen/html/objdict_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,446 +0,0 @@ - - -CanFestival: examples/gene_SYNC_HCS12/objdict.h File Reference - - - - - - -

    examples/gene_SYNC_HCS12/objdict.h File Reference

    #include "data.h"
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Functions

    UNS32 gene_SYNC_valueRangeTest (UNS8 typeValue, void *value)
    const indextablegene_SYNC_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)
    void gene_SYNC_heartbeatError (UNS8)
    UNS8 gene_SYNC_canSend (Message *)
    void gene_SYNC_initialisation (void)
    void gene_SYNC_preOperational (void)
    void gene_SYNC_operational (void)
    void gene_SYNC_stopped (void)
    void gene_SYNC_post_sync (void)
    void gene_SYNC_post_TPDO (void)

    Variables

    CO_Data gene_SYNC_Data
    UNS16 acceptanceFilter1
    UNS16 acceptanceFilter2
    UNS16 acceptanceFilter3
    UNS16 acceptanceFilter4
    UNS16 mask1
    UNS16 mask2
    UNS16 mask3
    UNS16 mask4
    UNS8 applyDownloadedFilters
    -

    Function Documentation

    - -
    -
    - - - - - - - - - -
    UNS8 gene_SYNC_canSend (Message  ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void gene_SYNC_heartbeatError (UNS8   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void gene_SYNC_initialisation (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void gene_SYNC_operational (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void gene_SYNC_post_sync (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void gene_SYNC_post_TPDO (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void gene_SYNC_preOperational (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    const indextable* gene_SYNC_scanIndexOD (UNS16  wIndex,
    UNS32 *  errorCode,
    ODCallback_t **  callbacks 
    )
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void gene_SYNC_stopped (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS32 gene_SYNC_valueRangeTest (UNS8  typeValue,
    void *  value 
    )
    -
    -
    - -

    - -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    UNS16 acceptanceFilter1
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 acceptanceFilter2
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 acceptanceFilter3
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 acceptanceFilter4
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 applyDownloadedFilters
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    CO_Data gene_SYNC_Data
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 mask1
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 mask2
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 mask3
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 mask4
    -
    -
    - -

    - -

    -

    -


    Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdictdef_8h-source.html --- a/doc/doxygen/html/objdictdef_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,142 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/objdictdef.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/objdictdef.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __objdictdef_h__
    -00024 #define __objdictdef_h__
    -00025 
    -00026 /************************* CONSTANTES **********************************/
    -00032 #define boolean         0x01
    -00033 #define int8            0x02
    -00034 #define int16           0x03
    -00035 #define int32           0x04
    -00036 #define uint8           0x05
    -00037 #define uint16          0x06
    -00038 #define uint32          0x07
    -00039 #define real32          0x08
    -00040 #define visible_string  0x09
    -00041 #define octet_string    0x0A
    -00042 #define unicode_string  0x0B
    -00043 #define time_of_day     0x0C
    -00044 #define time_difference 0x0D
    -00045 
    -00046 #define domain          0x0F
    -00047 #define int24           0x10
    -00048 #define real64          0x11
    -00049 #define int40           0x12
    -00050 #define int48           0x13
    -00051 #define int56           0x14
    -00052 #define int64           0x15
    -00053 #define uint24          0x16
    -00054 
    -00055 #define uint40          0x18
    -00056 #define uint48          0x19
    -00057 #define uint56          0x1A
    -00058 #define uint64          0x1B
    -00059 
    -00060 #define pdo_communication_parameter 0x20
    -00061 #define pdo_mapping                 0x21
    -00062 #define sdo_parameter               0x22
    -00063 #define identity                    0x23
    -00064 
    -00065 /* CanFestival is using 0x24 to 0xFF to define some types containing a 
    -00066  value range (See how it works in objdict.c)
    -00067  */
    -00068 
    -00069 
    -00070 
    -00075 #define TRANS_EVERY_N_SYNC(n) (n) /*n = 1 to 240 */
    -00076 #define TRANS_SYNC_MIN        1    /* Trans after reception of n SYNC. n = 1 to 240 */
    -00077 #define TRANS_SYNC_MAX        240  /* Trans after reception of n SYNC. n = 1 to 240 */
    -00078 #define TRANS_RTR_SYNC        252  /* Transmission on request */
    -00079 #define TRANS_RTR             253  /* Transmission on request */
    -00080 #define TRANS_EVENT           255  /* Transmission on event */
    -00081 
    -00085 #define RW     0x00  
    -00086 #define WO     0x01
    -00087 #define RO     0x02
    -00088 
    -00089 #define TO_BE_SAVE  0x04
    -00090 
    -00091 /************************ STRUCTURES ****************************/
    -00095 typedef struct td_subindex
    -00096 {
    -00097     UNS8                    bAccessType;
    -00098     UNS8                    bDataType; /* Defines of what datatype the entry is */
    -00099     UNS8                    size;      /* The size (in Byte) of the variable */
    -00100     void*                   pObject;   /* This is the pointer of the Variable */
    -00101 } subindex;
    -00102 
    -00105 typedef struct td_indextable
    -00106 {
    -00107     subindex*   pSubindex;   /* Pointer to the subindex */
    -00108     UNS8   bSubCount;   /* the count of valid entries for this subindex
    -00109                          * This count here defines how many memory has been
    -00110                          * allocated. this memory does not have to be used.
    -00111                          */
    -00112     UNS16   index;
    -00113 } indextable;
    -00114 
    -00115 typedef struct s_quick_index{
    -00116         UNS16 SDO_SVR;
    -00117         UNS16 SDO_CLT;
    -00118         UNS16 PDO_RCV;
    -00119         UNS16 PDO_RCV_MAP;
    -00120         UNS16 PDO_TRS;
    -00121         UNS16 PDO_TRS_MAP;
    -00122 }quick_index;
    -00123 
    -00124 
    -00125 /*typedef struct struct_CO_Data CO_Data; */
    -00126 typedef UNS32 (*ODCallback_t)(CO_Data* d, const indextable *, UNS8 bSubindex);
    -00127 typedef const indextable * (*scanIndexOD_t)(UNS16 wIndex, UNS32 * errorCode, ODCallback_t **Callback);
    -00128 
    -00129 /************************** MACROS *********************************/
    -00130 
    -00131 /* CANopen usefull helpers */
    -00132 #define GET_NODE_ID(m)         (m.cob_id.w & 0x7f)
    -00133 #define GET_FUNCTION_CODE(m)     (m.cob_id.w >> 7)
    -00134 
    -00135 #endif /* __objdictdef_h__ */
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdictdef_8h.html --- a/doc/doxygen/html/objdictdef_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,924 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/objdictdef.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/objdictdef.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    struct  td_subindex
    struct  td_indextable
    struct  s_quick_index

    Defines

    #define boolean   0x01
    #define int8   0x02
    #define int16   0x03
    #define int32   0x04
    #define uint8   0x05
    #define uint16   0x06
    #define uint32   0x07
    #define real32   0x08
    #define visible_string   0x09
    #define octet_string   0x0A
    #define unicode_string   0x0B
    #define time_of_day   0x0C
    #define time_difference   0x0D
    #define domain   0x0F
    #define int24   0x10
    #define real64   0x11
    #define int40   0x12
    #define int48   0x13
    #define int56   0x14
    #define int64   0x15
    #define uint24   0x16
    #define uint40   0x18
    #define uint48   0x19
    #define uint56   0x1A
    #define uint64   0x1B
    #define pdo_communication_parameter   0x20
    #define pdo_mapping   0x21
    #define sdo_parameter   0x22
    #define identity   0x23
    #define TRANS_EVERY_N_SYNC(n)   (n)
    #define TRANS_SYNC_MIN   1
    #define TRANS_SYNC_MAX   240
    #define TRANS_RTR_SYNC   252
    #define TRANS_RTR   253
    #define TRANS_EVENT   255
    #define RW   0x00
    #define WO   0x01
    #define RO   0x02
    #define TO_BE_SAVE   0x04
    #define GET_NODE_ID(m)   (m.cob_id.w & 0x7f)
    #define GET_FUNCTION_CODE(m)   (m.cob_id.w >> 7)

    Typedefs

    typedef td_subindex subindex
    typedef td_indextable indextable
    typedef s_quick_index quick_index
    typedef UNS32(*) ODCallback_t (CO_Data *d, const indextable *, UNS8 bSubindex)
    typedef const indextable *(*) scanIndexOD_t (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **Callback)
    -


    Define Documentation

    - -
    -
    - - - - -
    #define boolean   0x01
    -
    -
    - -

    -this are static defined datatypes taken fCODE the canopen standard. They are located at index 0x0001 to 0x001B. As described in the standard, they are in the object dictionary for definition purpose only. a device does not to support all of this datatypes. -

    -Definition at line 32 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define domain   0x0F
    -
    -
    - -

    - -

    -Definition at line 46 of file objdictdef.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define GET_FUNCTION_CODE (  )    (m.cob_id.w >> 7)
    -
    -
    - -

    - -

    -Definition at line 133 of file objdictdef.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define GET_NODE_ID (  )    (m.cob_id.w & 0x7f)
    -
    -
    - -

    - -

    -Definition at line 132 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define identity   0x23
    -
    -
    - -

    - -

    -Definition at line 63 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define int16   0x03
    -
    -
    - -

    - -

    -Definition at line 34 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define int24   0x10
    -
    -
    - -

    - -

    -Definition at line 47 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define int32   0x04
    -
    -
    - -

    - -

    -Definition at line 35 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define int40   0x12
    -
    -
    - -

    - -

    -Definition at line 49 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define int48   0x13
    -
    -
    - -

    - -

    -Definition at line 50 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define int56   0x14
    -
    -
    - -

    - -

    -Definition at line 51 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define int64   0x15
    -
    -
    - -

    - -

    -Definition at line 52 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define int8   0x02
    -
    -
    - -

    - -

    -Definition at line 33 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define octet_string   0x0A
    -
    -
    - -

    - -

    -Definition at line 41 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define pdo_communication_parameter   0x20
    -
    -
    - -

    - -

    -Definition at line 60 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define pdo_mapping   0x21
    -
    -
    - -

    - -

    -Definition at line 61 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define real32   0x08
    -
    -
    - -

    - -

    -Definition at line 39 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define real64   0x11
    -
    -
    - -

    - -

    -Definition at line 48 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define RO   0x02
    -
    -
    - -

    - -

    -Definition at line 87 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define RW   0x00
    -
    -
    - -

    -Each entry of the object dictionary can be READONLY (RO), READ/WRITE (RW), WRITE-ONLY (WO) -

    -Definition at line 85 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define sdo_parameter   0x22
    -
    -
    - -

    - -

    -Definition at line 62 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define time_difference   0x0D
    -
    -
    - -

    - -

    -Definition at line 44 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define time_of_day   0x0C
    -
    -
    - -

    - -

    -Definition at line 43 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define TO_BE_SAVE   0x04
    -
    -
    - -

    - -

    -Definition at line 89 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define TRANS_EVENT   255
    -
    -
    - -

    - -

    -Definition at line 80 of file objdictdef.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define TRANS_EVERY_N_SYNC (  )    (n)
    -
    -
    - -

    -definitions of the different types of PDOs' transmission

    -SYNCHRO(n) means that the PDO will be transmited every n SYNC signal. -

    -Definition at line 75 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define TRANS_RTR   253
    -
    -
    - -

    - -

    -Definition at line 79 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define TRANS_RTR_SYNC   252
    -
    -
    - -

    - -

    -Definition at line 78 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define TRANS_SYNC_MAX   240
    -
    -
    - -

    - -

    -Definition at line 77 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define TRANS_SYNC_MIN   1
    -
    -
    - -

    - -

    -Definition at line 76 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define uint16   0x06
    -
    -
    - -

    - -

    -Definition at line 37 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define uint24   0x16
    -
    -
    - -

    - -

    -Definition at line 53 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define uint32   0x07
    -
    -
    - -

    - -

    -Definition at line 38 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define uint40   0x18
    -
    -
    - -

    - -

    -Definition at line 55 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define uint48   0x19
    -
    -
    - -

    - -

    -Definition at line 56 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define uint56   0x1A
    -
    -
    - -

    - -

    -Definition at line 57 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define uint64   0x1B
    -
    -
    - -

    - -

    -Definition at line 58 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define uint8   0x05
    -
    -
    - -

    - -

    -Definition at line 36 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define unicode_string   0x0B
    -
    -
    - -

    - -

    -Definition at line 42 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define visible_string   0x09
    -
    -
    - -

    - -

    -Definition at line 40 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    #define WO   0x01
    -
    -
    - -

    - -

    -Definition at line 86 of file objdictdef.h. -

    -

    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef struct td_indextable indextable
    -
    -
    - -

    -Struct for creating entries in the communictaion profile -

    -

    - -

    -
    - - - - -
    typedef UNS32(*) ODCallback_t(CO_Data *d, const indextable *, UNS8 bSubindex)
    -
    -
    - -

    - -

    -Definition at line 126 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    typedef struct s_quick_index quick_index
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    typedef const indextable*(*) scanIndexOD_t(UNS16 wIndex, UNS32 *errorCode, ODCallback_t **Callback)
    -
    -
    - -

    - -

    -Definition at line 127 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    typedef struct td_subindex subindex
    -
    -
    - -

    -This are some structs which are neccessary for creating the entries of the object dictionary. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdictdef_8h__dep__incl.dot --- a/doc/doxygen/html/objdictdef_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node2 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node2 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node2 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node2 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node6 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node7 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node8 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node2 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node10 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node2 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node15 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$candriver_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdictdef_8h__dep__incl.md5 --- a/doc/doxygen/html/objdictdef_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -11e002d9d93b51cc8709f00d48e2f06e \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdictedit_8py-source.html --- a/doc/doxygen/html/objdictedit_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1052 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/objdictedit.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/objdictedit.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 from wxPython.wx import *
    -00025 from wxPython.grid import *
    -00026 import wx
    -00027 import wx.grid
    -00028 
    -00029 from types import *
    -00030 import os, re, platform, sys, time, traceback, getopt
    -00031 
    -00032 __version__ = "$Revision$"
    -00033 
    -00034 from node import OD_Subindex, OD_MultipleSubindexes, OD_IdenticalSubindexes, OD_IdenticalIndexes
    -00035 
    -00036 from nodemanager import *
    -00037 from subindextable import *
    -00038 from commondialogs import *
    -00039 from doc_index.DS301_index import *
    -00040 
    -00041 try:
    -00042     from wxPython.html import *
    -00043 
    -00044     wxEVT_HTML_URL_CLICK = wxNewId()
    -00045 
    -00046     def EVT_HTML_URL_CLICK(win, func):
    -00047         win.Connect(-1, -1, wxEVT_HTML_URL_CLICK, func)
    -00048 
    -00049     class wxHtmlWindowUrlClick(wxPyEvent):
    -00050         def __init__(self, linkinfo):
    -00051             wxPyEvent.__init__(self)
    -00052             self.SetEventType(wxEVT_HTML_URL_CLICK)
    -00053             self.linkinfolinkinfo = (linkinfo.GetHref(), linkinfo.GetTarget())
    -00054 
    -00055     class wxUrlClickHtmlWindow(wxHtmlWindow):
    -00056         """ HTML window that generates and OnLinkClicked event.
    -00057 
    -00058         Use this to avoid having to override HTMLWindow
    -00059         """
    -00060         def OnLinkClicked(self, linkinfo):
    -00061             wxPostEvent(self, wxHtmlWindowUrlClick(linkinfo))
    -00062     
    -00063 #-------------------------------------------------------------------------------
    -00064 #                                Html Frame
    -00065 #-------------------------------------------------------------------------------
    -00066 
    -00067     [wxID_HTMLFRAME, wxID_HTMLFRAMEHTMLCONTENT] = [wx.NewId() for _init_ctrls in range(2)]
    -00068 
    -00069     class HtmlFrame(wx.Frame):
    -00070         def _init_ctrls(self, prnt):
    -00071             # generated method, don't edit
    -00072             wx.Frame.__init__(self, id=wxID_HTMLFRAME, name='HtmlFrame',
    -00073                   parent=prnt, pos=wx.Point(320, 231), size=wx.Size(853, 616),
    -00074                   style=wx.DEFAULT_FRAME_STYLE, title='')
    -00075             self.Bind(wx.EVT_CLOSE, self.OnCloseFrameOnCloseFrame, id=wxID_HTMLFRAME)
    -00076             
    -00077             self.HtmlContent = wxUrlClickHtmlWindow(id=wxID_HTMLFRAMEHTMLCONTENT,
    -00078                   name='HtmlContent', parent=self, pos=wx.Point(0, 0),
    -00079                   size=wx.Size(-1, -1), style=wxHW_SCROLLBAR_AUTO|wxHW_NO_SELECTION)
    -00080             EVT_HTML_URL_CLICK(self.HtmlContent, self.OnLinkClickOnLinkClick)
    -00081 
    -00082         def __init__(self, parent, opened):
    -00083             self._init_ctrls_init_ctrls(parent)
    -00084             self.HtmlFrameOpenedHtmlFrameOpened = opened
    -00085         
    -00086         def SetHtmlCode(self, htmlcode):
    -00087             self.HtmlContent.SetPage(htmlcode)
    -00088             
    -00089         def SetHtmlPage(self, htmlpage):
    -00090             self.HtmlContent.LoadPage(htmlpage)
    -00091             
    -00092         def OnCloseFrame(self, event):
    -00093             self.HtmlFrameOpenedHtmlFrameOpened.remove(self.GetTitle())
    -00094             event.Skip()
    -00095         
    -00096         def OnLinkClick(self, event):
    -00097             url = event.linkinfo[0]
    -00098             try:
    -00099                 import webbrowser
    -00100             except ImportError:
    -00101                 wxMessageBox('Please point your browser at: %s' % url)
    -00102             else:
    -00103                 webbrowser.open(url)
    -00104     
    -00105     Html_Window = True
    -00106 except:
    -00107     Html_Window = False
    -00108 
    -00109 def create(parent):
    -00110     return objdictedit(parent)
    -00111 
    -00112 def usage():
    -00113     print "\nUsage of objdictedit.py :"
    -00114     print "\n   %s [Filepath, ...]\n"%sys.argv[0]
    -00115 
    -00116 try:
    -00117     opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
    -00118 except getopt.GetoptError:
    -00119     # print help information and exit:
    -00120     usage()
    -00121     sys.exit(2)
    -00122 
    -00123 for o, a in opts:
    -00124     if o in ("-h", "--help"):
    -00125         usage()
    -00126         sys.exit()
    -00127 
    -00128 filesOpen = args
    -00129 ScriptDirectory = sys.path[0]
    -00130 
    -00131 
    -00132 [wxID_OBJDICTEDIT, wxID_OBJDICTEDITFILEOPENED, 
    -00133  wxID_OBJDICTEDITHELPBAR,
    -00134 ] = [wx.NewId() for _init_ctrls in range(3)]
    -00135 
    -00136 [wxID_OBJDICTEDITADDMENUITEMS0, wxID_OBJDICTEDITADDMENUITEMS1, 
    -00137  wxID_OBJDICTEDITADDMENUITEMS2, wxID_OBJDICTEDITADDMENUITEMS3, 
    -00138  wxID_OBJDICTEDITADDMENUITEMS4, wxID_OBJDICTEDITADDMENUITEMS5, 
    -00139 ] = [wx.NewId() for _init_coll_AddMenu_Items in range(6)]
    -00140 
    -00141 [wxID_OBJDICTEDITFILEMENUITEMS0, wxID_OBJDICTEDITFILEMENUITEMS1, 
    -00142  wxID_OBJDICTEDITFILEMENUITEMS2, wxID_OBJDICTEDITFILEMENUITEMS4, 
    -00143  wxID_OBJDICTEDITFILEMENUITEMS5, wxID_OBJDICTEDITFILEMENUITEMS6, 
    -00144  wxID_OBJDICTEDITFILEMENUITEMS7, wxID_OBJDICTEDITFILEMENUITEMS8,
    -00145  wxID_OBJDICTEDITFILEMENUITEMS9,
    -00146 ] = [wx.NewId() for _init_coll_FileMenu_Items in range(9)]
    -00147 
    -00148 [wxID_OBJDICTEDITEDITMENUITEMS0, wxID_OBJDICTEDITEDITMENUITEMS1, 
    -00149  wxID_OBJDICTEDITEDITMENUITEMS2, wxID_OBJDICTEDITEDITMENUITEMS4, 
    -00150  wxID_OBJDICTEDITEDITMENUITEMS6, wxID_OBJDICTEDITEDITMENUITEMS7, 
    -00151  wxID_OBJDICTEDITEDITMENUITEMS8, 
    -00152 ] = [wx.NewId() for _init_coll_EditMenu_Items in range(7)]
    -00153 
    -00154 [wxID_OBJDICTEDITHELPMENUITEMS0, wxID_OBJDICTEDITHELPMENUITEMS1,
    -00155  wxID_OBJDICTEDITHELPMENUITEMS2,
    -00156 ] = [wx.NewId() for _init_coll_HelpMenu_Items in range(3)]
    -00157 
    -00158 class objdictedit(wx.Frame):
    -00159     def _init_coll_menuBar1_Menus(self, parent):
    -00160         # generated method, don't edit
    -00161 
    -00162         parent.Append(menu=self.FileMenu, title='File')
    -00163         parent.Append(menu=self.EditMenu, title='Edit')
    -00164         parent.Append(menu=self.AddMenu, title='Add')
    -00165         parent.Append(menu=self.HelpMenu, title='Help')
    -00166 
    -00167     def _init_coll_EditMenu_Items(self, parent):
    -00168         # generated method, don't edit
    -00169 
    -00170         parent.Append(help='', id=wxID_OBJDICTEDITEDITMENUITEMS4,
    -00171               kind=wx.ITEM_NORMAL, text='Refresh\tCTRL+R')
    -00172         parent.AppendSeparator()
    -00173         parent.Append(help='', id=wxID_OBJDICTEDITEDITMENUITEMS1,
    -00174               kind=wx.ITEM_NORMAL, text='Undo\tCTRL+Z')
    -00175         parent.Append(help='', id=wxID_OBJDICTEDITEDITMENUITEMS0,
    -00176               kind=wx.ITEM_NORMAL, text='Redo\tCTRL+Y')
    -00177         parent.AppendSeparator()
    -00178         parent.Append(help='', id=wxID_OBJDICTEDITEDITMENUITEMS6,
    -00179               kind=wx.ITEM_NORMAL, text='Node infos')
    -00180         parent.Append(help='', id=wxID_OBJDICTEDITEDITMENUITEMS2,
    -00181               kind=wx.ITEM_NORMAL, text='DS-301 Profile')
    -00182         parent.Append(help='', id=wxID_OBJDICTEDITEDITMENUITEMS8,
    -00183               kind=wx.ITEM_NORMAL, text='DS-302 Profile')
    -00184         parent.Append(help='', id=wxID_OBJDICTEDITEDITMENUITEMS7,
    -00185               kind=wx.ITEM_NORMAL, text='Other Profile')
    -00186         self.Bind(wx.EVT_MENU, self.OnUndoMenuOnUndoMenu,
    -00187               id=wxID_OBJDICTEDITEDITMENUITEMS1)
    -00188         self.Bind(wx.EVT_MENU, self.OnRedoMenuOnRedoMenu,
    -00189               id=wxID_OBJDICTEDITEDITMENUITEMS0)
    -00190         self.Bind(wx.EVT_MENU, self.OnCommunicationMenuOnCommunicationMenu,
    -00191               id=wxID_OBJDICTEDITEDITMENUITEMS2)
    -00192         self.Bind(wx.EVT_MENU, self.OnRefreshMenuOnRefreshMenu,
    -00193               id=wxID_OBJDICTEDITEDITMENUITEMS4)
    -00194         self.Bind(wx.EVT_MENU, self.OnNodeInfosMenuOnNodeInfosMenu,
    -00195               id=wxID_OBJDICTEDITEDITMENUITEMS6)
    -00196         self.Bind(wx.EVT_MENU, self.OnEditProfileMenuOnEditProfileMenu,
    -00197               id=wxID_OBJDICTEDITEDITMENUITEMS7)
    -00198         self.Bind(wx.EVT_MENU, self.OnOtherCommunicationMenuOnOtherCommunicationMenu,
    -00199               id=wxID_OBJDICTEDITEDITMENUITEMS8)
    -00200 
    -00201     def _init_coll_HelpMenu_Items(self, parent):
    -00202         # generated method, don't edit
    -00203 
    -00204         parent.Append(help='', id=wxID_OBJDICTEDITHELPMENUITEMS0,
    -00205               kind=wx.ITEM_NORMAL, text='DS-301 Standard\tF1')
    -00206         self.Bind(wx.EVT_MENU, self.OnHelpDS301MenuOnHelpDS301Menu,
    -00207               id=wxID_OBJDICTEDITHELPMENUITEMS0)
    -00208         parent.Append(help='', id=wxID_OBJDICTEDITHELPMENUITEMS1,
    -00209               kind=wx.ITEM_NORMAL, text='CAN Festival Docs\tF2')
    -00210         self.Bind(wx.EVT_MENU, self.OnHelpCANFestivalMenuOnHelpCANFestivalMenu,
    -00211               id=wxID_OBJDICTEDITHELPMENUITEMS1)
    -00212         if Html_Window:
    -00213             parent.Append(help='', id=wxID_OBJDICTEDITHELPMENUITEMS2,
    -00214                   kind=wx.ITEM_NORMAL, text='About')
    -00215             self.Bind(wx.EVT_MENU, self.OnAboutMenuOnAboutMenu,
    -00216                   id=wxID_OBJDICTEDITHELPMENUITEMS2)
    -00217 
    -00218     def _init_coll_FileMenu_Items(self, parent):
    -00219         # generated method, don't edit
    -00220 
    -00221         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS5,
    -00222               kind=wx.ITEM_NORMAL, text='New\tCTRL+N')
    -00223         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS0,
    -00224               kind=wx.ITEM_NORMAL, text='Open\tCTRL+O')
    -00225         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS1,
    -00226               kind=wx.ITEM_NORMAL, text='Save\tCTRL+S')
    -00227         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS6,
    -00228               kind=wx.ITEM_NORMAL, text='Save As...\tALT+S')
    -00229         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS2,
    -00230               kind=wx.ITEM_NORMAL, text='Close\tCTRL+W')
    -00231         parent.AppendSeparator()
    -00232         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS7,
    -00233               kind=wx.ITEM_NORMAL, text='Import EDS file')
    -00234         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS9,
    -00235               kind=wx.ITEM_NORMAL, text='Export to EDS file')
    -00236         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS8,
    -00237               kind=wx.ITEM_NORMAL, text='Build Dictionary\tCTRL+B')
    -00238         parent.AppendSeparator()
    -00239         parent.Append(help='', id=wxID_OBJDICTEDITFILEMENUITEMS4,
    -00240               kind=wx.ITEM_NORMAL, text='Exit')
    -00241         self.Bind(wx.EVT_MENU, self.OnOpenMenuOnOpenMenu,
    -00242               id=wxID_OBJDICTEDITFILEMENUITEMS0)
    -00243         self.Bind(wx.EVT_MENU, self.OnSaveMenuOnSaveMenu,
    -00244               id=wxID_OBJDICTEDITFILEMENUITEMS1)
    -00245         self.Bind(wx.EVT_MENU, self.OnCloseMenuOnCloseMenu,
    -00246               id=wxID_OBJDICTEDITFILEMENUITEMS2)
    -00247         self.Bind(wx.EVT_MENU, self.OnQuitMenuOnQuitMenu,
    -00248               id=wxID_OBJDICTEDITFILEMENUITEMS4)
    -00249         self.Bind(wx.EVT_MENU, self.OnNewMenuOnNewMenu,
    -00250               id=wxID_OBJDICTEDITFILEMENUITEMS5)
    -00251         self.Bind(wx.EVT_MENU, self.OnSaveAsMenuOnSaveAsMenu,
    -00252               id=wxID_OBJDICTEDITFILEMENUITEMS6)
    -00253         self.Bind(wx.EVT_MENU, self.OnImportEDSMenuOnImportEDSMenu,
    -00254               id=wxID_OBJDICTEDITFILEMENUITEMS7)
    -00255         self.Bind(wx.EVT_MENU, self.OnExportCMenuOnExportCMenu,
    -00256               id=wxID_OBJDICTEDITFILEMENUITEMS8)
    -00257         self.Bind(wx.EVT_MENU, self.OnExportEDSMenuOnExportEDSMenu,
    -00258               id=wxID_OBJDICTEDITFILEMENUITEMS9)
    -00259 
    -00260     def _init_coll_AddMenu_Items(self, parent):
    -00261         # generated method, don't edit
    -00262 
    -00263         parent.Append(help='', id=wxID_OBJDICTEDITADDMENUITEMS0,
    -00264               kind=wx.ITEM_NORMAL, text='SDO Server')
    -00265         parent.Append(help='', id=wxID_OBJDICTEDITADDMENUITEMS1,
    -00266               kind=wx.ITEM_NORMAL, text='SDO Client')
    -00267         parent.Append(help='', id=wxID_OBJDICTEDITADDMENUITEMS2,
    -00268               kind=wx.ITEM_NORMAL, text='PDO Transmit')
    -00269         parent.Append(help='', id=wxID_OBJDICTEDITADDMENUITEMS3,
    -00270               kind=wx.ITEM_NORMAL, text='PDO Receive')
    -00271         parent.Append(help='', id=wxID_OBJDICTEDITADDMENUITEMS4,
    -00272               kind=wx.ITEM_NORMAL, text='Map Variable')
    -00273         parent.Append(help='', id=wxID_OBJDICTEDITADDMENUITEMS5,
    -00274               kind=wx.ITEM_NORMAL, text='User Type')
    -00275         self.Bind(wx.EVT_MENU, self.OnAddSDOServerMenuOnAddSDOServerMenu,
    -00276               id=wxID_OBJDICTEDITADDMENUITEMS0)
    -00277         self.Bind(wx.EVT_MENU, self.OnAddSDOClientMenuOnAddSDOClientMenu,
    -00278               id=wxID_OBJDICTEDITADDMENUITEMS1)
    -00279         self.Bind(wx.EVT_MENU, self.OnAddPDOTransmitMenuOnAddPDOTransmitMenu,
    -00280               id=wxID_OBJDICTEDITADDMENUITEMS2)
    -00281         self.Bind(wx.EVT_MENU, self.OnAddPDOReceiveMenuOnAddPDOReceiveMenu,
    -00282               id=wxID_OBJDICTEDITADDMENUITEMS3)
    -00283         self.Bind(wx.EVT_MENU, self.OnAddMapVariableMenuOnAddMapVariableMenu,
    -00284               id=wxID_OBJDICTEDITADDMENUITEMS4)
    -00285         self.Bind(wx.EVT_MENU, self.OnAddUserTypeMenuOnAddUserTypeMenu,
    -00286               id=wxID_OBJDICTEDITADDMENUITEMS5)
    -00287 
    -00288     def _init_coll_HelpBar_Fields(self, parent):
    -00289         # generated method, don't edit
    -00290         parent.SetFieldsCount(3)
    -00291 
    -00292         parent.SetStatusText(number=0, text='')
    -00293         parent.SetStatusText(number=1, text='')
    -00294         parent.SetStatusText(number=2, text='')
    -00295 
    -00296         parent.SetStatusWidths([100, 110, -1])
    -00297 
    -00298     def _init_utils(self):
    -00299         # generated method, don't edit
    -00300         self.menuBar1 = wx.MenuBar()
    -00301         self.menuBar1.SetEvtHandlerEnabled(True)
    -00302 
    -00303         self.FileMenu = wx.Menu(title='')
    -00304 
    -00305         self.EditMenu = wx.Menu(title='')
    -00306 
    -00307         self.AddMenu = wx.Menu(title='')
    -00308 
    -00309         self.HelpMenu = wx.Menu(title='')
    -00310 
    -00311         self._init_coll_menuBar1_Menus_init_coll_menuBar1_Menus(self.menuBar1)
    -00312         self._init_coll_FileMenu_Items_init_coll_FileMenu_Items(self.FileMenu)
    -00313         self._init_coll_EditMenu_Items_init_coll_EditMenu_Items(self.EditMenu)
    -00314         self._init_coll_AddMenu_Items_init_coll_AddMenu_Items(self.AddMenu)
    -00315         self._init_coll_HelpMenu_Items_init_coll_HelpMenu_Items(self.HelpMenu)
    -00316 
    -00317     def _init_ctrls(self, prnt):
    -00318         # generated method, don't edit
    -00319         wx.Frame.__init__(self, id=wxID_OBJDICTEDIT, name='objdictedit',
    -00320               parent=prnt, pos=wx.Point(149, 178), size=wx.Size(1000, 700),
    -00321               style=wx.DEFAULT_FRAME_STYLE, title='Objdictedit')
    -00322         self._init_utils_init_utils()
    -00323         self.SetClientSize(wx.Size(1000, 700))
    -00324         self.SetMenuBar(self.menuBar1)
    -00325         self.Bind(wx.EVT_CLOSE, self.OnCloseFrameOnCloseFrame, id=wxID_OBJDICTEDIT)
    -00326 
    -00327         self.FileOpened = wx.Notebook(id=wxID_OBJDICTEDITFILEOPENED,
    -00328               name='FileOpened', parent=self, pos=wx.Point(0, 0),
    -00329               size=wx.Size(0, 0), style=0)
    -00330         self.FileOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
    -00331               self.OnFileSelectedChangedOnFileSelectedChanged, id=wxID_OBJDICTEDITFILEOPENED)
    -00332 
    -00333         self.HelpBar = wx.StatusBar(id=wxID_OBJDICTEDITHELPBAR, name='HelpBar',
    -00334               parent=self, style=wxST_SIZEGRIP)
    -00335         self._init_coll_HelpBar_Fields_init_coll_HelpBar_Fields(self.HelpBar)
    -00336         self.SetStatusBar(self.HelpBar)
    -00337 
    -00338     def __init__(self, parent):
    -00339         self._init_ctrls_init_ctrls(parent)
    -00340         self.HtmlFrameOpenedHtmlFrameOpened = []
    -00341         
    -00342         self.ManagerManager = NodeManager(ScriptDirectory)
    -00343         for filepath in filesOpen:
    -00344             self.ManagerManager.OpenFileInCurrent(filepath)
    -00345             new_editingpanel = EditingPanel(self, self.ManagerManager)
    -00346             self.FileOpened.AddPage(new_editingpanel, "")
    -00347             self.FileOpened.SetSelection(self.ManagerManager.GetCurrentNodeIndex())
    -00348         if self.ManagerManager.CurrentDS302Defined(): 
    -00349             self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS8, True)
    -00350         else:
    -00351             self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS8, False)
    -00352         self.RefreshEditMenuRefreshEditMenu()
    -00353         self.RefreshBufferStateRefreshBufferState()
    -00354         self.RefreshProfileMenuRefreshProfileMenu()
    -00355         self.RefreshTitleRefreshTitle()
    -00356         self.RefreshMainMenuRefreshMainMenu()
    -00357 
    -00358     def GetNoteBook(self):
    -00359         return self.FileOpened
    -00360 
    -00361     def OnAddSDOServerMenu(self, event):
    -00362         self.ManagerManager.AddSDOServerToCurrent()
    -00363         self.RefreshBufferStateRefreshBufferState()
    -00364         self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00365         event.Skip()
    -00366     
    -00367     def OnAddSDOClientMenu(self, event):
    -00368         self.ManagerManager.AddSDOClientToCurrent()
    -00369         self.RefreshBufferStateRefreshBufferState()
    -00370         self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00371         event.Skip()
    -00372 
    -00373     def OnAddPDOTransmitMenu(self, event):
    -00374         self.ManagerManager.AddPDOTransmitToCurrent()
    -00375         self.RefreshBufferStateRefreshBufferState()
    -00376         self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00377         event.Skip()
    -00378 
    -00379     def OnAddPDOReceiveMenu(self, event):
    -00380         self.ManagerManager.AddPDOReceiveToCurrent()
    -00381         self.RefreshBufferStateRefreshBufferState()
    -00382         self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00383         event.Skip()
    -00384 
    -00385     def OnAddMapVariableMenu(self, event):
    -00386         self.AddMapVariableAddMapVariable()
    -00387         event.Skip()
    -00388 
    -00389     def OnAddUserTypeMenu(self, event):
    -00390         self.AddUserTypeAddUserType()
    -00391         event.Skip()
    -00392 
    -00393     def OnFileSelectedChanged(self, event):
    -00394         selected = event.GetSelection()
    -00395         # At init selected = -1
    -00396         if selected >= 0:
    -00397             window = self.FileOpened.GetPage(selected)
    -00398             self.ManagerManager.ChangeCurrentNode(window.GetIndex())
    -00399             self.RefreshBufferStateRefreshBufferState()
    -00400             self.RefreshStatusBarRefreshStatusBar()
    -00401             self.RefreshProfileMenuRefreshProfileMenu()
    -00402         event.Skip()
    -00403 
    -00404     def OnHelpDS301Menu(self, event):
    -00405         find_index = False
    -00406         selected = self.FileOpened.GetSelection()
    -00407         if selected >= 0:
    -00408             window = self.FileOpened.GetPage(selected)
    -00409             result = window.GetSelection()
    -00410             if result:
    -00411                 find_index = True
    -00412                 index, subIndex = result
    -00413                 result = OpenPDFDocIndex(index, ScriptDirectory)
    -00414                 if type(result) == StringType:
    -00415                     message = wxMessageDialog(self, result, "ERROR", wxOK|wxICON_ERROR)
    -00416                     message.ShowModal()
    -00417                     message.Destroy()
    -00418         if not find_index:
    -00419             result = OpenPDFDocIndex(None, ScriptDirectory)
    -00420             if type(result) == StringType:
    -00421                 message = wxMessageDialog(self, result, "ERROR", wxOK|wxICON_ERROR)
    -00422                 message.ShowModal()
    -00423                 message.Destroy()
    -00424         event.Skip()
    -00425         
    -00426     def OnHelpCANFestivalMenu(self, event):
    -00427         #self.OpenHtmlFrame("CAN Festival Reference", os.path.join(ScriptDirectory, "doc/canfestival.html"), wx.Size(1000, 600))
    -00428         os.system("xpdf -remote CANFESTIVAL %s %d &"%(os.path.join(ScriptDirectory, "doc/manual_en.pdf"),16))
    -00429         event.Skip()
    -00430 
    -00431     def OnAboutMenu(self, event):
    -00432         self.OpenHtmlFrameOpenHtmlFrame("About CAN Festival", os.path.join(ScriptDirectory, "doc/about.html"), wx.Size(500, 450))
    -00433         event.Skip()
    -00434 
    -00435     def OpenHtmlFrame(self, title, file, size):
    -00436         if title not in self.HtmlFrameOpenedHtmlFrameOpened:
    -00437             self.HtmlFrameOpenedHtmlFrameOpened.append(title)
    -00438             window = HtmlFrame(self, self.HtmlFrameOpenedHtmlFrameOpened)
    -00439             window.SetTitle(title)
    -00440             window.SetHtmlPage(file)
    -00441             window.SetClientSize(size)
    -00442             window.Show()
    -00443 
    -00444     def OnQuitMenu(self, event):
    -00445         self.Close()
    -00446         event.Skip()
    -00447     
    -00448     def OnCloseFrame(self, event):
    -00449         if self.ManagerManager.OneFileHasChanged():
    -00450             dialog = wxMessageDialog(self, "There are changes, do you want to save?",  "Close Application", wxYES_NO|wxCANCEL|wxICON_QUESTION)
    -00451             answer = dialog.ShowModal()
    -00452             dialog.Destroy()
    -00453             if answer == wxID_YES:
    -00454                 self.ManagerManager.ChangeCurrentNode(0)
    -00455                 for i in xrange(self.FileOpened.GetPageCount()):
    -00456                     if self.ManagerManager.CurrentIsSaved():
    -00457                         self.ManagerManager.CloseCurrent()
    -00458                     else:
    -00459                         self.SaveSave()
    -00460                         self.ManagerManager.CloseCurrent(True)
    -00461                 event.Skip()
    -00462             elif answer == wxID_NO:
    -00463                 for i in xrange(self.FileOpened.GetPageCount()):
    -00464                     self.ManagerManager.CloseCurrent(True)
    -00465                 wxCallAfter(self.Close)
    -00466                 event.Skip()
    -00467         else:
    -00468             event.Skip()
    -00469 
    -00470 #-------------------------------------------------------------------------------
    -00471 #                             Refresh Functions
    -00472 #-------------------------------------------------------------------------------
    -00473 
    -00474     def RefreshTitle(self):
    -00475         if self.FileOpened.GetPageCount() > 0:
    -00476             self.SetTitle("Objdictedit - %s"%self.ManagerManager.GetCurrentFilename())
    -00477         else:
    -00478             self.SetTitle("Objdictedit")
    -00479 
    -00480     def OnRefreshMenu(self, event):
    -00481         self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00482         event.Skip()
    -00483 
    -00484     def RefreshCurrentIndexList(self):
    -00485         selected = self.FileOpened.GetSelection()
    -00486         window = self.FileOpened.GetPage(selected)
    -00487         window.RefreshIndexList()
    -00488 
    -00489     def RefreshStatusBar(self):
    -00490         if self.HelpBar:
    -00491             window = self.FileOpened.GetPage(self.FileOpened.GetSelection())
    -00492             selection = window.GetSelection()
    -00493             if selection:
    -00494                 index, subIndex = selection
    -00495                 if self.ManagerManager.IsCurrentEntry(index):
    -00496                     self.HelpBar.SetStatusText("Index: 0x%04X"%index, 0)
    -00497                     self.HelpBar.SetStatusText("Subindex: 0x%02X"%subIndex, 1)
    -00498                     entryinfos = self.ManagerManager.GetEntryInfos(index)
    -00499                     name = entryinfos["name"]
    -00500                     category = "Optional"
    -00501                     if entryinfos["need"]:
    -00502                         category = "Mandatory"
    -00503                     struct = "VAR"
    -00504                     number = ""
    -00505                     if entryinfos["struct"] & OD_IdenticalIndexes:
    -00506                         number = " possibly defined %d times"%entryinfos["nbmax"]
    -00507                     if entryinfos["struct"] & OD_IdenticalSubindexes:
    -00508                         struct = "REC"
    -00509                     elif entryinfos["struct"] & OD_MultipleSubindexes:
    -00510                         struct = "ARRAY"
    -00511                     text = "%s: %s entry of struct %s%s."%(name,category,struct,number)
    -00512                     self.HelpBar.SetStatusText(text, 2)
    -00513                 else:
    -00514                     for i in xrange(3):
    -00515                         self.HelpBar.SetStatusText("", i)
    -00516             else:
    -00517                 for i in xrange(3):
    -00518                     self.HelpBar.SetStatusText("", i)
    -00519 
    -00520     def RefreshMainMenu(self):
    -00521         if self.FileMenu:
    -00522             if self.FileOpened.GetPageCount() > 0:
    -00523                 self.menuBar1.EnableTop(1, True)
    -00524                 self.menuBar1.EnableTop(2, True)
    -00525                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS1, True)
    -00526                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS2, True)
    -00527                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS6, True)
    -00528                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS8, True)
    -00529                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS9, True)
    -00530             else:
    -00531                 self.menuBar1.EnableTop(1, False)      
    -00532                 self.menuBar1.EnableTop(2, False)
    -00533                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS1, False)
    -00534                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS2, False)
    -00535                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS6, False)
    -00536                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS8, False)
    -00537                 self.FileMenu.Enable(wxID_OBJDICTEDITFILEMENUITEMS9, False)
    -00538 
    -00539     def RefreshEditMenu(self):
    -00540         if self.FileMenu:
    -00541             if self.FileOpened.GetPageCount() > 0:
    -00542                 undo, redo = self.ManagerManager.GetCurrentBufferState()
    -00543                 self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS1, undo)
    -00544                 self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS0, redo)
    -00545             else:
    -00546                 self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS1, False)
    -00547                 self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS0, False)
    -00548 
    -00549     def RefreshProfileMenu(self):
    -00550         if self.EditMenu:
    -00551             profile = self.ManagerManager.GetCurrentProfileName()
    -00552             edititem = self.EditMenu.FindItemById(wxID_OBJDICTEDITEDITMENUITEMS7)
    -00553             if edititem:
    -00554                 length = self.AddMenu.GetMenuItemCount()
    -00555                 for i in xrange(length-6):
    -00556                     additem = self.AddMenu.FindItemByPosition(6)
    -00557                     self.AddMenu.Delete(additem.GetId())
    -00558                 if profile not in ("None", "DS-301"):
    -00559                     edititem.SetText("%s Profile"%profile)
    -00560                     edititem.Enable(True)
    -00561                     self.AddMenu.AppendSeparator()
    -00562                     for text, indexes in self.ManagerManager.GetCurrentSpecificMenu():
    -00563                         new_id = wx.NewId()
    -00564                         self.AddMenu.Append(help='', id=new_id, kind=wx.ITEM_NORMAL, text=text)
    -00565                         self.Bind(wx.EVT_MENU, self.GetProfileCallBackGetProfileCallBack(text), id=new_id)
    -00566                 else:
    -00567                     edititem.SetText("Other Profile")
    -00568                     edititem.Enable(False)
    -00569         
    -00570 
    -00571 #-------------------------------------------------------------------------------
    -00572 #                            Buffer Functions
    -00573 #-------------------------------------------------------------------------------
    -00574 
    -00575     def RefreshBufferState(self):
    -00576         fileopened = self.ManagerManager.GetAllFilenames()
    -00577         for idx, filename in enumerate(fileopened):
    -00578             self.FileOpened.SetPageText(idx, filename)
    -00579         self.RefreshEditMenuRefreshEditMenu()
    -00580         self.RefreshTitleRefreshTitle()
    -00581 
    -00582     def OnUndoMenu(self, event):
    -00583         self.ManagerManager.LoadCurrentPrevious()
    -00584         self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00585         self.RefreshBufferStateRefreshBufferState()
    -00586         event.Skip()
    -00587 
    -00588     def OnRedoMenu(self, event):
    -00589         self.ManagerManager.LoadCurrentNext()
    -00590         self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00591         self.RefreshBufferStateRefreshBufferState()
    -00592         event.Skip()
    -00593 
    -00594 
    -00595 #-------------------------------------------------------------------------------
    -00596 #                         Load and Save Funtions
    -00597 #-------------------------------------------------------------------------------
    -00598 
    -00599     def OnNewMenu(self, event):
    -00600         self.FilePathFilePath = ""
    -00601         dialog = CreateNodeDialog(self, ScriptDirectory)
    -00602         if dialog.ShowModal() == wxID_OK:
    -00603             name, id, nodetype, description = dialog.GetValues()
    -00604             profile, filepath = dialog.GetProfile()
    -00605             NMT = dialog.GetNMTManagement()
    -00606             options = dialog.GetOptions()
    -00607             result = self.ManagerManager.CreateNewNode(name, id, nodetype, description, profile, filepath, NMT, options)
    -00608             if type(result) == IntType:
    -00609                 new_editingpanel = EditingPanel(self, self.ManagerManager)
    -00610                 new_editingpanel.SetIndex(result)
    -00611                 self.FileOpened.AddPage(new_editingpanel, "")
    -00612                 self.FileOpened.SetSelection(self.FileOpened.GetPageCount() - 1)
    -00613                 self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS8, False)
    -00614                 if "DS302" in options:
    -00615                     self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS8, True)
    -00616                 self.RefreshBufferStateRefreshBufferState()
    -00617                 self.RefreshProfileMenuRefreshProfileMenu()
    -00618                 self.RefreshMainMenuRefreshMainMenu()
    -00619             else:
    -00620                 message = wxMessageDialog(self, result, "ERROR", wxOK|wxICON_ERROR)
    -00621                 message.ShowModal()
    -00622                 message.Destroy()
    -00623         event.Skip()
    -00624 
    -00625     def OnOpenMenu(self, event):
    -00626         filepath = self.ManagerManager.GetCurrentFilePath()
    -00627         if filepath != "":
    -00628             directory = os.path.dirname(filepath)
    -00629         else:
    -00630             directory = os.getcwd()
    -00631         dialog = wxFileDialog(self, "Choose a file", directory, "",  "OD files (*.od)|*.od|All files|*.*", wxOPEN|wxCHANGE_DIR)
    -00632         if dialog.ShowModal() == wxID_OK:
    -00633             filepath = dialog.GetPath()
    -00634             if os.path.isfile(filepath):
    -00635                 result = self.ManagerManager.OpenFileInCurrent(filepath)
    -00636                 if type(result) == IntType:
    -00637                     new_editingpanel = EditingPanel(self, self.ManagerManager)
    -00638                     new_editingpanel.SetIndex(result)
    -00639                     self.FileOpened.AddPage(new_editingpanel, "")
    -00640                     self.FileOpened.SetSelection(self.FileOpened.GetPageCount() - 1)
    -00641                     if self.ManagerManager.CurrentDS302Defined(): 
    -00642                         self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS8, True)
    -00643                     else:
    -00644                         self.EditMenu.Enable(wxID_OBJDICTEDITEDITMENUITEMS8, False)
    -00645                     self.RefreshEditMenuRefreshEditMenu()
    -00646                     self.RefreshBufferStateRefreshBufferState()
    -00647                     self.RefreshProfileMenuRefreshProfileMenu()
    -00648                     self.RefreshMainMenuRefreshMainMenu()
    -00649                 else:
    -00650                     message = wxMessageDialog(self, e.args[0], "Error", wxOK|wxICON_ERROR)
    -00651                     message.ShowModal()
    -00652                     message.Destroy()
    -00653         dialog.Destroy()
    -00654         event.Skip()
    -00655 
    -00656     def OnSaveMenu(self, event):
    -00657         self.SaveSave()
    -00658         event.Skip()
    -00659     
    -00660     def OnSaveAsMenu(self, event):
    -00661         self.SaveAsSaveAs()
    -00662         event.Skip()
    -00663         
    -00664     def Save(self):
    -00665         result = self.ManagerManager.SaveCurrentInFile()
    -00666         if not result:
    -00667             self.SaveAsSaveAs()
    -00668         elif type(result) != StringType:
    -00669             self.RefreshBufferStateRefreshBufferState()
    -00670         else:
    -00671             message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00672             message.ShowModal()
    -00673             message.Destroy()
    -00674 
    -00675     def SaveAs(self):
    -00676         filepath = self.ManagerManager.GetCurrentFilePath()
    -00677         if filepath != "":
    -00678             directory, filename = os.path.split(filepath)
    -00679         else:
    -00680             directory, filename = os.getcwd(), "%s.od"%self.ManagerManager.GetCurrentNodeInfos()[0]
    -00681         dialog = wxFileDialog(self, "Choose a file", directory, filename,  "OD files (*.od)|*.od|All files|*.*", wxSAVE|wxOVERWRITE_PROMPT|wxCHANGE_DIR)
    -00682         if dialog.ShowModal() == wxID_OK:
    -00683             filepath = dialog.GetPath()
    -00684             if os.path.isdir(os.path.dirname(filepath)):
    -00685                 result = self.ManagerManager.SaveCurrentInFile(filepath)
    -00686                 if type(result) != StringType:
    -00687                     self.RefreshBufferStateRefreshBufferState()
    -00688                 else:
    -00689                     message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00690                     message.ShowModal()
    -00691                     message.Destroy()
    -00692             else:
    -00693                 message = wxMessageDialog(self, "%s is not a valid folder!"%os.path.dirname(filepath), "Error", wxOK|wxICON_ERROR)
    -00694                 message.ShowModal()
    -00695                 message.Destroy()
    -00696         dialog.Destroy()
    -00697 
    -00698     def OnCloseMenu(self, event):
    -00699         answer = wxID_YES
    -00700         result = self.ManagerManager.CloseCurrent()
    -00701         if not result:
    -00702             dialog = wxMessageDialog(self, "There are changes, do you want to save?",  "Close File", wxYES_NO|wxCANCEL|wxICON_QUESTION)
    -00703             answer = dialog.ShowModal()
    -00704             dialog.Destroy()
    -00705             if answer == wxID_YES:
    -00706                 self.OnSaveMenuOnSaveMenu(event)
    -00707                 if self.ManagerManager.CurrentIsSaved():
    -00708                     self.ManagerManager.CloseCurrent()
    -00709             elif answer == wxID_NO:
    -00710                 self.ManagerManager.CloseCurrent(True)
    -00711         if self.FileOpened.GetPageCount() > self.ManagerManager.GetBufferNumber():
    -00712             current = self.FileOpened.GetSelection()
    -00713             self.FileOpened.DeletePage(current)
    -00714             if self.FileOpened.GetPageCount() > 0:
    -00715                 self.FileOpened.SetSelection(min(current, self.FileOpened.GetPageCount() - 1))
    -00716             self.RefreshBufferStateRefreshBufferState()
    -00717             self.RefreshMainMenuRefreshMainMenu()
    -00718         event.Skip()
    -00719         
    -00720 
    -00721 #-------------------------------------------------------------------------------
    -00722 #                         Import and Export Functions
    -00723 #-------------------------------------------------------------------------------
    -00724 
    -00725     def OnImportEDSMenu(self, event):
    -00726         dialog = wxFileDialog(self, "Choose a file", os.getcwd(), "",  "EDS files (*.eds)|*.eds|All files|*.*", wxOPEN|wxCHANGE_DIR)
    -00727         if dialog.ShowModal() == wxID_OK:
    -00728             filepath = dialog.GetPath()
    -00729             if os.path.isfile(filepath):
    -00730                 result = self.ManagerManager.ImportCurrentFromEDSFile(filepath)
    -00731                 if type(result) == IntType:
    -00732                     new_editingpanel = EditingPanel(self, self.ManagerManager)
    -00733                     new_editingpanel.SetIndex(result)
    -00734                     self.FileOpened.AddPage(new_editingpanel, "")
    -00735                     self.FileOpened.SetSelection(self.FileOpened.GetPageCount() - 1)
    -00736                     self.RefreshBufferStateRefreshBufferState()
    -00737                     self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00738                     self.RefreshProfileMenuRefreshProfileMenu()
    -00739                     self.RefreshMainMenuRefreshMainMenu()
    -00740                     message = wxMessageDialog(self, "Import successful", "Information", wxOK|wxICON_INFORMATION)
    -00741                     message.ShowModal()
    -00742                     message.Destroy()
    -00743                 else:
    -00744                     message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00745                     message.ShowModal()
    -00746                     message.Destroy()
    -00747             else:
    -00748                 message = wxMessageDialog(self, "\"%s\" is not a valid file!"%filepath, "Error", wxOK|wxICON_ERROR)
    -00749                 message.ShowModal()
    -00750                 message.Destroy()
    -00751         dialog.Destroy()
    -00752         event.Skip()
    -00753 
    -00754 
    -00755     def OnExportEDSMenu(self, event):
    -00756         dialog = wxFileDialog(self, "Choose a file", os.getcwd(), self.ManagerManager.GetCurrentNodeInfos()[0], "EDS files (*.eds)|*.eds|All files|*.*", wxSAVE|wxOVERWRITE_PROMPT|wxCHANGE_DIR)
    -00757         if dialog.ShowModal() == wxID_OK:
    -00758             filepath = dialog.GetPath()
    -00759             if os.path.isdir(os.path.dirname(filepath)):
    -00760                 path, extend = os.path.splitext(filepath)
    -00761                 if extend in ("", "."):
    -00762                     filepath = path + ".eds"
    -00763                 result = self.ManagerManager.ExportCurrentToEDSFile(filepath)
    -00764                 if not result:
    -00765                     message = wxMessageDialog(self, "Export successful", "Information", wxOK|wxICON_INFORMATION)
    -00766                     message.ShowModal()
    -00767                     message.Destroy()
    -00768                 else:
    -00769                     message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00770                     message.ShowModal()
    -00771                     message.Destroy()
    -00772             else:
    -00773                 message = wxMessageDialog(self, "\"%s\" is not a valid folder!"%os.path.dirname(filepath), "Error", wxOK|wxICON_ERROR)
    -00774                 message.ShowModal()
    -00775                 message.Destroy()
    -00776         dialog.Destroy()
    -00777         event.Skip()
    -00778 
    -00779     def OnExportCMenu(self, event):
    -00780         dialog = wxFileDialog(self, "Choose a file", os.getcwd(), self.ManagerManager.GetCurrentNodeInfos()[0],  "CANFestival OD files (*.c)|*.c|All files|*.*", wxSAVE|wxOVERWRITE_PROMPT|wxCHANGE_DIR)
    -00781         if dialog.ShowModal() == wxID_OK:
    -00782             filepath = dialog.GetPath()
    -00783             if os.path.isdir(os.path.dirname(filepath)):
    -00784                 path, extend = os.path.splitext(filepath)
    -00785                 if extend in ("", "."):
    -00786                     filepath = path + ".c"
    -00787                 result = self.ManagerManager.ExportCurrentToCFile(filepath)
    -00788                 if not result:
    -00789                     message = wxMessageDialog(self, "Export successful", "Information", wxOK|wxICON_INFORMATION)
    -00790                     message.ShowModal()
    -00791                     message.Destroy()
    -00792                 else:
    -00793                     message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00794                     message.ShowModal()
    -00795                     message.Destroy()
    -00796             else:
    -00797                 message = wxMessageDialog(self, "\"%s\" is not a valid folder!"%os.path.dirname(filepath), "Error", wxOK|wxICON_ERROR)
    -00798                 message.ShowModal()
    -00799                 message.Destroy()
    -00800         dialog.Destroy()
    -00801         event.Skip()
    -00802 
    -00803 #-------------------------------------------------------------------------------
    -00804 #                          Editing Profiles functions
    -00805 #-------------------------------------------------------------------------------
    -00806 
    -00807     def OnCommunicationMenu(self, event):
    -00808         dictionary,current = self.ManagerManager.GetCurrentCommunicationLists()
    -00809         self.EditProfileEditProfile("Edit DS-301 Profile", dictionary, current)
    -00810         event.Skip()
    -00811     
    -00812     def OnOtherCommunicationMenu(self, event):
    -00813         dictionary,current = self.ManagerManager.GetCurrentDS302Lists()
    -00814         self.EditProfileEditProfile("Edit DS-301 Profile", dictionary, current)
    -00815         event.Skip()
    -00816     
    -00817     def OnEditProfileMenu(self, event):
    -00818         title = "Edit %s Profile"%self.ManagerManager.GetCurrentProfileName()
    -00819         dictionary,current = self.ManagerManager.GetCurrentProfileLists()
    -00820         self.EditProfileEditProfile(title, dictionary, current)
    -00821         event.Skip()
    -00822     
    -00823     def EditProfile(self, title, dictionary, current):
    -00824         dialog = CommunicationDialog(self)
    -00825         dialog.SetTitle(title)
    -00826         dialog.SetIndexDictionary(dictionary)
    -00827         dialog.SetCurrentList(current)
    -00828         dialog.RefreshLists()
    -00829         if dialog.ShowModal() == wxID_OK:
    -00830             new_profile = dialog.GetCurrentList()
    -00831             addinglist = []
    -00832             removinglist = []
    -00833             for index in new_profile:
    -00834                 if index not in current:
    -00835                     addinglist.append(index)
    -00836             for index in current:
    -00837                 if index not in new_profile:
    -00838                     removinglist.append(index)
    -00839             self.ManagerManager.ManageEntriesOfCurrent(addinglist, removinglist)
    -00840             self.ManagerManager.GenerateMapList()
    -00841             self.ManagerManager.BufferCurrentNode()
    -00842             self.RefreshBufferStateRefreshBufferState()
    -00843             self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00844         dialog.Destroy()
    -00845 
    -00846     def GetProfileCallBack(self, text):
    -00847         def ProfileCallBack(event):
    -00848             self.ManagerManager.AddSpecificEntryToCurrent(text)
    -00849             self.RefreshBufferStateRefreshBufferState()
    -00850             self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00851             event.Skip()
    -00852         return ProfileCallBack
    -00853 
    -00854 #-------------------------------------------------------------------------------
    -00855 #                         Edit Node informations function
    -00856 #-------------------------------------------------------------------------------
    -00857 
    -00858     def OnNodeInfosMenu(self, event):
    -00859         dialog = NodeInfosDialog(self)
    -00860         name, id, type, description = self.ManagerManager.GetCurrentNodeInfos()
    -00861         dialog.SetValues(name, id, type, description)
    -00862         if dialog.ShowModal() == wxID_OK:
    -00863             name, id, type, description = dialog.GetValues()
    -00864             self.ManagerManager.SetCurrentNodeInfos(name, id, type, description)
    -00865             self.RefreshBufferStateRefreshBufferState()
    -00866             self.RefreshProfileMenuRefreshProfileMenu()
    -00867             selected = self.FileOpened.GetSelection()
    -00868             if selected >= 0:
    -00869                 window = self.FileOpened.GetPage(selected)
    -00870                 window.RefreshTable()
    -00871         event.Skip()
    -00872 
    -00873 
    -00874 #-------------------------------------------------------------------------------
    -00875 #                           Add User Types and Variables
    -00876 #-------------------------------------------------------------------------------
    -00877         
    -00878     def AddMapVariable(self):
    -00879         index = self.ManagerManager.GetCurrentNextMapIndex()
    -00880         if index:
    -00881             dialog = MapVariableDialog(self)
    -00882             dialog.SetIndex(index)
    -00883             if dialog.ShowModal() == wxID_OK:
    -00884                 index, name, struct, number = dialog.GetValues()
    -00885                 result = self.ManagerManager.AddMapVariableToCurrent(index, name, struct, number)
    -00886                 if type(result) != StringType:
    -00887                     self.RefreshBufferStateRefreshBufferState()
    -00888                     self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00889                 else:
    -00890                     message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00891                     message.ShowModal()
    -00892                     message.Destroy()
    -00893             dialog.Destroy()
    -00894         else:
    -00895             message = wxMessageDialog(self, result, "No map variable index left!", wxOK|wxICON_ERROR)
    -00896             message.ShowModal()
    -00897             message.Destroy()
    -00898         
    -00899     def AddUserType(self):
    -00900         dialog = UserTypeDialog(self)
    -00901         dialog.SetTypeList(self.ManagerManager.GetCustomisableTypes())
    -00902         if dialog.ShowModal() == wxID_OK:
    -00903             type, min, max, length = dialog.GetValues()
    -00904             result = self.ManagerManager.AddUserTypeToCurrent(type, min, max, length)
    -00905             if not result:
    -00906                 self.RefreshBufferStateRefreshBufferState()
    -00907                 self.RefreshCurrentIndexListRefreshCurrentIndexList()
    -00908             else:
    -00909                 message = wxMessageDialog(self, result, "Error", wxOK|wxICON_ERROR)
    -00910                 message.ShowModal()
    -00911                 message.Destroy()
    -00912         dialog.Destroy()
    -00913     
    -00914 
    -00915 #-------------------------------------------------------------------------------
    -00916 #                               Exception Handler
    -00917 #-------------------------------------------------------------------------------
    -00918 
    -00919 Max_Traceback_List_Size = 20
    -00920 
    -00921 def Display_Exception_Dialog(e_type,e_value,e_tb):
    -00922     trcbck_lst = []
    -00923     for i,line in enumerate(traceback.extract_tb(e_tb)):
    -00924         trcbck = " " + str(i+1) + ". "
    -00925         if line[0].find(os.getcwd()) == -1:
    -00926             trcbck += "file : " + str(line[0]) + ",   "
    -00927         else:
    -00928             trcbck += "file : " + str(line[0][len(os.getcwd()):]) + ",   "
    -00929         trcbck += "line : " + str(line[1]) + ",   " + "function : " + str(line[2])
    -00930         trcbck_lst.append(trcbck)
    -00931         
    -00932     # Allow clicking....
    -00933     cap = wx.Window_GetCapture()
    -00934     if cap:
    -00935         cap.ReleaseMouse()
    -00936 
    -00937     dlg = wx.SingleChoiceDialog(None, 
    -00938         """
    -00939 An error happens.
    -00940 
    -00941 Click on OK for saving an error report.
    -00942 
    -00943 Please contact LOLITech at:
    -00944 +33 (0)3 29 52 95 67
    -00945 bugs_objdictedit@lolitech.fr
    -00946 
    -00947 
    -00948 Error:
    -00949 """ +
    -00950         str(e_type) + " : " + str(e_value), 
    -00951         "Error",
    -00952         trcbck_lst)
    -00953     try:
    -00954         res = (dlg.ShowModal() == wx.ID_OK)
    -00955     finally:
    -00956         dlg.Destroy()
    -00957 
    -00958     return res
    -00959 
    -00960 def Display_Error_Dialog(e_value):
    -00961     message = wxMessageDialog(None, str(e_value), "Error", wxOK|wxICON_ERROR)
    -00962     message.ShowModal()
    -00963     message.Destroy()
    -00964 
    -00965 def get_last_traceback(tb):
    -00966     while tb.tb_next:
    -00967         tb = tb.tb_next
    -00968     return tb
    -00969 
    -00970 
    -00971 def format_namespace(d, indent='    '):
    -00972     return '\n'.join(['%s%s: %s' % (indent, k, repr(v)[:10000]) for k, v in d.iteritems()])
    -00973 
    -00974 
    -00975 ignored_exceptions = [] # a problem with a line in a module is only reported once per session
    -00976 
    -00977 def wxAddExceptHook(path, app_version='[No version]'):#, ignored_exceptions=[]):
    -00978     
    -00979     def handle_exception(e_type, e_value, e_traceback):
    -00980         traceback.print_exception(e_type, e_value, e_traceback) # this is very helpful when there's an exception in the rest of this func
    -00981         last_tb = get_last_traceback(e_traceback)
    -00982         ex = (last_tb.tb_frame.f_code.co_filename, last_tb.tb_frame.f_lineno)
    -00983         if str(e_value).startswith("!!!"):
    -00984             Display_Error_Dialog(e_value)
    -00985         elif ex not in ignored_exceptions:
    -00986             ignored_exceptions.append(ex)
    -00987             result = Display_Exception_Dialog(e_type,e_value,e_traceback)
    -00988             if result:
    -00989                 info = {
    -00990                     'app-title' : wx.GetApp().GetAppName(), # app_title
    -00991                     'app-version' : app_version,
    -00992                     'wx-version' : wx.VERSION_STRING,
    -00993                     'wx-platform' : wx.Platform,
    -00994                     'python-version' : platform.python_version(), #sys.version.split()[0],
    -00995                     'platform' : platform.platform(),
    -00996                     'e-type' : e_type,
    -00997                     'e-value' : e_value,
    -00998                     'date' : time.ctime(),
    -00999                     'cwd' : os.getcwd(),
    -01000                     }
    -01001                 if e_traceback:
    -01002                     info['traceback'] = ''.join(traceback.format_tb(e_traceback)) + '%s: %s' % (e_type, e_value)
    -01003                     last_tb = get_last_traceback(e_traceback)
    -01004                     exception_locals = last_tb.tb_frame.f_locals # the locals at the level of the stack trace where the exception actually occurred
    -01005                     info['locals'] = format_namespace(exception_locals)
    -01006                     if 'self' in exception_locals:
    -01007                         info['self'] = format_namespace(exception_locals['self'].__dict__)
    -01008                 
    -01009                 output = open(path+os.sep+"bug_report_"+info['date'].replace(':','-').replace(' ','_')+".txt",'w')
    -01010                 lst = info.keys()
    -01011                 lst.sort()
    -01012                 for a in lst:
    -01013                     output.write(a+":\n"+str(info[a])+"\n\n")
    -01014 
    -01015     #sys.excepthook = lambda *args: wx.CallAfter(handle_exception, *args)
    -01016     sys.excepthook = handle_exception
    -01017 
    -01018 if __name__ == '__main__':
    -01019     app = wxPySimpleApp()
    -01020     wxInitAllImageHandlers()
    -01021     
    -01022     # Install a exception handle for bug reports
    -01023     wxAddExceptHook(os.getcwd(),__version__)
    -01024     
    -01025     frame = objdictedit(None)
    -01026 
    -01027     frame.Show()
    -01028     app.MainLoop()
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdictedit_8py.html --- a/doc/doxygen/html/objdictedit_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/objdictedit.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/objdictedit.py File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Namespaces

    namespace  objdictedit

    Data Structures

    class  objdictedit::wxHtmlWindowUrlClick
    class  objdictedit::wxUrlClickHtmlWindow
    class  objdictedit::wxUrlClickHtmlWindow::HtmlFrame
    class  objdictedit::objdictedit

    Functions

    def objdictedit::EVT_HTML_URL_CLICK
    def objdictedit::create
    def objdictedit::usage
    def objdictedit::Display_Exception_Dialog
    def objdictedit::Display_Error_Dialog
    def objdictedit::get_last_traceback
    def objdictedit::format_namespace
    def objdictedit::wxAddExceptHook
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdictgen_8py-source.html --- a/doc/doxygen/html/objdictgen_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/objdictgen.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/objdictgen.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 import getopt,sys,os
    -00025 from types import *
    -00026 
    -00027 from nodemanager import *
    -00028 
    -00029 def usage():
    -00030     print "\nUsage of objdictgen.py :"
    -00031     print "\n   %s XMLFilePath CFilePath\n"%sys.argv[0]
    -00032 
    -00033 try:
    -00034     opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
    -00035 except getopt.GetoptError:
    -00036     # print help information and exit:
    -00037     usage()
    -00038     sys.exit(2)
    -00039 
    -00040 for o, a in opts:
    -00041     if o in ("-h", "--help"):
    -00042         usage()
    -00043         sys.exit()
    -00044 
    -00045 fileIn = ""
    -00046 fileOut = ""        
    -00047 if len(args) == 2:
    -00048     fileIn = args[0]
    -00049     fileOut = args[1]
    -00050 else:
    -00051     usage()
    -00052     sys.exit()
    -00053 
    -00054 if __name__ == '__main__':
    -00055     if fileIn != "" and fileOut != "":
    -00056         manager = NodeManager(sys.path[0])
    -00057         if os.path.isfile(fileIn):
    -00058             print "Parsing input file"
    -00059             result = manager.OpenFileInCurrent(fileIn)
    -00060             if type(result) != UnicodeType:
    -00061                 Node = result
    -00062             else:
    -00063                 print result
    -00064                 sys.exit(-1)
    -00065         else:
    -00066             print "%s is not a valid file!"%fileIn
    -00067             sys.exit(-1)
    -00068         print "Writing output file"
    -00069         result = manager.ExportCurrentToCFile(fileOut)
    -00070         if type(result) == UnicodeType:
    -00071             print result
    -00072             sys.exit(-1)
    -00073         print "All done"
    -00074     
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/objdictgen_8py.html --- a/doc/doxygen/html/objdictgen_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/objdictgen.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/objdictgen.py File Reference

    -

    -Go to the source code of this file. - - - - - - - -

    Namespaces

    namespace  objdictgen

    Functions

    def objdictgen::usage
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/param_8h-source.html --- a/doc/doxygen/html/param_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/param.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/param.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 /* param.h - 32K Board specific parameters
    -00023    Copyright (C) 2002 Free Software Foundation, Inc.
    -00024    Written by Stephane Carrez (stcarrez@worldnet.fr)    
    -00025 
    -00026 This file is free software; you can redistribute it and/or modify it
    -00027 under the terms of the GNU General Public License as published by the
    -00028 Free Software Foundation; either version 2, or (at your option) any
    -00029 later version.
    -00030 
    -00031 In addition to the permissions in the GNU General Public License, the
    -00032 Free Software Foundation gives you unlimited permission to link the
    -00033 compiled version of this file with other programs, and to distribute
    -00034 those programs without any restriction coming from the use of this
    -00035 file.  (The General Public License restrictions do apply in other
    -00036 respects; for example, they cover modification of the file, and
    -00037 distribution when not linked into another program.)
    -00038 
    -00039 This file is distributed in the hope that it will be useful, but
    -00040 WITHOUT ANY WARRANTY; without even the implied warranty of
    -00041 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00042 General Public License for more details.
    -00043 
    -00044 You should have received a copy of the GNU General Public License
    -00045 along with this program; see the file COPYING.  If not, write to
    -00046 the Free Software Foundation, 59 Temple Place - Suite 330,
    -00047 Boston, MA 02111-1307, USA.  */
    -00048 
    -00049 #ifndef _M68HC11_ARCH_32K_PARAM_H
    -00050 #define _M68HC11_ARCH_32K_PARAM_H
    -00051 
    -00052 /* Generic 32K board.  */
    -00053 #define M6811_ARCH_32K
    -00054 
    -00055 #undef M6811_DEF_BAUD
    -00056 #define M6811_DEF_BAUD 0x30            /* 9600 baud.  */
    -00057 
    -00058 #undef RAM_SIZE
    -00059 #define RAM_SIZE       32768           /* 32Kb of memory.  */
    -00060 
    -00061 #undef ROM_SIZE
    -00062 #define ROM_SIZE       32768           /* 32Kb of rom.  */
    -00063 
    -00064 #undef DATA_SIZE
    -00065 #define DATA_SIZE      (0x8000-0x1040) /* Data section size.  */
    -00066 
    -00067 #undef TEXT_SIZE
    -00068 #define TEXT_SIZE      ROM_SIZE        /* Text section size.  */
    -00069 
    -00070 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/param_8h.html --- a/doc/doxygen/html/param_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,145 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/param.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/board/arch/param.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - -

    Defines

    #define M6811_ARCH_32K
    #define M6811_DEF_BAUD   0x30
    #define RAM_SIZE   32768
    #define ROM_SIZE   32768
    #define DATA_SIZE   (0x8000-0x1040)
    #define TEXT_SIZE   ROM_SIZE
    -


    Define Documentation

    - -
    -
    - - - - -
    #define DATA_SIZE   (0x8000-0x1040)
    -
    -
    - -

    - -

    -Definition at line 65 of file param.h. -

    -

    - -

    -
    - - - - -
    #define M6811_ARCH_32K
    -
    -
    - -

    - -

    -Definition at line 53 of file param.h. -

    -

    - -

    -
    - - - - -
    #define M6811_DEF_BAUD   0x30
    -
    -
    - -

    - -

    -Definition at line 56 of file param.h. -

    -

    - -

    -
    - - - - -
    #define RAM_SIZE   32768
    -
    -
    - -

    - -

    -Definition at line 59 of file param.h. -

    -

    - -

    -
    - - - - -
    #define ROM_SIZE   32768
    -
    -
    - -

    - -

    -Definition at line 62 of file param.h. -

    -

    - -

    -
    - - - - -
    #define TEXT_SIZE   ROM_SIZE
    -
    -
    - -

    - -

    -Definition at line 68 of file param.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c-source.html --- a/doc/doxygen/html/pdo_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/pdo_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -16,519 +16,464 @@
  • Globals
  • /home/epimerde/documents/tc11/CanFestival-3/src/pdo.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 #include "pdo.h"
    -00023 #include "objacces.h"
    -00024 #include "canfestival.h"
    -00025 
    -00026 /****************************************************************************/
    -00027 UNS8 sendPDO(CO_Data* d, s_PDO pdo, UNS8 req)
    -00028 {
    -00029   UNS8 i;
    -00030   if( d->nodeState == Operational ) {
    -00031     Message m;
    -00032 
    -00033     /* Message copy for sending */
    -00034     m.cob_id.w = pdo.cobId & 0x7FF; /* Because the cobId is 11 bytes length */
    -00035     if ( req == NOT_A_REQUEST ) {
    -00036       UNS8 i;
    -00037       m.rtr = NOT_A_REQUEST;
    -00038       m.len = pdo.len;
    -00039       /* memcpy(&m.data, &pdo.data, m.len); */
    -00040       /* This Memcpy depends on packing structure. Avoid */
    -00041       for (i = 0 ; i < pdo.len ; i++)
    -00042         m.data[i] = pdo.data[i];
    -00043     }
    -00044     else {
    -00045       m.rtr = REQUEST;
    -00046       m.len = 0;
    -00047     }
    -00048 
    -00049     MSG_WAR(0x3901, "sendPDO cobId :", m.cob_id.w);
    -00050     MSG_WAR(0x3902,  "     Nb octets  : ",  m.len);
    -00051     for (i = 0 ; i < m.len ; i++) {
    -00052       MSG_WAR(0x3903,"           data : ", m.data[i]);
    -00053     }
    -00054                   
    -00055     return canSend(d->canHandle,&m);
    -00056   } /* end if */
    -00057   return 0xFF;
    -00058 }
    +00002   This file is part of CanFestival, a library implementing CanOpen
    +00003   Stack.
    +00004 
    +00005   Copyright (C): Edouard TISSERANT and Francis DUPIN
    +00006 
    +00007   See COPYING file for copyrights details.
    +00008 
    +00009   This library is free software; you can redistribute it and/or
    +00010   modify it under the terms of the GNU Lesser General Public
    +00011   License as published by the Free Software Foundation; either
    +00012   version 2.1 of the License, or (at your option) any later version.
    +00013 
    +00014   This library is distributed in the hope that it will be useful,
    +00015   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +00016   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +00017   Lesser General Public License for more details.
    +00018 
    +00019   You should have received a copy of the GNU Lesser General Public
    +00020   License along with this library; if not, write to the Free Software
    +00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
    +00022   USA
    +00023 */
    +00024 #include "pdo.h"
    +00025 #include "objacces.h"
    +00026 #include "canfestival.h"
    +00027 
    +00037 UNS8 sendPDO(CO_Data* d, s_PDO pdo, UNS8 req)
    +00038 {
    +00039   UNS8 i;
    +00040   if( d->nodeState == Operational ) {
    +00041     Message m;
    +00042 
    +00044     m.cob_id.w = pdo.cobId & 0x7FF; 
    +00046     if ( req == NOT_A_REQUEST ) {
    +00047       UNS8 i;
    +00048       m.rtr = NOT_A_REQUEST;
    +00049       m.len = pdo.len;
    +00052       for (i = 0 ; i < pdo.len ; i++)
    +00053         m.data[i] = pdo.data[i];
    +00054     }
    +00055     else {
    +00056       m.rtr = REQUEST;
    +00057       m.len = 0;
    +00058     }
     00059 
    -00060 /***************************************************************************/
    -00061 UNS8 PDOmGR(CO_Data* d, UNS32 cobId) /* PDO Manager */
    -00062 {
    -00063   UNS8 res;
    -00064   UNS8 i;
    -00065   s_PDO pdo;
    -00066 
    -00067   MSG_WAR(0x3905, "PDOmGR",0);
    -00068         
    -00069   /* if PDO is waiting for transmission,
    -00070      preparation of the message to send */
    -00071     pdo.cobId = cobId;
    -00072     pdo.len =  d->process_var.count;
    -00073     /* memcpy(&(pdo.data), &(process_var.data), pdo.len); */
    -00074     /* Ce memcpy devrait être portable */
    -00075     for ( i = 0 ; i < pdo.len ; i++) 
    -00076       pdo.data[i] = d->process_var.data[i];
    -00077 
    -00078     res = sendPDO(d, pdo, NOT_A_REQUEST);
    -00079 
    -00080     return res;
    -00081 }
    -00082 
    -00083 #if 0
    -00084 /*********************************************************************/
    -00085 /* TODO : implement bit mapping                                                  */
    -00086 /*********************************************************************/
    -00087 
    -00088 UNS8 buildPDO(CO_Data* d, UNS16 index)
    -00089 { /* DO NOT USE MSG_ERR because the macro may send a PDO -> infinite loop if it fails. */       
    -00090   UNS16 ind;
    -00091   UNS8      subInd;
    -00092 
    -00093   UNS8 *     pMappingCount = NULL;      /* count of mapped objects... */
    -00094   /* pointer to the var which is mapped to a pdo */
    -00095 /*  void *     pMappedAppObject = NULL;  */
    -00096   /* pointer fo the var which holds the mapping parameter of an mapping entry  */ 
    -00097   UNS32 *    pMappingParameter = NULL;  
    -00098 
    -00099   UNS8      Size;
    -00100   UNS8      dataType;
    -00101   UNS8      offset;
    -00102   UNS16     offsetObjdict;
    -00103   UNS16     offsetObjdictPrm;
    -00104   UNS32     objDict;
    +00060     MSG_WAR(0x3901, "sendPDO cobId :", m.cob_id.w);
    +00061     MSG_WAR(0x3902,  "     Nb octets  : ",  m.len);
    +00062     for (i = 0 ; i < m.len ; i++) {
    +00063       MSG_WAR(0x3903,"           data : ", m.data[i]);
    +00064     }
    +00065 
    +00066     return canSend(d->canHandle,&m);
    +00067   } 
    +00068   return 0xFF;
    +00069 }
    +00070 
    +00079 UNS8 PDOmGR(CO_Data* d, UNS32 cobId)
    +00080 {
    +00081   UNS8 res;
    +00082   UNS8 i;
    +00083   s_PDO pdo;
    +00084 
    +00085   MSG_WAR(0x3905, "PDOmGR",0);
    +00086 
    +00089   pdo.cobId = cobId;
    +00090   pdo.len =  d->process_var.count;
    +00092      /* Ce memcpy devrait tre portable */
    +00093     for ( i = 0 ; i < pdo.len ; i++) 
    +00094       pdo.data[i] = d->process_var.data[i];
    +00095 
    +00096     res = sendPDO(d, pdo, NOT_A_REQUEST);
    +00097 
    +00098     return res;
    +00099 }
    +00100 
    +00101 #if 0
    +00102 /*********************************************************************/
    +00103 /* TODO : implement bit mapping                                                  */
    +00104 /*********************************************************************/
     00105 
    -00106   subInd=(UNS8)0x00;
    -00107   offset = 0x00;
    -00108   ind = index - 0x1800;
    -00109   
    -00110   MSG_WAR(0x3910,"Prepare PDO to send index :", index);
    -00111 
    -00112   /* only operational state allows PDO transmission */
    -00113   if( d->nodeState != Operational ) {
    -00114     MSG_WAR(0x2911, "Unable to send the PDO (node not in OPERATIONAL mode). Node : ", index);
    -00115     return 0xFF;
    -00116   }
    -00117   offsetObjdictPrm = d->firstIndex->PDO_TRS;
    -00118   offsetObjdict = d->firstIndex->PDO_TRS_MAP;
    -00119   
    -00120   if (offsetObjdictPrm && offsetObjdict)
    -00121   {
    -00122           /* get mapped objects number to transmit with this PDO */
    -00123           pMappingCount = (d->objdict + offsetObjdict + ind)->pSubindex[0].pObject;
    -00124           MSG_WAR(0x3912, "Nb maped objects : ",* pMappingCount);
    -00125           MSG_WAR(0x3913, "        at index : ", 0x1A00 + ind);
    -00126           while (subInd < *pMappingCount) { /* Loop on mapped variables */
    -00127             /* get mapping parameters */
    -00128             pMappingParameter = (d->objdict + offsetObjdict + ind)->pSubindex[subInd + 1].pObject;
    -00129             MSG_WAR(0x3914, "Get the mapping      at index : ", (UNS16)0x1A00 + ind);
    -00130             MSG_WAR(0x3915, "                     subIndex : ", subInd + 1);
    -00131             MSG_WAR(0x3916, "                     value    : ", *(UNS32 *)pMappingParameter);
    -00132             /* Get the mapped variable */
    -00133             Size = ((UNS8)(((*pMappingParameter) & 0xFF) >> 3));
    -00134                 objDict = getODentry(d, (UNS16)((*pMappingParameter) >> 16),
    -00135                                     (UNS8)(((*pMappingParameter) >> 8 ) & 0x000000FF),
    -00136                                     (void *)&d->process_var.data[offset], &Size, &dataType, 0 );  
    -00137 
    -00138              if (objDict != OD_SUCCESSFUL) {
    -00139                 MSG_WAR(0x2919, "error accessing to the mapped var : ", subInd + 1);  
    -00140                 MSG_WAR(0x2920, "         Mapped at index : ", (*pMappingParameter) >> 16);
    -00141                 MSG_WAR(0x2921, "                subindex : ", ((*pMappingParameter) >> 8 ) & 0xFF);
    -00142                 return 0xFF;
    -00143              } 
    -00144 
    -00145               offset += Size;
    -00146               d->process_var.count = offset;
    -00147               subInd++;                                 
    -00148         }/* end Loop on mapped variables  */
    -00149   }
    -00150   return 0;
    -00151 }
    -00152 #endif
    -00153 /**************************************************************************/
    -00154 UNS8 sendPDOrequest( CO_Data* d, UNS32 cobId )
    -00155 {               
    -00156   UNS32 *        pwCobId;       
    -00157   UNS16          offset;
    -00158   UNS16          lastIndex;
    -00159   UNS8           err;
    -00160 
    -00161   MSG_WAR(0x3930, "sendPDOrequest ",0);  
    -00162   /* Sending the request only if the cobid have been found on the PDO receive */
    -00163   /* part dictionary */
    -00164   offset = d->firstIndex->PDO_RCV;
    -00165   lastIndex = d->lastIndex->PDO_RCV;
    -00166   if (offset)
    -00167           while (offset <= lastIndex) {
    -00168             /*get the CobId*/
    -00169             pwCobId = d->objdict[offset].pSubindex[1].pObject;
    -00170               
    -00171             if ( *pwCobId  == cobId ) {
    -00172               s_PDO pdo;
    -00173               pdo.cobId = *pwCobId;
    -00174               pdo.len = 0;
    -00175               err  = sendPDO(d, pdo, REQUEST);  
    -00176               return err;
    -00177             }
    -00178             offset++;
    -00179           }
    -00180   MSG_WAR(0x1931, "sendPDOrequest : COBID not found : ", cobId); 
    -00181   return 0xFF;
    -00182 }
    -00183 
    -00184 
    -00185 
    -00186 /***********************************************************************/
    -00187 UNS8 proceedPDO(CO_Data* d, Message *m)
    -00188 {               
    -00189   UNS8   numPdo;
    -00190   UNS8   numMap;  /* Number of the mapped varable */                      
    -00191   UNS8 i;
    -00192   UNS8 *     pMappingCount = NULL;    /* count of mapped objects... */
    -00193   /* pointer to the var which is mapped to a pdo... */
    -00194 /*  void *     pMappedAppObject = NULL;   */
    -00195   /* pointer fo the var which holds the mapping parameter of an mapping entry */
    -00196   UNS32 *    pMappingParameter = NULL;  
    -00197   UNS8  *    pTransmissionType = NULL; /* pointer to the transmission type */
    -00198   UNS32 *    pwCobId = NULL;
    -00199   UNS8       Size;
    -00200   UNS8       dataType;
    -00201   UNS8       offset;
    -00202   UNS8       status;
    -00203   UNS32      objDict;
    -00204   UNS16      offsetObjdict;
    -00205   UNS16      lastIndex;
    -00206   status = state1;
    -00207  
    -00208   MSG_WAR(0x3935, "proceedPDO, cobID : ", ((*m).cob_id.w & 0x7ff)); 
    -00209   offset = 0x00;
    -00210   numPdo = 0;
    -00211   numMap = 0;
    -00212   if((*m).rtr == NOT_A_REQUEST ) { /* The PDO received is not a request. */
    -00213     offsetObjdict = d->firstIndex->PDO_RCV;
    -00214     lastIndex = d->lastIndex->PDO_RCV;
    -00215     
    -00216     /* study of all the PDO stored in the dictionary */   
    -00217     if(offsetObjdict)
    -00218             while (offsetObjdict <= lastIndex) {
    -00219                         
    -00220               switch( status ) {
    -00221                                                 
    -00222                 case state1:    /* data are stored in process_var array */
    -00223                   /* memcpy(&(process_var.data), &m->data, (*m).len); */
    -00224                   /* Ce memcpy devrait être portable. */
    -00225                   for ( i = 0 ; i < m->len ; i++) 
    -00226                     d->process_var.data[i] = m->data[i];
    -00227                   d->process_var.count = (*m).len;
    -00228         
    -00229                   status = state2; 
    -00230                   break;
    -00231         
    -00232                 case state2:
    -00233                   /* get CobId of the dictionary correspondant to the received PDO */
    -00234                   pwCobId = d->objdict[offsetObjdict].pSubindex[1].pObject; 
    -00235                   /* check the CobId coherance */
    -00236                   /*pwCobId is the cobId read in the dictionary at the state 3 */
    -00237                   if ( *pwCobId == (*m).cob_id.w ){
    -00238                     /* The cobId is recognized */
    -00239                     status = state4;
    -00240                     MSG_WAR(0x3936, "cobId found at index ", 0x1400 + numPdo);
    -00241                     break;
    -00242                   }
    -00243                   else {
    -00244                     /* cobId received does not match with those write in the dictionnary */
    -00245                     numPdo++;
    -00246                     offsetObjdict++;
    -00247                     status = state2;
    -00248                     break;
    -00249                   }
    -00250         
    -00251                 case state4:    /* get mapped objects number */
    -00252                   /* The cobId of the message received has been found in the dictionnary. */
    -00253                   offsetObjdict = d->firstIndex->PDO_RCV_MAP;
    -00254                   lastIndex = d->lastIndex->PDO_RCV_MAP;
    -00255                   pMappingCount = (d->objdict + offsetObjdict + numPdo)->pSubindex[0].pObject;    
    -00256                   numMap = 0;
    -00257                   while (numMap < *pMappingCount) {
    -00258                         UNS8 tmp[]= {0,0,0,0,0,0,0,0};
    -00259                         UNS8 ByteSize;
    -00260                     pMappingParameter = (d->objdict + offsetObjdict + numPdo)->pSubindex[numMap + 1].pObject;
    -00261                     if (pMappingParameter == NULL) {
    -00262                       MSG_ERR(0x1937, "Couldn't get mapping parameter : ", numMap + 1); 
    -00263                       return 0xFF;
    -00264                     }
    -00265                         /* Get the addresse of the mapped variable. */
    -00266                     /* detail of *pMappingParameter : */
    -00267                     /* The 16 hight bits contains the index, the medium 8 bits contains the subindex, */
    -00268                     /* and the lower 8 bits contains the size of the mapped variable. */
    -00269                     
    -00270                     Size = (UNS8)(*pMappingParameter);
    -00271                         
    -00272                         /* copy bit per bit in little endian */
    -00273                         CopyBits(Size, (UNS8*)&d->process_var.data[offset>>3], offset%8, 0, ((UNS8*)tmp), 0, 0);
    -00274                         
    -00275                         ByteSize = 1 + ((Size - 1) >> 3); /*1->8 => 1 ; 9->16 => 2, ... */
    -00276                         
    -00277                     objDict = setODentry(d, (UNS16)((*pMappingParameter) >> 16),
    -00278                                             (UNS8)(((*pMappingParameter) >> 8 ) & 0xFF),
    -00279                                                 tmp, &ByteSize, 0 );
    -00280                                                 
    -00281                     if(objDict != OD_SUCCESSFUL) {
    -00282                       MSG_ERR(0x1938, "error accessing to the mapped var : ", numMap + 1);  
    -00283                       MSG_WAR(0x2939, "         Mapped at index : ", (*pMappingParameter) >> 16);
    -00284                       MSG_WAR(0x2940, "                subindex : ", ((*pMappingParameter) >> 8 ) & 0xFF);
    -00285                       return 0xFF;
    -00286                     }
    -00287 
    -00288                     MSG_WAR(0x3942, "Variable updated with value received by PDO cobid : ", m->cob_id.w);  
    -00289                     MSG_WAR(0x3943, "         Mapped at index : ", (*pMappingParameter) >> 16);
    -00290                     MSG_WAR(0x3944, "                subindex : ", ((*pMappingParameter) >> 8 ) & 0xFF);
    -00291                     /* MSG_WAR(0x3945, "                data : ",*((UNS32 *)pMappedAppObject)); */
    -00292                     offset += Size;
    -00293                     numMap++;
    -00294                   } /* end loop while on mapped variables */
    -00295                   
    -00296                   offset=0x00;          
    -00297                   numMap = 0;
    -00298                   return 0;
    -00299                   
    -00300               }/* end switch status     */       
    -00301             }/* end while       */
    -00302   }/* end if Donnees */
    -00303 
    -00304 
    -00305   else if ((*m).rtr == REQUEST ){  
    -00306       MSG_WAR(0x3946, "Receive a PDO request cobId : ", m->cob_id.w);
    -00307       status = state1;
    -00308       offsetObjdict = d->firstIndex->PDO_TRS;
    -00309       lastIndex = d->lastIndex->PDO_TRS;
    -00310       if(offsetObjdict) while( offsetObjdict  <= lastIndex ){ 
    -00311         /* study of all PDO stored in the objects dictionary */
    -00312 
    -00313         switch( status ){
    +00106 UNS8 buildPDO(CO_Data* d, UNS16 index)
    +00107 { /* DO NOT USE MSG_ERR because the macro may send a PDO -> infinite loop if it fails. */       
    +00108   UNS16 ind;
    +00109   UNS8      subInd;
    +00110 
    +00111   UNS8 *     pMappingCount = NULL;      /* count of mapped objects... */
    +00112   /* pointer to the var which is mapped to a pdo */
    +00113 /*  void *     pMappedAppObject = NULL;  */
    +00114   /* pointer fo the var which holds the mapping parameter of an mapping entry  */ 
    +00115  
    +00116   UNS32 *    pMappingParameter = NULL;
    +00117 
    +00118   UNS8      Size;
    +00119   UNS8      dataType;
    +00120   UNS8      offset;
    +00121   UNS16     offsetObjdict;
    +00122   UNS16     offsetObjdictPrm;
    +00123   UNS32     objDict;
    +00124 
    +00125   subInd=(UNS8)0x00;
    +00126   offset = 0x00;
    +00127   ind = index - 0x1800;
    +00128 
    +00129   MSG_WAR(0x3910,"Prepare PDO to send index :", index);
    +00130 
    +00132   if( d->nodeState != Operational ) {
    +00133     MSG_WAR(0x2911, "Unable to send the PDO (node not in OPERATIONAL mode). Node : ", index);
    +00134     return 0xFF;
    +00135   }
    +00136   offsetObjdictPrm = d->firstIndex->PDO_TRS;
    +00137   offsetObjdict = d->firstIndex->PDO_TRS_MAP;
    +00138 
    +00139   if (offsetObjdictPrm && offsetObjdict)
    +00140     {
    +00142       pMappingCount = (d->objdict + offsetObjdict + ind)->pSubindex[0].pObject;
    +00143       MSG_WAR(0x3912, "Nb maped objects : ",* pMappingCount);
    +00144       MSG_WAR(0x3913, "        at index : ", 0x1A00 + ind);
    +00145       while (subInd < *pMappingCount) { 
    +00147         pMappingParameter = (d->objdict + offsetObjdict + ind)->pSubindex[subInd + 1].pObject;
    +00148         MSG_WAR(0x3914, "Get the mapping      at index : ", (UNS16)0x1A00 + ind);
    +00149         MSG_WAR(0x3915, "                     subIndex : ", subInd + 1);
    +00150         MSG_WAR(0x3916, "                     value    : ", *(UNS32 *)pMappingParameter);
    +00152         Size = ((UNS8)(((*pMappingParameter) & 0xFF) >> 3));
    +00153         objDict = getODentry(d, (UNS16)((*pMappingParameter) >> 16),
    +00154                              (UNS8)(((*pMappingParameter) >> 8 ) & 0x000000FF),
    +00155                              (void *)&d->process_var.data[offset], &Size, &dataType, 0 );
    +00156 
    +00157         if (objDict != OD_SUCCESSFUL) {
    +00158           MSG_WAR(0x2919, "error accessing to the mapped var : ", subInd + 1);
    +00159           MSG_WAR(0x2920, "         Mapped at index : ", (*pMappingParameter) >> 16);
    +00160           MSG_WAR(0x2921, "                subindex : ", ((*pMappingParameter) >> 8 ) & 0xFF);
    +00161           return 0xFF;
    +00162         }
    +00163 
    +00164         offset += Size;
    +00165         d->process_var.count = offset;
    +00166         subInd++;
    +00167       }
    +00168     }
    +00169   return 0;
    +00170 }
    +00171 #endif
    +00172 
    +00181 UNS8 sendPDOrequest( CO_Data* d, UNS32 cobId )
    +00182 {
    +00183   UNS32 * pwCobId;
    +00184   UNS16          offset;
    +00185   UNS16          lastIndex;
    +00186   UNS8           err;
    +00187 
    +00188   MSG_WAR(0x3930, "sendPDOrequest ",0);
    +00192   offset = d->firstIndex->PDO_RCV;
    +00193   lastIndex = d->lastIndex->PDO_RCV;
    +00194   if (offset)
    +00195     while (offset <= lastIndex) {
    +00197       pwCobId = d->objdict[offset].pSubindex[1].pObject;
    +00198 
    +00199       if ( *pwCobId  == cobId ) {
    +00200         s_PDO pdo;
    +00201         pdo.cobId = *pwCobId;
    +00202         pdo.len = 0;
    +00203         err  = sendPDO(d, pdo, REQUEST);
    +00204         return err;
    +00205       }
    +00206       offset++;
    +00207     }
    +00208   MSG_WAR(0x1931, "sendPDOrequest : COBID not found : ", cobId);
    +00209   return 0xFF;
    +00210 }
    +00211 
    +00212 
    +00221 UNS8 proceedPDO(CO_Data* d, Message *m)
    +00222 {
    +00223   UNS8   numPdo;
    +00224   UNS8   numMap;  
    +00225   UNS8 i;
    +00226   UNS8 *     pMappingCount = NULL;    
    +00231   UNS32 *    pMappingParameter = NULL;
    +00232   UNS8  *    pTransmissionType = NULL; 
    +00234   UNS32 *    pwCobId = NULL;
    +00235   UNS8       Size;
    +00236   UNS8       dataType;
    +00237   UNS8       offset;
    +00238   UNS8       status;
    +00239   UNS32      objDict;
    +00240   UNS16      offsetObjdict;
    +00241   UNS16      lastIndex;
    +00242   status = state1;
    +00243 
    +00244   MSG_WAR(0x3935, "proceedPDO, cobID : ", ((*m).cob_id.w & 0x7ff));
    +00245   offset = 0x00;
    +00246   numPdo = 0;
    +00247   numMap = 0;
    +00248   if((*m).rtr == NOT_A_REQUEST ) { 
    +00250     offsetObjdict = d->firstIndex->PDO_RCV;
    +00251     lastIndex = d->lastIndex->PDO_RCV;
    +00252 
    +00254     if(offsetObjdict)
    +00255       while (offsetObjdict <= lastIndex) {
    +00256 
    +00257         switch( status ) {
    +00258 
    +00259         case state1:
    +00262           for ( i = 0 ; i < m->len ; i++)
    +00263             d->process_var.data[i] = m->data[i];
    +00264           d->process_var.count = (*m).len;
    +00265 
    +00266           status = state2;
    +00267           break;
    +00268 
    +00269         case state2:
    +00272           pwCobId = d->objdict[offsetObjdict].pSubindex[1].pObject;
    +00276           if ( *pwCobId == (*m).cob_id.w ){
    +00278             status = state4;
    +00279             MSG_WAR(0x3936, "cobId found at index ", 0x1400 + numPdo);
    +00280             break;
    +00281           }
    +00282           else {
    +00285             numPdo++;
    +00286             offsetObjdict++;
    +00287             status = state2;
    +00288             break;
    +00289           }
    +00290 
    +00291             case state4:
    +00294                offsetObjdict = d->firstIndex->PDO_RCV_MAP;
    +00295              lastIndex = d->lastIndex->PDO_RCV_MAP;
    +00296              pMappingCount = (d->objdict + offsetObjdict + numPdo)->pSubindex[0].pObject;
    +00297              numMap = 0;
    +00298              while (numMap < *pMappingCount) {
    +00299                UNS8 tmp[]= {0,0,0,0,0,0,0,0};
    +00300                UNS8 ByteSize;
    +00301                pMappingParameter = (d->objdict + offsetObjdict + numPdo)->pSubindex[numMap + 1].pObject;
    +00302                if (pMappingParameter == NULL) {
    +00303                  MSG_ERR(0x1937, "Couldn't get mapping parameter : ", numMap + 1);
    +00304                  return 0xFF;
    +00305                }
    +00313                Size = (UNS8)(*pMappingParameter);
     00314 
    -00315         case state1:    /* check the CobId */
    -00316                         /* get CobId of the dictionary which match to the received PDO */
    -00317           pwCobId = (d->objdict + offsetObjdict)->pSubindex[1].pObject;   
    -00318           if ( *pwCobId == (*m).cob_id.w ) {
    -00319             status = state4;
    -00320             break;
    -00321           }
    -00322           else {
    -00323             numPdo++;
    -00324             offsetObjdict++;
    -00325           }
    -00326           status = state1;
    -00327           break;
    -00328 
    -00329 
    -00330         case state4:    /* check transmission type (after request?) */
    -00331           pTransmissionType = d->objdict[offsetObjdict].pSubindex[2].pObject;
    -00332           if ( (*pTransmissionType == TRANS_RTR) || (*pTransmissionType == TRANS_RTR_SYNC ) || (*pTransmissionType == TRANS_EVENT) ) {
    -00333             status = state5;
    -00334             break;
    -00335           }
    -00336           else {
    -00337             /* The requested PDO is not to send on request. So, does nothing. */
    -00338             MSG_WAR(0x2947, "PDO is not to send on request : ", m->cob_id.w);
    -00339             return 0xFF;
    -00340           }
    -00341 
    -00342         case state5:    /* get mapped objects number */
    -00343           offsetObjdict = d->firstIndex->PDO_TRS_MAP;
    -00344           lastIndex = d->lastIndex->PDO_TRS_MAP;
    -00345           pMappingCount = (d->objdict + offsetObjdict + numPdo)->pSubindex[0].pObject;
    -00346           numMap = 0;
    -00347           while (numMap < *pMappingCount) {
    -00348             pMappingParameter = (d->objdict + offsetObjdict + numPdo)->pSubindex[numMap + 1].pObject;
    -00349             /* Get the mapped variable */
    -00350             Size = ((UNS8)(((*pMappingParameter) & 0xFF) >> 3)); 
    -00351             objDict = getODentry( d, (UNS16)((*pMappingParameter) >> (UNS8)16), 
    -00352                                      (UNS8)(( (*pMappingParameter) >> (UNS8)8 ) & 0xFF),
    -00353                                      (void *)&d->process_var.data[offset], &Size, &dataType, 0 );
    -00354             if (objDict != OD_SUCCESSFUL) {
    -00355               MSG_ERR(0x1948, "error accessing to the mapped var : ", numMap + 1);  
    -00356               MSG_WAR(0x2949, "         Mapped at index : ", (*pMappingParameter) >> 16);
    -00357               MSG_WAR(0x2950, "                subindex : ", ((*pMappingParameter) >> 8 ) & 0xFF);
    -00358               return 0xFF;
    -00359             }
    -00360             offset += (UNS8) (((*pMappingParameter) & 0xFF) >> 3);
    -00361             d->process_var.count = offset;
    -00362             numMap++;
    -00363 
    -00364           } /* end while */
    -00365           PDOmGR( d, *pwCobId ); /* Transmit the PDO */
    -00366           return 0;
    -00367 
    -00368         }/* end switch status */
    -00369       }/* end while      */                     
    -00370     }/* end if Requete */
    -00371                 
    -00372   return 0;
    -00373 }
    -00374 
    -00375 
    -00376 void CopyBits(UNS8 NbBits, UNS8* SrcByteIndex, UNS8 SrcBitIndex, UNS8 SrcBigEndian, UNS8* DestByteIndex, UNS8 DestBitIndex, UNS8 DestBigEndian)
    -00377 {
    -00378         //This loop copy as many bits that it can each time, crossing successively bytes
    -00379         // boundaries from LSB to MSB.
    -00380         while(NbBits > 0)
    -00381         {
    -00382                 // Bit missalignement between src and dest
    -00383                 INTEGER8 Vect = DestBitIndex - SrcBitIndex;
    -00384                 
    -00385                 // We can now get src and align it to dest
    -00386                 UNS8 Aligned = Vect>0 ? *SrcByteIndex << Vect : *SrcByteIndex >> -Vect;
    -00387                 
    -00388                 // Compute the nb of bit we will be able to copy
    -00389                 UNS8 BoudaryLimit = (Vect>0 ? 8 - DestBitIndex :  8 - SrcBitIndex );
    -00390                 UNS8 BitsToCopy = BoudaryLimit > NbBits ? NbBits : BoudaryLimit;
    -00391 
    -00392                 // Create a mask that will serve in:
    -00393                 UNS8 Mask = ((0xff << (DestBitIndex + BitsToCopy)) | (0xff >> (8 - DestBitIndex)));
    -00394 
    -00395                 // - Filtering src
    -00396                 UNS8 Filtered = Aligned & ~Mask;
    -00397 
    -00398                 // - and erase bits where we write, preserve where we don't
    -00399                 *DestByteIndex &= Mask;
    -00400 
    -00401                 // Then write.
    -00402                 *DestByteIndex |= Filtered ;
    -00403 
    -00404                 //Compute next time cursors for src
    -00405                 if((SrcBitIndex += BitsToCopy)>7)       // cross boundary ?
    -00406                 {
    -00407                         SrcBitIndex = 0;                                                        // First bit
    -00408                         SrcByteIndex += (SrcBigEndian ? -1 : 1);        // Next byte
    -00409                 }
    -00410 
    -00411                 //Compute next time cursors for dest
    -00412                 if((DestBitIndex += BitsToCopy)>7)
    -00413                 {
    -00414                         DestBitIndex = 0;                                                       // First bit
    -00415                         DestByteIndex += (DestBigEndian ? -1 : 1);// Next byte
    -00416                 }
    -00417                 
    -00418                 //And decrement counter.
    -00419                 NbBits -= BitsToCopy;
    -00420         }
    -00421 
    -00422 }
    -00423 
    -00424 #if 0
    -00425 
    -00426 /*********************************************************************/
    -00427 /* TODO : reimplement this using CallBacks                           */
    -00428 /*********************************************************************/
    -00429 
    -00430 UNS8 sendPDOevent( CO_Data* d, void * variable )
    -00431 { /* DO NOT USE MSG_ERR because the macro may send a PDO -> infinite loop if it fails.  */
    -00432   UNS32           objDict = 0;
    -00433   UNS8            ind, sub_ind;
    -00434   UNS8            status; 
    -00435   UNS8            offset;
    -00436   UNS8 *     pMappingCount = NULL;
    -00437   UNS32 *    pMappingParameter = NULL;
    -00438   void *     pMappedAppObject = NULL;
    -00439   UNS8 *     pTransmissionType = NULL; /* pointer to the transmission type */
    -00440   UNS32 *    pwCobId = NULL;
    -00441   UNS8 *     pSize;
    -00442   UNS8       size;
    -00443   UNS8       dataType;
    -00444   UNS16      offsetObjdict;
    -00445   UNS16      offsetObjdictPrm;
    -00446   UNS16      lastIndex;
    -00447   UNS8       numMap;
    -00448   ind     = 0x00;
    -00449   sub_ind = 1; 
    -00450   offset  = 0x00;
    -00451   pSize   = &size;
    -00452   status  = state1;
    -00453 
    -00454   /* look for the index and subindex where the variable is mapped */
    -00455   /* Then, send the pdo which contains the variable. */
    -00456 
    -00457   MSG_WAR (0x3960, "sendPDOevent", 0);
    -00458   offsetObjdictPrm = d->firstIndex->PDO_TRS;
    -00459   
    -00460   offsetObjdict = d->firstIndex->PDO_TRS_MAP;
    -00461   lastIndex = d->lastIndex->PDO_TRS_MAP;
    -00462 
    -00463   if (offsetObjdictPrm && offsetObjdict) 
    -00464           /* Loop on PDO Transmit */
    -00465           while(offsetObjdict <= lastIndex){
    -00466             /* Check the transmission mode */
    -00467             pTransmissionType = d->objdict[offsetObjdictPrm].pSubindex[2].pObject;
    -00468             if (*pTransmissionType != TRANS_EVENT) {
    -00469               ind++;
    -00470               offsetObjdict++;  
    -00471               offsetObjdictPrm++;
    -00472               continue;
    -00473             }
    -00474             pMappingCount = d->objdict[offsetObjdict].pSubindex[0].pObject; 
    -00475             numMap = 1; /* mapped variable */
    -00476             while (numMap <= *pMappingCount) {
    -00477               pMappingParameter = d->objdict[offsetObjdict].pSubindex[numMap].pObject;
    -00478               /* Get the variable */
    -00479               objDict = getODentry( d,
    -00480                                     (UNS16)((*pMappingParameter) >> 16), 
    -00481                                     (UNS8)(( (*pMappingParameter) >> (UNS8)8 ) & (UNS32)0x000000FF),
    -00482                                     (void * *)&pMappedAppObject, pSize, &dataType, 0 );
    -00483               if( objDict != OD_SUCCESSFUL ) {  
    -00484                 MSG_WAR(0x2961, "Error in dict. at index : ", 
    -00485                         (*pMappingParameter) >> (UNS8)16);
    -00486               
    -00487                 MSG_WAR(0x2962, "               subindex : ", 
    -00488                         ((*pMappingParameter) >> (UNS8)8 ) & (UNS32)0x000000FF);
    -00489                 return 0xFF;
    -00490               }
    -00491               if (pMappedAppObject == variable) { // Variable found !
    -00492                 MSG_WAR(0x3963, "Variable to send found at index : ", 
    -00493                         (*pMappingParameter) >> 16);
    -00494                 MSG_WAR(0x3964, "                       subIndex : ", 
    -00495                         ((*pMappingParameter) >> 8 ) & 0x000000FF);
    -00496                 buildPDO(d, 0x1800 + ind);
    -00497                 /* Get the cobId */
    -00498                 pwCobId = d->objdict[offsetObjdictPrm].pSubindex[1].pObject;
    -00499                 PDOmGR( d, *pwCobId ); /* Send the PDO */
    -00500                 return 0;           
    -00501               }
    -00502               numMap++;
    -00503             } /* End loop on mapped variable */
    -00504             ind++;      
    -00505             offsetObjdict++;  
    -00506             offsetObjdictPrm++;
    -00507           } /* End loop while on PDO */
    -00508 
    -00509   MSG_WAR(0x2965, "Variable not found in a PDO to send on event", 0);
    -00510   return 0xFF;
    -00511 
    -00512 }
    -00513 #endif
    -

    Generated on Mon Jun 4 17:09:26 2007 for CanFestival by  +00316 CopyBits(Size, (UNS8*)&d->process_var.data[offset>>3], offset%8, 0, ((UNS8*)tmp), 0, 0); +00317 +00318 ByteSize = 1 + ((Size - 1) >> 3); /*1->8 => 1 ; 9->16 => +00319 2, ... */ +00320 +00321 objDict = setODentry(d, (UNS16)((*pMappingParameter) >> 16), +00322 (UNS8)(((*pMappingParameter) >> 8 ) & 0xFF), +00323 tmp, &ByteSize, 0 ); +00324 +00325 if(objDict != OD_SUCCESSFUL) { +00326 MSG_ERR(0x1938, "error accessing to the mapped var : ", numMap + 1); +00327 MSG_WAR(0x2939, " Mapped at index : ", (*pMappingParameter) >> 16); +00328 MSG_WAR(0x2940, " subindex : ", ((*pMappingParameter) >> 8 ) & 0xFF); +00329 return 0xFF; +00330 } +00331 +00332 MSG_WAR(0x3942, "Variable updated with value received by PDO cobid : ", m->cob_id.w); +00333 MSG_WAR(0x3943, " Mapped at index : ", (*pMappingParameter) >> 16); +00334 MSG_WAR(0x3944, " subindex : ", ((*pMappingParameter) >> 8 ) & 0xFF); +00336 offset += Size; +00337 numMap++; +00338 } +00340 offset=0x00; +00341 numMap = 0; +00342 return 0; +00343 +00344 } +00345 } +00346 } +00347 else if ((*m).rtr == REQUEST ){ +00348 MSG_WAR(0x3946, "Receive a PDO request cobId : ", m->cob_id.w); +00349 status = state1; +00350 offsetObjdict = d->firstIndex->PDO_TRS; +00351 lastIndex = d->lastIndex->PDO_TRS; +00352 if(offsetObjdict) while( offsetObjdict <= lastIndex ){ +00355 switch( status ){ +00356 +00357 case state1: +00360 pwCobId = (d->objdict + offsetObjdict)->pSubindex[1].pObject; +00361 if ( *pwCobId == (*m).cob_id.w ) { +00362 status = state4; +00363 break; +00364 } +00365 else { +00366 numPdo++; +00367 offsetObjdict++; +00368 } +00369 status = state1; +00370 break; +00371 +00372 +00373 case state4: +00374 pTransmissionType = d->objdict[offsetObjdict].pSubindex[2].pObject; +00375 if ( (*pTransmissionType == TRANS_RTR) || (*pTransmissionType == TRANS_RTR_SYNC ) || (*pTransmissionType == TRANS_EVENT) ) { +00376 status = state5; +00377 break; +00378 } +00379 else { +00382 MSG_WAR(0x2947, "PDO is not to send on request : ", m->cob_id.w); +00383 return 0xFF; +00384 } +00385 +00386 case state5: +00387 offsetObjdict = d->firstIndex->PDO_TRS_MAP; +00388 lastIndex = d->lastIndex->PDO_TRS_MAP; +00389 pMappingCount = (d->objdict + offsetObjdict + numPdo)->pSubindex[0].pObject; +00390 numMap = 0; +00391 while (numMap < *pMappingCount) { +00392 pMappingParameter = (d->objdict + offsetObjdict + numPdo)->pSubindex[numMap + 1].pObject; +00394 Size = ((UNS8)(((*pMappingParameter) & 0xFF) >> 3)); +00395 objDict = getODentry( d, (UNS16)((*pMappingParameter) >> (UNS8)16), +00396 (UNS8)(( (*pMappingParameter) >> (UNS8)8 ) & 0xFF), +00397 (void *)&d->process_var.data[offset], &Size, &dataType, 0 ); +00398 if (objDict != OD_SUCCESSFUL) { +00399 MSG_ERR(0x1948, "error accessing to the mapped var : ", numMap + 1); +00400 MSG_WAR(0x2949, " Mapped at index : ", (*pMappingParameter) >> 16); +00401 MSG_WAR(0x2950, " subindex : ", ((*pMappingParameter) >> 8 ) & 0xFF); +00402 return 0xFF; +00403 } +00404 offset += (UNS8) (((*pMappingParameter) & 0xFF) >> 3); +00405 d->process_var.count = offset; +00406 numMap++; +00407 +00408 } +00409 PDOmGR( d, *pwCobId ); +00410 return 0; +00411 +00412 } +00413 } +00414 } +00416 return 0; +00417 } +00418 +00430 void CopyBits(UNS8 NbBits, UNS8* SrcByteIndex, UNS8 SrcBitIndex, UNS8 SrcBigEndian, UNS8* DestByteIndex, UNS8 DestBitIndex, UNS8 DestBigEndian) +00431 { +00434 // boundaries from LSB to MSB. +00435 while(NbBits > 0) +00436 { +00438 INTEGER8 Vect = DestBitIndex - SrcBitIndex; +00439 +00441 UNS8 Aligned = Vect>0 ? *SrcByteIndex << Vect : *SrcByteIndex >> -Vect; +00442 +00444 UNS8 BoudaryLimit = (Vect>0 ? 8 - DestBitIndex : 8 - SrcBitIndex ); +00445 UNS8 BitsToCopy = BoudaryLimit > NbBits ? NbBits : BoudaryLimit; +00446 +00448 UNS8 Mask = ((0xff << (DestBitIndex + BitsToCopy)) | (0xff >> (8 - DestBitIndex))); +00449 +00451 UNS8 Filtered = Aligned & ~Mask; +00452 +00454 *DestByteIndex &= Mask; +00455 +00457 *DestByteIndex |= Filtered ; +00458 +00460 if((SrcBitIndex += BitsToCopy)>7) +00461 { +00462 SrcBitIndex = 0; +00463 SrcByteIndex += (SrcBigEndian ? -1 : 1); +00464 } +00465 +00466 +00468 if((DestBitIndex += BitsToCopy)>7) +00469 { +00470 DestBitIndex = 0; +00471 DestByteIndex += (DestBigEndian ? -1 : 1); +00472 } +00473 +00475 NbBits -= BitsToCopy; +00476 } +00477 +00478 } +00479 +00480 #if 0 +00481 +00482 /*********************************************************************/ +00483 /* TODO : reimplement this using CallBacks +00484 */ +00485 /*********************************************************************/ +00486 +00495 UNS8 sendPDOevent( CO_Data* d, void * variable ) +00496 { +00498 UNS32 objDict = 0; +00499 UNS8 ind, sub_ind; +00500 UNS8 status; +00501 UNS8 offset; +00502 UNS8 * pMappingCount = NULL; +00503 UNS32 * pMappingParameter = NULL; +00504 void * pMappedAppObject = NULL; +00505 UNS8 * pTransmissionType = NULL; +00507 UNS32 * pwCobId = NULL; +00508 UNS8 * pSize; +00509 UNS8 size; +00510 UNS8 dataType; +00511 UNS16 offsetObjdict; +00512 UNS16 offsetObjdictPrm; +00513 UNS16 lastIndex; +00514 UNS8 numMap; +00515 ind = 0x00; +00516 sub_ind = 1; +00517 offset = 0x00; +00518 pSize = &size; +00519 status = state1; +00520 +00521 +00525 MSG_WAR (0x3960, "sendPDOevent", 0); +00526 offsetObjdictPrm = d->firstIndex->PDO_TRS; +00527 +00528 offsetObjdict = d->firstIndex->PDO_TRS_MAP; +00529 lastIndex = d->lastIndex->PDO_TRS_MAP; +00530 +00531 if (offsetObjdictPrm && offsetObjdict) +00533 while(offsetObjdict <= lastIndex){ +00535 pTransmissionType = d->objdict[offsetObjdictPrm].pSubindex[2].pObject; +00536 if (*pTransmissionType != TRANS_EVENT) { +00537 ind++; +00538 offsetObjdict++; +00539 offsetObjdictPrm++; +00540 continue; +00541 } +00542 pMappingCount = d->objdict[offsetObjdict].pSubindex[0].pObject; +00543 numMap = 1; +00544 while (numMap <= *pMappingCount) { +00545 pMappingParameter = d->objdict[offsetObjdict].pSubindex[numMap].pObject; +00547 objDict = getODentry( d, +00548 (UNS16)((*pMappingParameter) >> 16), +00549 (UNS8)(( (*pMappingParameter) >> (UNS8)8 ) & (UNS32)0x000000FF), +00550 (void * *)&pMappedAppObject, pSize, &dataType, 0 ); +00551 if( objDict != OD_SUCCESSFUL ) { +00552 MSG_WAR(0x2961, "Error in dict. at index : ", +00553 (*pMappingParameter) >> (UNS8)16); +00554 +00555 MSG_WAR(0x2962, " subindex : ", +00556 ((*pMappingParameter) >> (UNS8)8 ) & (UNS32)0x000000FF); +00557 return 0xFF; +00558 } +00559 if (pMappedAppObject == variable) { // Variable found ! +00560 MSG_WAR(0x3963, "Variable to send found at index : ", +00561 (*pMappingParameter) >> 16); +00562 MSG_WAR(0x3964, " subIndex : ", +00563 ((*pMappingParameter) >> 8 ) & 0x000000FF); +00564 buildPDO(d, 0x1800 + ind); +00566 pwCobId = d->objdict[offsetObjdictPrm].pSubindex[1].pObject; +00567 PDOmGR( d, *pwCobId ); +00568 return 0; +00569 } +00570 numMap++; +00571 } +00572 ind++; +00573 offsetObjdict++; +00574 offsetObjdictPrm++; +00575 } +00577 MSG_WAR(0x2965, "Variable not found in a PDO to send on event", 0); +00578 return 0xFF; +00579 +00580 } +00581 #endif +00582 +00583 +00584 +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c.html --- a/doc/doxygen/html/pdo_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/pdo_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -20,6 +20,9 @@ #include "canfestival.h"

    +Include dependency graph for pdo.c:

    + +

    Go to the source code of this file. @@ -34,7 +37,12 @@

    Functions

    void CopyBits (UNS8 NbBits, UNS8 *SrcByteIndex, UNS8 SrcBitIndex, UNS8 SrcBigEndian, UNS8 *DestByteIndex, UNS8 DestBitIndex, UNS8 DestBigEndian)
    -


    Function Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Tue Jun 5 09:32:32 2007
    + +

    +Definition in file pdo.c.


    Function Documentation

    @@ -91,9 +99,44 @@

    - -

    -Definition at line 376 of file pdo.c. +

    Parameters:
    + + + + + + + + +
    NbBits 
    SrcByteIndex 
    SrcBitIndex 
    SrcBigEndian 
    DestByteIndex 
    DestBitIndex 
    DestBigEndian 
    +
    + +

    +This loop copy as many bits that it can each time, crossing

    +successively bytes

    +Bit missalignement between src and dest

    +We can now get src and align it to dest

    +Compute the nb of bit we will be able to copy

    +Create a mask that will serve in:

    +

      +
    • Filtering src
    +

    +

      +
    • and erase bits where we write, preserve where we don't
    +

    +Then write.

    +Compute next time cursors for src

    +cross boundary ?

    +First bit

    +Next byte

    +Compute next time cursors for dest

    +First bit

    +Next byte

    +And decrement counter. +

    +Definition at line 430 of file pdo.c. +

    +Referenced by proceedPDO(), and proceedSYNC().

    @@ -122,11 +165,30 @@

    - -

    -Definition at line 61 of file pdo.c. -

    -References sendPDO(). +PDO Manager

    +

    Parameters:
    + + + +
    d 
    cobId 
    +
    +
    Returns:
    + +

    +if PDO is waiting for transmission, preparation of the message to send

    +memcpy(&(pdo.data), &(process_var.data), pdo.len); +

    +Definition at line 79 of file pdo.c. +

    +References sendPDO(). +

    +Referenced by proceedPDO(), and proceedSYNC(). +

    +Here is the call graph for this function:

    + + + +

    @@ -155,11 +217,74 @@

    - -

    -Definition at line 187 of file pdo.c. -

    -References CopyBits(), getODentry(), PDOmGR(), and setODentry(). +

    Parameters:
    + + + +
    d 
    m 
    +
    +
    Returns:
    + +

    +Number of the mapped varable

    +count of mapped objects...

    +pointer to the var which is mapped to a pdo...

    +void * pMappedAppObject = NULL;

    +pointer fo the var which holds the mapping parameter of an mapping entry

    +pointer to the transmission type

    +The PDO received is not a request.

    +study of all the PDO stored in the dictionary

    +data are stored in process_var array

    +memcpy(&(process_var.data), &m->data, (*m).len);

    +Ce memcpy devrait etre portable

    +get CobId of the dictionary correspondant to the received PDO

    +check the CobId coherance

    +pwCobId is the cobId read in the dictionary at the state 3

    +The cobId is recognized

    +cobId received does not match with those write in the dictionnary

    +Get Mapped Objects Number

    +The cobId of the message received has been found in the dictionnary.

    +Get the addresse of the mapped variable.

    +detail of *pMappingParameter :

    +The 16 hight bits contains the index, the medium 8 bits contains the subindex,

    +and the lower 8 bits contains the size of the mapped variable.

    +copy bit per bit in little endian

    +MSG_WAR(0x3945, " data : ",*((UNS32*)pMappedAppObject));

    +end loop while on mapped variables

    +end switch status

    +end while

    +end if Donnees

    +study of all PDO stored in the objects dictionary

    +check the CobId

    +get CobId of the dictionary which match to the received PDO

    +check transmission type (after request?)

    +The requested PDO is not to send on request. So, does nothing.

    +get mapped objects number

    +Get the mapped variable

    +end while

    +Transmit the PDO

    +end switch status

    +end while

    +end if Requete +

    +Definition at line 221 of file pdo.c. +

    +References CopyBits(), getODentry(), PDOmGR(), and setODentry(). +

    +Referenced by canDispatch(). +

    +Here is the call graph for this function:

    + + + + + + + + + + +

    @@ -196,7 +321,9 @@

    -Definition at line 27 of file pdo.c. +Definition at line 37 of file pdo.c. +

    +Referenced by PDOmGR(), and sendPDOrequest().

    @@ -225,14 +352,31 @@

    - -

    -Definition at line 154 of file pdo.c. -

    -References sendPDO(). -

    -

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Parameters:
    + + + +
    d 
    cobId 
    +
    +
    Returns:
    + +

    +Sending the request only if the cobid have been found on the PDO receive

    +part dictionary

    +get the CobId +

    +Definition at line 181 of file pdo.c. +

    +References sendPDO(). +

    +Here is the call graph for this function:

    + + + + + +

    +


    Generated on Tue Jun 5 18:32:07 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.dot --- a/doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sendPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210 140,6 223,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.md5 --- a/doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -d9054120ba09995a49ab9d6af708d53a \ No newline at end of file +da563ac541376a3c461f365523b93a27 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.png Binary file doc/doxygen/html/pdo_8c_298b8291fa35cca22264cf8a70bf138a_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c__incl.dot --- a/doc/doxygen/html/pdo_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/pdo.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="def.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="config.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$config_8h.html"]; - Node2 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node9 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node10 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node9 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node12 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node13 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node14 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node15 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node9 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node17 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node18 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node19 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node20 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/pdo_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c__incl.md5 --- a/doc/doxygen/html/pdo_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/pdo_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -2c695d6646cd7fd5492355ca09cc282a \ No newline at end of file +064750cf6db84bededd5a8dcc467c2cb \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c__incl.png Binary file doc/doxygen/html/pdo_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.dot --- a/doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedPDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendPDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,9 @@ +base referer +rect $pdo_8c.html#e468510c9f77f502207d961d26389918 171,6 251,30 +rect $objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac 162,54 260,78 +rect $pdo_8c.html#298b8291fa35cca22264cf8a70bf138a 170,102 252,126 +rect $objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0 162,150 260,174 +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 311,54 418,78 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 468,102 636,126 +rect $pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210 323,102 406,126 +rect $objacces_8c.html#72f69950be4a1352fc78648c71454820 311,150 418,174 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.md5 --- a/doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -d1bfb77e36c53b39deb075f5cf74ee08 \ No newline at end of file +77426dd044ebd223ddd53546cba2abc3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.png Binary file doc/doxygen/html/pdo_8c_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.dot --- a/doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendPDOrequest",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sendPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210 191,6 273,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.md5 --- a/doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -8b19e828f0c2422b165c9f326411fbf1 \ No newline at end of file +19b11cf7c41e6afe5c5710d68d21aef4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.png Binary file doc/doxygen/html/pdo_8c_cc08547009d3d2755d2291999941694c_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_d9a4a4f0a4ef48866c6184ccbd30f210_cgraph.dot --- a/doc/doxygen/html/pdo_8c_d9a4a4f0a4ef48866c6184ccbd30f210_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendPDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8c_d9a4a4f0a4ef48866c6184ccbd30f210_cgraph.md5 --- a/doc/doxygen/html/pdo_8c_d9a4a4f0a4ef48866c6184ccbd30f210_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -671b90d4a7a25167157aa7716f9a726f \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h-source.html --- a/doc/doxygen/html/pdo_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/pdo.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/pdo.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __pdo_h__
    -00024 #define __pdo_h__
    -00025 
    -00026 #include <applicfg.h>
    -00027 #include <def.h>
    -00028 
    -00029 /* The process_var structure
    -00030  Used to store the PDO before the transmission or the reception.
    -00031 */
    -00032 typedef struct struct_s_process_var {
    -00033   UNS8 count; /* Size of data. Ex : for a PDO of 6 bytes of data, count = 6 */
    -00034   /* WARNING s_process_var.data is subject to ENDIANISATION 
    -00035    * (with respect to CANOPEN_BIG_ENDIAN)
    -00036    */
    -00037   UNS8 data[PDO_MAX_LEN];
    -00038 }s_process_var;
    -00039 
    -00040 #include "data.h"
    -00041 
    -00043 typedef struct struct_s_PDO {
    -00044   UNS32 cobId;    /* COB-ID */
    -00045   UNS8           len;     /* Number of data transmitted (in data[]) */
    -00046   UNS8           data[8]; /* Contain the data */
    -00047 }s_PDO;
    -00048 
    -00055 UNS8 sendPDO (CO_Data* d, s_PDO pdo, UNS8 request);
    -00056 
    -00064 UNS8 PDOmGR (CO_Data* d, UNS32 cobId);
    -00065 
    -00071 UNS8 buildPDO (CO_Data* d, UNS16 index);
    -00072 
    -00078 UNS8 sendPDOrequest (CO_Data* d, UNS32 cobId);
    -00079 
    -00084 UNS8 proceedPDO (CO_Data* d, Message *m);
    -00085 
    -00086 /* used by the application to send a variable by PDO.
    -00087  * Check in which PDO the variable is mapped, and send the PDO. 
    -00088  * of course, the others variables mapped in the PDO are also sent !
    -00089  * ( ie when a specific event occured)
    -00090  * bus_id is hardware dependant
    -00091  * variable is a pointer to the variable which has to be sent. Must be
    -00092  * defined in the object dictionary
    -00093  * return 0xFF if error, else return 0
    -00094  */
    -00095 UNS8 sendPDOevent (CO_Data* d, void * variable);
    -00096 
    -00097 /* copy bit per bit in little endian */
    -00098 void CopyBits(UNS8 NbBits, UNS8* SrcByteIndex, UNS8 SrcBitIndex, UNS8 SrcBigEndian, UNS8* DestByteIndex, UNS8 DestBitIndex, UNS8 DestBigEndian);
    -00099 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h.html --- a/doc/doxygen/html/pdo_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,348 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/pdo.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/pdo.h File Reference

    #include <applicfg.h>
    -#include <def.h>
    -#include "data.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    struct  struct_s_process_var
    struct  struct_s_PDO

    Typedefs

    typedef struct_s_process_var s_process_var
    typedef struct_s_PDO s_PDO

    Functions

    UNS8 sendPDO (CO_Data *d, s_PDO pdo, UNS8 request)
    UNS8 PDOmGR (CO_Data *d, UNS32 cobId)
    UNS8 buildPDO (CO_Data *d, UNS16 index)
    UNS8 sendPDOrequest (CO_Data *d, UNS32 cobId)
    UNS8 proceedPDO (CO_Data *d, Message *m)
    UNS8 sendPDOevent (CO_Data *d, void *variable)
    void CopyBits (UNS8 NbBits, UNS8 *SrcByteIndex, UNS8 SrcBitIndex, UNS8 SrcBigEndian, UNS8 *DestByteIndex, UNS8 DestBitIndex, UNS8 DestBigEndian)
    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef struct struct_s_PDO s_PDO
    -
    -
    - -

    -The PDO structure -

    -

    - -

    -
    - - - - -
    typedef struct struct_s_process_var s_process_var
    -
    -
    - -

    - -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 buildPDO (CO_Data d,
    UNS16  index 
    )
    -
    -
    - -

    -Prepare the PDO defined at index to be sent by PDOmGR Copy all the data to transmit in process_var *pwCobId : returns the value of the cobid. (subindex 1) Return 0 or 0xFF if error. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void CopyBits (UNS8  NbBits,
    UNS8 *  SrcByteIndex,
    UNS8  SrcBitIndex,
    UNS8  SrcBigEndian,
    UNS8 *  DestByteIndex,
    UNS8  DestBitIndex,
    UNS8  DestBigEndian 
    )
    -
    -
    - -

    - -

    -Definition at line 376 of file pdo.c. -

    -References INTEGER8, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 PDOmGR (CO_Data d,
    UNS32  cobId 
    )
    -
    -
    - -

    -Prepare a PDO frame transmission, whose different parameters are stored in process_var table, to the slave. bus_id is hardware dependant call the function sendPDO return the result of the function sendPDO or 0xFF if error -

    -Definition at line 61 of file pdo.c. -

    -References struct_s_PDO::cobId, struct_s_process_var::count, struct_s_timer_entry::d, struct_s_process_var::data, struct_s_PDO::data, struct_s_PDO::len, MSG_WAR, NOT_A_REQUEST, struct_CO_Data::process_var, sendPDO(), and UNS8. -

    -

    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 sendPDO (CO_Data d,
    s_PDO  pdo,
    UNS8  request 
    )
    -
    -
    - -

    -Transmit a PDO data frame on the bus bus_id pdo is a structure which contains the pdo to transmit bus_id is hardware dependant return canSend(bus_id,&m) or 0xFF if error request can take the value REQUEST or NOT_A_REQUEST -

    -Definition at line 27 of file pdo.c. -

    -References struct_CO_Data::canHandle, canSend(), Message::cob_id, struct_s_PDO::cobId, struct_s_timer_entry::d, struct_s_PDO::data, Message::data, struct_s_PDO::len, Message::len, MSG_WAR, struct_CO_Data::nodeState, NOT_A_REQUEST, Operational, REQUEST, Message::rtr, UNS8, and SHORT_CAN::w. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 sendPDOevent (CO_Data d,
    void *  variable 
    )
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 sendPDOrequest (CO_Data d,
    UNS32  cobId 
    )
    -
    -
    - -

    -Transmit a PDO request frame on the bus bus_id to the slave. bus_id is hardware dependant Returns 0xFF if error, other in success. -

    -Definition at line 154 of file pdo.c. -

    -References struct_s_PDO::cobId, struct_s_timer_entry::d, struct_CO_Data::firstIndex, struct_CO_Data::lastIndex, struct_s_PDO::len, MSG_WAR, struct_CO_Data::objdict, s_quick_index::PDO_RCV, td_subindex::pObject, td_indextable::pSubindex, REQUEST, sendPDO(), UNS16, UNS32, and UNS8. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h_298b8291fa35cca22264cf8a70bf138a_cgraph.dot --- a/doc/doxygen/html/pdo_8h_298b8291fa35cca22264cf8a70bf138a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sendPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h_298b8291fa35cca22264cf8a70bf138a_cgraph.md5 --- a/doc/doxygen/html/pdo_8h_298b8291fa35cca22264cf8a70bf138a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -3fdb128284081952d91f7fca1f5e3423 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h__dep__incl.dot --- a/doc/doxygen/html/pdo_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/pdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node3 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node3 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node3 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node3 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node7 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node8 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node9 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node3 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node11 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node12 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node3 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node15 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h__dep__incl.md5 --- a/doc/doxygen/html/pdo_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -4c2e36bcb0eeedc18eecf913e910553a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h__incl.dot --- a/doc/doxygen/html/pdo_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="def.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="config.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$config_8h.html"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node8 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node11 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node12 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node14 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node8 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node16 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h__incl.md5 --- a/doc/doxygen/html/pdo_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -76187d11aff9d0462bcc4d5ed81915e7 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h_a6774c219dc64c1cec4b4721ba23e15a_cgraph.dot --- a/doc/doxygen/html/pdo_8h_a6774c219dc64c1cec4b4721ba23e15a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendPDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h_a6774c219dc64c1cec4b4721ba23e15a_cgraph.md5 --- a/doc/doxygen/html/pdo_8h_a6774c219dc64c1cec4b4721ba23e15a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -671b90d4a7a25167157aa7716f9a726f \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.dot --- a/doc/doxygen/html/pdo_8h_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedPDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendPDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.md5 --- a/doc/doxygen/html/pdo_8h_ae7d661cd3ef7adf93a0d08fdb15b7f2_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d1bfb77e36c53b39deb075f5cf74ee08 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h_cc08547009d3d2755d2291999941694c_cgraph.dot --- a/doc/doxygen/html/pdo_8h_cc08547009d3d2755d2291999941694c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendPDOrequest",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sendPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/pdo_8h_cc08547009d3d2755d2291999941694c_cgraph.md5 --- a/doc/doxygen/html/pdo_8h_cc08547009d3d2755d2291999941694c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -8b19e828f0c2422b165c9f326411fbf1 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/ports_8h-source.html --- a/doc/doxygen/html/ports_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,269 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 /* m68hc11/ports.h -- Definition of 68HC11 ports
    -00023    Copyright 1999, 2000 Free Software Foundation, Inc.
    -00024    Written by Stephane Carrez (stcarrez@worldnet.fr)
    -00025 
    -00026 This file is part of GDB, GAS, and the GNU binutils.
    -00027 
    -00028 GDB, GAS, and the GNU binutils are free software; you can redistribute
    -00029 them and/or modify them under the terms of the GNU General Public
    -00030 License as published by the Free Software Foundation; either version
    -00031 1, or (at your option) any later version.
    -00032 
    -00033 GDB, GAS, and the GNU binutils are distributed in the hope that they
    -00034 will be useful, but WITHOUT ANY WARRANTY; without even the implied
    -00035 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
    -00036 the GNU General Public License for more details.
    -00037 
    -00038 You should have received a copy of the GNU General Public License
    -00039 along with this file; see the file COPYING.  If not, write to the Free
    -00040 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    -00041 
    -00042 
    -00043 /* Revised francis.dupin@inrets.fr 2003-07 */
    -00044 
    -00045 #ifndef _M68HC11_PORTS_H
    -00046 #define _M68HC11_PORTS_H
    -00047 
    -00048 
    -00049 
    -00050 #include <asm-m68hc12/ports_def.h>
    -00051 
    -00052 /* Prototypes */
    -00053                  unsigned short get_timer_counter (void);
    -00054 void             set_timer_counter (unsigned short value);
    -00055 void             cop_reset (void);
    -00056 
    -00057 
    -00058 /* Must me adapted to hc12
    -00059 void             timer_acknowledge (void);
    -00060 void             timer_initialize_rate (unsigned char divisor);
    -00061 void             set_bus_expanded (void);
    -00062 void             set_bus_single_chip (void);
    -00063 unsigned short * get_input_capture_1 (void);
    -00064 void             set_input_capture_1 (unsigned short value);
    -00065 unsigned short * get_input_capture_2 (void);
    -00066 void             set_input_capture_2 (unsigned short value);
    -00067 unsigned short * get_input_capture_3 (void);
    -00068 void             set_input_capture_3 (unsigned short value);
    -00069 unsigned short * get_output_compare_1 (void);
    -00070 void             set_output_compare_1 (unsigned short value);
    -00071 unsigned short * get_output_compare_2 (void);
    -00072 void             set_output_compare_2 (unsigned short value);
    -00073 unsigned short * get_output_compare_3 (void);
    -00074 void             set_output_compare_3 (unsigned short value);
    -00075 unsigned short * get_output_compare_4 (void);
    -00076 void             set_output_compare_4 (unsigned short value);
    -00077 unsigned short * get_output_compare_5 (void);
    -00078 void             set_output_compare_5 (unsigned short value);
    -00079 */
    -00080 
    -00081 
    -00082 extern inline unsigned short
    -00083 get_timer_counter (void)
    -00084 {
    -00085   return ((unsigned volatile short*) &_io_ports[TCNTH])[0];
    -00086 }
    -00087 
    -00088 extern inline void
    -00089 set_timer_counter (unsigned short value)
    -00090 {
    -00091   ((unsigned volatile short*) &_io_ports[TCNTH])[0] = value;
    -00092 }
    -00093 
    -00094 
    -00095 /* Reset the COP.  */
    -00096 extern inline void
    -00097 cop_reset (void)
    -00098 {
    -00099   _io_ports[ARMCOP] = 0x55;
    -00100   _io_ports[ARMCOP] = 0xAA;
    -00101 }
    -00102 
    -00103 
    -00104 #if 0
    -00105 /* Acknowledge the timer interrupt.  */
    -00106 extern inline void
    -00107 timer_acknowledge (void)
    -00108 {
    -00109   _io_ports[TFLG2] = 0x80;
    -00110 }
    -00111 
    -00112 /* Initialize the timer.  */
    -00113 extern inline void
    -00114 timer_initialize_rate (unsigned char divisor)
    -00115 {
    -00116   _io_ports[M6811_TMSK2] = M6811_RTII | divisor;
    -00117 }
    -00118 
    -00119 extern inline void
    -00120 cop_optional_reset (void)
    -00121 {
    -00122 #if defined(M6811_USE_COP) && M6811_USE_COP == 1
    -00123   cop_reset ();
    -00124 #endif
    -00125 }
    -00126 
    -00127 /* Set the board in the expanded mode to get access to external bus.  */
    -00128 extern inline void
    -00129 set_bus_expanded (void)
    -00130 {
    -00131   _io_ports[M6811_HPRIO] |= M6811_MDA;
    -00132 }
    -00133 
    -00134 
    -00135 /* Set the board in single chip mode.  */
    -00136 extern inline void
    -00137 set_bus_single_chip (void)
    -00138 {
    -00139   _io_ports[M6811_HPRIO] &= ~M6811_MDA;
    -00140 }
    -00141 
    -00142 extern inline unsigned short
    -00143 get_input_capture_1 (void)
    -00144 {
    -00145   return ((unsigned volatile short*) &_io_ports[M6811_TIC1_H])[0];
    -00146 }
    -00147 
    -00148 extern inline void
    -00149 set_input_capture_1 (unsigned short value)
    -00150 {
    -00151   ((unsigned volatile short*) &_io_ports[M6811_TIC1_H])[0] = value;
    -00152 }
    -00153 
    -00154 extern inline unsigned short
    -00155 get_input_capture_2 (void)
    -00156 {
    -00157   return ((unsigned volatile short*) &_io_ports[M6811_TIC2_H])[0];
    -00158 }
    -00159 
    -00160 extern inline void
    -00161 set_input_capture_2 (unsigned short value)
    -00162 {
    -00163   ((unsigned volatile short*) &_io_ports[M6811_TIC2_H])[0] = value;
    -00164 }
    -00165 
    -00166 extern inline unsigned short
    -00167 get_input_capture_3 (void)
    -00168 {
    -00169   return ((unsigned volatile short*) &_io_ports[M6811_TIC3_H])[0];
    -00170 }
    -00171 
    -00172 extern inline void
    -00173 set_input_capture_3 (unsigned short value)
    -00174 {
    -00175   ((unsigned volatile short*) &_io_ports[M6811_TIC3_H])[0] = value;
    -00176 }
    -00177 
    -00178 /* Get output compare 16-bit register.  */
    -00179 extern inline unsigned short
    -00180 get_output_compare_1 (void)
    -00181 {
    -00182   return ((unsigned volatile short*) &_io_ports[M6811_TOC1_H])[0];
    -00183 }
    -00184 
    -00185 extern inline void
    -00186 set_output_compare_1 (unsigned short value)
    -00187 {
    -00188   ((unsigned volatile short*) &_io_ports[M6811_TOC1_H])[0] = value;
    -00189 }
    -00190 
    -00191 extern inline unsigned short
    -00192 get_output_compare_2 (void)
    -00193 {
    -00194   return ((unsigned volatile short*) &_io_ports[M6811_TOC2_H])[0];
    -00195 }
    -00196 
    -00197 extern inline void
    -00198 set_output_compare_2 (unsigned short value)
    -00199 {
    -00200   ((unsigned volatile short*) &_io_ports[M6811_TOC2_H])[0] = value;
    -00201 }
    -00202 
    -00203 extern inline unsigned short
    -00204 get_output_compare_3 (void)
    -00205 {
    -00206   return ((unsigned volatile short*) &_io_ports[M6811_TOC3_H])[0];
    -00207 }
    -00208 
    -00209 extern inline void
    -00210 set_output_compare_3 (unsigned short value)
    -00211 {
    -00212   ((unsigned volatile short*) &_io_ports[M6811_TOC3_H])[0] = value;
    -00213 }
    -00214 
    -00215 extern inline unsigned short
    -00216 get_output_compare_4 (void)
    -00217 {
    -00218   return ((unsigned volatile short*) &_io_ports[M6811_TOC4_H])[0];
    -00219 }
    -00220 
    -00221 extern inline void
    -00222 set_output_compare_4 (unsigned short value)
    -00223 {
    -00224   ((unsigned volatile short*) &_io_ports[M6811_TOC4_H])[0] = value;
    -00225 }
    -00226 
    -00227 extern inline unsigned short
    -00228 get_output_compare_5 (void)
    -00229 {
    -00230   return ((unsigned volatile short*) &_io_ports[M6811_TOC5_H])[0];
    -00231 }
    -00232 
    -00233 extern inline void
    -00234 set_output_compare_5 (unsigned short value)
    -00235 {
    -00236   ((unsigned volatile short*) &_io_ports[M6811_TOC5_H])[0] = value;
    -00237 }
    -00238 
    -00239 #endif
    -00240 
    -00241 
    -00242 
    -00243 
    -00244 #endif /* _M68HC11_PORTS_H */
    -00245 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/ports_8h.html --- a/doc/doxygen/html/ports_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports.h File Reference

    #include <asm-m68hc12/ports_def.h>
    - -

    -Go to the source code of this file. - - - - - - - - -

    Functions

    unsigned short get_timer_counter (void)
    void set_timer_counter (unsigned short value)
    void cop_reset (void)
    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    void cop_reset (void   )  [inline]
    -
    -
    - -

    - -

    -Definition at line 97 of file ports.h. -

    -References _io_ports, and ARMCOP. -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short get_timer_counter (void   )  [inline]
    -
    -
    - -

    - -

    -Definition at line 83 of file ports.h. -

    -References _io_ports, and TCNTH. -

    -

    - -

    -
    - - - - - - - - - -
    void set_timer_counter (unsigned short  value  )  [inline]
    -
    -
    - -

    - -

    -Definition at line 89 of file ports.h. -

    -References _io_ports, and TCNTH. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/ports_8h__incl.dot --- a/doc/doxygen/html/ports_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="asm-m68hc12/ports_def.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ports__def_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/ports_8h__incl.md5 --- a/doc/doxygen/html/ports_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -e643f9e939d8c198733c3539a0f26258 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/ports__def_8h-source.html --- a/doc/doxygen/html/ports__def_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,792 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports_def.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports_def.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 /*
    -00023 Definition of the i/o ports of the Motorola HCS12
    -00024 */
    -00025 
    -00026 /*
    -00027 On HCS12, ports are maped by default at 0X0000. (see ports.s)
    -00028 It can also be done at link stage with an option in
    -00029 command line : for example to map at 0X8000
    -00030 --defsym _io_ports8=0X8000 --defsym _io_ports16=0X8000
    -00031 Or in the file memory.x :
    -00032 PROVIDE (_io_ports8 = 0X8000);
    -00033 PROVIDE (_io_ports16 = 0X8000);
    -00034 (see portsaccess.h)
    -00035 I wonder if the value in INITRG must not be changed too 
    -00036 at run time.
    -00037 */
    -00038 
    -00039 #ifndef __HCS12_PORTS__
    -00040 #define __HCS12_PORTS__
    -00041 
    -00042 #define  PORTA     0x0000        
    -00043 #define  PORTB     0x0001    
    -00044 #define  DDRA      0x0002    
    -00045 #define  DDRB      0x0003    
    -00046 
    -00047 #define  PORTE     0x0008    
    -00048 #define  DDRE      0x0009    
    -00049 #define  PEAR      0x000A    
    -00050 #define  MODE      0x000B    
    -00051 #define  PUCR      0x000C    
    -00052 #define  RDRIV     0x000D    
    -00053 #define  EBICTL    0x000E    
    -00054 
    -00055 #define  INITRM    0x0010    
    -00056 #define  INITRG    0x0011    
    -00057 #define  INITEE    0x0012    
    -00058 #define  MISC      0x0013    
    -00059 #define  MTST0     0x0014    
    -00060 #define  ITCR      0x0015    
    -00061 #define  ITEST     0x0016    
    -00062 #define  MTST1     0x0017    
    -00063 
    -00064 #define  PARTIDH   0x001A    
    -00065 #define  PARTIDL   0x001B    
    -00066 #define  MEMSIZ0   0x001C    
    -00067 #define  MEMSIZ1   0x001D    
    -00068 #define  INTCR     0x001E    
    -00069 #define  HPRIO     0x001F    
    -00070 
    -00071 #define  BKPCT0    0x0028    
    -00072 #define  BKPCT1    0x0029    
    -00073 #define  BKP0X     0x002A    
    -00074 #define  BKP0H     0x002B    
    -00075 #define  BKP0L     0x002C    
    -00076 #define  BKP1X     0x002D    
    -00077 #define  BKP1H     0x002E    
    -00078 #define  BKP1L     0x002F    
    -00079 #define  PPAGE     0x0030    
    -00080 
    -00081 #define  PORTK     0x0032    
    -00082 #define  DDRK      0x0033    
    -00083 #define  SYNR      0x0034    
    -00084 #define  REFDV     0x0035    
    -00085 #define  CTFLG     0x0036    
    -00086 #define  CRGFLG    0x0037    
    -00087 #define  CRGINT    0x0038    
    -00088 #define  CLKSEL    0x0039    
    -00089 #define  PLLCTL    0x003A    
    -00090 #define  RTICTL    0x003B    
    -00091 #define  COPCTL    0x003C    
    -00092 #define  FORBYP    0x003D    
    -00093 #define  CTCTL     0x003E 
    -00094 #define  ARMCOP    0x003F    
    -00095 #define  TIOS      0x0040    
    -00096 #define  TCFORC    0x0041    
    -00097 #define  TOC7M     0x0042    
    -00098 #define  TOC7D     0x0043    
    -00099 #define  TCNTH     0x0044
    -00100 #define  TCNTL     0x0045
    -00101 #define  TSCR1     0x0046    
    -00102 #define  TTOV      0x0047    
    -00103 #define  TCTL1     0x0048    
    -00104 #define  TCTL2     0x0049    
    -00105 #define  TCTL3     0x004A    
    -00106 #define  TCTL4     0x004B    
    -00107 #define  TIE       0x004C    
    -00108 #define  TSCR2     0x004D    
    -00109 #define  TFLG1     0x004E    
    -00110 #define  TFLG2     0x004F    
    -00111 #define  TC0H      0x0050
    -00112 #define  TC0L      0x0051
    -00113 #define  TC1H      0x0052
    -00114 #define  TC1L      0x0053
    -00115 #define  TC2H      0x0054
    -00116 #define  TC2L      0x0055
    -00117 #define  TC3H      0x0056
    -00118 #define  TC3L      0x0057
    -00119 #define  TC4H      0x0058
    -00120 #define  TC4L      0x0059
    -00121 #define  TC5H      0x005A
    -00122 #define  TC5L      0x005B
    -00123 #define  TC6H      0x005C
    -00124 #define  TC6L      0x005D
    -00125 #define  TC7H      0x005E
    -00126 #define  TC7L      0x005F
    -00127 #define  PACTL     0x0060    
    -00128 #define  PAFLG     0x0061    
    -00129 #define  PACN3H    0x0062
    -00130 #define  PACN2L    0x0063
    -00131 #define  PACN1H    0x0064
    -00132 #define  PACN0L    0x0065
    -00133 #define  MCCTL     0x0066    
    -00134 #define  MCFLG     0x0067    
    -00135 #define  ICPAR     0x0068    
    -00136 #define  DLYCT     0x0069    
    -00137 #define  ICOVW     0x006A    
    -00138 #define  ICSYS     0x006B    
    -00139 
    -00140 #define  TIMTST    0x006D    
    -00141 
    -00142 #define  PBCTL     0x0070    
    -00143 #define  PBFLG     0x0071    
    -00144 #define  PA3H      0x0072    
    -00145 #define  PA2H      0x0073    
    -00146 #define  PA1H      0x0074    
    -00147 #define  PA0H      0x0075    
    -00148 #define  MCCNTH    0x0076
    -00149 #define  MCCNTL    0x0077
    -00150 #define  TC0HH     0x0078
    -00151 #define  TC0HL     0x0079
    -00152 #define  TC1HH     0x007A
    -00153 #define  TC1HL     0x007B
    -00154 #define  TC2HH     0x007C
    -00155 #define  TC2HL     0x007D
    -00156 #define  TC3HH     0x007E
    -00157 
    -00158 #define  ATD0CTL0  0x0080    
    -00159 #define  ATD00CTL1 0x0081     
    -00160 #define  ATD0CTL2  0x0082     
    -00161 #define  ATD0CTL3  0x0083    
    -00162 #define  ATD0CTL4  0x0084    
    -00163 #define  ATD0CTL5  0x0085    
    -00164 #define  ATD0STAT0 0x0086    
    -00165 #define  ATD0STAT1 0x0087    
    -00166 #define  ATD0TEST0 0x0088    
    -00167 #define  ATD0TEST1 0x0089    
    -00168 
    -00169 #define  ATD0DIEN  0x008D    
    -00170 
    -00171 #define  PORTAD0   0x008F    
    -00172 #define  ATD0DR0H  0x0090    
    -00173 #define  ATD0DR0L  0x0091    
    -00174 #define  ATD0DR1H  0x0092    
    -00175 #define  ATD0DR1L  0x0093    
    -00176 #define  ATD0DR2H  0x0094    
    -00177 #define  ATD0DR2L  0x0095    
    -00178 #define  ATD0DR3H  0x0096   
    -00179 #define  ATD0DR3L  0x0097    
    -00180 #define  ATD0DR4H  0x0098    
    -00181 #define  ATD0DR4L  0x0099    
    -00182 #define  ATD0DR5H  0x009A    
    -00183 #define  ATD0DR5L  0x009B    
    -00184 #define  ATD0DR6H  0x009C    
    -00185 #define  ATD0DR6L  0x009D    
    -00186 #define  ATD0DR7H  0x009E    
    -00187 #define  ATD0DR7L  0x009F    
    -00188 #define  PWME      0x00A0    
    -00189 #define  PWMPOL    0x00A1    
    -00190 #define  PWMCLK    0x00A2    
    -00191 #define  PWMPRCLK  0x00A3    
    -00192 #define  PWMCAE    0x00A4    
    -00193 #define  PWMCTL    0x00A5    
    -00194 #define  PWMTST    0x00A6    
    -00195 #define  PWMPRSC   0x00A7    
    -00196 #define  PWMSCLA   0x00A8    
    -00197 #define  PWMSCLB   0x00A9    
    -00198 #define  PWMSCNTA  0x00AA    
    -00199 #define  PWMSCNTB  0x00AB    
    -00200 #define  PWMCNT0   0x00AC    
    -00201 #define  PWMCNT1   0x00AD    
    -00202 #define  PWMCNT2   0x00AE    
    -00203 #define  PWMCNT3   0x00AF    
    -00204 #define  PWMCNT4   0x00B0    
    -00205 #define  PWMCNT5   0x00B1    
    -00206 #define  PWMCNT6   0x00B2    
    -00207 #define  PWMCNT7   0x00B3    
    -00208 #define  PWMPER0   0x00B4    
    -00209 #define  PWMPER1   0x00B5    
    -00210 #define  PWMPER2   0x00B6    
    -00211 #define  PWMPER3   0x00B7    
    -00212 #define  PWMPER4   0x00B8    
    -00213 #define  PWMPER5   0x00B9    
    -00214 #define  PWMPER6   0x00BA    
    -00215 #define  PWMPER7   0x00BB    
    -00216 #define  PWMDTY0   0x00BC    
    -00217 #define  PWMDTY1   0x00BD    
    -00218 #define  PWMDTY2   0x00BE    
    -00219 #define  PWMDTY3   0x00BF    
    -00220 #define  PWMDTY4   0x00C0    
    -00221 #define  PWMDTY5   0x00C1    
    -00222 #define  PWMDTY6   0x00C2    
    -00223 #define  PWMDTY7   0x00C3    
    -00224 #define  PWMSDN    0x00C4   
    -00225 
    -00226 #define  SCI0BDH   0x00C8    
    -00227 #define  SCI0BDL   0x00C9    
    -00228 #define  SC0CR1    0x00CA    
    -00229 #define  SCI0CR2   0x00CB    
    -00230 #define  SCI0SR1   0x00CC    
    -00231 #define  SC0SR2    0x00CD    
    -00232 #define  SCI0DRH   0x00CE    
    -00233 #define  SCI0DRL   0x00CF    
    -00234 #define  SCI1BDH   0x00D0    
    -00235 #define  SCI1BDL   0x00D1    
    -00236 #define  SC1CR1    0x00D2    
    -00237 #define  SCI1CR2   0x00D3    
    -00238 #define  SCI1SR1   0x00D4    
    -00239 #define  SC1SR2    0x00D5    
    -00240 #define  SCI1DRH   0x00D6    
    -00241 #define  SCI1DRL   0x00D7    
    -00242 #define  SPI0CR1   0x00D8    
    -00243 #define  SPI0CR2   0x00D9    
    -00244 #define  SPI0BR    0x00DA    
    -00245 #define  SPI0SR    0x00DB   
    -00246 
    -00247 #define  SPI0DR    0x00DD    
    -00248 
    -00249 #define  IBAD      0x00E0    
    -00250 #define  IBFD      0x00E1    
    -00251 #define  IBCR      0x00E2    
    -00252 #define  IBSR      0x00E3    
    -00253 #define  IICDR     0x00E4    
    -00254 
    -00255 #define  DLCBCR1   0x00E8    
    -00256 #define  DLCBSVR   0x00E9    
    -00257 #define  DLCBCR2   0x00EA    
    -00258 #define  DLCBDR    0x00EB    
    -00259 #define  DLCBARD   0x00EC    
    -00260 #define  DLCBRSR   0x00ED    
    -00261 #define  DLCSCR    0x00EE    
    -00262 #define  DLCBSTAT  0x00EF    
    -00263 #define  SPI1CR1   0x00F0    
    -00264 #define  SPI1CR2   0x00F1    
    -00265 #define  SPI1BR    0x00F2  
    -00266 #define  SPI1SR    0x00F3    
    -00267 
    -00268 #define  SPI1DR    0x00F5    
    -00269 
    -00270 #define  SPI2CR1   0x00F8    
    -00271 #define  SPI2CR2   0x00F9    
    -00272 #define  SPI2BR    0x00FA    
    -00273 #define  SPI2SR    0x00FB    
    -00274 
    -00275 #define  SPI2DR    0x00FD    
    -00276 
    -00277 #define  FCLKDIV   0x0100     
    -00278 #define  FSEC      0x0101    
    -00279 
    -00280 #define  FCNFG     0x0103    
    -00281 #define  FPROT     0x0104    
    -00282 #define  FSTAT     0x0105    
    -00283 #define  FCMD      0x0106    
    -00284 
    -00285 #define  ECLKDIV   0x0110   
    -00286 
    -00287 #define  ECNFG     0x0113    
    -00288 #define  EPROT     0x0114    
    -00289 #define  ESTAT     0x0115    
    -00290 #define  ECMD      0x0116    
    -00291 
    -00292 #define  ATD1CTL0  0x0120    
    -00293 #define  ATD1CTL1  0x0121    
    -00294 #define  ATD1CTL2  0x0122    
    -00295 #define  ATD1CTL3  0x0123    
    -00296 #define  ATD1CTL4  0x0124    
    -00297 #define  ATD1CTL5  0x0125    
    -00298 #define  ATD1STAT0 0x0126    
    -00299 #define  ATD1STAT1 0x0127    
    -00300 #define  ATD1TEST0 0x0128    
    -00301 #define  ATD1TEST1 0x0129    
    -00302 
    -00303 #define  ATDDIEN   0x012D    
    -00304 
    -00305 #define  PORTAD1   0x012F    
    -00306 #define  ATD1DR0H  0x0130    
    -00307 #define  ATD1DR0L  0x0131    
    -00308 #define  ATD1DR1H  0x0132    
    -00309 #define  ATD1DR1L  0x0133    
    -00310 #define  ATD1DR2H  0x0134    
    -00311 #define  ATD1DR2L  0x0135    
    -00312 #define  ATD1DR3H  0x0136   
    -00313 #define  ATD1DR3L  0x0137    
    -00314 #define  ATD1DR4H  0x0138    
    -00315 #define  ATD1DR4L  0x0139    
    -00316 #define  ATD1DR5H  0x013A    
    -00317 #define  ATD1DR5L  0x013B    
    -00318 #define  ATD1DR6H  0x013C    
    -00319 #define  ATD1DR6L  0x013D    
    -00320 #define  ATD1DR7H  0x013E    
    -00321 #define  ATD1DR7L  0x013F    
    -00322 #define  CAN0CTL0  0x0140    
    -00323 #define  CAN0CTL1  0x0141    
    -00324 #define  CAN0BTR0  0x0142    
    -00325 #define  CAN0BTR1  0x0143    
    -00326 #define  CAN0RFLG  0x0144    
    -00327 #define  CAN0RIER  0x0145    
    -00328 #define  CAN0TFLG  0x0146    
    -00329 #define  CAN0TIER  0x0147    
    -00330 #define  CAN0TARQ  0x0148    
    -00331 #define  CAN0TAAK  0x0149    
    -00332 #define  CAN0TBSEL 0x014A    
    -00333 #define  CAN0IDAC  0x014B    
    -00334 
    -00335 #define  CAN0RXERR 0x014E     
    -00336 #define  CAN0TXERR 0x014F    
    -00337 #define  CAN0IDAR0 0x0150    
    -00338 #define  CAN0IDAR1 0x0151    
    -00339 #define  CAN0IDAR2 0x0152    
    -00340 #define  CAN0IDAR3 0x0153    
    -00341 #define  CAN0IDMR0 0x0154    
    -00342 #define  CAN0IDMR1 0x0155    
    -00343 #define  CAN0IDMR2 0x0156    
    -00344 #define  CAN0IDMR3 0x0157    
    -00345 #define  CAN0IDAR4 0x0158    
    -00346 #define  CAN0IDAR5 0x0159    
    -00347 #define  CAN0IDAR6 0x015A    
    -00348 #define  CAN0IDAR7 0x015B    
    -00349 #define  CAN0IDMR4 0x015C    
    -00350 #define  CAN0IDMR5 0x015D    
    -00351 #define  CAN0IDMR6 0x015E    
    -00352 #define  CAN0IDMR7 0x015F 
    -00353 #define  CAN0RXFG0 0x0160
    -00354 #define  CAN0RXFG1 0x0161
    -00355 #define  CAN0RXFG2 0x0162
    -00356 #define  CAN0RXFG3 0x0163
    -00357 #define  CAN0RXFG4 0x0164
    -00358 #define  CAN0RXFG5 0x0165
    -00359 #define  CAN0RXFG6 0x0166
    -00360 #define  CAN0RXFG7 0x0167
    -00361 #define  CAN0RXFG8 0x0168
    -00362 #define  CAN0RXFG9 0x0169
    -00363 #define  CAN0RXFGA 0x016A
    -00364 #define  CAN0RXFGB 0x016B
    -00365 #define  CAN0RXFGC 0x016C
    -00366 #define  CAN0RXFGD 0x016D
    -00367 #define  CAN0RXFGE 0x016E
    -00368 #define  CAN0RXFGF 0x016F
    -00369 #define  CAN0TXFG0 0x0170
    -00370 #define  CAN0TXFG1 0x0171
    -00371 #define  CAN0TXFG2 0x0172
    -00372 #define  CAN0TXFG3 0x0173
    -00373 #define  CAN0TXFG4 0x0174
    -00374 #define  CAN0TXFG5 0x0175
    -00375 #define  CAN0TXFG6 0x0176
    -00376 #define  CAN0TXFG7 0x0177
    -00377 #define  CAN0TXFG8 0x0178
    -00378 #define  CAN0TXFG9 0x0179
    -00379 #define  CAN0TXFGA 0x017A
    -00380 #define  CAN0TXFGB 0x017B
    -00381 #define  CAN0TXFGC 0x017C
    -00382 #define  CAN0TXFGD 0x017D
    -00383 #define  CAN0TXFGE 0x017E
    -00384 #define  CAN0TXFGF 0x017F 
    -00385    
    -00386 #define  CAN1CTL0  0x0180    
    -00387 #define  CAN1CTL1  0x0181    
    -00388 #define  CAN1BTR0  0x0182      
    -00389 #define  CAN1BTR1  0x0183    
    -00390 #define  CAN1RFLG  0x0184    
    -00391 #define  CAN1RIER  0x0185    
    -00392 #define  CAN1TFLG  0x0186    
    -00393 #define  CAN1TIER  0x0187    
    -00394 #define  CAN1TARQ  0x0188    
    -00395 #define  CAN1TAAK  0x0189    
    -00396 #define  CAN1TBSEL 0x018A    
    -00397 #define  CAN1IDAC  0x018B      
    -00398 #define  CAN1RXERR 0x018E    
    -00399 #define  CAN1TXERR 0x018F    
    -00400 #define  CAN1IDAR0 0x0190    
    -00401 #define  CAN1IDAR1 0x0191    
    -00402 #define  CAN1IDAR2 0x0192    
    -00403 #define  CAN1IDAR3 0x0193    
    -00404 #define  CAN1IDMR0 0x0194    
    -00405 #define  CAN1IDMR1 0x0195    
    -00406 #define  CAN1IDMR2 0x0196    
    -00407 #define  CAN1IDMR3 0x0197    
    -00408 #define  CAN1IDAR4 0x0198    
    -00409 #define  CAN1IDAR5 0x0199   
    -00410 #define  CAN1IDAR6 0x019A    
    -00411 #define  CAN1IDAR7 0x019B    
    -00412 #define  CAN1IDMR4 0x019C    
    -00413 #define  CAN1IDMR5 0x019D    
    -00414 #define  CAN1IDMR6 0x019E    
    -00415 #define  CAN1IDMR7 0x019F
    -00416 
    -00417 #define  CAN1RXFG0 0x01A0
    -00418 #define  CAN1RXFG1 0x01A1
    -00419 #define  CAN1RXFG2 0x01A2
    -00420 #define  CAN1RXFG3 0x01A3
    -00421 #define  CAN1RXFG4 0x01A4
    -00422 #define  CAN1RXFG5 0x01A5
    -00423 #define  CAN1RXFG6 0x01A6
    -00424 #define  CAN1RXFG7 0x01A7
    -00425 #define  CAN1RXFG8 0x01A8
    -00426 #define  CAN1RXFG9 0x01A9
    -00427 #define  CAN1RXFGA 0x01AA
    -00428 #define  CAN1RXFGB 0x01AB
    -00429 #define  CAN1RXFGC 0x01AC
    -00430 #define  CAN1RXFGD 0x01AD
    -00431 #define  CAN1RXFGE 0x01AE
    -00432 #define  CAN1RXFGF 0x01AF
    -00433 #define  CAN1TXFG0 0x01B0
    -00434 #define  CAN1TXFG1 0x01B1
    -00435 #define  CAN1TXFG2 0x01B2
    -00436 #define  CAN1TXFG3 0x01B3
    -00437 #define  CAN1TXFG4 0x01B4
    -00438 #define  CAN1TXFG5 0x01B5
    -00439 #define  CAN1TXFG6 0x01B6
    -00440 #define  CAN1TXFG7 0x01B7
    -00441 #define  CAN1TXFG8 0x01B8
    -00442 #define  CAN1TXFG9 0x01B9
    -00443 #define  CAN1TXFGA 0x01BA
    -00444 #define  CAN1TXFGB 0x01BB
    -00445 #define  CAN1TXFGC 0x01BC
    -00446 #define  CAN1TXFGD 0x01BD
    -00447 #define  CAN1TXFGE 0x01BE
    -00448 #define  CAN1TXFGF 0x01BF   
    -00449 #define  CAN2CTL0  0x01C0    
    -00450 #define  CAN2CTL1  0x01C1    
    -00451 #define  CAN2BTR0  0x01C2    
    -00452 #define  CAN2BTR1  0x01C3    
    -00453 #define  CAN2RFLG  0x01C4    
    -00454 #define  CAN2RIER  0x01C5    
    -00455 #define  CAN2TFLG  0x01C6    
    -00456 #define  CAN2TIER  0x01C7    
    -00457 #define  CAN2TARQ  0x01C8    
    -00458 #define  CAN2TAAK  0x01C9    
    -00459 #define  CAN2TBSEL 0x01CA    
    -00460 #define  CAN2IDAC  0x01CB    
    -00461 
    -00462 #define  CAN2RXERR 0x01CE   
    -00463 #define  CAN2TXERR 0x01CF     
    -00464 #define  CAN2IDAR0 0x01D0    
    -00465 #define  CAN2IDAR1 0x01D1    
    -00466 #define  CAN2IDAR2 0x01D2    
    -00467 #define  CAN2IDAR3 0x01D3    
    -00468 #define  CAN2IDMR0 0x01D4    
    -00469 #define  CAN2IDMR1 0x01D5    
    -00470 #define  CAN2IDMR2 0x01D6    
    -00471 #define  CAN2IDMR3 0x01D7    
    -00472 #define  CAN2IDAR4 0x01D8    
    -00473 #define  CAN2IDAR5 0x01D9    
    -00474 #define  CAN2IDAR6 0x01DA    
    -00475 #define  CAN2IDAR7 0x01DB    
    -00476 #define  CAN2IDMR4 0x01DC    
    -00477 #define  CAN2IDMR5 0x01DD    
    -00478 #define  CAN2IDMR6 0x01DE    
    -00479 #define  CAN2IDMR7 0x01DF
    -00480 #define  CAN2RXFG0 0x01E0
    -00481 #define  CAN2RXFG1 0x01E1
    -00482 #define  CAN2RXFG2 0x01E2
    -00483 #define  CAN2RXFG3 0x01E3
    -00484 #define  CAN2RXFG4 0x01E4
    -00485 #define  CAN2RXFG5 0x01E5
    -00486 #define  CAN2RXFG6 0x01E6
    -00487 #define  CAN2RXFG7 0x01E7
    -00488 #define  CAN2RXFG8 0x01E8
    -00489 #define  CAN2RXFG9 0x01E9
    -00490 #define  CAN2RXFGA 0x01EA
    -00491 #define  CAN2RXFGB 0x01EB
    -00492 #define  CAN2RXFGC 0x01EC
    -00493 #define  CAN2RXFGD 0x01ED
    -00494 #define  CAN2RXFGE 0x01EE
    -00495 #define  CAN2RXFGF 0x01EF
    -00496 #define  CAN2TXFG0 0x01F0
    -00497 #define  CAN2TXFG1 0x01F1
    -00498 #define  CAN2TXFG2 0x01F2
    -00499 #define  CAN2TXFG3 0x01F3
    -00500 #define  CAN2TXFG4 0x01F4
    -00501 #define  CAN2TXFG5 0x01F5
    -00502 #define  CAN2TXFG6 0x01F6
    -00503 #define  CAN2TXFG7 0x01F7
    -00504 #define  CAN2TXFG8 0x01F8
    -00505 #define  CAN2TXFG9 0x01F9
    -00506 #define  CAN2TXFGA 0x01FA
    -00507 #define  CAN2TXFGB 0x01FB
    -00508 #define  CAN2TXFGC 0x01FC
    -00509 #define  CAN2TXFGD 0x01FD
    -00510 #define  CAN2TXFGE 0x01FE
    -00511 #define  CAN2TXFGF 0x01FF
    -00512 
    -00513 #define  CAN3CTL0  0x0200    
    -00514 #define  CAN3CTL1  0x0201    
    -00515 #define  CAN3BTR0  0x0202    
    -00516 #define  CAN3BTR1  0x0203   
    -00517 #define  CAN3RFLG  0x0204    
    -00518 #define  CAN3RIER  0x0205    
    -00519 #define  CAN3TFLG  0x0206    
    -00520 #define  CAN3TIER  0x0207    
    -00521 #define  CAN3TARQ  0x0208    
    -00522 #define  CAN3TAAK  0x0209    
    -00523 #define  CAN3TBSEL 0x020A    
    -00524 #define  CAN3IDAC  0x020B    
    -00525 
    -00526 #define  CAN3RXERR 0x020E    
    -00527 #define  CAN3TXERR 0x020F    
    -00528 #define  CAN3IDAR0 0x0210    
    -00529 #define  CAN3IDAR1 0x0211    
    -00530 #define  CAN3IDAR2 0x0212    
    -00531 #define  CAN3IDAR3 0x0213    
    -00532 #define  CAN3IDMR0 0x0214    
    -00533 #define  CAN3IDMR1 0x0215    
    -00534 #define  CAN3IDMR2 0x0216    
    -00535 #define  CAN3IDMR3 0x0217    
    -00536 #define  CAN3IDAR4 0x0218    
    -00537 #define  CAN3IDAR5 0x0219    
    -00538 #define  CAN3IDAR6 0x021A    
    -00539 #define  CAN3IDAR7 0x021B    
    -00540 #define  CAN3IDMR4 0x021C    
    -00541 #define  CAN3IDMR5 0x021D    
    -00542 #define  CAN3IDMR6 0x021E    
    -00543 #define  CAN3IDMR7 0x021F 
    -00544 
    -00545 #define  CAN3RXFG0 0x0220
    -00546 #define  CAN3RXFG1 0x0221
    -00547 #define  CAN3RXFG2 0x0222
    -00548 #define  CAN3RXFG3 0x0223
    -00549 #define  CAN3RXFG4 0x0224
    -00550 #define  CAN3RXFG5 0x0225
    -00551 #define  CAN3RXFG6 0x0226
    -00552 #define  CAN3RXFG7 0x0227
    -00553 #define  CAN3RXFG8 0x0228
    -00554 #define  CAN3RXFG9 0x0229
    -00555 #define  CAN3RXFGA 0x022A
    -00556 #define  CAN3RXFGB 0x022B
    -00557 #define  CAN3RXFGC 0x022C
    -00558 #define  CAN3RXFGD 0x022D
    -00559 #define  CAN3RXFGE 0x022E
    -00560 #define  CAN3RXFGF 0x022F
    -00561 #define  CAN3TXFG0 0x0230
    -00562 #define  CAN3TXFG1 0x0231
    -00563 #define  CAN3TXFG2 0x0232
    -00564 #define  CAN3TXFG3 0x0233
    -00565 #define  CAN3TXFG4 0x0234
    -00566 #define  CAN3TXFG5 0x0235
    -00567 #define  CAN3TXFG6 0x0236
    -00568 #define  CAN3TXFG7 0x0237
    -00569 #define  CAN3TXFG8 0x0238
    -00570 #define  CAN3TXFG9 0x0239
    -00571 #define  CAN3TXFGA 0x023A
    -00572 #define  CAN3TXFGB 0x023B
    -00573 #define  CAN3TXFGC 0x023C
    -00574 #define  CAN3TXFGD 0x023D
    -00575 #define  CAN3TXFGE 0x023E
    -00576 #define  CAN3TXFGF 0x023F
    -00577 
    -00578 #define  PTT       0x0240    
    -00579 #define  PTIT      0x0241    
    -00580 #define  DDRT      0x0242    
    -00581 #define  RDRT      0x0243    
    -00582 #define  PERT      0x0244    
    -00583 #define  PPST      0x0245    
    -00584 
    -00585 #define  PTS       0x0248    
    -00586 #define  PTIS      0x0249    
    -00587 #define  DDRS      0x024A    
    -00588 #define  RDRS      0x024B    
    -00589 #define  PERS      0x024C    
    -00590 #define  PPSS      0x024D    
    -00591 #define  WOMS      0x024E    
    -00592 
    -00593 #define  PTM       0x0250    
    -00594 #define  PTIM      0x0251    
    -00595 #define  DDRM      0x0252    
    -00596 #define  RDRM      0x0253    
    -00597 #define  PERM      0x0254    
    -00598 #define  PPSM      0x0255    
    -00599 #define  WOMM      0x0256    
    -00600 
    -00601 #define  PTP       0x0258    
    -00602 #define  PTIP      0x0259    
    -00603 #define  DDRP      0x025A    
    -00604 #define  RDRP      0x025B    
    -00605 #define  PERP      0x025C    
    -00606 #define  PPSP      0x025D    
    -00607 #define  PIEP      0x025E    
    -00608 #define  PIFP      0x025F    
    -00609 #define  PTH       0x0260    
    -00610 #define  PTIH      0x0261    
    -00611 #define  DDRH      0x0262    
    -00612 #define  RDRH      0x0263    
    -00613 #define  PERH      0x0264    
    -00614 #define  PPSH      0x0265    
    -00615 #define  PIEH      0x0266  
    -00616 #define  PIFH      0x0267    
    -00617 #define  PTJ       0x0268    
    -00618 #define  PTIJ      0x0269    
    -00619 #define  DDRJ      0x026A    
    -00620 #define  RDRJ      0x026B    
    -00621 #define  PERJ      0x026C    
    -00622 #define  PPSJ      0x026D    
    -00623 #define  PIEJ      0x026E    
    -00624 #define  PIFJ      0x026F    
    -00625 
    -00626 #define  CAN4CTL0  0x0280    
    -00627 #define  CAN4CTL1  0x0281    
    -00628 #define  CAN4BTR0  0x0282    
    -00629 #define  CAN4BTR1  0x0283    
    -00630 #define  CAN4RFLG  0x0284    
    -00631 #define  CAN4RIER  0x0285    
    -00632 #define  CAN4TFLG  0x0286    
    -00633 #define  CAN4TIER  0x0287    
    -00634 #define  CAN4TARQ  0x0288    
    -00635 #define  CAN4TAAK  0x0289    
    -00636 #define  CAN4TBSEL 0x028A    
    -00637 #define  CAN4IDAC  0x028B    
    -00638 
    -00639 #define  CAN4RXERR 0x028E    
    -00640 #define  CAN4TXERR 0x028F    
    -00641 #define  CAN4IDAR0 0x0290    
    -00642 #define  CAN4IDAR1 0x0291    
    -00643 #define  CAN4IDAR2 0x0292    
    -00644 #define  CAN4IDAR3 0x0293    
    -00645 #define  CAN4IDMR0 0x0294    
    -00646 #define  CAN4IDMR1 0x0295    
    -00647 #define  CAN4IDMR2 0x0296    
    -00648 #define  CAN4IDMR3 0x0297    
    -00649 #define  CAN4IDAR4 0x0298    
    -00650 #define  CAN4IDAR5 0x0299    
    -00651 #define  CAN4IDAR6 0x029A    
    -00652 #define  CAN4IDAR7 0x029B    
    -00653 #define  CAN4IDMR4 0x029C    
    -00654 #define  CAN4IDMR5 0x029D    
    -00655 #define  CAN4IDMR6 0x029E    
    -00656 #define  CAN4IDMR7 0x029F  
    -00657 
    -00658 #define  CAN4RXFG0 0x02A0
    -00659 #define  CAN4RXFG1 0x02A1
    -00660 #define  CAN4RXFG2 0x02A2
    -00661 #define  CAN4RXFG3 0x02A3
    -00662 #define  CAN4RXFG4 0x02A4
    -00663 #define  CAN4RXFG5 0x02A5
    -00664 #define  CAN4RXFG6 0x02A6
    -00665 #define  CAN4RXFG7 0x02A7
    -00666 #define  CAN4RXFG8 0x02A8
    -00667 #define  CAN4RXFG9 0x02A9
    -00668 #define  CAN4RXFGA 0x02AA
    -00669 #define  CAN4RXFGB 0x02AB
    -00670 #define  CAN4RXFGC 0x02AC
    -00671 #define  CAN4RXFGD 0x02AD
    -00672 #define  CAN4RXFGE 0x02AE
    -00673 #define  CAN4RXFGF 0x02AF
    -00674 #define  CAN4TXFG0 0x02B0
    -00675 #define  CAN4TXFG1 0x02B1
    -00676 #define  CAN4TXFG2 0x02B2
    -00677 #define  CAN4TXFG3 0x02B3
    -00678 #define  CAN4TXFG4 0x02B4
    -00679 #define  CAN4TXFG5 0x02B5
    -00680 #define  CAN4TXFG6 0x02B6
    -00681 #define  CAN4TXFG7 0x02B7
    -00682 #define  CAN4TXFG8 0x02B8
    -00683 #define  CAN4TXFG9 0x02B9
    -00684 #define  CAN4TXFGA 0x02BA
    -00685 #define  CAN4TXFGB 0x02BB
    -00686 #define  CAN4TXFGC 0x02BC
    -00687 #define  CAN4TXFGD 0x02BD
    -00688 #define  CAN4TXFGE 0x02BE
    -00689 #define  CAN4TXFGF 0x02BF
    -00690 
    -00691 
    -00692 
    -00693 /*********************************************** 
    -00694 Constants for MSCAN
    -00695 ************************************************
    -00696 */
    -00697 
    -00698 #define CAN0      0x0140  /* First address for MSCAN0                    */
    -00699 #define CAN1      0x0180  /* First address for MSCAN1                    */
    -00700 #define CAN2      0x01C0  /* First address for MSCAN2                    */
    -00701 #define CAN3      0x0200  /* First address for MSCAN3                    */
    -00702 #define CAN4      0x0280  /* First address for MSCAN4                    */
    -00703 
    -00704 #define CANCTL0   0X00    /* Control register 0                          */
    -00705 #define CANCTL1   0X01    /* Control register 1                          */
    -00706 #define CANBTR0   0X02    /* Bus timing register 0                       */
    -00707 #define CANBTR1   0X03    /* Bus timing register 1                       */
    -00708 #define CANRFLG   0X04    /* Receiver flag register                      */
    -00709 #define CANRIER   0X05          /* Enable interruptions when reception                   */      
    -00710 #define CANTFLG   0X06    /* Transmit flag register                      */
    -00711 #define CANTIER   0X07          /* Enable interruptions when transmission                */      
    -00712 #define CANTBSEL  0X0A    /* Select foreground buffer for transmit       */
    -00713 #define CANIDAC   0x0B    /* Identifier acceptance control register      */
    -00714 #define CANIDAR0  0x10    
    -00715 #define CANIDAR1  0x11    
    -00716 #define CANIDAR2  0x12    
    -00717 #define CANIDAR3  0x13    
    -00718 #define CANIDMR0  0x14    
    -00719 #define CANIDMR1  0x15    
    -00720 #define CANIDMR2  0x16    
    -00721 #define CANIDMR3  0x17    
    -00722 #define CANIDAR4  0x18    
    -00723 #define CANIDAR5  0x19    
    -00724 #define CANIDAR6  0x1A    
    -00725 #define CANIDAR7  0x1B    
    -00726 #define CANIDMR4  0x1C    
    -00727 #define CANIDMR5  0x1D    
    -00728 #define CANIDMR6  0x1E    
    -00729 #define CANIDMR7  0x1F  
    -00730 
    -00731 /* Received foreground buffer */
    -00732 #define CANRCVID  0x20    /* Base of identifier registers                */
    -00733 #define CANRCVDTA 0x24    /* Base of data       registers                */
    -00734 #define CANRCVLEN 0x2C    /* Data length        register                 */
    -00735 
    -00736 /* Transmit foreground buffer */
    -00737 #define CANTRSID  0x30    /* Base of identifier registers                */
    -00738 #define CANTRSDTA 0x34    /* Base of data       registers                */
    -00739 #define CANTRSLEN 0x3C    /* Data length        register                 */
    -00740 #define CANTRSPRI 0x3D    /* Priority           register                 */     
    -00741 
    -00742 
    -00743 /* Constants for serials port */
    -00744 #define  SCI0      0x00C8
    -00745 #define  SCI1      0x00D0 
    -00746 
    -00747 #define  SCIBDH    0x00   
    -00748 #define  SCIBDL    0x01    
    -00749 #define  SCICR1    0x02    
    -00750 #define  SCICR2    0x03    
    -00751 #define  SCISR1    0x04    
    -00752 #define  SCISR2    0x05    
    -00753 #define  SCIDRH    0x06    
    -00754 #define  SCIDRL    0x07 
    -00755 
    -00756            
    -00757 #endif  /* __HCS12_PORTS__  */     
    -00758                    
    -00759                    
    -00760                    
    -00761                    
    -00762                    
    -00763                    
    -00764                    
    -00765                    
    -00766                    
    -00767                    
    -00768                    
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/ports__def_8h.html --- a/doc/doxygen/html/ports__def_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12533 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports_def.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports_def.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define PORTA   0x0000
    #define PORTB   0x0001
    #define DDRA   0x0002
    #define DDRB   0x0003
    #define PORTE   0x0008
    #define DDRE   0x0009
    #define PEAR   0x000A
    #define MODE   0x000B
    #define PUCR   0x000C
    #define RDRIV   0x000D
    #define EBICTL   0x000E
    #define INITRM   0x0010
    #define INITRG   0x0011
    #define INITEE   0x0012
    #define MISC   0x0013
    #define MTST0   0x0014
    #define ITCR   0x0015
    #define ITEST   0x0016
    #define MTST1   0x0017
    #define PARTIDH   0x001A
    #define PARTIDL   0x001B
    #define MEMSIZ0   0x001C
    #define MEMSIZ1   0x001D
    #define INTCR   0x001E
    #define HPRIO   0x001F
    #define BKPCT0   0x0028
    #define BKPCT1   0x0029
    #define BKP0X   0x002A
    #define BKP0H   0x002B
    #define BKP0L   0x002C
    #define BKP1X   0x002D
    #define BKP1H   0x002E
    #define BKP1L   0x002F
    #define PPAGE   0x0030
    #define PORTK   0x0032
    #define DDRK   0x0033
    #define SYNR   0x0034
    #define REFDV   0x0035
    #define CTFLG   0x0036
    #define CRGFLG   0x0037
    #define CRGINT   0x0038
    #define CLKSEL   0x0039
    #define PLLCTL   0x003A
    #define RTICTL   0x003B
    #define COPCTL   0x003C
    #define FORBYP   0x003D
    #define CTCTL   0x003E
    #define ARMCOP   0x003F
    #define TIOS   0x0040
    #define TCFORC   0x0041
    #define TOC7M   0x0042
    #define TOC7D   0x0043
    #define TCNTH   0x0044
    #define TCNTL   0x0045
    #define TSCR1   0x0046
    #define TTOV   0x0047
    #define TCTL1   0x0048
    #define TCTL2   0x0049
    #define TCTL3   0x004A
    #define TCTL4   0x004B
    #define TIE   0x004C
    #define TSCR2   0x004D
    #define TFLG1   0x004E
    #define TFLG2   0x004F
    #define TC0H   0x0050
    #define TC0L   0x0051
    #define TC1H   0x0052
    #define TC1L   0x0053
    #define TC2H   0x0054
    #define TC2L   0x0055
    #define TC3H   0x0056
    #define TC3L   0x0057
    #define TC4H   0x0058
    #define TC4L   0x0059
    #define TC5H   0x005A
    #define TC5L   0x005B
    #define TC6H   0x005C
    #define TC6L   0x005D
    #define TC7H   0x005E
    #define TC7L   0x005F
    #define PACTL   0x0060
    #define PAFLG   0x0061
    #define PACN3H   0x0062
    #define PACN2L   0x0063
    #define PACN1H   0x0064
    #define PACN0L   0x0065
    #define MCCTL   0x0066
    #define MCFLG   0x0067
    #define ICPAR   0x0068
    #define DLYCT   0x0069
    #define ICOVW   0x006A
    #define ICSYS   0x006B
    #define TIMTST   0x006D
    #define PBCTL   0x0070
    #define PBFLG   0x0071
    #define PA3H   0x0072
    #define PA2H   0x0073
    #define PA1H   0x0074
    #define PA0H   0x0075
    #define MCCNTH   0x0076
    #define MCCNTL   0x0077
    #define TC0HH   0x0078
    #define TC0HL   0x0079
    #define TC1HH   0x007A
    #define TC1HL   0x007B
    #define TC2HH   0x007C
    #define TC2HL   0x007D
    #define TC3HH   0x007E
    #define ATD0CTL0   0x0080
    #define ATD00CTL1   0x0081
    #define ATD0CTL2   0x0082
    #define ATD0CTL3   0x0083
    #define ATD0CTL4   0x0084
    #define ATD0CTL5   0x0085
    #define ATD0STAT0   0x0086
    #define ATD0STAT1   0x0087
    #define ATD0TEST0   0x0088
    #define ATD0TEST1   0x0089
    #define ATD0DIEN   0x008D
    #define PORTAD0   0x008F
    #define ATD0DR0H   0x0090
    #define ATD0DR0L   0x0091
    #define ATD0DR1H   0x0092
    #define ATD0DR1L   0x0093
    #define ATD0DR2H   0x0094
    #define ATD0DR2L   0x0095
    #define ATD0DR3H   0x0096
    #define ATD0DR3L   0x0097
    #define ATD0DR4H   0x0098
    #define ATD0DR4L   0x0099
    #define ATD0DR5H   0x009A
    #define ATD0DR5L   0x009B
    #define ATD0DR6H   0x009C
    #define ATD0DR6L   0x009D
    #define ATD0DR7H   0x009E
    #define ATD0DR7L   0x009F
    #define PWME   0x00A0
    #define PWMPOL   0x00A1
    #define PWMCLK   0x00A2
    #define PWMPRCLK   0x00A3
    #define PWMCAE   0x00A4
    #define PWMCTL   0x00A5
    #define PWMTST   0x00A6
    #define PWMPRSC   0x00A7
    #define PWMSCLA   0x00A8
    #define PWMSCLB   0x00A9
    #define PWMSCNTA   0x00AA
    #define PWMSCNTB   0x00AB
    #define PWMCNT0   0x00AC
    #define PWMCNT1   0x00AD
    #define PWMCNT2   0x00AE
    #define PWMCNT3   0x00AF
    #define PWMCNT4   0x00B0
    #define PWMCNT5   0x00B1
    #define PWMCNT6   0x00B2
    #define PWMCNT7   0x00B3
    #define PWMPER0   0x00B4
    #define PWMPER1   0x00B5
    #define PWMPER2   0x00B6
    #define PWMPER3   0x00B7
    #define PWMPER4   0x00B8
    #define PWMPER5   0x00B9
    #define PWMPER6   0x00BA
    #define PWMPER7   0x00BB
    #define PWMDTY0   0x00BC
    #define PWMDTY1   0x00BD
    #define PWMDTY2   0x00BE
    #define PWMDTY3   0x00BF
    #define PWMDTY4   0x00C0
    #define PWMDTY5   0x00C1
    #define PWMDTY6   0x00C2
    #define PWMDTY7   0x00C3
    #define PWMSDN   0x00C4
    #define SCI0BDH   0x00C8
    #define SCI0BDL   0x00C9
    #define SC0CR1   0x00CA
    #define SCI0CR2   0x00CB
    #define SCI0SR1   0x00CC
    #define SC0SR2   0x00CD
    #define SCI0DRH   0x00CE
    #define SCI0DRL   0x00CF
    #define SCI1BDH   0x00D0
    #define SCI1BDL   0x00D1
    #define SC1CR1   0x00D2
    #define SCI1CR2   0x00D3
    #define SCI1SR1   0x00D4
    #define SC1SR2   0x00D5
    #define SCI1DRH   0x00D6
    #define SCI1DRL   0x00D7
    #define SPI0CR1   0x00D8
    #define SPI0CR2   0x00D9
    #define SPI0BR   0x00DA
    #define SPI0SR   0x00DB
    #define SPI0DR   0x00DD
    #define IBAD   0x00E0
    #define IBFD   0x00E1
    #define IBCR   0x00E2
    #define IBSR   0x00E3
    #define IICDR   0x00E4
    #define DLCBCR1   0x00E8
    #define DLCBSVR   0x00E9
    #define DLCBCR2   0x00EA
    #define DLCBDR   0x00EB
    #define DLCBARD   0x00EC
    #define DLCBRSR   0x00ED
    #define DLCSCR   0x00EE
    #define DLCBSTAT   0x00EF
    #define SPI1CR1   0x00F0
    #define SPI1CR2   0x00F1
    #define SPI1BR   0x00F2
    #define SPI1SR   0x00F3
    #define SPI1DR   0x00F5
    #define SPI2CR1   0x00F8
    #define SPI2CR2   0x00F9
    #define SPI2BR   0x00FA
    #define SPI2SR   0x00FB
    #define SPI2DR   0x00FD
    #define FCLKDIV   0x0100
    #define FSEC   0x0101
    #define FCNFG   0x0103
    #define FPROT   0x0104
    #define FSTAT   0x0105
    #define FCMD   0x0106
    #define ECLKDIV   0x0110
    #define ECNFG   0x0113
    #define EPROT   0x0114
    #define ESTAT   0x0115
    #define ECMD   0x0116
    #define ATD1CTL0   0x0120
    #define ATD1CTL1   0x0121
    #define ATD1CTL2   0x0122
    #define ATD1CTL3   0x0123
    #define ATD1CTL4   0x0124
    #define ATD1CTL5   0x0125
    #define ATD1STAT0   0x0126
    #define ATD1STAT1   0x0127
    #define ATD1TEST0   0x0128
    #define ATD1TEST1   0x0129
    #define ATDDIEN   0x012D
    #define PORTAD1   0x012F
    #define ATD1DR0H   0x0130
    #define ATD1DR0L   0x0131
    #define ATD1DR1H   0x0132
    #define ATD1DR1L   0x0133
    #define ATD1DR2H   0x0134
    #define ATD1DR2L   0x0135
    #define ATD1DR3H   0x0136
    #define ATD1DR3L   0x0137
    #define ATD1DR4H   0x0138
    #define ATD1DR4L   0x0139
    #define ATD1DR5H   0x013A
    #define ATD1DR5L   0x013B
    #define ATD1DR6H   0x013C
    #define ATD1DR6L   0x013D
    #define ATD1DR7H   0x013E
    #define ATD1DR7L   0x013F
    #define CAN0CTL0   0x0140
    #define CAN0CTL1   0x0141
    #define CAN0BTR0   0x0142
    #define CAN0BTR1   0x0143
    #define CAN0RFLG   0x0144
    #define CAN0RIER   0x0145
    #define CAN0TFLG   0x0146
    #define CAN0TIER   0x0147
    #define CAN0TARQ   0x0148
    #define CAN0TAAK   0x0149
    #define CAN0TBSEL   0x014A
    #define CAN0IDAC   0x014B
    #define CAN0RXERR   0x014E
    #define CAN0TXERR   0x014F
    #define CAN0IDAR0   0x0150
    #define CAN0IDAR1   0x0151
    #define CAN0IDAR2   0x0152
    #define CAN0IDAR3   0x0153
    #define CAN0IDMR0   0x0154
    #define CAN0IDMR1   0x0155
    #define CAN0IDMR2   0x0156
    #define CAN0IDMR3   0x0157
    #define CAN0IDAR4   0x0158
    #define CAN0IDAR5   0x0159
    #define CAN0IDAR6   0x015A
    #define CAN0IDAR7   0x015B
    #define CAN0IDMR4   0x015C
    #define CAN0IDMR5   0x015D
    #define CAN0IDMR6   0x015E
    #define CAN0IDMR7   0x015F
    #define CAN0RXFG0   0x0160
    #define CAN0RXFG1   0x0161
    #define CAN0RXFG2   0x0162
    #define CAN0RXFG3   0x0163
    #define CAN0RXFG4   0x0164
    #define CAN0RXFG5   0x0165
    #define CAN0RXFG6   0x0166
    #define CAN0RXFG7   0x0167
    #define CAN0RXFG8   0x0168
    #define CAN0RXFG9   0x0169
    #define CAN0RXFGA   0x016A
    #define CAN0RXFGB   0x016B
    #define CAN0RXFGC   0x016C
    #define CAN0RXFGD   0x016D
    #define CAN0RXFGE   0x016E
    #define CAN0RXFGF   0x016F
    #define CAN0TXFG0   0x0170
    #define CAN0TXFG1   0x0171
    #define CAN0TXFG2   0x0172
    #define CAN0TXFG3   0x0173
    #define CAN0TXFG4   0x0174
    #define CAN0TXFG5   0x0175
    #define CAN0TXFG6   0x0176
    #define CAN0TXFG7   0x0177
    #define CAN0TXFG8   0x0178
    #define CAN0TXFG9   0x0179
    #define CAN0TXFGA   0x017A
    #define CAN0TXFGB   0x017B
    #define CAN0TXFGC   0x017C
    #define CAN0TXFGD   0x017D
    #define CAN0TXFGE   0x017E
    #define CAN0TXFGF   0x017F
    #define CAN1CTL0   0x0180
    #define CAN1CTL1   0x0181
    #define CAN1BTR0   0x0182
    #define CAN1BTR1   0x0183
    #define CAN1RFLG   0x0184
    #define CAN1RIER   0x0185
    #define CAN1TFLG   0x0186
    #define CAN1TIER   0x0187
    #define CAN1TARQ   0x0188
    #define CAN1TAAK   0x0189
    #define CAN1TBSEL   0x018A
    #define CAN1IDAC   0x018B
    #define CAN1RXERR   0x018E
    #define CAN1TXERR   0x018F
    #define CAN1IDAR0   0x0190
    #define CAN1IDAR1   0x0191
    #define CAN1IDAR2   0x0192
    #define CAN1IDAR3   0x0193
    #define CAN1IDMR0   0x0194
    #define CAN1IDMR1   0x0195
    #define CAN1IDMR2   0x0196
    #define CAN1IDMR3   0x0197
    #define CAN1IDAR4   0x0198
    #define CAN1IDAR5   0x0199
    #define CAN1IDAR6   0x019A
    #define CAN1IDAR7   0x019B
    #define CAN1IDMR4   0x019C
    #define CAN1IDMR5   0x019D
    #define CAN1IDMR6   0x019E
    #define CAN1IDMR7   0x019F
    #define CAN1RXFG0   0x01A0
    #define CAN1RXFG1   0x01A1
    #define CAN1RXFG2   0x01A2
    #define CAN1RXFG3   0x01A3
    #define CAN1RXFG4   0x01A4
    #define CAN1RXFG5   0x01A5
    #define CAN1RXFG6   0x01A6
    #define CAN1RXFG7   0x01A7
    #define CAN1RXFG8   0x01A8
    #define CAN1RXFG9   0x01A9
    #define CAN1RXFGA   0x01AA
    #define CAN1RXFGB   0x01AB
    #define CAN1RXFGC   0x01AC
    #define CAN1RXFGD   0x01AD
    #define CAN1RXFGE   0x01AE
    #define CAN1RXFGF   0x01AF
    #define CAN1TXFG0   0x01B0
    #define CAN1TXFG1   0x01B1
    #define CAN1TXFG2   0x01B2
    #define CAN1TXFG3   0x01B3
    #define CAN1TXFG4   0x01B4
    #define CAN1TXFG5   0x01B5
    #define CAN1TXFG6   0x01B6
    #define CAN1TXFG7   0x01B7
    #define CAN1TXFG8   0x01B8
    #define CAN1TXFG9   0x01B9
    #define CAN1TXFGA   0x01BA
    #define CAN1TXFGB   0x01BB
    #define CAN1TXFGC   0x01BC
    #define CAN1TXFGD   0x01BD
    #define CAN1TXFGE   0x01BE
    #define CAN1TXFGF   0x01BF
    #define CAN2CTL0   0x01C0
    #define CAN2CTL1   0x01C1
    #define CAN2BTR0   0x01C2
    #define CAN2BTR1   0x01C3
    #define CAN2RFLG   0x01C4
    #define CAN2RIER   0x01C5
    #define CAN2TFLG   0x01C6
    #define CAN2TIER   0x01C7
    #define CAN2TARQ   0x01C8
    #define CAN2TAAK   0x01C9
    #define CAN2TBSEL   0x01CA
    #define CAN2IDAC   0x01CB
    #define CAN2RXERR   0x01CE
    #define CAN2TXERR   0x01CF
    #define CAN2IDAR0   0x01D0
    #define CAN2IDAR1   0x01D1
    #define CAN2IDAR2   0x01D2
    #define CAN2IDAR3   0x01D3
    #define CAN2IDMR0   0x01D4
    #define CAN2IDMR1   0x01D5
    #define CAN2IDMR2   0x01D6
    #define CAN2IDMR3   0x01D7
    #define CAN2IDAR4   0x01D8
    #define CAN2IDAR5   0x01D9
    #define CAN2IDAR6   0x01DA
    #define CAN2IDAR7   0x01DB
    #define CAN2IDMR4   0x01DC
    #define CAN2IDMR5   0x01DD
    #define CAN2IDMR6   0x01DE
    #define CAN2IDMR7   0x01DF
    #define CAN2RXFG0   0x01E0
    #define CAN2RXFG1   0x01E1
    #define CAN2RXFG2   0x01E2
    #define CAN2RXFG3   0x01E3
    #define CAN2RXFG4   0x01E4
    #define CAN2RXFG5   0x01E5
    #define CAN2RXFG6   0x01E6
    #define CAN2RXFG7   0x01E7
    #define CAN2RXFG8   0x01E8
    #define CAN2RXFG9   0x01E9
    #define CAN2RXFGA   0x01EA
    #define CAN2RXFGB   0x01EB
    #define CAN2RXFGC   0x01EC
    #define CAN2RXFGD   0x01ED
    #define CAN2RXFGE   0x01EE
    #define CAN2RXFGF   0x01EF
    #define CAN2TXFG0   0x01F0
    #define CAN2TXFG1   0x01F1
    #define CAN2TXFG2   0x01F2
    #define CAN2TXFG3   0x01F3
    #define CAN2TXFG4   0x01F4
    #define CAN2TXFG5   0x01F5
    #define CAN2TXFG6   0x01F6
    #define CAN2TXFG7   0x01F7
    #define CAN2TXFG8   0x01F8
    #define CAN2TXFG9   0x01F9
    #define CAN2TXFGA   0x01FA
    #define CAN2TXFGB   0x01FB
    #define CAN2TXFGC   0x01FC
    #define CAN2TXFGD   0x01FD
    #define CAN2TXFGE   0x01FE
    #define CAN2TXFGF   0x01FF
    #define CAN3CTL0   0x0200
    #define CAN3CTL1   0x0201
    #define CAN3BTR0   0x0202
    #define CAN3BTR1   0x0203
    #define CAN3RFLG   0x0204
    #define CAN3RIER   0x0205
    #define CAN3TFLG   0x0206
    #define CAN3TIER   0x0207
    #define CAN3TARQ   0x0208
    #define CAN3TAAK   0x0209
    #define CAN3TBSEL   0x020A
    #define CAN3IDAC   0x020B
    #define CAN3RXERR   0x020E
    #define CAN3TXERR   0x020F
    #define CAN3IDAR0   0x0210
    #define CAN3IDAR1   0x0211
    #define CAN3IDAR2   0x0212
    #define CAN3IDAR3   0x0213
    #define CAN3IDMR0   0x0214
    #define CAN3IDMR1   0x0215
    #define CAN3IDMR2   0x0216
    #define CAN3IDMR3   0x0217
    #define CAN3IDAR4   0x0218
    #define CAN3IDAR5   0x0219
    #define CAN3IDAR6   0x021A
    #define CAN3IDAR7   0x021B
    #define CAN3IDMR4   0x021C
    #define CAN3IDMR5   0x021D
    #define CAN3IDMR6   0x021E
    #define CAN3IDMR7   0x021F
    #define CAN3RXFG0   0x0220
    #define CAN3RXFG1   0x0221
    #define CAN3RXFG2   0x0222
    #define CAN3RXFG3   0x0223
    #define CAN3RXFG4   0x0224
    #define CAN3RXFG5   0x0225
    #define CAN3RXFG6   0x0226
    #define CAN3RXFG7   0x0227
    #define CAN3RXFG8   0x0228
    #define CAN3RXFG9   0x0229
    #define CAN3RXFGA   0x022A
    #define CAN3RXFGB   0x022B
    #define CAN3RXFGC   0x022C
    #define CAN3RXFGD   0x022D
    #define CAN3RXFGE   0x022E
    #define CAN3RXFGF   0x022F
    #define CAN3TXFG0   0x0230
    #define CAN3TXFG1   0x0231
    #define CAN3TXFG2   0x0232
    #define CAN3TXFG3   0x0233
    #define CAN3TXFG4   0x0234
    #define CAN3TXFG5   0x0235
    #define CAN3TXFG6   0x0236
    #define CAN3TXFG7   0x0237
    #define CAN3TXFG8   0x0238
    #define CAN3TXFG9   0x0239
    #define CAN3TXFGA   0x023A
    #define CAN3TXFGB   0x023B
    #define CAN3TXFGC   0x023C
    #define CAN3TXFGD   0x023D
    #define CAN3TXFGE   0x023E
    #define CAN3TXFGF   0x023F
    #define PTT   0x0240
    #define PTIT   0x0241
    #define DDRT   0x0242
    #define RDRT   0x0243
    #define PERT   0x0244
    #define PPST   0x0245
    #define PTS   0x0248
    #define PTIS   0x0249
    #define DDRS   0x024A
    #define RDRS   0x024B
    #define PERS   0x024C
    #define PPSS   0x024D
    #define WOMS   0x024E
    #define PTM   0x0250
    #define PTIM   0x0251
    #define DDRM   0x0252
    #define RDRM   0x0253
    #define PERM   0x0254
    #define PPSM   0x0255
    #define WOMM   0x0256
    #define PTP   0x0258
    #define PTIP   0x0259
    #define DDRP   0x025A
    #define RDRP   0x025B
    #define PERP   0x025C
    #define PPSP   0x025D
    #define PIEP   0x025E
    #define PIFP   0x025F
    #define PTH   0x0260
    #define PTIH   0x0261
    #define DDRH   0x0262
    #define RDRH   0x0263
    #define PERH   0x0264
    #define PPSH   0x0265
    #define PIEH   0x0266
    #define PIFH   0x0267
    #define PTJ   0x0268
    #define PTIJ   0x0269
    #define DDRJ   0x026A
    #define RDRJ   0x026B
    #define PERJ   0x026C
    #define PPSJ   0x026D
    #define PIEJ   0x026E
    #define PIFJ   0x026F
    #define CAN4CTL0   0x0280
    #define CAN4CTL1   0x0281
    #define CAN4BTR0   0x0282
    #define CAN4BTR1   0x0283
    #define CAN4RFLG   0x0284
    #define CAN4RIER   0x0285
    #define CAN4TFLG   0x0286
    #define CAN4TIER   0x0287
    #define CAN4TARQ   0x0288
    #define CAN4TAAK   0x0289
    #define CAN4TBSEL   0x028A
    #define CAN4IDAC   0x028B
    #define CAN4RXERR   0x028E
    #define CAN4TXERR   0x028F
    #define CAN4IDAR0   0x0290
    #define CAN4IDAR1   0x0291
    #define CAN4IDAR2   0x0292
    #define CAN4IDAR3   0x0293
    #define CAN4IDMR0   0x0294
    #define CAN4IDMR1   0x0295
    #define CAN4IDMR2   0x0296
    #define CAN4IDMR3   0x0297
    #define CAN4IDAR4   0x0298
    #define CAN4IDAR5   0x0299
    #define CAN4IDAR6   0x029A
    #define CAN4IDAR7   0x029B
    #define CAN4IDMR4   0x029C
    #define CAN4IDMR5   0x029D
    #define CAN4IDMR6   0x029E
    #define CAN4IDMR7   0x029F
    #define CAN4RXFG0   0x02A0
    #define CAN4RXFG1   0x02A1
    #define CAN4RXFG2   0x02A2
    #define CAN4RXFG3   0x02A3
    #define CAN4RXFG4   0x02A4
    #define CAN4RXFG5   0x02A5
    #define CAN4RXFG6   0x02A6
    #define CAN4RXFG7   0x02A7
    #define CAN4RXFG8   0x02A8
    #define CAN4RXFG9   0x02A9
    #define CAN4RXFGA   0x02AA
    #define CAN4RXFGB   0x02AB
    #define CAN4RXFGC   0x02AC
    #define CAN4RXFGD   0x02AD
    #define CAN4RXFGE   0x02AE
    #define CAN4RXFGF   0x02AF
    #define CAN4TXFG0   0x02B0
    #define CAN4TXFG1   0x02B1
    #define CAN4TXFG2   0x02B2
    #define CAN4TXFG3   0x02B3
    #define CAN4TXFG4   0x02B4
    #define CAN4TXFG5   0x02B5
    #define CAN4TXFG6   0x02B6
    #define CAN4TXFG7   0x02B7
    #define CAN4TXFG8   0x02B8
    #define CAN4TXFG9   0x02B9
    #define CAN4TXFGA   0x02BA
    #define CAN4TXFGB   0x02BB
    #define CAN4TXFGC   0x02BC
    #define CAN4TXFGD   0x02BD
    #define CAN4TXFGE   0x02BE
    #define CAN4TXFGF   0x02BF
    #define CAN0   0x0140
    #define CAN1   0x0180
    #define CAN2   0x01C0
    #define CAN3   0x0200
    #define CAN4   0x0280
    #define CANCTL0   0X00
    #define CANCTL1   0X01
    #define CANBTR0   0X02
    #define CANBTR1   0X03
    #define CANRFLG   0X04
    #define CANRIER   0X05
    #define CANTFLG   0X06
    #define CANTIER   0X07
    #define CANTBSEL   0X0A
    #define CANIDAC   0x0B
    #define CANIDAR0   0x10
    #define CANIDAR1   0x11
    #define CANIDAR2   0x12
    #define CANIDAR3   0x13
    #define CANIDMR0   0x14
    #define CANIDMR1   0x15
    #define CANIDMR2   0x16
    #define CANIDMR3   0x17
    #define CANIDAR4   0x18
    #define CANIDAR5   0x19
    #define CANIDAR6   0x1A
    #define CANIDAR7   0x1B
    #define CANIDMR4   0x1C
    #define CANIDMR5   0x1D
    #define CANIDMR6   0x1E
    #define CANIDMR7   0x1F
    #define CANRCVID   0x20
    #define CANRCVDTA   0x24
    #define CANRCVLEN   0x2C
    #define CANTRSID   0x30
    #define CANTRSDTA   0x34
    #define CANTRSLEN   0x3C
    #define CANTRSPRI   0x3D
    #define SCI0   0x00C8
    #define SCI1   0x00D0
    #define SCIBDH   0x00
    #define SCIBDL   0x01
    #define SCICR1   0x02
    #define SCICR2   0x03
    #define SCISR1   0x04
    #define SCISR2   0x05
    #define SCIDRH   0x06
    #define SCIDRL   0x07
    -


    Define Documentation

    - -
    -
    - - - - -
    #define ARMCOP   0x003F
    -
    -
    - -

    - -

    -Definition at line 94 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD00CTL1   0x0081
    -
    -
    - -

    - -

    -Definition at line 159 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0CTL0   0x0080
    -
    -
    - -

    - -

    -Definition at line 158 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0CTL2   0x0082
    -
    -
    - -

    - -

    -Definition at line 160 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0CTL3   0x0083
    -
    -
    - -

    - -

    -Definition at line 161 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0CTL4   0x0084
    -
    -
    - -

    - -

    -Definition at line 162 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0CTL5   0x0085
    -
    -
    - -

    - -

    -Definition at line 163 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DIEN   0x008D
    -
    -
    - -

    - -

    -Definition at line 169 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR0H   0x0090
    -
    -
    - -

    - -

    -Definition at line 172 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR0L   0x0091
    -
    -
    - -

    - -

    -Definition at line 173 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR1H   0x0092
    -
    -
    - -

    - -

    -Definition at line 174 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR1L   0x0093
    -
    -
    - -

    - -

    -Definition at line 175 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR2H   0x0094
    -
    -
    - -

    - -

    -Definition at line 176 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR2L   0x0095
    -
    -
    - -

    - -

    -Definition at line 177 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR3H   0x0096
    -
    -
    - -

    - -

    -Definition at line 178 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR3L   0x0097
    -
    -
    - -

    - -

    -Definition at line 179 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR4H   0x0098
    -
    -
    - -

    - -

    -Definition at line 180 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR4L   0x0099
    -
    -
    - -

    - -

    -Definition at line 181 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR5H   0x009A
    -
    -
    - -

    - -

    -Definition at line 182 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR5L   0x009B
    -
    -
    - -

    - -

    -Definition at line 183 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR6H   0x009C
    -
    -
    - -

    - -

    -Definition at line 184 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR6L   0x009D
    -
    -
    - -

    - -

    -Definition at line 185 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR7H   0x009E
    -
    -
    - -

    - -

    -Definition at line 186 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0DR7L   0x009F
    -
    -
    - -

    - -

    -Definition at line 187 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0STAT0   0x0086
    -
    -
    - -

    - -

    -Definition at line 164 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0STAT1   0x0087
    -
    -
    - -

    - -

    -Definition at line 165 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0TEST0   0x0088
    -
    -
    - -

    - -

    -Definition at line 166 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD0TEST1   0x0089
    -
    -
    - -

    - -

    -Definition at line 167 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1CTL0   0x0120
    -
    -
    - -

    - -

    -Definition at line 292 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1CTL1   0x0121
    -
    -
    - -

    - -

    -Definition at line 293 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1CTL2   0x0122
    -
    -
    - -

    - -

    -Definition at line 294 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1CTL3   0x0123
    -
    -
    - -

    - -

    -Definition at line 295 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1CTL4   0x0124
    -
    -
    - -

    - -

    -Definition at line 296 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1CTL5   0x0125
    -
    -
    - -

    - -

    -Definition at line 297 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR0H   0x0130
    -
    -
    - -

    - -

    -Definition at line 306 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR0L   0x0131
    -
    -
    - -

    - -

    -Definition at line 307 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR1H   0x0132
    -
    -
    - -

    - -

    -Definition at line 308 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR1L   0x0133
    -
    -
    - -

    - -

    -Definition at line 309 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR2H   0x0134
    -
    -
    - -

    - -

    -Definition at line 310 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR2L   0x0135
    -
    -
    - -

    - -

    -Definition at line 311 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR3H   0x0136
    -
    -
    - -

    - -

    -Definition at line 312 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR3L   0x0137
    -
    -
    - -

    - -

    -Definition at line 313 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR4H   0x0138
    -
    -
    - -

    - -

    -Definition at line 314 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR4L   0x0139
    -
    -
    - -

    - -

    -Definition at line 315 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR5H   0x013A
    -
    -
    - -

    - -

    -Definition at line 316 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR5L   0x013B
    -
    -
    - -

    - -

    -Definition at line 317 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR6H   0x013C
    -
    -
    - -

    - -

    -Definition at line 318 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR6L   0x013D
    -
    -
    - -

    - -

    -Definition at line 319 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR7H   0x013E
    -
    -
    - -

    - -

    -Definition at line 320 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1DR7L   0x013F
    -
    -
    - -

    - -

    -Definition at line 321 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1STAT0   0x0126
    -
    -
    - -

    - -

    -Definition at line 298 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1STAT1   0x0127
    -
    -
    - -

    - -

    -Definition at line 299 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1TEST0   0x0128
    -
    -
    - -

    - -

    -Definition at line 300 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATD1TEST1   0x0129
    -
    -
    - -

    - -

    -Definition at line 301 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ATDDIEN   0x012D
    -
    -
    - -

    - -

    -Definition at line 303 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define BKP0H   0x002B
    -
    -
    - -

    - -

    -Definition at line 74 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define BKP0L   0x002C
    -
    -
    - -

    - -

    -Definition at line 75 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define BKP0X   0x002A
    -
    -
    - -

    - -

    -Definition at line 73 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define BKP1H   0x002E
    -
    -
    - -

    - -

    -Definition at line 77 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define BKP1L   0x002F
    -
    -
    - -

    - -

    -Definition at line 78 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define BKP1X   0x002D
    -
    -
    - -

    - -

    -Definition at line 76 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define BKPCT0   0x0028
    -
    -
    - -

    - -

    -Definition at line 71 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define BKPCT1   0x0029
    -
    -
    - -

    - -

    -Definition at line 72 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0   0x0140
    -
    -
    - -

    - -

    -Definition at line 698 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0BTR0   0x0142
    -
    -
    - -

    - -

    -Definition at line 324 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0BTR1   0x0143
    -
    -
    - -

    - -

    -Definition at line 325 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0CTL0   0x0140
    -
    -
    - -

    - -

    -Definition at line 322 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0CTL1   0x0141
    -
    -
    - -

    - -

    -Definition at line 323 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAC   0x014B
    -
    -
    - -

    - -

    -Definition at line 333 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAR0   0x0150
    -
    -
    - -

    - -

    -Definition at line 337 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAR1   0x0151
    -
    -
    - -

    - -

    -Definition at line 338 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAR2   0x0152
    -
    -
    - -

    - -

    -Definition at line 339 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAR3   0x0153
    -
    -
    - -

    - -

    -Definition at line 340 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAR4   0x0158
    -
    -
    - -

    - -

    -Definition at line 345 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAR5   0x0159
    -
    -
    - -

    - -

    -Definition at line 346 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAR6   0x015A
    -
    -
    - -

    - -

    -Definition at line 347 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDAR7   0x015B
    -
    -
    - -

    - -

    -Definition at line 348 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDMR0   0x0154
    -
    -
    - -

    - -

    -Definition at line 341 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDMR1   0x0155
    -
    -
    - -

    - -

    -Definition at line 342 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDMR2   0x0156
    -
    -
    - -

    - -

    -Definition at line 343 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDMR3   0x0157
    -
    -
    - -

    - -

    -Definition at line 344 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDMR4   0x015C
    -
    -
    - -

    - -

    -Definition at line 349 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDMR5   0x015D
    -
    -
    - -

    - -

    -Definition at line 350 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDMR6   0x015E
    -
    -
    - -

    - -

    -Definition at line 351 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0IDMR7   0x015F
    -
    -
    - -

    - -

    -Definition at line 352 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RFLG   0x0144
    -
    -
    - -

    - -

    -Definition at line 326 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RIER   0x0145
    -
    -
    - -

    - -

    -Definition at line 327 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXERR   0x014E
    -
    -
    - -

    - -

    -Definition at line 335 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG0   0x0160
    -
    -
    - -

    - -

    -Definition at line 353 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG1   0x0161
    -
    -
    - -

    - -

    -Definition at line 354 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG2   0x0162
    -
    -
    - -

    - -

    -Definition at line 355 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG3   0x0163
    -
    -
    - -

    - -

    -Definition at line 356 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG4   0x0164
    -
    -
    - -

    - -

    -Definition at line 357 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG5   0x0165
    -
    -
    - -

    - -

    -Definition at line 358 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG6   0x0166
    -
    -
    - -

    - -

    -Definition at line 359 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG7   0x0167
    -
    -
    - -

    - -

    -Definition at line 360 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG8   0x0168
    -
    -
    - -

    - -

    -Definition at line 361 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFG9   0x0169
    -
    -
    - -

    - -

    -Definition at line 362 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFGA   0x016A
    -
    -
    - -

    - -

    -Definition at line 363 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFGB   0x016B
    -
    -
    - -

    - -

    -Definition at line 364 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFGC   0x016C
    -
    -
    - -

    - -

    -Definition at line 365 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFGD   0x016D
    -
    -
    - -

    - -

    -Definition at line 366 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFGE   0x016E
    -
    -
    - -

    - -

    -Definition at line 367 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0RXFGF   0x016F
    -
    -
    - -

    - -

    -Definition at line 368 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TAAK   0x0149
    -
    -
    - -

    - -

    -Definition at line 331 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TARQ   0x0148
    -
    -
    - -

    - -

    -Definition at line 330 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TBSEL   0x014A
    -
    -
    - -

    - -

    -Definition at line 332 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TFLG   0x0146
    -
    -
    - -

    - -

    -Definition at line 328 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TIER   0x0147
    -
    -
    - -

    - -

    -Definition at line 329 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXERR   0x014F
    -
    -
    - -

    - -

    -Definition at line 336 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG0   0x0170
    -
    -
    - -

    - -

    -Definition at line 369 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG1   0x0171
    -
    -
    - -

    - -

    -Definition at line 370 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG2   0x0172
    -
    -
    - -

    - -

    -Definition at line 371 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG3   0x0173
    -
    -
    - -

    - -

    -Definition at line 372 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG4   0x0174
    -
    -
    - -

    - -

    -Definition at line 373 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG5   0x0175
    -
    -
    - -

    - -

    -Definition at line 374 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG6   0x0176
    -
    -
    - -

    - -

    -Definition at line 375 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG7   0x0177
    -
    -
    - -

    - -

    -Definition at line 376 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG8   0x0178
    -
    -
    - -

    - -

    -Definition at line 377 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFG9   0x0179
    -
    -
    - -

    - -

    -Definition at line 378 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFGA   0x017A
    -
    -
    - -

    - -

    -Definition at line 379 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFGB   0x017B
    -
    -
    - -

    - -

    -Definition at line 380 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFGC   0x017C
    -
    -
    - -

    - -

    -Definition at line 381 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFGD   0x017D
    -
    -
    - -

    - -

    -Definition at line 382 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFGE   0x017E
    -
    -
    - -

    - -

    -Definition at line 383 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN0TXFGF   0x017F
    -
    -
    - -

    - -

    -Definition at line 384 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1   0x0180
    -
    -
    - -

    - -

    -Definition at line 699 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1BTR0   0x0182
    -
    -
    - -

    - -

    -Definition at line 388 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1BTR1   0x0183
    -
    -
    - -

    - -

    -Definition at line 389 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1CTL0   0x0180
    -
    -
    - -

    - -

    -Definition at line 386 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1CTL1   0x0181
    -
    -
    - -

    - -

    -Definition at line 387 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAC   0x018B
    -
    -
    - -

    - -

    -Definition at line 397 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAR0   0x0190
    -
    -
    - -

    - -

    -Definition at line 400 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAR1   0x0191
    -
    -
    - -

    - -

    -Definition at line 401 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAR2   0x0192
    -
    -
    - -

    - -

    -Definition at line 402 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAR3   0x0193
    -
    -
    - -

    - -

    -Definition at line 403 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAR4   0x0198
    -
    -
    - -

    - -

    -Definition at line 408 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAR5   0x0199
    -
    -
    - -

    - -

    -Definition at line 409 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAR6   0x019A
    -
    -
    - -

    - -

    -Definition at line 410 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDAR7   0x019B
    -
    -
    - -

    - -

    -Definition at line 411 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDMR0   0x0194
    -
    -
    - -

    - -

    -Definition at line 404 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDMR1   0x0195
    -
    -
    - -

    - -

    -Definition at line 405 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDMR2   0x0196
    -
    -
    - -

    - -

    -Definition at line 406 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDMR3   0x0197
    -
    -
    - -

    - -

    -Definition at line 407 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDMR4   0x019C
    -
    -
    - -

    - -

    -Definition at line 412 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDMR5   0x019D
    -
    -
    - -

    - -

    -Definition at line 413 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDMR6   0x019E
    -
    -
    - -

    - -

    -Definition at line 414 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1IDMR7   0x019F
    -
    -
    - -

    - -

    -Definition at line 415 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RFLG   0x0184
    -
    -
    - -

    - -

    -Definition at line 390 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RIER   0x0185
    -
    -
    - -

    - -

    -Definition at line 391 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXERR   0x018E
    -
    -
    - -

    - -

    -Definition at line 398 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG0   0x01A0
    -
    -
    - -

    - -

    -Definition at line 417 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG1   0x01A1
    -
    -
    - -

    - -

    -Definition at line 418 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG2   0x01A2
    -
    -
    - -

    - -

    -Definition at line 419 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG3   0x01A3
    -
    -
    - -

    - -

    -Definition at line 420 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG4   0x01A4
    -
    -
    - -

    - -

    -Definition at line 421 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG5   0x01A5
    -
    -
    - -

    - -

    -Definition at line 422 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG6   0x01A6
    -
    -
    - -

    - -

    -Definition at line 423 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG7   0x01A7
    -
    -
    - -

    - -

    -Definition at line 424 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG8   0x01A8
    -
    -
    - -

    - -

    -Definition at line 425 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFG9   0x01A9
    -
    -
    - -

    - -

    -Definition at line 426 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFGA   0x01AA
    -
    -
    - -

    - -

    -Definition at line 427 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFGB   0x01AB
    -
    -
    - -

    - -

    -Definition at line 428 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFGC   0x01AC
    -
    -
    - -

    - -

    -Definition at line 429 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFGD   0x01AD
    -
    -
    - -

    - -

    -Definition at line 430 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFGE   0x01AE
    -
    -
    - -

    - -

    -Definition at line 431 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1RXFGF   0x01AF
    -
    -
    - -

    - -

    -Definition at line 432 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TAAK   0x0189
    -
    -
    - -

    - -

    -Definition at line 395 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TARQ   0x0188
    -
    -
    - -

    - -

    -Definition at line 394 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TBSEL   0x018A
    -
    -
    - -

    - -

    -Definition at line 396 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TFLG   0x0186
    -
    -
    - -

    - -

    -Definition at line 392 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TIER   0x0187
    -
    -
    - -

    - -

    -Definition at line 393 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXERR   0x018F
    -
    -
    - -

    - -

    -Definition at line 399 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG0   0x01B0
    -
    -
    - -

    - -

    -Definition at line 433 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG1   0x01B1
    -
    -
    - -

    - -

    -Definition at line 434 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG2   0x01B2
    -
    -
    - -

    - -

    -Definition at line 435 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG3   0x01B3
    -
    -
    - -

    - -

    -Definition at line 436 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG4   0x01B4
    -
    -
    - -

    - -

    -Definition at line 437 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG5   0x01B5
    -
    -
    - -

    - -

    -Definition at line 438 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG6   0x01B6
    -
    -
    - -

    - -

    -Definition at line 439 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG7   0x01B7
    -
    -
    - -

    - -

    -Definition at line 440 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG8   0x01B8
    -
    -
    - -

    - -

    -Definition at line 441 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFG9   0x01B9
    -
    -
    - -

    - -

    -Definition at line 442 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFGA   0x01BA
    -
    -
    - -

    - -

    -Definition at line 443 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFGB   0x01BB
    -
    -
    - -

    - -

    -Definition at line 444 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFGC   0x01BC
    -
    -
    - -

    - -

    -Definition at line 445 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFGD   0x01BD
    -
    -
    - -

    - -

    -Definition at line 446 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFGE   0x01BE
    -
    -
    - -

    - -

    -Definition at line 447 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN1TXFGF   0x01BF
    -
    -
    - -

    - -

    -Definition at line 448 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2   0x01C0
    -
    -
    - -

    - -

    -Definition at line 700 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2BTR0   0x01C2
    -
    -
    - -

    - -

    -Definition at line 451 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2BTR1   0x01C3
    -
    -
    - -

    - -

    -Definition at line 452 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2CTL0   0x01C0
    -
    -
    - -

    - -

    -Definition at line 449 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2CTL1   0x01C1
    -
    -
    - -

    - -

    -Definition at line 450 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAC   0x01CB
    -
    -
    - -

    - -

    -Definition at line 460 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAR0   0x01D0
    -
    -
    - -

    - -

    -Definition at line 464 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAR1   0x01D1
    -
    -
    - -

    - -

    -Definition at line 465 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAR2   0x01D2
    -
    -
    - -

    - -

    -Definition at line 466 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAR3   0x01D3
    -
    -
    - -

    - -

    -Definition at line 467 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAR4   0x01D8
    -
    -
    - -

    - -

    -Definition at line 472 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAR5   0x01D9
    -
    -
    - -

    - -

    -Definition at line 473 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAR6   0x01DA
    -
    -
    - -

    - -

    -Definition at line 474 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDAR7   0x01DB
    -
    -
    - -

    - -

    -Definition at line 475 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDMR0   0x01D4
    -
    -
    - -

    - -

    -Definition at line 468 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDMR1   0x01D5
    -
    -
    - -

    - -

    -Definition at line 469 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDMR2   0x01D6
    -
    -
    - -

    - -

    -Definition at line 470 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDMR3   0x01D7
    -
    -
    - -

    - -

    -Definition at line 471 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDMR4   0x01DC
    -
    -
    - -

    - -

    -Definition at line 476 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDMR5   0x01DD
    -
    -
    - -

    - -

    -Definition at line 477 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDMR6   0x01DE
    -
    -
    - -

    - -

    -Definition at line 478 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2IDMR7   0x01DF
    -
    -
    - -

    - -

    -Definition at line 479 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RFLG   0x01C4
    -
    -
    - -

    - -

    -Definition at line 453 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RIER   0x01C5
    -
    -
    - -

    - -

    -Definition at line 454 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXERR   0x01CE
    -
    -
    - -

    - -

    -Definition at line 462 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG0   0x01E0
    -
    -
    - -

    - -

    -Definition at line 480 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG1   0x01E1
    -
    -
    - -

    - -

    -Definition at line 481 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG2   0x01E2
    -
    -
    - -

    - -

    -Definition at line 482 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG3   0x01E3
    -
    -
    - -

    - -

    -Definition at line 483 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG4   0x01E4
    -
    -
    - -

    - -

    -Definition at line 484 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG5   0x01E5
    -
    -
    - -

    - -

    -Definition at line 485 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG6   0x01E6
    -
    -
    - -

    - -

    -Definition at line 486 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG7   0x01E7
    -
    -
    - -

    - -

    -Definition at line 487 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG8   0x01E8
    -
    -
    - -

    - -

    -Definition at line 488 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFG9   0x01E9
    -
    -
    - -

    - -

    -Definition at line 489 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFGA   0x01EA
    -
    -
    - -

    - -

    -Definition at line 490 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFGB   0x01EB
    -
    -
    - -

    - -

    -Definition at line 491 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFGC   0x01EC
    -
    -
    - -

    - -

    -Definition at line 492 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFGD   0x01ED
    -
    -
    - -

    - -

    -Definition at line 493 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFGE   0x01EE
    -
    -
    - -

    - -

    -Definition at line 494 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2RXFGF   0x01EF
    -
    -
    - -

    - -

    -Definition at line 495 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TAAK   0x01C9
    -
    -
    - -

    - -

    -Definition at line 458 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TARQ   0x01C8
    -
    -
    - -

    - -

    -Definition at line 457 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TBSEL   0x01CA
    -
    -
    - -

    - -

    -Definition at line 459 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TFLG   0x01C6
    -
    -
    - -

    - -

    -Definition at line 455 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TIER   0x01C7
    -
    -
    - -

    - -

    -Definition at line 456 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXERR   0x01CF
    -
    -
    - -

    - -

    -Definition at line 463 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG0   0x01F0
    -
    -
    - -

    - -

    -Definition at line 496 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG1   0x01F1
    -
    -
    - -

    - -

    -Definition at line 497 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG2   0x01F2
    -
    -
    - -

    - -

    -Definition at line 498 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG3   0x01F3
    -
    -
    - -

    - -

    -Definition at line 499 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG4   0x01F4
    -
    -
    - -

    - -

    -Definition at line 500 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG5   0x01F5
    -
    -
    - -

    - -

    -Definition at line 501 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG6   0x01F6
    -
    -
    - -

    - -

    -Definition at line 502 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG7   0x01F7
    -
    -
    - -

    - -

    -Definition at line 503 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG8   0x01F8
    -
    -
    - -

    - -

    -Definition at line 504 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFG9   0x01F9
    -
    -
    - -

    - -

    -Definition at line 505 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFGA   0x01FA
    -
    -
    - -

    - -

    -Definition at line 506 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFGB   0x01FB
    -
    -
    - -

    - -

    -Definition at line 507 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFGC   0x01FC
    -
    -
    - -

    - -

    -Definition at line 508 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFGD   0x01FD
    -
    -
    - -

    - -

    -Definition at line 509 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFGE   0x01FE
    -
    -
    - -

    - -

    -Definition at line 510 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN2TXFGF   0x01FF
    -
    -
    - -

    - -

    -Definition at line 511 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3   0x0200
    -
    -
    - -

    - -

    -Definition at line 701 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3BTR0   0x0202
    -
    -
    - -

    - -

    -Definition at line 515 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3BTR1   0x0203
    -
    -
    - -

    - -

    -Definition at line 516 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3CTL0   0x0200
    -
    -
    - -

    - -

    -Definition at line 513 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3CTL1   0x0201
    -
    -
    - -

    - -

    -Definition at line 514 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAC   0x020B
    -
    -
    - -

    - -

    -Definition at line 524 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAR0   0x0210
    -
    -
    - -

    - -

    -Definition at line 528 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAR1   0x0211
    -
    -
    - -

    - -

    -Definition at line 529 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAR2   0x0212
    -
    -
    - -

    - -

    -Definition at line 530 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAR3   0x0213
    -
    -
    - -

    - -

    -Definition at line 531 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAR4   0x0218
    -
    -
    - -

    - -

    -Definition at line 536 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAR5   0x0219
    -
    -
    - -

    - -

    -Definition at line 537 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAR6   0x021A
    -
    -
    - -

    - -

    -Definition at line 538 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDAR7   0x021B
    -
    -
    - -

    - -

    -Definition at line 539 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDMR0   0x0214
    -
    -
    - -

    - -

    -Definition at line 532 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDMR1   0x0215
    -
    -
    - -

    - -

    -Definition at line 533 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDMR2   0x0216
    -
    -
    - -

    - -

    -Definition at line 534 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDMR3   0x0217
    -
    -
    - -

    - -

    -Definition at line 535 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDMR4   0x021C
    -
    -
    - -

    - -

    -Definition at line 540 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDMR5   0x021D
    -
    -
    - -

    - -

    -Definition at line 541 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDMR6   0x021E
    -
    -
    - -

    - -

    -Definition at line 542 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3IDMR7   0x021F
    -
    -
    - -

    - -

    -Definition at line 543 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RFLG   0x0204
    -
    -
    - -

    - -

    -Definition at line 517 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RIER   0x0205
    -
    -
    - -

    - -

    -Definition at line 518 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXERR   0x020E
    -
    -
    - -

    - -

    -Definition at line 526 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG0   0x0220
    -
    -
    - -

    - -

    -Definition at line 545 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG1   0x0221
    -
    -
    - -

    - -

    -Definition at line 546 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG2   0x0222
    -
    -
    - -

    - -

    -Definition at line 547 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG3   0x0223
    -
    -
    - -

    - -

    -Definition at line 548 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG4   0x0224
    -
    -
    - -

    - -

    -Definition at line 549 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG5   0x0225
    -
    -
    - -

    - -

    -Definition at line 550 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG6   0x0226
    -
    -
    - -

    - -

    -Definition at line 551 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG7   0x0227
    -
    -
    - -

    - -

    -Definition at line 552 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG8   0x0228
    -
    -
    - -

    - -

    -Definition at line 553 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFG9   0x0229
    -
    -
    - -

    - -

    -Definition at line 554 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFGA   0x022A
    -
    -
    - -

    - -

    -Definition at line 555 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFGB   0x022B
    -
    -
    - -

    - -

    -Definition at line 556 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFGC   0x022C
    -
    -
    - -

    - -

    -Definition at line 557 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFGD   0x022D
    -
    -
    - -

    - -

    -Definition at line 558 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFGE   0x022E
    -
    -
    - -

    - -

    -Definition at line 559 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3RXFGF   0x022F
    -
    -
    - -

    - -

    -Definition at line 560 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TAAK   0x0209
    -
    -
    - -

    - -

    -Definition at line 522 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TARQ   0x0208
    -
    -
    - -

    - -

    -Definition at line 521 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TBSEL   0x020A
    -
    -
    - -

    - -

    -Definition at line 523 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TFLG   0x0206
    -
    -
    - -

    - -

    -Definition at line 519 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TIER   0x0207
    -
    -
    - -

    - -

    -Definition at line 520 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXERR   0x020F
    -
    -
    - -

    - -

    -Definition at line 527 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG0   0x0230
    -
    -
    - -

    - -

    -Definition at line 561 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG1   0x0231
    -
    -
    - -

    - -

    -Definition at line 562 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG2   0x0232
    -
    -
    - -

    - -

    -Definition at line 563 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG3   0x0233
    -
    -
    - -

    - -

    -Definition at line 564 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG4   0x0234
    -
    -
    - -

    - -

    -Definition at line 565 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG5   0x0235
    -
    -
    - -

    - -

    -Definition at line 566 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG6   0x0236
    -
    -
    - -

    - -

    -Definition at line 567 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG7   0x0237
    -
    -
    - -

    - -

    -Definition at line 568 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG8   0x0238
    -
    -
    - -

    - -

    -Definition at line 569 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFG9   0x0239
    -
    -
    - -

    - -

    -Definition at line 570 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFGA   0x023A
    -
    -
    - -

    - -

    -Definition at line 571 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFGB   0x023B
    -
    -
    - -

    - -

    -Definition at line 572 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFGC   0x023C
    -
    -
    - -

    - -

    -Definition at line 573 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFGD   0x023D
    -
    -
    - -

    - -

    -Definition at line 574 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFGE   0x023E
    -
    -
    - -

    - -

    -Definition at line 575 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN3TXFGF   0x023F
    -
    -
    - -

    - -

    -Definition at line 576 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4   0x0280
    -
    -
    - -

    - -

    -Definition at line 702 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4BTR0   0x0282
    -
    -
    - -

    - -

    -Definition at line 628 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4BTR1   0x0283
    -
    -
    - -

    - -

    -Definition at line 629 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4CTL0   0x0280
    -
    -
    - -

    - -

    -Definition at line 626 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4CTL1   0x0281
    -
    -
    - -

    - -

    -Definition at line 627 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAC   0x028B
    -
    -
    - -

    - -

    -Definition at line 637 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAR0   0x0290
    -
    -
    - -

    - -

    -Definition at line 641 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAR1   0x0291
    -
    -
    - -

    - -

    -Definition at line 642 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAR2   0x0292
    -
    -
    - -

    - -

    -Definition at line 643 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAR3   0x0293
    -
    -
    - -

    - -

    -Definition at line 644 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAR4   0x0298
    -
    -
    - -

    - -

    -Definition at line 649 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAR5   0x0299
    -
    -
    - -

    - -

    -Definition at line 650 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAR6   0x029A
    -
    -
    - -

    - -

    -Definition at line 651 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDAR7   0x029B
    -
    -
    - -

    - -

    -Definition at line 652 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDMR0   0x0294
    -
    -
    - -

    - -

    -Definition at line 645 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDMR1   0x0295
    -
    -
    - -

    - -

    -Definition at line 646 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDMR2   0x0296
    -
    -
    - -

    - -

    -Definition at line 647 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDMR3   0x0297
    -
    -
    - -

    - -

    -Definition at line 648 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDMR4   0x029C
    -
    -
    - -

    - -

    -Definition at line 653 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDMR5   0x029D
    -
    -
    - -

    - -

    -Definition at line 654 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDMR6   0x029E
    -
    -
    - -

    - -

    -Definition at line 655 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4IDMR7   0x029F
    -
    -
    - -

    - -

    -Definition at line 656 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RFLG   0x0284
    -
    -
    - -

    - -

    -Definition at line 630 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RIER   0x0285
    -
    -
    - -

    - -

    -Definition at line 631 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXERR   0x028E
    -
    -
    - -

    - -

    -Definition at line 639 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG0   0x02A0
    -
    -
    - -

    - -

    -Definition at line 658 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG1   0x02A1
    -
    -
    - -

    - -

    -Definition at line 659 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG2   0x02A2
    -
    -
    - -

    - -

    -Definition at line 660 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG3   0x02A3
    -
    -
    - -

    - -

    -Definition at line 661 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG4   0x02A4
    -
    -
    - -

    - -

    -Definition at line 662 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG5   0x02A5
    -
    -
    - -

    - -

    -Definition at line 663 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG6   0x02A6
    -
    -
    - -

    - -

    -Definition at line 664 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG7   0x02A7
    -
    -
    - -

    - -

    -Definition at line 665 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG8   0x02A8
    -
    -
    - -

    - -

    -Definition at line 666 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFG9   0x02A9
    -
    -
    - -

    - -

    -Definition at line 667 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFGA   0x02AA
    -
    -
    - -

    - -

    -Definition at line 668 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFGB   0x02AB
    -
    -
    - -

    - -

    -Definition at line 669 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFGC   0x02AC
    -
    -
    - -

    - -

    -Definition at line 670 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFGD   0x02AD
    -
    -
    - -

    - -

    -Definition at line 671 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFGE   0x02AE
    -
    -
    - -

    - -

    -Definition at line 672 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4RXFGF   0x02AF
    -
    -
    - -

    - -

    -Definition at line 673 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TAAK   0x0289
    -
    -
    - -

    - -

    -Definition at line 635 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TARQ   0x0288
    -
    -
    - -

    - -

    -Definition at line 634 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TBSEL   0x028A
    -
    -
    - -

    - -

    -Definition at line 636 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TFLG   0x0286
    -
    -
    - -

    - -

    -Definition at line 632 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TIER   0x0287
    -
    -
    - -

    - -

    -Definition at line 633 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXERR   0x028F
    -
    -
    - -

    - -

    -Definition at line 640 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG0   0x02B0
    -
    -
    - -

    - -

    -Definition at line 674 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG1   0x02B1
    -
    -
    - -

    - -

    -Definition at line 675 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG2   0x02B2
    -
    -
    - -

    - -

    -Definition at line 676 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG3   0x02B3
    -
    -
    - -

    - -

    -Definition at line 677 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG4   0x02B4
    -
    -
    - -

    - -

    -Definition at line 678 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG5   0x02B5
    -
    -
    - -

    - -

    -Definition at line 679 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG6   0x02B6
    -
    -
    - -

    - -

    -Definition at line 680 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG7   0x02B7
    -
    -
    - -

    - -

    -Definition at line 681 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG8   0x02B8
    -
    -
    - -

    - -

    -Definition at line 682 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFG9   0x02B9
    -
    -
    - -

    - -

    -Definition at line 683 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFGA   0x02BA
    -
    -
    - -

    - -

    -Definition at line 684 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFGB   0x02BB
    -
    -
    - -

    - -

    -Definition at line 685 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFGC   0x02BC
    -
    -
    - -

    - -

    -Definition at line 686 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFGD   0x02BD
    -
    -
    - -

    - -

    -Definition at line 687 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFGE   0x02BE
    -
    -
    - -

    - -

    -Definition at line 688 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CAN4TXFGF   0x02BF
    -
    -
    - -

    - -

    -Definition at line 689 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANBTR0   0X02
    -
    -
    - -

    - -

    -Definition at line 706 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANBTR1   0X03
    -
    -
    - -

    - -

    -Definition at line 707 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANCTL0   0X00
    -
    -
    - -

    - -

    -Definition at line 704 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANCTL1   0X01
    -
    -
    - -

    - -

    -Definition at line 705 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAC   0x0B
    -
    -
    - -

    - -

    -Definition at line 713 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAR0   0x10
    -
    -
    - -

    - -

    -Definition at line 714 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAR1   0x11
    -
    -
    - -

    - -

    -Definition at line 715 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAR2   0x12
    -
    -
    - -

    - -

    -Definition at line 716 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAR3   0x13
    -
    -
    - -

    - -

    -Definition at line 717 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAR4   0x18
    -
    -
    - -

    - -

    -Definition at line 722 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAR5   0x19
    -
    -
    - -

    - -

    -Definition at line 723 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAR6   0x1A
    -
    -
    - -

    - -

    -Definition at line 724 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDAR7   0x1B
    -
    -
    - -

    - -

    -Definition at line 725 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDMR0   0x14
    -
    -
    - -

    - -

    -Definition at line 718 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDMR1   0x15
    -
    -
    - -

    - -

    -Definition at line 719 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDMR2   0x16
    -
    -
    - -

    - -

    -Definition at line 720 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDMR3   0x17
    -
    -
    - -

    - -

    -Definition at line 721 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDMR4   0x1C
    -
    -
    - -

    - -

    -Definition at line 726 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDMR5   0x1D
    -
    -
    - -

    - -

    -Definition at line 727 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDMR6   0x1E
    -
    -
    - -

    - -

    -Definition at line 728 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANIDMR7   0x1F
    -
    -
    - -

    - -

    -Definition at line 729 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANRCVDTA   0x24
    -
    -
    - -

    - -

    -Definition at line 733 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANRCVID   0x20
    -
    -
    - -

    - -

    -Definition at line 732 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANRCVLEN   0x2C
    -
    -
    - -

    - -

    -Definition at line 734 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANRFLG   0X04
    -
    -
    - -

    - -

    -Definition at line 708 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANRIER   0X05
    -
    -
    - -

    - -

    -Definition at line 709 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANTBSEL   0X0A
    -
    -
    - -

    - -

    -Definition at line 712 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANTFLG   0X06
    -
    -
    - -

    - -

    -Definition at line 710 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANTIER   0X07
    -
    -
    - -

    - -

    -Definition at line 711 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANTRSDTA   0x34
    -
    -
    - -

    - -

    -Definition at line 738 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANTRSID   0x30
    -
    -
    - -

    - -

    -Definition at line 737 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANTRSLEN   0x3C
    -
    -
    - -

    - -

    -Definition at line 739 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CANTRSPRI   0x3D
    -
    -
    - -

    - -

    -Definition at line 740 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CLKSEL   0x0039
    -
    -
    - -

    - -

    -Definition at line 88 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define COPCTL   0x003C
    -
    -
    - -

    - -

    -Definition at line 91 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CRGFLG   0x0037
    -
    -
    - -

    - -

    -Definition at line 86 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CRGINT   0x0038
    -
    -
    - -

    - -

    -Definition at line 87 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CTCTL   0x003E
    -
    -
    - -

    - -

    -Definition at line 93 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define CTFLG   0x0036
    -
    -
    - -

    - -

    -Definition at line 85 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRA   0x0002
    -
    -
    - -

    - -

    -Definition at line 44 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRB   0x0003
    -
    -
    - -

    - -

    -Definition at line 45 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRE   0x0009
    -
    -
    - -

    - -

    -Definition at line 48 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRH   0x0262
    -
    -
    - -

    - -

    -Definition at line 611 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRJ   0x026A
    -
    -
    - -

    - -

    -Definition at line 619 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRK   0x0033
    -
    -
    - -

    - -

    -Definition at line 82 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRM   0x0252
    -
    -
    - -

    - -

    -Definition at line 595 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRP   0x025A
    -
    -
    - -

    - -

    -Definition at line 603 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRS   0x024A
    -
    -
    - -

    - -

    -Definition at line 587 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DDRT   0x0242
    -
    -
    - -

    - -

    -Definition at line 580 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLCBARD   0x00EC
    -
    -
    - -

    - -

    -Definition at line 259 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLCBCR1   0x00E8
    -
    -
    - -

    - -

    -Definition at line 255 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLCBCR2   0x00EA
    -
    -
    - -

    - -

    -Definition at line 257 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLCBDR   0x00EB
    -
    -
    - -

    - -

    -Definition at line 258 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLCBRSR   0x00ED
    -
    -
    - -

    - -

    -Definition at line 260 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLCBSTAT   0x00EF
    -
    -
    - -

    - -

    -Definition at line 262 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLCBSVR   0x00E9
    -
    -
    - -

    - -

    -Definition at line 256 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLCSCR   0x00EE
    -
    -
    - -

    - -

    -Definition at line 261 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define DLYCT   0x0069
    -
    -
    - -

    - -

    -Definition at line 136 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define EBICTL   0x000E
    -
    -
    - -

    - -

    -Definition at line 53 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ECLKDIV   0x0110
    -
    -
    - -

    - -

    -Definition at line 285 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ECMD   0x0116
    -
    -
    - -

    - -

    -Definition at line 290 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ECNFG   0x0113
    -
    -
    - -

    - -

    -Definition at line 287 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define EPROT   0x0114
    -
    -
    - -

    - -

    -Definition at line 288 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ESTAT   0x0115
    -
    -
    - -

    - -

    -Definition at line 289 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define FCLKDIV   0x0100
    -
    -
    - -

    - -

    -Definition at line 277 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define FCMD   0x0106
    -
    -
    - -

    - -

    -Definition at line 283 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define FCNFG   0x0103
    -
    -
    - -

    - -

    -Definition at line 280 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define FORBYP   0x003D
    -
    -
    - -

    - -

    -Definition at line 92 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define FPROT   0x0104
    -
    -
    - -

    - -

    -Definition at line 281 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define FSEC   0x0101
    -
    -
    - -

    - -

    -Definition at line 278 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define FSTAT   0x0105
    -
    -
    - -

    - -

    -Definition at line 282 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define HPRIO   0x001F
    -
    -
    - -

    - -

    -Definition at line 69 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define IBAD   0x00E0
    -
    -
    - -

    - -

    -Definition at line 249 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define IBCR   0x00E2
    -
    -
    - -

    - -

    -Definition at line 251 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define IBFD   0x00E1
    -
    -
    - -

    - -

    -Definition at line 250 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define IBSR   0x00E3
    -
    -
    - -

    - -

    -Definition at line 252 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ICOVW   0x006A
    -
    -
    - -

    - -

    -Definition at line 137 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ICPAR   0x0068
    -
    -
    - -

    - -

    -Definition at line 135 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ICSYS   0x006B
    -
    -
    - -

    - -

    -Definition at line 138 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define IICDR   0x00E4
    -
    -
    - -

    - -

    -Definition at line 253 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define INITEE   0x0012
    -
    -
    - -

    - -

    -Definition at line 57 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define INITRG   0x0011
    -
    -
    - -

    - -

    -Definition at line 56 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define INITRM   0x0010
    -
    -
    - -

    - -

    -Definition at line 55 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define INTCR   0x001E
    -
    -
    - -

    - -

    -Definition at line 68 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ITCR   0x0015
    -
    -
    - -

    - -

    -Definition at line 60 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define ITEST   0x0016
    -
    -
    - -

    - -

    -Definition at line 61 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MCCNTH   0x0076
    -
    -
    - -

    - -

    -Definition at line 148 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MCCNTL   0x0077
    -
    -
    - -

    - -

    -Definition at line 149 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MCCTL   0x0066
    -
    -
    - -

    - -

    -Definition at line 133 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MCFLG   0x0067
    -
    -
    - -

    - -

    -Definition at line 134 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MEMSIZ0   0x001C
    -
    -
    - -

    - -

    -Definition at line 66 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MEMSIZ1   0x001D
    -
    -
    - -

    - -

    -Definition at line 67 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MISC   0x0013
    -
    -
    - -

    - -

    -Definition at line 58 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MODE   0x000B
    -
    -
    - -

    - -

    -Definition at line 50 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MTST0   0x0014
    -
    -
    - -

    - -

    -Definition at line 59 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define MTST1   0x0017
    -
    -
    - -

    - -

    -Definition at line 62 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PA0H   0x0075
    -
    -
    - -

    - -

    -Definition at line 147 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PA1H   0x0074
    -
    -
    - -

    - -

    -Definition at line 146 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PA2H   0x0073
    -
    -
    - -

    - -

    -Definition at line 145 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PA3H   0x0072
    -
    -
    - -

    - -

    -Definition at line 144 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PACN0L   0x0065
    -
    -
    - -

    - -

    -Definition at line 132 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PACN1H   0x0064
    -
    -
    - -

    - -

    -Definition at line 131 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PACN2L   0x0063
    -
    -
    - -

    - -

    -Definition at line 130 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PACN3H   0x0062
    -
    -
    - -

    - -

    -Definition at line 129 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PACTL   0x0060
    -
    -
    - -

    - -

    -Definition at line 127 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PAFLG   0x0061
    -
    -
    - -

    - -

    -Definition at line 128 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PARTIDH   0x001A
    -
    -
    - -

    - -

    -Definition at line 64 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PARTIDL   0x001B
    -
    -
    - -

    - -

    -Definition at line 65 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PBCTL   0x0070
    -
    -
    - -

    - -

    -Definition at line 142 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PBFLG   0x0071
    -
    -
    - -

    - -

    -Definition at line 143 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PEAR   0x000A
    -
    -
    - -

    - -

    -Definition at line 49 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PERH   0x0264
    -
    -
    - -

    - -

    -Definition at line 613 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PERJ   0x026C
    -
    -
    - -

    - -

    -Definition at line 621 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PERM   0x0254
    -
    -
    - -

    - -

    -Definition at line 597 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PERP   0x025C
    -
    -
    - -

    - -

    -Definition at line 605 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PERS   0x024C
    -
    -
    - -

    - -

    -Definition at line 589 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PERT   0x0244
    -
    -
    - -

    - -

    -Definition at line 582 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PIEH   0x0266
    -
    -
    - -

    - -

    -Definition at line 615 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PIEJ   0x026E
    -
    -
    - -

    - -

    -Definition at line 623 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PIEP   0x025E
    -
    -
    - -

    - -

    -Definition at line 607 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PIFH   0x0267
    -
    -
    - -

    - -

    -Definition at line 616 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PIFJ   0x026F
    -
    -
    - -

    - -

    -Definition at line 624 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PIFP   0x025F
    -
    -
    - -

    - -

    -Definition at line 608 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PLLCTL   0x003A
    -
    -
    - -

    - -

    -Definition at line 89 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PORTA   0x0000
    -
    -
    - -

    - -

    -Definition at line 42 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PORTAD0   0x008F
    -
    -
    - -

    - -

    -Definition at line 171 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PORTAD1   0x012F
    -
    -
    - -

    - -

    -Definition at line 305 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PORTB   0x0001
    -
    -
    - -

    - -

    -Definition at line 43 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PORTE   0x0008
    -
    -
    - -

    - -

    -Definition at line 47 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PORTK   0x0032
    -
    -
    - -

    - -

    -Definition at line 81 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PPAGE   0x0030
    -
    -
    - -

    - -

    -Definition at line 79 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PPSH   0x0265
    -
    -
    - -

    - -

    -Definition at line 614 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PPSJ   0x026D
    -
    -
    - -

    - -

    -Definition at line 622 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PPSM   0x0255
    -
    -
    - -

    - -

    -Definition at line 598 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PPSP   0x025D
    -
    -
    - -

    - -

    -Definition at line 606 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PPSS   0x024D
    -
    -
    - -

    - -

    -Definition at line 590 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PPST   0x0245
    -
    -
    - -

    - -

    -Definition at line 583 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTH   0x0260
    -
    -
    - -

    - -

    -Definition at line 609 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTIH   0x0261
    -
    -
    - -

    - -

    -Definition at line 610 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTIJ   0x0269
    -
    -
    - -

    - -

    -Definition at line 618 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTIM   0x0251
    -
    -
    - -

    - -

    -Definition at line 594 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTIP   0x0259
    -
    -
    - -

    - -

    -Definition at line 602 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTIS   0x0249
    -
    -
    - -

    - -

    -Definition at line 586 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTIT   0x0241
    -
    -
    - -

    - -

    -Definition at line 579 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTJ   0x0268
    -
    -
    - -

    - -

    -Definition at line 617 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTM   0x0250
    -
    -
    - -

    - -

    -Definition at line 593 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTP   0x0258
    -
    -
    - -

    - -

    -Definition at line 601 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTS   0x0248
    -
    -
    - -

    - -

    -Definition at line 585 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PTT   0x0240
    -
    -
    - -

    - -

    -Definition at line 578 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PUCR   0x000C
    -
    -
    - -

    - -

    -Definition at line 51 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCAE   0x00A4
    -
    -
    - -

    - -

    -Definition at line 192 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCLK   0x00A2
    -
    -
    - -

    - -

    -Definition at line 190 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCNT0   0x00AC
    -
    -
    - -

    - -

    -Definition at line 200 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCNT1   0x00AD
    -
    -
    - -

    - -

    -Definition at line 201 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCNT2   0x00AE
    -
    -
    - -

    - -

    -Definition at line 202 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCNT3   0x00AF
    -
    -
    - -

    - -

    -Definition at line 203 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCNT4   0x00B0
    -
    -
    - -

    - -

    -Definition at line 204 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCNT5   0x00B1
    -
    -
    - -

    - -

    -Definition at line 205 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCNT6   0x00B2
    -
    -
    - -

    - -

    -Definition at line 206 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCNT7   0x00B3
    -
    -
    - -

    - -

    -Definition at line 207 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMCTL   0x00A5
    -
    -
    - -

    - -

    -Definition at line 193 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMDTY0   0x00BC
    -
    -
    - -

    - -

    -Definition at line 216 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMDTY1   0x00BD
    -
    -
    - -

    - -

    -Definition at line 217 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMDTY2   0x00BE
    -
    -
    - -

    - -

    -Definition at line 218 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMDTY3   0x00BF
    -
    -
    - -

    - -

    -Definition at line 219 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMDTY4   0x00C0
    -
    -
    - -

    - -

    -Definition at line 220 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMDTY5   0x00C1
    -
    -
    - -

    - -

    -Definition at line 221 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMDTY6   0x00C2
    -
    -
    - -

    - -

    -Definition at line 222 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMDTY7   0x00C3
    -
    -
    - -

    - -

    -Definition at line 223 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWME   0x00A0
    -
    -
    - -

    - -

    -Definition at line 188 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPER0   0x00B4
    -
    -
    - -

    - -

    -Definition at line 208 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPER1   0x00B5
    -
    -
    - -

    - -

    -Definition at line 209 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPER2   0x00B6
    -
    -
    - -

    - -

    -Definition at line 210 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPER3   0x00B7
    -
    -
    - -

    - -

    -Definition at line 211 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPER4   0x00B8
    -
    -
    - -

    - -

    -Definition at line 212 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPER5   0x00B9
    -
    -
    - -

    - -

    -Definition at line 213 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPER6   0x00BA
    -
    -
    - -

    - -

    -Definition at line 214 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPER7   0x00BB
    -
    -
    - -

    - -

    -Definition at line 215 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPOL   0x00A1
    -
    -
    - -

    - -

    -Definition at line 189 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPRCLK   0x00A3
    -
    -
    - -

    - -

    -Definition at line 191 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMPRSC   0x00A7
    -
    -
    - -

    - -

    -Definition at line 195 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMSCLA   0x00A8
    -
    -
    - -

    - -

    -Definition at line 196 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMSCLB   0x00A9
    -
    -
    - -

    - -

    -Definition at line 197 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMSCNTA   0x00AA
    -
    -
    - -

    - -

    -Definition at line 198 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMSCNTB   0x00AB
    -
    -
    - -

    - -

    -Definition at line 199 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMSDN   0x00C4
    -
    -
    - -

    - -

    -Definition at line 224 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define PWMTST   0x00A6
    -
    -
    - -

    - -

    -Definition at line 194 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define RDRH   0x0263
    -
    -
    - -

    - -

    -Definition at line 612 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define RDRIV   0x000D
    -
    -
    - -

    - -

    -Definition at line 52 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define RDRJ   0x026B
    -
    -
    - -

    - -

    -Definition at line 620 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define RDRM   0x0253
    -
    -
    - -

    - -

    -Definition at line 596 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define RDRP   0x025B
    -
    -
    - -

    - -

    -Definition at line 604 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define RDRS   0x024B
    -
    -
    - -

    - -

    -Definition at line 588 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define RDRT   0x0243
    -
    -
    - -

    - -

    -Definition at line 581 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define REFDV   0x0035
    -
    -
    - -

    - -

    -Definition at line 84 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define RTICTL   0x003B
    -
    -
    - -

    - -

    -Definition at line 90 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SC0CR1   0x00CA
    -
    -
    - -

    - -

    -Definition at line 228 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SC0SR2   0x00CD
    -
    -
    - -

    - -

    -Definition at line 231 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SC1CR1   0x00D2
    -
    -
    - -

    - -

    -Definition at line 236 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SC1SR2   0x00D5
    -
    -
    - -

    - -

    -Definition at line 239 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI0   0x00C8
    -
    -
    - -

    - -

    -Definition at line 744 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI0BDH   0x00C8
    -
    -
    - -

    - -

    -Definition at line 226 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI0BDL   0x00C9
    -
    -
    - -

    - -

    -Definition at line 227 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI0CR2   0x00CB
    -
    -
    - -

    - -

    -Definition at line 229 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI0DRH   0x00CE
    -
    -
    - -

    - -

    -Definition at line 232 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI0DRL   0x00CF
    -
    -
    - -

    - -

    -Definition at line 233 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI0SR1   0x00CC
    -
    -
    - -

    - -

    -Definition at line 230 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI1   0x00D0
    -
    -
    - -

    - -

    -Definition at line 745 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI1BDH   0x00D0
    -
    -
    - -

    - -

    -Definition at line 234 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI1BDL   0x00D1
    -
    -
    - -

    - -

    -Definition at line 235 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI1CR2   0x00D3
    -
    -
    - -

    - -

    -Definition at line 237 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI1DRH   0x00D6
    -
    -
    - -

    - -

    -Definition at line 240 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI1DRL   0x00D7
    -
    -
    - -

    - -

    -Definition at line 241 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCI1SR1   0x00D4
    -
    -
    - -

    - -

    -Definition at line 238 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCIBDH   0x00
    -
    -
    - -

    - -

    -Definition at line 747 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCIBDL   0x01
    -
    -
    - -

    - -

    -Definition at line 748 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCICR1   0x02
    -
    -
    - -

    - -

    -Definition at line 749 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCICR2   0x03
    -
    -
    - -

    - -

    -Definition at line 750 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCIDRH   0x06
    -
    -
    - -

    - -

    -Definition at line 753 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCIDRL   0x07
    -
    -
    - -

    - -

    -Definition at line 754 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCISR1   0x04
    -
    -
    - -

    - -

    -Definition at line 751 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SCISR2   0x05
    -
    -
    - -

    - -

    -Definition at line 752 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI0BR   0x00DA
    -
    -
    - -

    - -

    -Definition at line 244 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI0CR1   0x00D8
    -
    -
    - -

    - -

    -Definition at line 242 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI0CR2   0x00D9
    -
    -
    - -

    - -

    -Definition at line 243 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI0DR   0x00DD
    -
    -
    - -

    - -

    -Definition at line 247 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI0SR   0x00DB
    -
    -
    - -

    - -

    -Definition at line 245 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI1BR   0x00F2
    -
    -
    - -

    - -

    -Definition at line 265 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI1CR1   0x00F0
    -
    -
    - -

    - -

    -Definition at line 263 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI1CR2   0x00F1
    -
    -
    - -

    - -

    -Definition at line 264 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI1DR   0x00F5
    -
    -
    - -

    - -

    -Definition at line 268 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI1SR   0x00F3
    -
    -
    - -

    - -

    -Definition at line 266 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI2BR   0x00FA
    -
    -
    - -

    - -

    -Definition at line 272 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI2CR1   0x00F8
    -
    -
    - -

    - -

    -Definition at line 270 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI2CR2   0x00F9
    -
    -
    - -

    - -

    -Definition at line 271 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI2DR   0x00FD
    -
    -
    - -

    - -

    -Definition at line 275 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SPI2SR   0x00FB
    -
    -
    - -

    - -

    -Definition at line 273 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define SYNR   0x0034
    -
    -
    - -

    - -

    -Definition at line 83 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC0H   0x0050
    -
    -
    - -

    - -

    -Definition at line 111 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC0HH   0x0078
    -
    -
    - -

    - -

    -Definition at line 150 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC0HL   0x0079
    -
    -
    - -

    - -

    -Definition at line 151 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC0L   0x0051
    -
    -
    - -

    - -

    -Definition at line 112 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC1H   0x0052
    -
    -
    - -

    - -

    -Definition at line 113 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC1HH   0x007A
    -
    -
    - -

    - -

    -Definition at line 152 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC1HL   0x007B
    -
    -
    - -

    - -

    -Definition at line 153 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC1L   0x0053
    -
    -
    - -

    - -

    -Definition at line 114 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC2H   0x0054
    -
    -
    - -

    - -

    -Definition at line 115 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC2HH   0x007C
    -
    -
    - -

    - -

    -Definition at line 154 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC2HL   0x007D
    -
    -
    - -

    - -

    -Definition at line 155 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC2L   0x0055
    -
    -
    - -

    - -

    -Definition at line 116 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC3H   0x0056
    -
    -
    - -

    - -

    -Definition at line 117 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC3HH   0x007E
    -
    -
    - -

    - -

    -Definition at line 156 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC3L   0x0057
    -
    -
    - -

    - -

    -Definition at line 118 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC4H   0x0058
    -
    -
    - -

    - -

    -Definition at line 119 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC4L   0x0059
    -
    -
    - -

    - -

    -Definition at line 120 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC5H   0x005A
    -
    -
    - -

    - -

    -Definition at line 121 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC5L   0x005B
    -
    -
    - -

    - -

    -Definition at line 122 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC6H   0x005C
    -
    -
    - -

    - -

    -Definition at line 123 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC6L   0x005D
    -
    -
    - -

    - -

    -Definition at line 124 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC7H   0x005E
    -
    -
    - -

    - -

    -Definition at line 125 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TC7L   0x005F
    -
    -
    - -

    - -

    -Definition at line 126 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TCFORC   0x0041
    -
    -
    - -

    - -

    -Definition at line 96 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TCNTH   0x0044
    -
    -
    - -

    - -

    -Definition at line 99 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TCNTL   0x0045
    -
    -
    - -

    - -

    -Definition at line 100 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TCTL1   0x0048
    -
    -
    - -

    - -

    -Definition at line 103 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TCTL2   0x0049
    -
    -
    - -

    - -

    -Definition at line 104 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TCTL3   0x004A
    -
    -
    - -

    - -

    -Definition at line 105 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TCTL4   0x004B
    -
    -
    - -

    - -

    -Definition at line 106 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TFLG1   0x004E
    -
    -
    - -

    - -

    -Definition at line 109 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TFLG2   0x004F
    -
    -
    - -

    - -

    -Definition at line 110 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TIE   0x004C
    -
    -
    - -

    - -

    -Definition at line 107 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TIMTST   0x006D
    -
    -
    - -

    - -

    -Definition at line 140 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TIOS   0x0040
    -
    -
    - -

    - -

    -Definition at line 95 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TOC7D   0x0043
    -
    -
    - -

    - -

    -Definition at line 98 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TOC7M   0x0042
    -
    -
    - -

    - -

    -Definition at line 97 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TSCR1   0x0046
    -
    -
    - -

    - -

    -Definition at line 101 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TSCR2   0x004D
    -
    -
    - -

    - -

    -Definition at line 108 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define TTOV   0x0047
    -
    -
    - -

    - -

    -Definition at line 102 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define WOMM   0x0256
    -
    -
    - -

    - -

    -Definition at line 599 of file ports_def.h. -

    -

    - -

    -
    - - - - -
    #define WOMS   0x024E
    -
    -
    - -

    - -

    -Definition at line 591 of file ports_def.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/ports__def_8h__dep__incl.dot --- a/doc/doxygen/html/ports__def_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports_def.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/ports.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ports_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/ports__def_8h__dep__incl.md5 --- a/doc/doxygen/html/ports__def_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -2b0af90cc80ddf33a2de693a50647a03 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/portsaccess_8h-source.html --- a/doc/doxygen/html/portsaccess_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/portsaccess.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/portsaccess.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 /*
    -00023 Variables to access to the io_ports
    -00024 */
    -00025 
    -00026 
    -00027 #ifndef __PORTS_ACCESS__
    -00028 #define __PORTS_ACCESS__
    -00029 
    -00030 /*
    -00031 By default the address is 0X0000 on HCS12.
    -00032 But the ports can be remaped. See the file ports.h
    -00033 */
    -00034 
    -00035 
    -00036 extern volatile unsigned char _io_ports[];
    -00037 
    -00038 /* To use for a 8 bits access */
    -00039 #define IO_PORTS_8(adr) \
    -00040 _io_ports[adr]
    -00041 
    -00042 /* To use for a 16 bits access */
    -00043 /* Example : IO_PORTS_16(CAN0IDAR1)= 0xABCD;
    -00044 will put AB at @CAN0IDAR1 and CD at  @CAN0IDAR1 + 1
    -00045 */
    -00046 #define IO_PORTS_16(adr) \
    -00047 *((unsigned volatile short*) (_io_ports + (adr)))
    -00048 
    -00049 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/portsaccess_8h.html --- a/doc/doxygen/html/portsaccess_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/portsaccess.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/portsaccess.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - -

    Defines

    #define IO_PORTS_8(adr)   _io_ports[adr]
    #define IO_PORTS_16(adr)   *((unsigned volatile short*) (_io_ports + (adr)))

    Variables

    volatile unsigned char _io_ports []
    -


    Define Documentation

    - -
    -
    - - - - - - - - - -
    #define IO_PORTS_16 (adr   )    *((unsigned volatile short*) (_io_ports + (adr)))
    -
    -
    - -

    - -

    -Definition at line 46 of file portsaccess.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define IO_PORTS_8 (adr   )    _io_ports[adr]
    -
    -
    - -

    - -

    -Definition at line 39 of file portsaccess.h. -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    volatile unsigned char _io_ports[]
    -
    -
    - -

    - -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/regbase_8h-source.html --- a/doc/doxygen/html/regbase_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/regbase.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/regbase.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 /*
    -00024 Définition du maping,
    -00025 qui dépend du contenu du registre INITRG
    -00026 */
    -00027 
    -00028 
    -00029 #ifndef __REGBASE__
    -00030 #define __REGBASE__
    -00031 
    -00032 
    -00033 
    -00034 
    -00035 
    -00036 
    -00037 
    -00038 #endif __REGBASE__
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/regbase_8h.html --- a/doc/doxygen/html/regbase_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/regbase.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/regbase.h File Reference

    -

    -Go to the source code of this file. - -
    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/regs_8h-source.html --- a/doc/doxygen/html/regs_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/regs.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/regs.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 /* Regs - Software registers used by GCC
    -00024    Copyright (C) 2000 Free Software Foundation, Inc.
    -00025    Written by Stephane Carrez (stcarrez@worldnet.fr)    
    -00026 
    -00027 This file is free software; you can redistribute it and/or modify it
    -00028 under the terms of the GNU General Public License as published by the
    -00029 Free Software Foundation; either version 2, or (at your option) any
    -00030 later version.
    -00031 
    -00032 In addition to the permissions in the GNU General Public License, the
    -00033 Free Software Foundation gives you unlimited permission to link the
    -00034 compiled version of this file with other programs, and to distribute
    -00035 those programs without any restriction coming from the use of this
    -00036 file.  (The General Public License restrictions do apply in other
    -00037 respects; for example, they cover modification of the file, and
    -00038 distribution when not linked into another program.)
    -00039 
    -00040 This file is distributed in the hope that it will be useful, but
    -00041 WITHOUT ANY WARRANTY; without even the implied warranty of
    -00042 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00043 General Public License for more details.
    -00044 
    -00045 You should have received a copy of the GNU General Public License
    -00046 along with this program; see the file COPYING.  If not, write to
    -00047 the Free Software Foundation, 59 Temple Place - Suite 330,
    -00048 Boston, MA 02111-1307, USA.  */
    -00049 
    -00050 #ifndef _M68HC11_REGS_H
    -00051 #define _M68HC11_REGS_H
    -00052 
    -00053 /* Include this file if you want to have access to the soft registers
    -00054    used by GCC.  The soft registers are memory location.  They have
    -00055    special names that cannot conflict with C or C++ variables.
    -00056    The extern definition below map those special names to
    -00057    some usable names in C and C++.  */
    -00058   
    -00059 extern unsigned short __tmp    __asm__("_.tmp");
    -00060 extern unsigned short __z      __asm__("_.z");
    -00061 extern unsigned short __xy     __asm__("_.xy");
    -00062 extern unsigned short __frame  __asm__("_.frame");
    -00063 extern unsigned short __d1     __asm__("_.d1");
    -00064 extern unsigned short __d2     __asm__("_.d2");
    -00065 extern unsigned short __d3     __asm__("_.d3");
    -00066 extern unsigned short __d4     __asm__("_.d4");
    -00067 extern unsigned short __d5     __asm__("_.d5");
    -00068 extern unsigned short __d6     __asm__("_.d6");
    -00069 extern unsigned short __d7     __asm__("_.d7");
    -00070 extern unsigned short __d8     __asm__("_.d8");
    -00071 extern unsigned short __d9     __asm__("_.d9");
    -00072 extern unsigned short __d10    __asm__("_.d10");
    -00073 extern unsigned short __d11    __asm__("_.d11");
    -00074 extern unsigned short __d12    __asm__("_.d12");
    -00075 extern unsigned short __d13    __asm__("_.d13");
    -00076 extern unsigned short __d14    __asm__("_.d14");
    -00077 extern unsigned short __d15    __asm__("_.d15");
    -00078 extern unsigned short __d16    __asm__("_.d16");
    -00079 extern unsigned short __d17    __asm__("_.d17");
    -00080 extern unsigned short __d18    __asm__("_.d18");
    -00081 extern unsigned short __d19    __asm__("_.d19");
    -00082 extern unsigned short __d20    __asm__("_.d20");
    -00083 extern unsigned short __d21    __asm__("_.d21");
    -00084 extern unsigned short __d22    __asm__("_.d22");
    -00085 extern unsigned short __d23    __asm__("_.d23");
    -00086 extern unsigned short __d24    __asm__("_.d24");
    -00087 extern unsigned short __d25    __asm__("_.d25");
    -00088 extern unsigned short __d26    __asm__("_.d26");
    -00089 extern unsigned short __d27    __asm__("_.d27");
    -00090 extern unsigned short __d28    __asm__("_.d28");
    -00091 extern unsigned short __d29    __asm__("_.d29");
    -00092 extern unsigned short __d30    __asm__("_.d30");
    -00093 extern unsigned short __d31    __asm__("_.d31");
    -00094 extern unsigned short __d32    __asm__("_.d32");
    -00095 
    -00096 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/regs_8h.html --- a/doc/doxygen/html/regs_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,823 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/regs.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/asm-m68hc12/regs.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Functions

    unsigned short __tmp __asm__ ("_.tmp")
    unsigned short __z __asm__ ("_.z")
    unsigned short __xy __asm__ ("_.xy")
    unsigned short __frame __asm__ ("_.frame")
    unsigned short __d1 __asm__ ("_.d1")
    unsigned short __d2 __asm__ ("_.d2")
    unsigned short __d3 __asm__ ("_.d3")
    unsigned short __d4 __asm__ ("_.d4")
    unsigned short __d5 __asm__ ("_.d5")
    unsigned short __d6 __asm__ ("_.d6")
    unsigned short __d7 __asm__ ("_.d7")
    unsigned short __d8 __asm__ ("_.d8")
    unsigned short __d9 __asm__ ("_.d9")
    unsigned short __d10 __asm__ ("_.d10")
    unsigned short __d11 __asm__ ("_.d11")
    unsigned short __d12 __asm__ ("_.d12")
    unsigned short __d13 __asm__ ("_.d13")
    unsigned short __d14 __asm__ ("_.d14")
    unsigned short __d15 __asm__ ("_.d15")
    unsigned short __d16 __asm__ ("_.d16")
    unsigned short __d17 __asm__ ("_.d17")
    unsigned short __d18 __asm__ ("_.d18")
    unsigned short __d19 __asm__ ("_.d19")
    unsigned short __d20 __asm__ ("_.d20")
    unsigned short __d21 __asm__ ("_.d21")
    unsigned short __d22 __asm__ ("_.d22")
    unsigned short __d23 __asm__ ("_.d23")
    unsigned short __d24 __asm__ ("_.d24")
    unsigned short __d25 __asm__ ("_.d25")
    unsigned short __d26 __asm__ ("_.d26")
    unsigned short __d27 __asm__ ("_.d27")
    unsigned short __d28 __asm__ ("_.d28")
    unsigned short __d29 __asm__ ("_.d29")
    unsigned short __d30 __asm__ ("_.d30")
    unsigned short __d31 __asm__ ("_.d31")
    unsigned short __d32 __asm__ ("_.d32")
    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    unsigned short __d32 __asm__ ("_.d32"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d31 __asm__ ("_.d31"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d30 __asm__ ("_.d30"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d29 __asm__ ("_.d29"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d28 __asm__ ("_.d28"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d27 __asm__ ("_.d27"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d26 __asm__ ("_.d26"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d25 __asm__ ("_.d25"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d24 __asm__ ("_.d24"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d23 __asm__ ("_.d23"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d22 __asm__ ("_.d22"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d21 __asm__ ("_.d21"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d20 __asm__ ("_.d20"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d19 __asm__ ("_.d19"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d18 __asm__ ("_.d18"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d17 __asm__ ("_.d17"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d16 __asm__ ("_.d16"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d15 __asm__ ("_.d15"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d14 __asm__ ("_.d14"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d13 __asm__ ("_.d13"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d12 __asm__ ("_.d12"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d11 __asm__ ("_.d11"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d10 __asm__ ("_.d10"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d9 __asm__ ("_.d9"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d8 __asm__ ("_.d8"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d7 __asm__ ("_.d7"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d6 __asm__ ("_.d6"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d5 __asm__ ("_.d5"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d4 __asm__ ("_.d4"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d3 __asm__ ("_.d3"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d2 __asm__ ("_.d2"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __d1 __asm__ ("_.d1"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __frame __asm__ ("_.frame"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __xy __asm__ ("_.xy"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __z __asm__ ("_.z"   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    unsigned short __tmp __asm__ ("_.tmp"   ) 
    -
    -
    - -

    - -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/resource_8h-source.html --- a/doc/doxygen/html/resource_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/resource_8h-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -29,7 +29,7 @@ 00012 #define _APS_NEXT_SYMED_VALUE 101 00013 #endif 00014 #endif -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/resource_8h.html --- a/doc/doxygen/html/resource_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/resource_8h.html Tue Jun 05 18:43:21 2007 +0200 @@ -20,7 +20,7 @@ Go to the source code of this file.
    -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c-source.html --- a/doc/doxygen/html/sdo_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -36,1306 +36,1142 @@ 00019 License along with this library; if not, write to the Free Software 00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 */ -00022 -00023 /* #define DEBUG_WAR_CONSOLE_ON */ -00024 /* #define DEBUG_ERR_CONSOLE_ON */ -00025 -00026 #include "objacces.h" -00027 #include "sdo.h" -00028 #include "canfestival.h" -00029 -00030 /* Uncomment if your compiler does not support inline functions */ -00031 #define NO_INLINE -00032 -00033 #ifdef NO_INLINE -00034 #define INLINE -00035 #else -00036 #define INLINE inline -00037 #endif -00038 -00039 /*Internals prototypes*/ -00040 -00042 INLINE UNS8 _writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, -00043 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback, UNS8 endianize); -00044 -00046 INLINE UNS8 _readNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, -00047 UNS8 dataType, SDOCallback_t Callback); -00048 +00032 /* #define DEBUG_WAR_CONSOLE_ON */ +00033 /* #define DEBUG_ERR_CONSOLE_ON */ +00034 +00035 #include "objacces.h" +00036 #include "sdo.h" +00037 #include "canfestival.h" +00038 +00039 /* Uncomment if your compiler does not support inline functions */ +00040 #define NO_INLINE +00041 +00042 #ifdef NO_INLINE +00043 #define INLINE +00044 #else +00045 #define INLINE inline +00046 #endif +00047 +00048 /*Internals prototypes*/ 00049 -00050 /***************************************************************************/ -00051 /* SDO (un)packing macros */ -00052 -00055 #define getSDOcs(byte) (byte >> 5) -00056 -00059 #define getSDOn2(byte) ((byte >> 2) & 3) -00060 -00063 #define getSDOn3(byte) ((byte >> 1) & 7) -00064 -00067 #define getSDOe(byte) ((byte >> 1) & 1) -00068 -00071 #define getSDOs(byte) (byte & 1) -00072 -00075 #define getSDOc(byte) (byte & 1) -00076 -00079 #define getSDOt(byte) ((byte >> 4) & 1) -00080 -00083 #define getSDOindex(byte1, byte2) ((byte2 << 8) | (byte1)) -00084 -00088 #define getSDOsubIndex(byte3) (byte3) -00089 -00090 /*************************************************************************** -00091 ** -00092 */ -00093 void SDOTimeoutAlarm(CO_Data* d, UNS32 id) -00094 { -00095 MSG_ERR(0x1A01, "SDO timeout. SDO response not received.", 0); -00096 MSG_WAR(0x2A02, "server node : ", d->transfers[id].nodeId); -00097 MSG_WAR(0x2A02, " index : ", d->transfers[id].index); -00098 MSG_WAR(0x2A02, " subIndex : ", d->transfers[id].subIndex); -00099 /* Reset timer handler */ -00100 d->transfers[id].timer = TIMER_NONE; -00101 /*Set aborted state*/ -00102 d->transfers[id].state = SDO_ABORTED_INTERNAL; -00103 /* Sending a SDO abort */ -00104 sendSDOabort(d, d->transfers[id].whoami, -00105 d->transfers[id].index, d->transfers[id].subIndex, SDOABT_TIMED_OUT); -00106 d->transfers[id].abortCode = SDOABT_TIMED_OUT; -00107 /* Call the user function to inform of the problem.*/ -00108 if(d->transfers[id].Callback) -00109 /*If ther is a callback, it is responsible to close SDO transfer (client)*/ -00110 (*d->transfers[id].Callback)(d,d->transfers[id].nodeId); -00111 else if(d->transfers[id].whoami == SDO_SERVER) -00112 /*Else, if server, reset the line*/ -00113 resetSDOline(d, (UNS8)id); -00114 } -00115 -00116 #define StopSDO_TIMER(id) \ -00117 MSG_WAR(0x3A05, "StopSDO_TIMER for line : ", line);\ -00118 d->transfers[id].timer = DelAlarm(d->transfers[id].timer); -00119 -00120 #define StartSDO_TIMER(id) \ -00121 MSG_WAR(0x3A06, "StartSDO_TIMER for line : ", line);\ -00122 d->transfers[id].timer = SetAlarm(d,id,&SDOTimeoutAlarm,MS_TO_TIMEVAL(SDO_TIMEOUT_MS),0); -00123 -00124 #define RestartSDO_TIMER(id) \ -00125 MSG_WAR(0x3A07, "restartSDO_TIMER for line : ", line);\ -00126 if(d->transfers[id].timer != TIMER_NONE) { StopSDO_TIMER(id) StartSDO_TIMER(id) } -00127 -00128 /***************************************************************************/ -00131 void resetSDO (CO_Data* d) -00132 { -00133 UNS8 j; -00134 -00135 /* transfer structure initialization */ -00136 for (j = 0 ; j < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; j++) -00137 resetSDOline(d, j); -00138 } -00139 -00140 /***************************************************************************/ -00141 UNS32 SDOlineToObjdict (CO_Data* d, UNS8 line) -00142 { -00143 UNS8 size; -00144 UNS32 errorCode; -00145 MSG_WAR(0x3A08, "Enter in SDOlineToObjdict ", line); -00146 size = (UNS8)d->transfers[line].count; -00147 errorCode = setODentry(d, d->transfers[line].index, d->transfers[line].subIndex, -00148 (void *) d->transfers[line].data, &size, 1); -00149 if (errorCode != OD_SUCCESSFUL) -00150 return errorCode; -00151 MSG_WAR(0x3A08, "exit of SDOlineToObjdict ", line); -00152 return 0; -00153 -00154 } -00155 -00156 /***************************************************************************/ -00157 UNS32 objdictToSDOline (CO_Data* d, UNS8 line) -00158 { -00159 UNS8 size = 0; -00160 UNS8 dataType; -00161 UNS32 errorCode; -00162 -00163 MSG_WAR(0x3A05, "objdict->line index : ", d->transfers[line].index); -00164 MSG_WAR(0x3A06, " subIndex : ", d->transfers[line].subIndex); -00165 -00166 errorCode = getODentry(d, d->transfers[line].index, -00167 d->transfers[line].subIndex, -00168 (void *)d->transfers[line].data, -00169 &size, &dataType, 0); -00170 -00171 if (errorCode != OD_SUCCESSFUL) -00172 return errorCode; -00173 -00174 d->transfers[line].count = size; -00175 d->transfers[line].offset = 0; -00176 #if 0 -00177 /*Me laisser ça, please ! (FD)*/ -00178 { -00179 UNS8 i; -00180 for (i = 0 ; i < 10 ; i++) { -00181 MSG_WAR(i, "data= ", d->transfers[line].data[i]); -00182 } -00183 } -00184 #endif -00185 return 0; -00186 } -00187 -00188 /***************************************************************************/ -00189 UNS8 lineToSDO (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8* data) { -00190 UNS8 i; -00191 UNS8 offset; -00192 -00193 if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFERT) { -00194 MSG_ERR(0x1A10,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); -00195 return 0xFF; -00196 } -00197 if ((d->transfers[line].offset + nbBytes) > d->transfers[line].count) { -00198 MSG_ERR(0x1A11,"SDO Size of data too large. Exceed count", nbBytes); -00199 return 0xFF; -00200 } -00201 offset = (UNS8)d->transfers[line].offset; -00202 for (i = 0 ; i < nbBytes ; i++) -00203 * (data + i) = d->transfers[line].data[offset + i]; -00204 d->transfers[line].offset = d->transfers[line].offset + nbBytes; -00205 return 0; -00206 } -00207 -00208 -00209 /***************************************************************************/ -00210 UNS8 SDOtoLine (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8* data) -00211 { -00212 UNS8 i; -00213 UNS8 offset; -00214 -00215 if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFERT) { -00216 MSG_ERR(0x1A15,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); -00217 return 0xFF; -00218 } -00219 offset = (UNS8)d->transfers[line].offset; -00220 for (i = 0 ; i < nbBytes ; i++) -00221 d->transfers[line].data[offset + i] = * (data + i); -00222 d->transfers[line].offset = d->transfers[line].offset + nbBytes; -00223 return 0; -00224 } +00065 INLINE UNS8 _writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, +00066 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback, UNS8 endianize); +00067 +00080 INLINE UNS8 _readNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, +00081 UNS8 dataType, SDOCallback_t Callback); +00082 +00083 +00084 /***************************************************************************/ +00085 /* SDO (un)packing macros */ +00086 +00089 #define getSDOcs(byte) (byte >> 5) +00090 +00093 #define getSDOn2(byte) ((byte >> 2) & 3) +00094 +00097 #define getSDOn3(byte) ((byte >> 1) & 7) +00098 +00101 #define getSDOe(byte) ((byte >> 1) & 1) +00102 +00105 #define getSDOs(byte) (byte & 1) +00106 +00109 #define getSDOc(byte) (byte & 1) +00110 +00113 #define getSDOt(byte) ((byte >> 4) & 1) +00114 +00117 #define getSDOindex(byte1, byte2) ((byte2 << 8) | (byte1)) +00118 +00121 #define getSDOsubIndex(byte3) (byte3) +00122 +00129 void SDOTimeoutAlarm(CO_Data* d, UNS32 id) +00130 { +00131 MSG_ERR(0x1A01, "SDO timeout. SDO response not received.", 0); +00132 MSG_WAR(0x2A02, "server node : ", d->transfers[id].nodeId); +00133 MSG_WAR(0x2A02, " index : ", d->transfers[id].index); +00134 MSG_WAR(0x2A02, " subIndex : ", d->transfers[id].subIndex); +00135 /* Reset timer handler */ +00136 d->transfers[id].timer = TIMER_NONE; +00137 /*Set aborted state*/ +00138 d->transfers[id].state = SDO_ABORTED_INTERNAL; +00139 /* Sending a SDO abort */ +00140 sendSDOabort(d, d->transfers[id].whoami, +00141 d->transfers[id].index, d->transfers[id].subIndex, SDOABT_TIMED_OUT); +00142 d->transfers[id].abortCode = SDOABT_TIMED_OUT; +00143 /* Call the user function to inform of the problem.*/ +00144 if(d->transfers[id].Callback) +00145 /*If ther is a callback, it is responsible to close SDO transfer (client)*/ +00146 (*d->transfers[id].Callback)(d,d->transfers[id].nodeId); +00147 else if(d->transfers[id].whoami == SDO_SERVER) +00148 /*Else, if server, reset the line*/ +00149 resetSDOline(d, (UNS8)id); +00150 } +00151 +00152 #define StopSDO_TIMER(id) \ +00153 MSG_WAR(0x3A05, "StopSDO_TIMER for line : ", line);\ +00154 d->transfers[id].timer = DelAlarm(d->transfers[id].timer); +00155 +00156 #define StartSDO_TIMER(id) \ +00157 MSG_WAR(0x3A06, "StartSDO_TIMER for line : ", line);\ +00158 d->transfers[id].timer = SetAlarm(d,id,&SDOTimeoutAlarm,MS_TO_TIMEVAL(SDO_TIMEOUT_MS),0); +00159 +00160 #define RestartSDO_TIMER(id) \ +00161 MSG_WAR(0x3A07, "restartSDO_TIMER for line : ", line);\ +00162 if(d->transfers[id].timer != TIMER_NONE) { StopSDO_TIMER(id) StartSDO_TIMER(id) } +00163 +00169 void resetSDO (CO_Data* d) +00170 { +00171 UNS8 j; +00172 +00174 for (j = 0 ; j < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; j++) +00175 resetSDOline(d, j); +00176 } +00177 +00186 UNS32 SDOlineToObjdict (CO_Data* d, UNS8 line) +00187 { +00188 UNS8 size; +00189 UNS32 errorCode; +00190 MSG_WAR(0x3A08, "Enter in SDOlineToObjdict ", line); +00191 size = (UNS8)d->transfers[line].count; +00192 errorCode = setODentry(d, d->transfers[line].index, d->transfers[line].subIndex, +00193 (void *) d->transfers[line].data, &size, 1); +00194 if (errorCode != OD_SUCCESSFUL) +00195 return errorCode; +00196 MSG_WAR(0x3A08, "exit of SDOlineToObjdict ", line); +00197 return 0; +00198 +00199 } +00200 +00209 UNS32 objdictToSDOline (CO_Data* d, UNS8 line) +00210 { +00211 UNS8 size = 0; +00212 UNS8 dataType; +00213 UNS32 errorCode; +00214 +00215 MSG_WAR(0x3A05, "objdict->line index : ", d->transfers[line].index); +00216 MSG_WAR(0x3A06, " subIndex : ", d->transfers[line].subIndex); +00217 +00218 errorCode = getODentry(d, d->transfers[line].index, +00219 d->transfers[line].subIndex, +00220 (void *)d->transfers[line].data, +00221 &size, &dataType, 0); +00222 +00223 if (errorCode != OD_SUCCESSFUL) +00224 return errorCode; 00225 -00226 /***************************************************************************/ -00227 UNS8 failedSDO (CO_Data* d, UNS8 nodeId, UNS8 whoami, UNS16 index, -00228 UNS8 subIndex, UNS32 abortCode) -00229 { -00230 UNS8 err; -00231 UNS8 line; -00232 err = getSDOlineOnUse( d, nodeId, whoami, &line ); -00233 if (!err) /* If a line on use have been found.*/ -00234 MSG_WAR(0x3A20, "FailedSDO : line found : ", line); -00235 if ((! err) && (whoami == SDO_SERVER)) { -00236 resetSDOline( d, line ); -00237 MSG_WAR(0x3A21, "FailedSDO : line released : ", line); -00238 } -00239 if ((! err) && (whoami == SDO_CLIENT)) { -00240 StopSDO_TIMER(line); -00241 d->transfers[line].state = SDO_ABORTED_INTERNAL; -00242 } -00243 MSG_WAR(0x3A22, "Sending SDO abort ", 0); -00244 err = sendSDOabort(d, whoami, index, subIndex, abortCode); -00245 if (err) { -00246 MSG_WAR(0x3A23, "Unable to send the SDO abort", 0); -00247 return 0xFF; -00248 } -00249 return 0; -00250 } -00251 -00252 /***************************************************************************/ -00253 void resetSDOline ( CO_Data* d, UNS8 line ) -00254 { -00255 UNS8 i; -00256 MSG_WAR(0x3A25, "reset SDO line nb : ", line); -00257 initSDOline(d, line, 0, 0, 0, SDO_RESET); -00258 for (i = 0 ; i < SDO_MAX_LENGTH_TRANSFERT ; i++) -00259 d->transfers[line].data[i] = 0; -00260 } -00261 -00262 /***************************************************************************/ -00263 UNS8 initSDOline (CO_Data* d, UNS8 line, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 state) -00264 { -00265 MSG_WAR(0x3A25, "init SDO line nb : ", line); -00266 if (state == SDO_DOWNLOAD_IN_PROGRESS || state == SDO_UPLOAD_IN_PROGRESS){ -00267 StartSDO_TIMER(line) -00268 }else{ -00269 StopSDO_TIMER(line) -00270 } -00271 d->transfers[line].nodeId = nodeId; -00272 d->transfers[line].index = index; -00273 d->transfers[line].subIndex = subIndex; -00274 d->transfers[line].state = state; -00275 d->transfers[line].toggle = 0; -00276 d->transfers[line].count = 0; -00277 d->transfers[line].offset = 0; -00278 d->transfers[line].dataType = 0; -00279 d->transfers[line].Callback = NULL; -00280 return 0; -00281 } -00282 -00283 /***************************************************************************/ -00284 UNS8 getSDOfreeLine ( CO_Data* d, UNS8 whoami, UNS8 *line ) -00285 { -00286 -00287 UNS8 i; -00288 -00289 for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; i++){ -00290 if ( d->transfers[i].state == SDO_RESET ) { -00291 *line = i; -00292 d->transfers[i].whoami = whoami; -00293 return 0; -00294 } /* end if */ -00295 } /* end for */ -00296 MSG_ERR(0x1A25, "Too many SDO in progress. Aborted.", i); -00297 return 0xFF; -00298 } -00299 -00300 /***************************************************************************/ -00301 UNS8 getSDOlineOnUse (CO_Data* d, UNS8 nodeId, UNS8 whoami, UNS8 *line) -00302 { -00303 -00304 UNS8 i; -00305 -00306 for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; i++){ -00307 if ( (d->transfers[i].state != SDO_RESET) && -00308 (d->transfers[i].nodeId == nodeId) && -00309 (d->transfers[i].whoami == whoami) ) { -00310 *line = i; -00311 return 0; -00312 } -00313 } -00314 return 0xFF; -00315 } -00316 -00317 /***************************************************************************/ -00318 UNS8 closeSDOtransfer (CO_Data* d, UNS8 nodeId, UNS8 whoami) -00319 { -00320 UNS8 err; -00321 UNS8 line; -00322 err = getSDOlineOnUse(d, nodeId, whoami, &line); -00323 if (err) { -00324 MSG_WAR(0x2A30, "No SDO communication to close for node : ", nodeId); -00325 return 0xFF; -00326 } -00327 resetSDOline(d, line); -00328 return 0; -00329 } -00330 -00331 /***************************************************************************/ -00332 UNS8 getSDOlineRestBytes (CO_Data* d, UNS8 line, UNS8 * nbBytes) -00333 { -00334 if (d->transfers[line].count == 0) /* if received initiate SDO protocol with e=0 and s=0 */ -00335 * nbBytes = 0; -00336 else -00337 * nbBytes = (UNS8)d->transfers[line].count - (UNS8)d->transfers[line].offset; -00338 return 0; -00339 } -00340 -00341 /***************************************************************************/ -00342 UNS8 setSDOlineRestBytes (CO_Data* d, UNS8 line, UNS8 nbBytes) -00343 { -00344 if (nbBytes > SDO_MAX_LENGTH_TRANSFERT) { -00345 MSG_ERR(0x1A35,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); -00346 return 0xFF; -00347 } -00348 d->transfers[line].count = nbBytes; -00349 return 0; -00350 } -00351 -00352 -00353 /***************************************************************************/ -00354 UNS8 sendSDO (CO_Data* d, UNS8 whoami, s_SDO sdo) -00355 { -00356 UNS16 offset; -00357 UNS16 lastIndex; -00358 UNS8 found = 0; -00359 Message m; -00360 UNS8 i; -00361 UNS32 * pwCobId = NULL; -00362 UNS32 * pwNodeId = NULL; -00363 -00364 MSG_WAR(0x3A38, "sendSDO",0); -00365 if( !((d->nodeState == Operational) || (d->nodeState == Pre_operational ))) { -00366 MSG_WAR(0x2A39, "unable to send the SDO (not in op or pre-op mode", d->nodeState); -00367 return 0xFF; -00368 } -00369 -00370 /*get the server->client cobid*/ -00371 if ( whoami == SDO_SERVER ) {/*case server. Easy because today only one server SDO is authorized in CanFestival*/ -00372 offset = d->firstIndex->SDO_SVR; -00373 if (offset == 0) { -00374 MSG_ERR(0x1A42, "SendSDO : No SDO server found", 0); -00375 return 0xFF; -00376 } -00377 pwCobId = d->objdict[offset].pSubindex[2].pObject; -00378 MSG_WAR(0x3A41, "I am server. cobId : ", *pwCobId); -00379 } -00380 else { /*case client*/ -00381 /* Get the client->server cobid.*/ -00382 UNS16 sdoNum = 0; -00383 offset = d->firstIndex->SDO_CLT; -00384 lastIndex = d->lastIndex->SDO_CLT; -00385 if (offset == 0) { -00386 MSG_ERR(0x1A42, "SendSDO : No SDO client index found", 0); -00387 return 0xFF; -00388 } -00389 /* First, have to find at the index where is defined the communication with the server node */ -00390 while (offset <= lastIndex){ -00391 MSG_WAR(0x3A43,"Reading index : ", 0x1280 + sdoNum); -00392 if (d->objdict[offset].bSubCount <= 3) { -00393 MSG_ERR(0x1A28, "Subindex 3 not found at index ", 0x1280 + sdoNum); -00394 return 0xFF; -00395 } -00396 pwNodeId = d->objdict[offset].pSubindex[3].pObject; -00397 MSG_WAR(0x3A44, "Found nodeId server = ", *pwNodeId); -00398 if(*pwNodeId == sdo.nodeId) { -00399 found = 1; -00400 break; -00401 } -00402 offset ++; -00403 sdoNum ++; -00404 } -00405 if (! found){ -00406 MSG_WAR (0x2A45, "No SDO client corresponds to the mesage to send to node ", sdo.nodeId); -00407 return 0xFF; -00408 } -00409 /* Second, read the cobid client->server */ -00410 pwCobId = d->objdict[offset].pSubindex[1].pObject; -00411 } -00412 /* message copy for sending */ -00413 m.cob_id.w = *pwCobId; -00414 m.rtr = NOT_A_REQUEST; -00415 /* the length of SDO must be 8 */ -00416 m.len = 8; -00417 for (i = 0 ; i < 8 ; i++) { -00418 m.data[i] = sdo.body.data[i]; -00419 } -00420 return canSend(d->canHandle,&m); -00421 } -00422 -00423 /***************************************************************************/ -00424 UNS8 sendSDOabort (CO_Data* d, UNS8 whoami, UNS16 index, UNS8 subIndex, UNS32 abortCode) -00425 { -00426 s_SDO sdo; -00427 UNS8 ret; -00428 MSG_WAR(0x2A50,"Sending SDO abort ", abortCode); -00429 sdo.nodeId = *d->bDeviceNodeId; -00430 sdo.body.data[0] = 0x80; -00431 /* Index */ -00432 sdo.body.data[1] = index & 0xFF; /* LSB */ -00433 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ -00434 /* Subindex */ -00435 sdo.body.data[3] = subIndex; -00436 /* Data */ -00437 sdo.body.data[4] = (UNS8)(abortCode & 0xFF); -00438 sdo.body.data[5] = (UNS8)((abortCode >> 8) & 0xFF); -00439 sdo.body.data[6] = (UNS8)((abortCode >> 16) & 0xFF); -00440 sdo.body.data[7] = (UNS8)((abortCode >> 24) & 0xFF); -00441 ret = sendSDO(d, whoami, sdo); -00442 -00443 return ret; -00444 } -00445 -00446 /***************************************************************************/ -00447 UNS8 proceedSDO (CO_Data* d, Message *m) -00448 { -00449 UNS8 err; -00450 UNS8 line; -00451 UNS8 nbBytes; /* received or to be transmited. */ -00452 UNS8 nodeId = 0; /* The node from which the SDO is received */ -00453 UNS32 nodeId_32; /* node id in 32 bits, for temporary use */ -00454 UNS32 *pNodeId = NULL; -00455 UNS8 whoami = SDO_UNKNOWN; /* SDO_SERVER or SDO_CLIENT.*/ -00456 UNS32 errorCode; /* while reading or writing in the local object dictionary.*/ -00457 s_SDO sdo; /* SDO to transmit */ -00458 UNS16 index; -00459 UNS8 subIndex; -00460 UNS32 abortCode; -00461 UNS8 i,j; -00462 UNS32 * pCobId = NULL; -00463 UNS16 offset; -00464 UNS16 lastIndex; -00465 -00466 MSG_WAR(0x3A60, "proceedSDO ", 0); -00467 whoami = SDO_UNKNOWN; -00468 /* Looking for the cobId in the object dictionary. */ -00469 /* Am-I a server ? */ -00470 offset = d->firstIndex->SDO_SVR; -00471 lastIndex = d->lastIndex->SDO_SVR; -00472 j = 0; -00473 if(offset) while (offset <= lastIndex) { -00474 if (d->objdict[offset].bSubCount <= 1) { -00475 MSG_ERR(0x1A61, "Subindex 1 not found at index ", 0x1200 + j); -00476 return 0xFF; -00477 } -00478 pCobId = d->objdict[offset].pSubindex[1].pObject; -00479 if ( *pCobId == (*m).cob_id.w ) { -00480 whoami = SDO_SERVER; -00481 MSG_WAR(0x3A62, "proceedSDO. I am server. index : ", 0x1200 + j); -00482 /* In case of server, the node id of the client may be unknown. So we put the index minus offset */ -00483 /* 0x1200 where the cobid received is defined. */ -00484 nodeId = j; -00485 break; -00486 } -00487 j++; -00488 offset++; -00489 } /* end while */ -00490 if (whoami == SDO_UNKNOWN) { -00491 /* Am-I client ? */ -00492 offset = d->firstIndex->SDO_CLT; -00493 lastIndex = d->lastIndex->SDO_CLT; -00494 j = 0; -00495 if(offset) while (offset <= lastIndex) { -00496 if (d->objdict[offset].bSubCount <= 3) { -00497 MSG_ERR(0x1A63, "Subindex 3 not found at index ", 0x1280 + j); -00498 return 0xFF; -00499 } -00500 /* a) Looking for the cobid received. */ -00501 pCobId = d->objdict[offset].pSubindex[2].pObject; -00502 if (*pCobId == (*m).cob_id.w ) { -00503 /* b) cobid found, so reading the node id of the server. */ -00504 pNodeId = d->objdict[offset].pSubindex[3].pObject; -00505 whoami = SDO_CLIENT; -00506 nodeId_32 = *pNodeId; -00507 nodeId = (UNS8)nodeId_32; -00508 MSG_WAR(0x3A64, "proceedSDO. I am server. index : ", 0x1280 + j); -00509 MSG_WAR(0x3A65, " Server nodeId : ", nodeId); -00510 break; -00511 } -00512 j++; -00513 offset++; -00514 } /* end while */ -00515 } -00516 if (whoami == SDO_UNKNOWN) { -00517 return 0xFF;/* This SDO was not for us ! */ -00518 } -00519 -00520 /* Test if the size of the SDO is ok */ -00521 if ( (*m).len != 8) { -00522 MSG_ERR(0x1A67, "Error size SDO. CobId : ", (*m).cob_id.w); -00523 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_GENERAL_ERROR); -00524 return 0xFF; -00525 } -00526 -00527 if (whoami == SDO_CLIENT) { -00528 MSG_WAR(0x3A68, "I am CLIENT. Received SDO from nodeId : ", nodeId); -00529 } -00530 else { -00531 MSG_WAR(0x3A69, "I am SERVER. Received SDO cobId : ", (*m).cob_id.w); -00532 } -00533 -00534 /* Testing the command specifier */ -00535 /* Allowed : cs = 0, 1, 2, 3, 4. (= all except those for block tranfert). */ -00536 /* cs = other : Not allowed -> abort. */ -00537 switch (getSDOcs(m->data[0])) { -00538 -00539 case 0: -00540 /* I am SERVER */ -00541 if (whoami == SDO_SERVER) { -00542 /* Receiving a download segment data. */ -00543 /* A SDO transfert should have been yet initiated. */ -00544 err = getSDOlineOnUse( d, nodeId, whoami, &line ); -00545 if (!err) -00546 err = d->transfers[line].state != SDO_DOWNLOAD_IN_PROGRESS; -00547 if (err) { -00548 MSG_ERR(0x1A70, "SDO error : Received download segment for unstarted trans. index 0x1200 + ", -00549 nodeId); -00550 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); -00551 return 0xFF; -00552 } -00553 /* Reset the wathdog */ -00554 RestartSDO_TIMER(line) -00555 MSG_WAR(0x3A71, "Received SDO download segment defined at index 0x1200 + ", nodeId); -00556 index = d->transfers[line].index; -00557 subIndex = d->transfers[line].subIndex; -00558 /* Toggle test. */ -00559 if (d->transfers[line].toggle != getSDOt(m->data[0])) { -00560 MSG_ERR(0x1A72, "SDO error : Toggle error : ", getSDOt(m->data[0])); -00561 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_TOGGLE_NOT_ALTERNED); -00562 return 0xFF; -00563 } -00564 /* Nb of data to be downloaded */ -00565 nbBytes = 7 - getSDOn3(m->data[0]); -00566 /* Store the data in the transfert structure. */ -00567 err = SDOtoLine(d, line, nbBytes, (*m).data + 1); -00568 if (err) { -00569 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00570 return 0xFF; -00571 } -00572 /* Sending the SDO response, CS = 1 */ -00573 sdo.nodeId = *d->bDeviceNodeId; /* The node id of the server, (here it is the sender). */ -00574 sdo.body.data[0] = (1 << 5) | (d->transfers[line].toggle << 4); -00575 for (i = 1 ; i < 8 ; i++) -00576 sdo.body.data[i] = 0; -00577 MSG_WAR(0x3A73, "SDO. Send response to download request defined at index 0x1200 + ", nodeId); -00578 sendSDO(d, whoami, sdo); -00579 /* Inverting the toggle for the next segment. */ -00580 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; -00581 /* If it was the last segment, */ -00582 if (getSDOc(m->data[0])) { -00583 /* Transfering line data to object dictionary. */ -00584 /* The code does not use the "d" of initiate frame. So it is safe if e=s=0 */ -00585 errorCode = SDOlineToObjdict(d, line); -00586 if (errorCode) { -00587 MSG_ERR(0x1A54, "SDO error : Unable to copy the data in the object dictionary", 0); -00588 failedSDO(d, nodeId, whoami, index, subIndex, errorCode); -00589 return 0xFF; -00590 } -00591 /* Release of the line */ -00592 resetSDOline(d, line); -00593 MSG_WAR(0x3A74, "SDO. End of download defined at index 0x1200 + ", nodeId); -00594 } -00595 } /* end if SERVER */ -00596 else { /* if CLIENT */ -00597 /* I am CLIENT */ -00598 /* It is a request for a previous upload segment. We should find a line opened for this.*/ -00599 err = getSDOlineOnUse( d, nodeId, whoami, &line); -00600 if (!err) -00601 err = d->transfers[line].state != SDO_UPLOAD_IN_PROGRESS; -00602 if (err) { -00603 MSG_ERR(0x1A75, "SDO error : Received segment response for unknown trans. from nodeId", nodeId); -00604 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); -00605 return 0xFF; -00606 } -00607 /* Reset the wathdog */ -00608 RestartSDO_TIMER(line) -00609 index = d->transfers[line].index; -00610 subIndex = d->transfers[line].subIndex; -00611 /* test of the toggle; */ -00612 if (d->transfers[line].toggle != getSDOt(m->data[0])) { -00613 MSG_ERR(0x1A76, "SDO error : Received segment response Toggle error. from nodeId", nodeId); -00614 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_TOGGLE_NOT_ALTERNED); -00615 return 0xFF; -00616 } -00617 /* nb of data to be uploaded */ -00618 nbBytes = 7 - getSDOn3(m->data[0]); -00619 /* Storing the data in the line structure. */ -00620 err = SDOtoLine(d, line, nbBytes, (*m).data + 1); -00621 if (err) { -00622 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00623 return 0xFF; -00624 } -00625 /* Inverting the toggle for the next segment. */ -00626 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; -00627 /* If it was the last segment,*/ -00628 if ( getSDOc(m->data[0])) { -00629 /* Put in state finished */ -00630 /* The code is safe for the case e=s=0 in initiate frame. */ -00631 StopSDO_TIMER(line) -00632 d->transfers[line].state = SDO_FINISHED; -00633 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); -00634 -00635 MSG_WAR(0x3A77, "SDO. End of upload from node : ", nodeId); -00636 } -00637 else { /* more segments to receive */ -00638 /* Sending the request for the next segment. */ -00639 sdo.nodeId = nodeId; -00640 sdo.body.data[0] = (3 << 5) | (d->transfers[line].toggle << 4); -00641 for (i = 1 ; i < 8 ; i++) -00642 sdo.body.data[i] = 0; -00643 sendSDO(d, whoami, sdo); -00644 MSG_WAR(0x3A78, "SDO send upload segment request to nodeId", nodeId); -00645 } -00646 } /* End if CLIENT */ -00647 break; -00648 -00649 case 1: -00650 /* I am SERVER */ -00651 /* Receive of an initiate download */ -00652 if (whoami == SDO_SERVER) { -00653 index = getSDOindex(m->data[1],m->data[2]); -00654 subIndex = getSDOsubIndex(m->data[3]); -00655 MSG_WAR(0x3A79, "Received SDO Initiate Download (to store data) defined at index 0x1200 + ", -00656 nodeId); -00657 MSG_WAR(0x3A80, "Writing at index : ", index); -00658 MSG_WAR(0x3A80, "Writing at subIndex : ", subIndex); -00659 -00660 /* Search if a SDO transfert have been yet initiated */ -00661 err = getSDOlineOnUse( d, nodeId, whoami, &line ); -00662 if (! err) { -00663 MSG_ERR(0x1A81, "SDO error : Transmission yet started.", 0); -00664 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); -00665 return 0xFF; -00666 } -00667 /* No line on use. Great ! */ -00668 /* Try to open a new line. */ -00669 err = getSDOfreeLine( d, whoami, &line ); -00670 if (err) { -00671 MSG_ERR(0x1A82, "SDO error : No line free, too many SDO in progress. Aborted.", 0); -00672 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); -00673 return 0xFF; -00674 } -00675 initSDOline(d, line, nodeId, index, subIndex, SDO_DOWNLOAD_IN_PROGRESS); -00676 -00677 if (getSDOe(m->data[0])) { /* If SDO expedited */ -00678 /* nb of data to be downloaded */ -00679 nbBytes = 4 - getSDOn2(m->data[0]); -00680 /* Storing the data in the line structure. */ -00681 d->transfers[line].count = nbBytes; -00682 err = SDOtoLine(d, line, nbBytes, (*m).data + 4); -00683 -00684 if (err) { -00685 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00686 return 0xFF; -00687 } -00688 -00689 /* SDO expedited -> transfert finished. Data can be stored in the dictionary. */ -00690 /* The line will be reseted when it is downloading in the dictionary. */ -00691 MSG_WAR(0x3A83, "SDO Initiate Download is an expedited transfert. Finished.: ", nodeId); -00692 /* Transfering line data to object dictionary. */ -00693 errorCode = SDOlineToObjdict(d, line); -00694 if (errorCode) { -00695 MSG_ERR(0x1A84, "SDO error : Unable to copy the data in the object dictionary", 0); -00696 failedSDO(d, nodeId, whoami, index, subIndex, errorCode); -00697 return 0xFF; -00698 } -00699 /* Release of the line. */ -00700 resetSDOline(d, line); -00701 } -00702 else {/* So, if it is not an expedited transfert */ -00703 if (getSDOs(m->data[0])) { -00704 /* TODO : if e and s = 0, not reading m->data[4] but put nbBytes = 0 */ -00705 nbBytes = m->data[4]; /* Transfert limited to 255 bytes. */ -00706 err = setSDOlineRestBytes(d, nodeId, nbBytes); -00707 if (err) { -00708 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00709 return 0xFF; -00710 } -00711 } -00712 } -00713 /*Sending a SDO, cs=3*/ -00714 sdo.nodeId = *d->bDeviceNodeId; /* The node id of the server, (here it is the sender).*/ -00715 sdo.body.data[0] = 3 << 5; -00716 sdo.body.data[1] = index & 0xFF; /* LSB */ -00717 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ -00718 sdo.body.data[3] = subIndex; -00719 for (i = 4 ; i < 8 ; i++) -00720 sdo.body.data[i] = 0; -00721 sendSDO(d, whoami, sdo); -00722 } /* end if I am SERVER */ -00723 else { -00724 /* I am CLIENT */ -00725 /* It is a response for a previous download segment. We should find a line opened for this. */ -00726 err = getSDOlineOnUse( d, nodeId, whoami, &line); -00727 if (!err) -00728 err = d->transfers[line].state != SDO_DOWNLOAD_IN_PROGRESS; +00226 d->transfers[line].count = size; +00227 d->transfers[line].offset = 0; +00228 #if 0 +00229 /*Me laisser a, please ! (FD)*/ +00230 { +00231 UNS8 i; +00232 for (i = 0 ; i < 10 ; i++) { +00233 MSG_WAR(i, "data= ", d->transfers[line].data[i]); +00234 } +00235 } +00236 #endif +00237 return 0; +00238 } +00239 +00250 UNS8 lineToSDO (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8* data) { +00251 UNS8 i; +00252 UNS8 offset; +00253 +00254 if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFERT) { +00255 MSG_ERR(0x1A10,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); +00256 return 0xFF; +00257 } +00258 if ((d->transfers[line].offset + nbBytes) > d->transfers[line].count) { +00259 MSG_ERR(0x1A11,"SDO Size of data too large. Exceed count", nbBytes); +00260 return 0xFF; +00261 } +00262 offset = (UNS8)d->transfers[line].offset; +00263 for (i = 0 ; i < nbBytes ; i++) +00264 * (data + i) = d->transfers[line].data[offset + i]; +00265 d->transfers[line].offset = d->transfers[line].offset + nbBytes; +00266 return 0; +00267 } +00268 +00279 UNS8 SDOtoLine (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8* data) +00280 { +00281 UNS8 i; +00282 UNS8 offset; +00283 +00284 if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFERT) { +00285 MSG_ERR(0x1A15,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); +00286 return 0xFF; +00287 } +00288 offset = (UNS8)d->transfers[line].offset; +00289 for (i = 0 ; i < nbBytes ; i++) +00290 d->transfers[line].data[offset + i] = * (data + i); +00291 d->transfers[line].offset = d->transfers[line].offset + nbBytes; +00292 return 0; +00293 } +00294 +00307 UNS8 failedSDO (CO_Data* d, UNS8 nodeId, UNS8 whoami, UNS16 index, +00308 UNS8 subIndex, UNS32 abortCode) +00309 { +00310 UNS8 err; +00311 UNS8 line; +00312 err = getSDOlineOnUse( d, nodeId, whoami, &line ); +00313 if (!err) /* If a line on use have been found.*/ +00314 MSG_WAR(0x3A20, "FailedSDO : line found : ", line); +00315 if ((! err) && (whoami == SDO_SERVER)) { +00316 resetSDOline( d, line ); +00317 MSG_WAR(0x3A21, "FailedSDO : line released : ", line); +00318 } +00319 if ((! err) && (whoami == SDO_CLIENT)) { +00320 StopSDO_TIMER(line); +00321 d->transfers[line].state = SDO_ABORTED_INTERNAL; +00322 } +00323 MSG_WAR(0x3A22, "Sending SDO abort ", 0); +00324 err = sendSDOabort(d, whoami, index, subIndex, abortCode); +00325 if (err) { +00326 MSG_WAR(0x3A23, "Unable to send the SDO abort", 0); +00327 return 0xFF; +00328 } +00329 return 0; +00330 } +00331 +00338 void resetSDOline ( CO_Data* d, UNS8 line ) +00339 { +00340 UNS8 i; +00341 MSG_WAR(0x3A25, "reset SDO line nb : ", line); +00342 initSDOline(d, line, 0, 0, 0, SDO_RESET); +00343 for (i = 0 ; i < SDO_MAX_LENGTH_TRANSFERT ; i++) +00344 d->transfers[line].data[i] = 0; +00345 } +00346 +00359 UNS8 initSDOline (CO_Data* d, UNS8 line, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 state) +00360 { +00361 MSG_WAR(0x3A25, "init SDO line nb : ", line); +00362 if (state == SDO_DOWNLOAD_IN_PROGRESS || state == SDO_UPLOAD_IN_PROGRESS){ +00363 StartSDO_TIMER(line) +00364 }else{ +00365 StopSDO_TIMER(line) +00366 } +00367 d->transfers[line].nodeId = nodeId; +00368 d->transfers[line].index = index; +00369 d->transfers[line].subIndex = subIndex; +00370 d->transfers[line].state = state; +00371 d->transfers[line].toggle = 0; +00372 d->transfers[line].count = 0; +00373 d->transfers[line].offset = 0; +00374 d->transfers[line].dataType = 0; +00375 d->transfers[line].Callback = NULL; +00376 return 0; +00377 } +00378 +00388 UNS8 getSDOfreeLine ( CO_Data* d, UNS8 whoami, UNS8 *line ) +00389 { +00390 +00391 UNS8 i; +00392 +00393 for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; i++){ +00394 if ( d->transfers[i].state == SDO_RESET ) { +00395 *line = i; +00396 d->transfers[i].whoami = whoami; +00397 return 0; +00398 } /* end if */ +00399 } /* end for */ +00400 MSG_ERR(0x1A25, "Too many SDO in progress. Aborted.", i); +00401 return 0xFF; +00402 } +00403 +00414 UNS8 getSDOlineOnUse (CO_Data* d, UNS8 nodeId, UNS8 whoami, UNS8 *line) +00415 { +00416 +00417 UNS8 i; +00418 +00419 for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; i++){ +00420 if ( (d->transfers[i].state != SDO_RESET) && +00421 (d->transfers[i].nodeId == nodeId) && +00422 (d->transfers[i].whoami == whoami) ) { +00423 *line = i; +00424 return 0; +00425 } +00426 } +00427 return 0xFF; +00428 } +00429 +00439 UNS8 closeSDOtransfer (CO_Data* d, UNS8 nodeId, UNS8 whoami) +00440 { +00441 UNS8 err; +00442 UNS8 line; +00443 err = getSDOlineOnUse(d, nodeId, whoami, &line); +00444 if (err) { +00445 MSG_WAR(0x2A30, "No SDO communication to close for node : ", nodeId); +00446 return 0xFF; +00447 } +00448 resetSDOline(d, line); +00449 return 0; +00450 } +00451 +00461 UNS8 getSDOlineRestBytes (CO_Data* d, UNS8 line, UNS8 * nbBytes) +00462 { +00463 if (d->transfers[line].count == 0) /* if received initiate SDO protocol with e=0 and s=0 */ +00464 * nbBytes = 0; +00465 else +00466 * nbBytes = (UNS8)d->transfers[line].count - (UNS8)d->transfers[line].offset; +00467 return 0; +00468 } +00469 +00479 UNS8 setSDOlineRestBytes (CO_Data* d, UNS8 line, UNS8 nbBytes) +00480 { +00481 if (nbBytes > SDO_MAX_LENGTH_TRANSFERT) { +00482 MSG_ERR(0x1A35,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); +00483 return 0xFF; +00484 } +00485 d->transfers[line].count = nbBytes; +00486 return 0; +00487 } +00488 +00498 UNS8 sendSDO (CO_Data* d, UNS8 whoami, s_SDO sdo) +00499 { +00500 UNS16 offset; +00501 UNS16 lastIndex; +00502 UNS8 found = 0; +00503 Message m; +00504 UNS8 i; +00505 UNS32 * pwCobId = NULL; +00506 UNS32 * pwNodeId = NULL; +00507 +00508 MSG_WAR(0x3A38, "sendSDO",0); +00509 if( !((d->nodeState == Operational) || (d->nodeState == Pre_operational ))) { +00510 MSG_WAR(0x2A39, "unable to send the SDO (not in op or pre-op mode", d->nodeState); +00511 return 0xFF; +00512 } +00513 +00515 if ( whoami == SDO_SERVER ) { +00516 offset = d->firstIndex->SDO_SVR; +00517 if (offset == 0) { +00518 MSG_ERR(0x1A42, "SendSDO : No SDO server found", 0); +00519 return 0xFF; +00520 } +00521 pwCobId = d->objdict[offset].pSubindex[2].pObject; +00522 MSG_WAR(0x3A41, "I am server. cobId : ", *pwCobId); +00523 } +00524 else { +00526 UNS16 sdoNum = 0; +00527 offset = d->firstIndex->SDO_CLT; +00528 lastIndex = d->lastIndex->SDO_CLT; +00529 if (offset == 0) { +00530 MSG_ERR(0x1A42, "SendSDO : No SDO client index found", 0); +00531 return 0xFF; +00532 } +00534 while (offset <= lastIndex){ +00535 MSG_WAR(0x3A43,"Reading index : ", 0x1280 + sdoNum); +00536 if (d->objdict[offset].bSubCount <= 3) { +00537 MSG_ERR(0x1A28, "Subindex 3 not found at index ", 0x1280 + sdoNum); +00538 return 0xFF; +00539 } +00540 pwNodeId = d->objdict[offset].pSubindex[3].pObject; +00541 MSG_WAR(0x3A44, "Found nodeId server = ", *pwNodeId); +00542 if(*pwNodeId == sdo.nodeId) { +00543 found = 1; +00544 break; +00545 } +00546 offset ++; +00547 sdoNum ++; +00548 } +00549 if (! found){ +00550 MSG_WAR (0x2A45, "No SDO client corresponds to the mesage to send to node ", sdo.nodeId); +00551 return 0xFF; +00552 } +00554 pwCobId = d->objdict[offset].pSubindex[1].pObject; +00555 } +00557 m.cob_id.w = *pwCobId; +00558 m.rtr = NOT_A_REQUEST; +00560 m.len = 8; +00561 for (i = 0 ; i < 8 ; i++) { +00562 m.data[i] = sdo.body.data[i]; +00563 } +00564 return canSend(d->canHandle,&m); +00565 } +00566 +00578 UNS8 sendSDOabort (CO_Data* d, UNS8 whoami, UNS16 index, UNS8 subIndex, UNS32 abortCode) +00579 { +00580 s_SDO sdo; +00581 UNS8 ret; +00582 MSG_WAR(0x2A50,"Sending SDO abort ", abortCode); +00583 sdo.nodeId = *d->bDeviceNodeId; +00584 sdo.body.data[0] = 0x80; +00585 /* Index */ +00586 sdo.body.data[1] = index & 0xFF; /* LSB */ +00587 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ +00588 /* Subindex */ +00589 sdo.body.data[3] = subIndex; +00590 /* Data */ +00591 sdo.body.data[4] = (UNS8)(abortCode & 0xFF); +00592 sdo.body.data[5] = (UNS8)((abortCode >> 8) & 0xFF); +00593 sdo.body.data[6] = (UNS8)((abortCode >> 16) & 0xFF); +00594 sdo.body.data[7] = (UNS8)((abortCode >> 24) & 0xFF); +00595 ret = sendSDO(d, whoami, sdo); +00596 +00597 return ret; +00598 } +00599 +00608 UNS8 proceedSDO (CO_Data* d, Message *m) +00609 { +00610 UNS8 err; +00611 UNS8 line; +00612 UNS8 nbBytes; +00613 UNS8 nodeId = 0; +00614 UNS32 nodeId_32; +00615 UNS32 *pNodeId = NULL; +00616 UNS8 whoami = SDO_UNKNOWN; +00617 UNS32 errorCode; +00618 s_SDO sdo; +00619 UNS16 index; +00620 UNS8 subIndex; +00621 UNS32 abortCode; +00622 UNS8 i,j; +00623 UNS32 * pCobId = NULL; +00624 UNS16 offset; +00625 UNS16 lastIndex; +00626 +00627 MSG_WAR(0x3A60, "proceedSDO ", 0); +00628 whoami = SDO_UNKNOWN; +00631 offset = d->firstIndex->SDO_SVR; +00632 lastIndex = d->lastIndex->SDO_SVR; +00633 j = 0; +00634 if(offset) while (offset <= lastIndex) { +00635 if (d->objdict[offset].bSubCount <= 1) { +00636 MSG_ERR(0x1A61, "Subindex 1 not found at index ", 0x1200 + j); +00637 return 0xFF; +00638 } +00639 pCobId = d->objdict[offset].pSubindex[1].pObject; +00640 if ( *pCobId == (*m).cob_id.w ) { +00641 whoami = SDO_SERVER; +00642 MSG_WAR(0x3A62, "proceedSDO. I am server. index : ", 0x1200 + j); +00645 nodeId = j; +00646 break; +00647 } +00648 j++; +00649 offset++; +00650 } +00651 if (whoami == SDO_UNKNOWN) { +00653 offset = d->firstIndex->SDO_CLT; +00654 lastIndex = d->lastIndex->SDO_CLT; +00655 j = 0; +00656 if(offset) while (offset <= lastIndex) { +00657 if (d->objdict[offset].bSubCount <= 3) { +00658 MSG_ERR(0x1A63, "Subindex 3 not found at index ", 0x1280 + j); +00659 return 0xFF; +00660 } +00662 pCobId = d->objdict[offset].pSubindex[2].pObject; +00663 if (*pCobId == (*m).cob_id.w ) { +00665 pNodeId = d->objdict[offset].pSubindex[3].pObject; +00666 whoami = SDO_CLIENT; +00667 nodeId_32 = *pNodeId; +00668 nodeId = (UNS8)nodeId_32; +00669 MSG_WAR(0x3A64, "proceedSDO. I am server. index : ", 0x1280 + j); +00670 MSG_WAR(0x3A65, " Server nodeId : ", nodeId); +00671 break; +00672 } +00673 j++; +00674 offset++; +00675 } /* end while */ +00676 } +00677 if (whoami == SDO_UNKNOWN) { +00678 return 0xFF; +00679 } +00680 +00682 if ( (*m).len != 8) { +00683 MSG_ERR(0x1A67, "Error size SDO. CobId : ", (*m).cob_id.w); +00684 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_GENERAL_ERROR); +00685 return 0xFF; +00686 } +00687 +00688 if (whoami == SDO_CLIENT) { +00689 MSG_WAR(0x3A68, "I am CLIENT. Received SDO from nodeId : ", nodeId); +00690 } +00691 else { +00692 MSG_WAR(0x3A69, "I am SERVER. Received SDO cobId : ", (*m).cob_id.w); +00693 } +00694 +00698 switch (getSDOcs(m->data[0])) { +00699 +00700 case 0: +00702 if (whoami == SDO_SERVER) { +00705 err = getSDOlineOnUse( d, nodeId, whoami, &line ); +00706 if (!err) +00707 err = d->transfers[line].state != SDO_DOWNLOAD_IN_PROGRESS; +00708 if (err) { +00709 MSG_ERR(0x1A70, "SDO error : Received download segment for unstarted trans. index 0x1200 + ", +00710 nodeId); +00711 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); +00712 return 0xFF; +00713 } +00715 RestartSDO_TIMER(line) +00716 MSG_WAR(0x3A71, "Received SDO download segment defined at index 0x1200 + ", nodeId); +00717 index = d->transfers[line].index; +00718 subIndex = d->transfers[line].subIndex; +00720 if (d->transfers[line].toggle != getSDOt(m->data[0])) { +00721 MSG_ERR(0x1A72, "SDO error : Toggle error : ", getSDOt(m->data[0])); +00722 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_TOGGLE_NOT_ALTERNED); +00723 return 0xFF; +00724 } +00726 nbBytes = 7 - getSDOn3(m->data[0]); +00728 err = SDOtoLine(d, line, nbBytes, (*m).data + 1); 00729 if (err) { -00730 MSG_ERR(0x1A85, "SDO error : Received segment response for unknown trans. from nodeId", nodeId); -00731 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); -00732 return 0xFF; -00733 } -00734 /* Reset the wathdog */ -00735 RestartSDO_TIMER(line) -00736 index = d->transfers[line].index; -00737 subIndex = d->transfers[line].subIndex; -00738 /* test of the toggle; */ -00739 if (d->transfers[line].toggle != getSDOt(m->data[0])) { -00740 MSG_ERR(0x1A86, "SDO error : Received segment response Toggle error. from nodeId", nodeId); -00741 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_TOGGLE_NOT_ALTERNED); -00742 return 0xFF; -00743 } -00744 -00745 /* End transmission or downloading next segment. We need to know if it will be the last one. */ -00746 getSDOlineRestBytes(d, line, &nbBytes); -00747 if (nbBytes == 0) { -00748 MSG_WAR(0x3A87, "SDO End download. segment response received. OK. from nodeId", nodeId); -00749 StopSDO_TIMER(line) -00750 d->transfers[line].state = SDO_FINISHED; -00751 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); -00752 return 0x00; -00753 } -00754 /* At least one transfer to send. */ -00755 if (nbBytes > 7) { -00756 /* several segments to download.*/ -00757 /* code to send the next segment. (cs = 0; c = 0) */ -00758 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; -00759 sdo.nodeId = nodeId; /* The server node Id; */ -00760 sdo.body.data[0] = (d->transfers[line].toggle << 4); -00761 err = lineToSDO(d, line, 7, sdo.body.data + 1); -00762 if (err) { -00763 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00764 return 0xFF; -00765 } -00766 } -00767 else { -00768 /* Last segment. */ -00769 /* code to send the last segment. (cs = 0; c = 1)*/ -00770 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; -00771 sdo.nodeId = nodeId; /* The server node Id; */ -00772 sdo.body.data[0] = (d->transfers[line].toggle << 4) | ((7 - nbBytes) << 1) | 1; -00773 err = lineToSDO(d, line, nbBytes, sdo.body.data + 1); -00774 if (err) { -00775 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00776 return 0xFF; -00777 } -00778 for (i = nbBytes + 1 ; i < 8 ; i++) -00779 sdo.body.data[i] = 0; -00780 } -00781 MSG_WAR(0x3A88, "SDO sending download segment to nodeId", nodeId); -00782 sendSDO(d, whoami, sdo); -00783 } /* end if I am a CLIENT */ -00784 break; -00785 -00786 case 2: -00787 /* I am SERVER */ -00788 /* Receive of an initiate upload.*/ -00789 if (whoami == SDO_SERVER) { -00790 index = getSDOindex(m->data[1],m->data[2]); -00791 subIndex = getSDOsubIndex(m->data[3]); -00792 MSG_WAR(0x3A89, "Received SDO Initiate upload (to send data) defined at index 0x1200 + ", -00793 nodeId); -00794 MSG_WAR(0x3A90, "Reading at index : ", index); -00795 MSG_WAR(0x3A91, "Reading at subIndex : ", subIndex); -00796 /* Search if a SDO transfert have been yet initiated*/ -00797 err = getSDOlineOnUse( d, nodeId, whoami, &line ); -00798 if (! err) { -00799 MSG_ERR(0x1A92, "SDO error : Transmission yet started at line : ", line); -00800 MSG_WAR(0x3A93, "nodeId = ", nodeId); -00801 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); -00802 return 0xFF; -00803 } -00804 /* No line on use. Great !*/ -00805 /* Try to open a new line.*/ -00806 err = getSDOfreeLine( d, whoami, &line ); -00807 if (err) { -00808 MSG_ERR(0x1A71, "SDO error : No line free, too many SDO in progress. Aborted.", 0); -00809 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); -00810 return 0xFF; -00811 } -00812 initSDOline(d, line, nodeId, index, subIndex, SDO_UPLOAD_IN_PROGRESS); -00813 /* Transfer data from dictionary to the line structure. */ -00814 errorCode = objdictToSDOline(d, line); -00815 -00816 if (errorCode) { -00817 MSG_ERR(0x1A94, "SDO error : Unable to copy the data from object dictionary. Err code : ", -00818 errorCode); -00819 failedSDO(d, nodeId, whoami, index, subIndex, errorCode); -00820 return 0xFF; -00821 } -00822 /* Preparing the response.*/ -00823 getSDOlineRestBytes(d, line, &nbBytes); /* Nb bytes to transfer ? */ -00824 sdo.nodeId = nodeId; /* The server node Id; */ -00825 if (nbBytes > 4) { -00826 /* normal transfert. (segmented). */ -00827 /* code to send the initiate upload response. (cs = 2) */ -00828 sdo.body.data[0] = (2 << 5) | 1; -00829 sdo.body.data[1] = index & 0xFF; /* LSB */ -00830 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ -00831 sdo.body.data[3] = subIndex; -00832 sdo.body.data[4] = nbBytes; /* Limitation of canfestival2 : Max tranfert is 256 bytes.*/ -00833 /* It takes too much memory to upgrate to 2^32 because the size of data is also coded */ -00834 /* in the object dictionary, at every index and subindex. */ -00835 for (i = 5 ; i < 8 ; i++) -00836 sdo.body.data[i] = 0; -00837 MSG_WAR(0x3A95, "SDO. Sending normal upload initiate response defined at index 0x1200 + ", nodeId); -00838 sendSDO(d, whoami, sdo); -00839 } -00840 else { -00841 /* Expedited upload. (cs = 2 ; e = 1) */ -00842 sdo.body.data[0] = (2 << 5) | ((4 - nbBytes) << 2) | 3; -00843 sdo.body.data[1] = index & 0xFF; /* LSB */ -00844 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ -00845 sdo.body.data[3] = subIndex; -00846 err = lineToSDO(d, line, nbBytes, sdo.body.data + 4); -00847 if (err) { -00848 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00849 return 0xFF; -00850 } -00851 for (i = 4 + nbBytes ; i < 8 ; i++) -00852 sdo.body.data[i] = 0; -00853 MSG_WAR(0x3A96, "SDO. Sending expedited upload initiate response defined at index 0x1200 + ", -00854 nodeId); -00855 sendSDO(d, whoami, sdo); -00856 /* Release the line.*/ -00857 resetSDOline(d, line); -00858 } -00859 } /* end if I am SERVER*/ -00860 else { -00861 /* I am CLIENT */ -00862 /* It is the response for the previous initiate upload request.*/ -00863 /* We should find a line opened for this. */ -00864 err = getSDOlineOnUse( d, nodeId, whoami, &line); -00865 if (!err) -00866 err = d->transfers[line].state != SDO_UPLOAD_IN_PROGRESS; -00867 if (err) { -00868 MSG_ERR(0x1A97, "SDO error : Received response for unknown upload request from nodeId", nodeId); -00869 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); -00870 return 0xFF; -00871 } -00872 /* Reset the wathdog */ -00873 RestartSDO_TIMER(line) -00874 index = d->transfers[line].index; -00875 subIndex = d->transfers[line].subIndex; -00876 -00877 if (getSDOe(m->data[0])) { /* If SDO expedited */ -00878 /* nb of data to be uploaded */ -00879 nbBytes = 4 - getSDOn2(m->data[0]); -00880 /* Storing the data in the line structure. */ -00881 err = SDOtoLine(d, line, nbBytes, (*m).data + 4); -00882 if (err) { -00883 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00884 return 0xFF; -00885 } -00886 /* SDO expedited -> transfert finished. data are available via getReadResultNetworkDict(). */ -00887 MSG_WAR(0x3A98, "SDO expedited upload finished. Response received from node : ", nodeId); -00888 StopSDO_TIMER(line) -00889 d->transfers[line].count = nbBytes; -00890 d->transfers[line].state = SDO_FINISHED; -00891 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); -00892 return 0; -00893 } -00894 else { /* So, if it is not an expedited transfert */ -00895 /* Storing the nb of data to receive. */ -00896 if (getSDOs(m->data[0])) { -00897 nbBytes = m->data[4]; /* Remember the limitation to 255 bytes to transfert */ -00898 err = setSDOlineRestBytes(d, line, nbBytes); -00899 if (err) { -00900 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00901 return 0xFF; -00902 } -00903 } -00904 /* Requesting next segment. (cs = 3) */ -00905 sdo.nodeId = nodeId; -00906 sdo.body.data[0] = 3 << 5; -00907 for (i = 1 ; i < 8 ; i++) -00908 sdo.body.data[i] = 0; -00909 MSG_WAR(0x3A99, "SDO. Sending upload segment request to node : ", nodeId); -00910 sendSDO(d, whoami, sdo); -00911 } -00912 } /* End if CLIENT */ -00913 break; -00914 -00915 case 3: -00916 /* I am SERVER */ -00917 if (whoami == SDO_SERVER) { -00918 /* Receiving a upload segment. */ -00919 /* A SDO transfert should have been yet initiated. */ -00920 err = getSDOlineOnUse( d, nodeId, whoami, &line ); -00921 if (!err) -00922 err = d->transfers[line].state != SDO_UPLOAD_IN_PROGRESS; -00923 if (err) { -00924 MSG_ERR(0x1AA0, "SDO error : Received upload segment for unstarted trans. index 0x1200 + ", -00925 nodeId); -00926 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); -00927 return 0xFF; -00928 } -00929 /* Reset the wathdog */ -00930 RestartSDO_TIMER(line) -00931 MSG_WAR(0x3AA1, "Received SDO upload segment defined at index 0x1200 + ", nodeId); -00932 index = d->transfers[line].index; -00933 subIndex = d->transfers[line].subIndex; -00934 /* Toggle test.*/ -00935 if (d->transfers[line].toggle != getSDOt(m->data[0])) { -00936 MSG_ERR(0x1AA2, "SDO error : Toggle error : ", getSDOt(m->data[0])); -00937 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_TOGGLE_NOT_ALTERNED); -00938 return 0xFF; -00939 } -00940 /* Uploading next segment. We need to know if it will be the last one. */ -00941 getSDOlineRestBytes(d, line, &nbBytes); -00942 if (nbBytes > 7) { -00943 /* The segment to transfer is not the last one.*/ -00944 /* code to send the next segment. (cs = 0; c = 0) */ -00945 sdo.nodeId = nodeId; /* The server node Id; */ -00946 sdo.body.data[0] = (d->transfers[line].toggle << 4); -00947 err = lineToSDO(d, line, 7, sdo.body.data + 1); -00948 if (err) { -00949 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00950 return 0xFF; -00951 } -00952 /* Inverting the toggle for the next tranfert. */ -00953 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; -00954 MSG_WAR(0x3AA3, "SDO. Sending upload segment defined at index 0x1200 + ", nodeId); -00955 sendSDO(d, whoami, sdo); -00956 } -00957 else { -00958 /* Last segment. */ -00959 /* code to send the last segment. (cs = 0; c = 1) */ -00960 sdo.nodeId = nodeId; /* The server node Id; */ -00961 sdo.body.data[0] = (d->transfers[line].toggle << 4) | ((7 - nbBytes) << 1) | 1; -00962 err = lineToSDO(d, line, nbBytes, sdo.body.data + 1); -00963 if (err) { -00964 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -00965 return 0xFF; -00966 } -00967 for (i = nbBytes + 1 ; i < 8 ; i++) -00968 sdo.body.data[i] = 0; -00969 MSG_WAR(0x3AA4, "SDO. Sending last upload segment defined at index 0x1200 + ", nodeId); -00970 sendSDO(d, whoami, sdo); -00971 /* Release the line */ -00972 resetSDOline(d, line); -00973 } -00974 } /* end if SERVER*/ -00975 else { -00976 /* I am CLIENT */ -00977 /* It is the response for the previous initiate download request. */ -00978 /* We should find a line opened for this. */ -00979 err = getSDOlineOnUse( d, nodeId, whoami, &line); -00980 if (!err) -00981 err = d->transfers[line].state != SDO_DOWNLOAD_IN_PROGRESS; -00982 if (err) { -00983 MSG_ERR(0x1AA5, "SDO error : Received response for unknown download request from nodeId", nodeId); -00984 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); -00985 return 0xFF; -00986 } -00987 /* Reset the watchdog */ -00988 RestartSDO_TIMER(line) -00989 index = d->transfers[line].index; -00990 subIndex = d->transfers[line].subIndex; -00991 /* End transmission or requesting next segment. */ -00992 getSDOlineRestBytes(d, line, &nbBytes); -00993 if (nbBytes == 0) { -00994 MSG_WAR(0x3AA6, "SDO End download expedited. Response received. from nodeId", nodeId); -00995 StopSDO_TIMER(line) -00996 d->transfers[line].state = SDO_FINISHED; -00997 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); -00998 return 0x00; -00999 } -01000 if (nbBytes > 7) { -01001 /* more than one request to send */ -01002 /* code to send the next segment. (cs = 0; c = 0) */ -01003 sdo.nodeId = nodeId; /* The server node Id; */ -01004 sdo.body.data[0] = (d->transfers[line].toggle << 4); -01005 err = lineToSDO(d, line, 7, sdo.body.data + 1); -01006 if (err) { -01007 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -01008 return 0xFF; -01009 } -01010 } -01011 else { -01012 /* Last segment.*/ -01013 /* code to send the last segment. (cs = 0; c = 1) */ -01014 sdo.nodeId = nodeId; /* The server node Id; */ -01015 sdo.body.data[0] = (d->transfers[line].toggle << 4) | ((7 - nbBytes) << 1) | 1; -01016 err = lineToSDO(d, line, nbBytes, sdo.body.data + 1); -01017 if (err) { -01018 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); -01019 return 0xFF; -01020 } -01021 for (i = nbBytes + 1 ; i < 8 ; i++) -01022 sdo.body.data[i] = 0; -01023 } -01024 MSG_WAR(0x3AA7, "SDO sending download segment to nodeId", nodeId); -01025 sendSDO(d, whoami, sdo); -01026 -01027 } /* end if I am a CLIENT */ -01028 break; -01029 -01030 case 4: -01031 abortCode = (*m).data[3] | -01032 ((UNS32)m->data[5] << 8) | -01033 ((UNS32)m->data[6] << 16) | -01034 ((UNS32)m->data[7] << 24); -01035 /* Received SDO abort. */ -01036 /* Looking for the line concerned. */ -01037 if (whoami == SDO_SERVER) { -01038 err = getSDOlineOnUse( d, nodeId, whoami, &line ); -01039 if (!err) { -01040 resetSDOline( d, line ); -01041 MSG_WAR(0x3AA8, "SD0. Received SDO abort. Line released. Code : ", abortCode); -01042 } -01043 else -01044 MSG_WAR(0x3AA9, "SD0. Received SDO abort. No line found. Code : ", abortCode); -01045 /* Tips : The end user has no way to know that the server node has received an abort SDO. */ -01046 /* Its is ok, I think.*/ -01047 } -01048 else { /* If I am CLIENT */ -01049 err = getSDOlineOnUse( d, nodeId, whoami, &line ); -01050 if (!err) { -01051 /* The line *must* be released by the core program. */ -01052 StopSDO_TIMER(line) -01053 d->transfers[line].state = SDO_ABORTED_RCV; -01054 d->transfers[line].abortCode = abortCode; -01055 MSG_WAR(0x3AB0, "SD0. Received SDO abort. Line state ABORTED. Code : ", abortCode); -01056 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); -01057 } -01058 else -01059 MSG_WAR(0x3AB1, "SD0. Received SDO abort. No line found. Code : ", abortCode); -01060 } -01061 break; -01062 default: -01063 /* Error : Unknown cs */ -01064 MSG_ERR(0x1AB2, "SDO. Received unknown command specifier : ", getSDOcs(m->data[0])); -01065 return 0xFF; -01066 -01067 } /* End switch */ -01068 return 0; -01069 } -01070 -01071 /*******************************************************************)******/ -01072 INLINE UNS8 _writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, -01073 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback, UNS8 endianize) -01074 { -01075 UNS8 err; -01076 UNS8 SDOfound = 0; -01077 UNS8 line; -01078 s_SDO sdo; /* SDO to transmit */ -01079 UNS8 i, j; -01080 UNS16 lastIndex; -01081 UNS16 offset; -01082 UNS32 *pNodeIdServer; -01083 UNS32 nodeIdServer; -01084 -01085 MSG_WAR(0x3AC0, "Send SDO to write in the dictionary of node : ", nodeId); -01086 MSG_WAR(0x3AC1, " At index : ", index); -01087 MSG_WAR(0x3AC2, " subIndex : ", subIndex); -01088 MSG_WAR(0x3AC3, " nb bytes : ", count); -01089 -01090 /* Verify that there is no SDO communication yet. */ -01091 err = getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); -01092 if (!err) { -01093 MSG_ERR(0x1AC4, "SDO error : Communication yet established. with node : ", nodeId); -01094 return 0xFF; -01095 } -01096 /* Taking the line ... */ -01097 err = getSDOfreeLine( d, SDO_CLIENT, &line ); -01098 if (err) { -01099 MSG_ERR(0x1AC5, "SDO error : No line free, too many SDO in progress. Aborted for node : ", nodeId); -01100 return (0xFF); -01101 } -01102 /* Check which SDO to use to communicate with the node */ -01103 offset = d->firstIndex->SDO_CLT; -01104 lastIndex = d->lastIndex->SDO_CLT; -01105 if (offset == 0) { -01106 MSG_ERR(0x1AC6, "writeNetworkDict : No SDO client index found", 0); -01107 return 0xFF; -01108 } -01109 i = 0; -01110 while (offset <= lastIndex) { -01111 if (d->objdict[offset].bSubCount <= 3) { -01112 MSG_ERR(0x1AC8, "Subindex 3 not found at index ", 0x1280 + i); -01113 return 0xFF; -01114 } -01115 /* looking for the nodeId server */ -01116 pNodeIdServer = d->objdict[offset].pSubindex[3].pObject; -01117 nodeIdServer = *pNodeIdServer; -01118 MSG_WAR(0x1AD2, "index : ", 0x1280 + i); -01119 MSG_WAR(0x1AD3, "nodeIdServer : ", nodeIdServer); -01120 -01121 if(nodeIdServer == (UNS32)nodeId) { -01122 SDOfound = 1; -01123 break; -01124 } -01125 offset++; -01126 i++; -01127 } /* end while */ -01128 if (!SDOfound) { -01129 MSG_ERR(0x1AC9, "SDO. Error. No client found to communicate with node : ", nodeId); -01130 return 0xFF; -01131 } -01132 MSG_WAR(0x3AD0," SDO client defined at index : ", 0x1280 + i); -01133 initSDOline(d, line, nodeId, index, subIndex, SDO_DOWNLOAD_IN_PROGRESS); -01134 d->transfers[line].count = count; -01135 d->transfers[line].dataType = dataType; -01136 -01137 /* Copy data to transfers structure. */ -01138 for (j = 0 ; j < count ; j++) { -01139 # ifdef CANOPEN_BIG_ENDIAN -01140 if (dataType == 0 && endianize) -01141 d->transfers[line].data[count - 1 - j] = ((char *)data)[j]; -01142 else /* String of bytes. */ -01143 d->transfers[line].data[j] = ((char *)data)[j]; -01144 # else -01145 d->transfers[line].data[j] = ((char *)data)[j]; -01146 # endif -01147 } -01148 /* Send the SDO to the server. Initiate download, cs=1. */ -01149 sdo.nodeId = nodeId; -01150 if (count <= 4) { /* Expedited transfert */ -01151 sdo.body.data[0] = (1 << 5) | ((4 - count) << 2) | 3; -01152 for (i = 4 ; i < 8 ; i++) -01153 sdo.body.data[i] = d->transfers[line].data[i - 4]; -01154 d->transfers[line].offset = count; -01155 } -01156 else { /* Normal transfert */ -01157 sdo.body.data[0] = (1 << 5) | 1; -01158 sdo.body.data[4] = count; /* nb of byte to transmit. Max = 255. (canfestival2 limitation). */ -01159 for (i = 5 ; i < 8 ; i++) -01160 sdo.body.data[i] = 0; -01161 } -01162 sdo.body.data[1] = index & 0xFF; /* LSB */ -01163 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ -01164 sdo.body.data[3] = subIndex; -01165 -01166 d->transfers[line].Callback = Callback; -01167 -01168 err = sendSDO(d, SDO_CLIENT, sdo); -01169 if (err) { -01170 MSG_ERR(0x1AD1, "SDO. Error while sending SDO to node : ", nodeId); -01171 /* release the line */ -01172 resetSDOline(d, line); -01173 return 0xFF; -01174 } -01175 -01176 -01177 return 0; -01178 } -01179 -01180 /*--------------------------------------------------------------------------*/ -01181 -01182 UNS8 writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, -01183 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data) -01184 { -01185 return _writeNetworkDict (d, nodeId, index, subIndex, count, dataType, data, NULL, 1); -01186 } +00730 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +00731 return 0xFF; +00732 } +00734 sdo.nodeId = *d->bDeviceNodeId; +00735 sdo.body.data[0] = (1 << 5) | (d->transfers[line].toggle << 4); +00736 for (i = 1 ; i < 8 ; i++) +00737 sdo.body.data[i] = 0; +00738 MSG_WAR(0x3A73, "SDO. Send response to download request defined at index 0x1200 + ", nodeId); +00739 sendSDO(d, whoami, sdo); +00741 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; +00743 if (getSDOc(m->data[0])) { +00746 errorCode = SDOlineToObjdict(d, line); +00747 if (errorCode) { +00748 MSG_ERR(0x1A54, "SDO error : Unable to copy the data in the object dictionary", 0); +00749 failedSDO(d, nodeId, whoami, index, subIndex, errorCode); +00750 return 0xFF; +00751 } +00753 resetSDOline(d, line); +00754 MSG_WAR(0x3A74, "SDO. End of download defined at index 0x1200 + ", nodeId); +00755 } +00756 } /* end if SERVER */ +00757 else { /* if CLIENT */ +00760 err = getSDOlineOnUse( d, nodeId, whoami, &line); +00761 if (!err) +00762 err = d->transfers[line].state != SDO_UPLOAD_IN_PROGRESS; +00763 if (err) { +00764 MSG_ERR(0x1A75, "SDO error : Received segment response for unknown trans. from nodeId", nodeId); +00765 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); +00766 return 0xFF; +00767 } +00769 RestartSDO_TIMER(line) +00770 index = d->transfers[line].index; +00771 subIndex = d->transfers[line].subIndex; +00773 if (d->transfers[line].toggle != getSDOt(m->data[0])) { +00774 MSG_ERR(0x1A76, "SDO error : Received segment response Toggle error. from nodeId", nodeId); +00775 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_TOGGLE_NOT_ALTERNED); +00776 return 0xFF; +00777 } +00779 nbBytes = 7 - getSDOn3(m->data[0]); +00781 err = SDOtoLine(d, line, nbBytes, (*m).data + 1); +00782 if (err) { +00783 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +00784 return 0xFF; +00785 } +00787 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; +00789 if ( getSDOc(m->data[0])) { +00792 StopSDO_TIMER(line) +00793 d->transfers[line].state = SDO_FINISHED; +00794 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); +00795 +00796 MSG_WAR(0x3A77, "SDO. End of upload from node : ", nodeId); +00797 } +00798 else { +00800 sdo.nodeId = nodeId; +00801 sdo.body.data[0] = (3 << 5) | (d->transfers[line].toggle << 4); +00802 for (i = 1 ; i < 8 ; i++) +00803 sdo.body.data[i] = 0; +00804 sendSDO(d, whoami, sdo); +00805 MSG_WAR(0x3A78, "SDO send upload segment request to nodeId", nodeId); +00806 } +00807 } /* End if CLIENT */ +00808 break; +00809 +00810 case 1: +00813 if (whoami == SDO_SERVER) { +00814 index = getSDOindex(m->data[1],m->data[2]); +00815 subIndex = getSDOsubIndex(m->data[3]); +00816 MSG_WAR(0x3A79, "Received SDO Initiate Download (to store data) defined at index 0x1200 + ", +00817 nodeId); +00818 MSG_WAR(0x3A80, "Writing at index : ", index); +00819 MSG_WAR(0x3A80, "Writing at subIndex : ", subIndex); +00820 +00822 err = getSDOlineOnUse( d, nodeId, whoami, &line ); +00823 if (! err) { +00824 MSG_ERR(0x1A81, "SDO error : Transmission yet started.", 0); +00825 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); +00826 return 0xFF; +00827 } +00830 err = getSDOfreeLine( d, whoami, &line ); +00831 if (err) { +00832 MSG_ERR(0x1A82, "SDO error : No line free, too many SDO in progress. Aborted.", 0); +00833 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); +00834 return 0xFF; +00835 } +00836 initSDOline(d, line, nodeId, index, subIndex, SDO_DOWNLOAD_IN_PROGRESS); +00837 +00838 if (getSDOe(m->data[0])) { +00840 nbBytes = 4 - getSDOn2(m->data[0]); +00842 d->transfers[line].count = nbBytes; +00843 err = SDOtoLine(d, line, nbBytes, (*m).data + 4); +00844 +00845 if (err) { +00846 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +00847 return 0xFF; +00848 } +00849 +00852 MSG_WAR(0x3A83, "SDO Initiate Download is an expedited transfert. Finished.: ", nodeId); +00854 errorCode = SDOlineToObjdict(d, line); +00855 if (errorCode) { +00856 MSG_ERR(0x1A84, "SDO error : Unable to copy the data in the object dictionary", 0); +00857 failedSDO(d, nodeId, whoami, index, subIndex, errorCode); +00858 return 0xFF; +00859 } +00861 resetSDOline(d, line); +00862 } +00863 else { +00864 if (getSDOs(m->data[0])) { +00866 nbBytes = m->data[4]; +00867 err = setSDOlineRestBytes(d, nodeId, nbBytes); +00868 if (err) { +00869 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +00870 return 0xFF; +00871 } +00872 } +00873 } +00875 sdo.nodeId = *d->bDeviceNodeId; +00876 sdo.body.data[0] = 3 << 5; +00877 sdo.body.data[1] = index & 0xFF; /* LSB */ +00878 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ +00879 sdo.body.data[3] = subIndex; +00880 for (i = 4 ; i < 8 ; i++) +00881 sdo.body.data[i] = 0; +00882 sendSDO(d, whoami, sdo); +00883 } /* end if I am SERVER */ +00884 else { +00887 err = getSDOlineOnUse( d, nodeId, whoami, &line); +00888 if (!err) +00889 err = d->transfers[line].state != SDO_DOWNLOAD_IN_PROGRESS; +00890 if (err) { +00891 MSG_ERR(0x1A85, "SDO error : Received segment response for unknown trans. from nodeId", nodeId); +00892 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); +00893 return 0xFF; +00894 } +00896 RestartSDO_TIMER(line) +00897 index = d->transfers[line].index; +00898 subIndex = d->transfers[line].subIndex; +00900 if (d->transfers[line].toggle != getSDOt(m->data[0])) { +00901 MSG_ERR(0x1A86, "SDO error : Received segment response Toggle error. from nodeId", nodeId); +00902 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_TOGGLE_NOT_ALTERNED); +00903 return 0xFF; +00904 } +00905 +00907 getSDOlineRestBytes(d, line, &nbBytes); +00908 if (nbBytes == 0) { +00909 MSG_WAR(0x3A87, "SDO End download. segment response received. OK. from nodeId", nodeId); +00910 StopSDO_TIMER(line) +00911 d->transfers[line].state = SDO_FINISHED; +00912 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); +00913 return 0x00; +00914 } +00916 if (nbBytes > 7) { +00919 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; +00920 sdo.nodeId = nodeId; /* The server node Id; */ +00921 sdo.body.data[0] = (d->transfers[line].toggle << 4); +00922 err = lineToSDO(d, line, 7, sdo.body.data + 1); +00923 if (err) { +00924 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +00925 return 0xFF; +00926 } +00927 } +00928 else { +00931 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; +00932 sdo.nodeId = nodeId; /* The server node Id; */ +00933 sdo.body.data[0] = (d->transfers[line].toggle << 4) | ((7 - nbBytes) << 1) | 1; +00934 err = lineToSDO(d, line, nbBytes, sdo.body.data + 1); +00935 if (err) { +00936 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +00937 return 0xFF; +00938 } +00939 for (i = nbBytes + 1 ; i < 8 ; i++) +00940 sdo.body.data[i] = 0; +00941 } +00942 MSG_WAR(0x3A88, "SDO sending download segment to nodeId", nodeId); +00943 sendSDO(d, whoami, sdo); +00944 } +00945 break; +00946 +00947 case 2: +00950 if (whoami == SDO_SERVER) { +00951 index = getSDOindex(m->data[1],m->data[2]); +00952 subIndex = getSDOsubIndex(m->data[3]); +00953 MSG_WAR(0x3A89, "Received SDO Initiate upload (to send data) defined at index 0x1200 + ", +00954 nodeId); +00955 MSG_WAR(0x3A90, "Reading at index : ", index); +00956 MSG_WAR(0x3A91, "Reading at subIndex : ", subIndex); +00958 err = getSDOlineOnUse( d, nodeId, whoami, &line ); +00959 if (! err) { +00960 MSG_ERR(0x1A92, "SDO error : Transmission yet started at line : ", line); +00961 MSG_WAR(0x3A93, "nodeId = ", nodeId); +00962 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); +00963 return 0xFF; +00964 } +00967 err = getSDOfreeLine( d, whoami, &line ); +00968 if (err) { +00969 MSG_ERR(0x1A71, "SDO error : No line free, too many SDO in progress. Aborted.", 0); +00970 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); +00971 return 0xFF; +00972 } +00973 initSDOline(d, line, nodeId, index, subIndex, SDO_UPLOAD_IN_PROGRESS); +00975 errorCode = objdictToSDOline(d, line); +00976 +00977 if (errorCode) { +00978 MSG_ERR(0x1A94, "SDO error : Unable to copy the data from object dictionary. Err code : ", +00979 errorCode); +00980 failedSDO(d, nodeId, whoami, index, subIndex, errorCode); +00981 return 0xFF; +00982 } +00984 getSDOlineRestBytes(d, line, &nbBytes); +00985 sdo.nodeId = nodeId; +00986 if (nbBytes > 4) { +00989 sdo.body.data[0] = (2 << 5) | 1; +00990 sdo.body.data[1] = index & 0xFF; /* LSB */ +00991 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ +00992 sdo.body.data[3] = subIndex; +00993 sdo.body.data[4] = nbBytes; /* Limitation of canfestival2 : Max tranfert is 256 bytes.*/ +00996 for (i = 5 ; i < 8 ; i++) +00997 sdo.body.data[i] = 0; +00998 MSG_WAR(0x3A95, "SDO. Sending normal upload initiate response defined at index 0x1200 + ", nodeId); +00999 sendSDO(d, whoami, sdo); +01000 } +01001 else { +01003 sdo.body.data[0] = (2 << 5) | ((4 - nbBytes) << 2) | 3; +01004 sdo.body.data[1] = index & 0xFF; /* LSB */ +01005 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ +01006 sdo.body.data[3] = subIndex; +01007 err = lineToSDO(d, line, nbBytes, sdo.body.data + 4); +01008 if (err) { +01009 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +01010 return 0xFF; +01011 } +01012 for (i = 4 + nbBytes ; i < 8 ; i++) +01013 sdo.body.data[i] = 0; +01014 MSG_WAR(0x3A96, "SDO. Sending expedited upload initiate response defined at index 0x1200 + ", +01015 nodeId); +01016 sendSDO(d, whoami, sdo); +01018 resetSDOline(d, line); +01019 } +01020 } +01021 else { +01025 err = getSDOlineOnUse( d, nodeId, whoami, &line); +01026 if (!err) +01027 err = d->transfers[line].state != SDO_UPLOAD_IN_PROGRESS; +01028 if (err) { +01029 MSG_ERR(0x1A97, "SDO error : Received response for unknown upload request from nodeId", nodeId); +01030 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); +01031 return 0xFF; +01032 } +01034 RestartSDO_TIMER(line) +01035 index = d->transfers[line].index; +01036 subIndex = d->transfers[line].subIndex; +01037 +01038 if (getSDOe(m->data[0])) { /* If SDO expedited */ +01040 nbBytes = 4 - getSDOn2(m->data[0]); +01042 err = SDOtoLine(d, line, nbBytes, (*m).data + 4); +01043 if (err) { +01044 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +01045 return 0xFF; +01046 } +01048 MSG_WAR(0x3A98, "SDO expedited upload finished. Response received from node : ", nodeId); +01049 StopSDO_TIMER(line) +01050 d->transfers[line].count = nbBytes; +01051 d->transfers[line].state = SDO_FINISHED; +01052 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); +01053 return 0; +01054 } +01055 else { +01057 if (getSDOs(m->data[0])) { +01058 nbBytes = m->data[4]; +01059 err = setSDOlineRestBytes(d, line, nbBytes); +01060 if (err) { +01061 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +01062 return 0xFF; +01063 } +01064 } +01066 sdo.nodeId = nodeId; +01067 sdo.body.data[0] = 3 << 5; +01068 for (i = 1 ; i < 8 ; i++) +01069 sdo.body.data[i] = 0; +01070 MSG_WAR(0x3A99, "SDO. Sending upload segment request to node : ", nodeId); +01071 sendSDO(d, whoami, sdo); +01072 } +01073 } +01074 break; +01075 +01076 case 3: +01078 if (whoami == SDO_SERVER) { +01081 err = getSDOlineOnUse( d, nodeId, whoami, &line ); +01082 if (!err) +01083 err = d->transfers[line].state != SDO_UPLOAD_IN_PROGRESS; +01084 if (err) { +01085 MSG_ERR(0x1AA0, "SDO error : Received upload segment for unstarted trans. index 0x1200 + ", +01086 nodeId); +01087 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); +01088 return 0xFF; +01089 } +01091 RestartSDO_TIMER(line) +01092 MSG_WAR(0x3AA1, "Received SDO upload segment defined at index 0x1200 + ", nodeId); +01093 index = d->transfers[line].index; +01094 subIndex = d->transfers[line].subIndex; +01096 if (d->transfers[line].toggle != getSDOt(m->data[0])) { +01097 MSG_ERR(0x1AA2, "SDO error : Toggle error : ", getSDOt(m->data[0])); +01098 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_TOGGLE_NOT_ALTERNED); +01099 return 0xFF; +01100 } +01102 getSDOlineRestBytes(d, line, &nbBytes); +01103 if (nbBytes > 7) { +01106 sdo.nodeId = nodeId; /* The server node Id; */ +01107 sdo.body.data[0] = (d->transfers[line].toggle << 4); +01108 err = lineToSDO(d, line, 7, sdo.body.data + 1); +01109 if (err) { +01110 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +01111 return 0xFF; +01112 } +01114 d->transfers[line].toggle = ! d->transfers[line].toggle & 1; +01115 MSG_WAR(0x3AA3, "SDO. Sending upload segment defined at index 0x1200 + ", nodeId); +01116 sendSDO(d, whoami, sdo); +01117 } +01118 else { +01121 sdo.nodeId = nodeId; +01122 sdo.body.data[0] = (d->transfers[line].toggle << 4) | ((7 - nbBytes) << 1) | 1; +01123 err = lineToSDO(d, line, nbBytes, sdo.body.data + 1); +01124 if (err) { +01125 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +01126 return 0xFF; +01127 } +01128 for (i = nbBytes + 1 ; i < 8 ; i++) +01129 sdo.body.data[i] = 0; +01130 MSG_WAR(0x3AA4, "SDO. Sending last upload segment defined at index 0x1200 + ", nodeId); +01131 sendSDO(d, whoami, sdo); +01133 resetSDOline(d, line); +01134 } +01135 } /* end if SERVER*/ +01136 else { +01140 err = getSDOlineOnUse( d, nodeId, whoami, &line); +01141 if (!err) +01142 err = d->transfers[line].state != SDO_DOWNLOAD_IN_PROGRESS; +01143 if (err) { +01144 MSG_ERR(0x1AA5, "SDO error : Received response for unknown download request from nodeId", nodeId); +01145 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); +01146 return 0xFF; +01147 } +01149 RestartSDO_TIMER(line) +01150 index = d->transfers[line].index; +01151 subIndex = d->transfers[line].subIndex; +01152 /* End transmission or requesting next segment. */ +01153 getSDOlineRestBytes(d, line, &nbBytes); +01154 if (nbBytes == 0) { +01155 MSG_WAR(0x3AA6, "SDO End download expedited. Response received. from nodeId", nodeId); +01156 StopSDO_TIMER(line) +01157 d->transfers[line].state = SDO_FINISHED; +01158 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); +01159 return 0x00; +01160 } +01161 if (nbBytes > 7) { +01164 sdo.nodeId = nodeId; +01165 sdo.body.data[0] = (d->transfers[line].toggle << 4); +01166 err = lineToSDO(d, line, 7, sdo.body.data + 1); +01167 if (err) { +01168 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +01169 return 0xFF; +01170 } +01171 } +01172 else { +01175 sdo.nodeId = nodeId; +01176 sdo.body.data[0] = (d->transfers[line].toggle << 4) | ((7 - nbBytes) << 1) | 1; +01177 err = lineToSDO(d, line, nbBytes, sdo.body.data + 1); +01178 if (err) { +01179 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); +01180 return 0xFF; +01181 } +01182 for (i = nbBytes + 1 ; i < 8 ; i++) +01183 sdo.body.data[i] = 0; +01184 } +01185 MSG_WAR(0x3AA7, "SDO sending download segment to nodeId", nodeId); +01186 sendSDO(d, whoami, sdo); 01187 -01188 /*--------------------------------------------------------------------------*/ -01189 -01190 UNS8 writeNetworkDictCallBack (CO_Data* d, UNS8 nodeId, UNS16 index, -01191 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback) -01192 { -01193 return _writeNetworkDict (d, nodeId, index, subIndex, count, dataType, data, Callback, 1); -01194 } -01195 -01196 -01197 /***************************************************************************/ -01198 INLINE UNS8 _readNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback) -01199 { -01200 UNS8 err; -01201 UNS8 SDOfound = 0; -01202 UNS8 i; -01203 UNS8 line; -01204 s_SDO sdo; /* SDO to transmit */ -01205 UNS32 *pNodeIdServer; -01206 UNS32 nodeIdServer; -01207 UNS16 offset; -01208 UNS16 lastIndex; -01209 MSG_WAR(0x3AD5, "Send SDO to read in the dictionary of node : ", nodeId); -01210 MSG_WAR(0x3AD6, " At index : ", index); -01211 MSG_WAR(0x3AD7, " subIndex : ", subIndex); -01212 -01213 -01214 /* Verify that there is no SDO communication yet. */ -01215 err = getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); -01216 if (!err) { -01217 MSG_ERR(0x1AD8, "SDO error : Communication yet established. with node : ", nodeId); -01218 return 0xFF; -01219 } -01220 /* Taking the line ... */ -01221 err = getSDOfreeLine( d, SDO_CLIENT, &line ); -01222 if (err) { -01223 MSG_ERR(0x1AD9, "SDO error : No line free, too many SDO in progress. Aborted for node : ", nodeId); -01224 return (0xFF); -01225 } -01226 else -01227 MSG_WAR(0x3AE0, "Transmission on line : ", line); -01228 -01229 /* Check which SDO to use to communicate with the node */ -01230 offset = d->firstIndex->SDO_CLT; -01231 lastIndex = d->lastIndex->SDO_CLT; -01232 if (offset == 0) { -01233 MSG_ERR(0x1AE1, "writeNetworkDict : No SDO client index found", 0); -01234 return 0xFF; -01235 } -01236 i = 0; -01237 while (offset <= lastIndex) { -01238 if (d->objdict[offset].bSubCount <= 3) { -01239 MSG_ERR(0x1AE2, "Subindex 3 not found at index ", 0x1280 + i); -01240 return 0xFF; -01241 } -01242 /* looking for the nodeId server */ -01243 pNodeIdServer = d->objdict[offset].pSubindex[3].pObject; -01244 nodeIdServer = *pNodeIdServer; -01245 -01246 if(nodeIdServer == (UNS32)nodeId) { -01247 SDOfound = 1; -01248 break; -01249 } -01250 offset++; -01251 i++; -01252 } /* end while */ -01253 if (!SDOfound) { -01254 MSG_ERR(0x1AE3, "SDO. Error. No client found to communicate with node : ", nodeId); -01255 return 0xFF; -01256 } -01257 MSG_WAR(0x3AE4," SDO client defined at index : ", 0x1280 + i); -01258 initSDOline(d, line, nodeId, index, subIndex, SDO_UPLOAD_IN_PROGRESS); -01259 getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); -01260 sdo.nodeId = nodeId; -01261 /* Send the SDO to the server. Initiate upload, cs=2. */ -01262 d->transfers[line].dataType = dataType; -01263 sdo.body.data[0] = (2 << 5); -01264 sdo.body.data[1] = index & 0xFF; /* LSB */ -01265 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ -01266 sdo.body.data[3] = subIndex; -01267 for (i = 4 ; i < 8 ; i++) -01268 sdo.body.data[i] = 0; -01269 d->transfers[line].Callback = Callback; -01270 err = sendSDO(d, SDO_CLIENT, sdo); -01271 if (err) { -01272 MSG_ERR(0x1AE5, "SDO. Error while sending SDO to node : ", nodeId); -01273 /* release the line */ -01274 resetSDOline(d, line); -01275 return 0xFF; -01276 } -01277 return 0; -01278 } -01279 -01280 /*--------------------------------------------------------------------------*/ -01281 -01282 UNS8 readNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType) -01283 { -01284 return _readNetworkDict (d, nodeId, index, subIndex, dataType, NULL); -01285 } -01286 -01287 /*--------------------------------------------------------------------------*/ -01288 UNS8 readNetworkDictCallback (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback) -01289 { -01290 return _readNetworkDict (d, nodeId, index, subIndex, dataType, Callback); -01291 } -01292 -01293 /***************************************************************************/ -01294 -01295 UNS8 getReadResultNetworkDict (CO_Data* d, UNS8 nodeId, void* data, UNS8 *size, -01296 UNS32 * abortCode) -01297 { -01298 UNS8 i; -01299 UNS8 err; -01300 UNS8 line; -01301 * size = 0; -01302 -01303 /* Looking for the line tranfert. */ -01304 err = getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); -01305 if (err) { -01306 MSG_ERR(0x1AF0, "SDO error : No line found for communication with node : ", nodeId); -01307 return SDO_ABORTED_INTERNAL; -01308 } -01309 if (d->transfers[line].state != SDO_FINISHED) -01310 return d->transfers[line].state; -01311 -01312 /* Transfert is finished. Put the value in the data. */ -01313 * size = (UNS8)d->transfers[line].count; -01314 for ( i = 0 ; i < *size ; i++) { -01315 # ifdef CANOPEN_BIG_ENDIAN -01316 if (d->transfers[line].dataType != visible_string) -01317 ( (char *) data)[*size - 1 - i] = d->transfers[line].data[i]; -01318 else /* String of bytes. */ -01319 ( (char *) data)[i] = d->transfers[line].data[i]; -01320 # else -01321 ( (char *) data)[i] = d->transfers[line].data[i]; -01322 # endif -01323 } -01324 return SDO_FINISHED; -01325 } -01326 -01327 /***************************************************************************/ -01328 -01329 UNS8 getWriteResultNetworkDict (CO_Data* d, UNS8 nodeId, UNS32 * abortCode) -01330 { -01331 UNS8 line = 0; -01332 UNS8 err; -01333 -01334 * abortCode = 0; -01335 /* Looking for the line tranfert. */ -01336 err = getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); -01337 if (err) { -01338 MSG_ERR(0x1AF1, "SDO error : No line found for communication with node : ", nodeId); -01339 return SDO_ABORTED_INTERNAL; -01340 } -01341 * abortCode = d->transfers[line].abortCode; -01342 return d->transfers[line].state; -01343 } -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +01188 } /* end if I am a CLIENT */ +01189 break; +01190 +01191 case 4: +01192 abortCode = (*m).data[3] | +01193 ((UNS32)m->data[5] << 8) | +01194 ((UNS32)m->data[6] << 16) | +01195 ((UNS32)m->data[7] << 24); +01198 if (whoami == SDO_SERVER) { +01199 err = getSDOlineOnUse( d, nodeId, whoami, &line ); +01200 if (!err) { +01201 resetSDOline( d, line ); +01202 MSG_WAR(0x3AA8, "SD0. Received SDO abort. Line released. Code : ", abortCode); +01203 } +01204 else +01205 MSG_WAR(0x3AA9, "SD0. Received SDO abort. No line found. Code : ", abortCode); +01208 } +01209 else { +01210 err = getSDOlineOnUse( d, nodeId, whoami, &line ); +01211 if (!err) { +01213 StopSDO_TIMER(line) +01214 d->transfers[line].state = SDO_ABORTED_RCV; +01215 d->transfers[line].abortCode = abortCode; +01216 MSG_WAR(0x3AB0, "SD0. Received SDO abort. Line state ABORTED. Code : ", abortCode); +01217 if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); +01218 } +01219 else +01220 MSG_WAR(0x3AB1, "SD0. Received SDO abort. No line found. Code : ", abortCode); +01221 } +01222 break; +01223 default: +01225 MSG_ERR(0x1AB2, "SDO. Received unknown command specifier : ", getSDOcs(m->data[0])); +01226 return 0xFF; +01227 +01228 } /* End switch */ +01229 return 0; +01230 } +01231 +01247 INLINE UNS8 _writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, +01248 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback, UNS8 endianize) +01249 { +01250 UNS8 err; +01251 UNS8 SDOfound = 0; +01252 UNS8 line; +01253 s_SDO sdo; /* SDO to transmit */ +01254 UNS8 i, j; +01255 UNS16 lastIndex; +01256 UNS16 offset; +01257 UNS32 *pNodeIdServer; +01258 UNS32 nodeIdServer; +01259 +01260 MSG_WAR(0x3AC0, "Send SDO to write in the dictionary of node : ", nodeId); +01261 MSG_WAR(0x3AC1, " At index : ", index); +01262 MSG_WAR(0x3AC2, " subIndex : ", subIndex); +01263 MSG_WAR(0x3AC3, " nb bytes : ", count); +01264 +01266 err = getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); +01267 if (!err) { +01268 MSG_ERR(0x1AC4, "SDO error : Communication yet established. with node : ", nodeId); +01269 return 0xFF; +01270 } +01272 err = getSDOfreeLine( d, SDO_CLIENT, &line ); +01273 if (err) { +01274 MSG_ERR(0x1AC5, "SDO error : No line free, too many SDO in progress. Aborted for node : ", nodeId); +01275 return (0xFF); +01276 } +01278 offset = d->firstIndex->SDO_CLT; +01279 lastIndex = d->lastIndex->SDO_CLT; +01280 if (offset == 0) { +01281 MSG_ERR(0x1AC6, "writeNetworkDict : No SDO client index found", 0); +01282 return 0xFF; +01283 } +01284 i = 0; +01285 while (offset <= lastIndex) { +01286 if (d->objdict[offset].bSubCount <= 3) { +01287 MSG_ERR(0x1AC8, "Subindex 3 not found at index ", 0x1280 + i); +01288 return 0xFF; +01289 } +01291 pNodeIdServer = d->objdict[offset].pSubindex[3].pObject; +01292 nodeIdServer = *pNodeIdServer; +01293 MSG_WAR(0x1AD2, "index : ", 0x1280 + i); +01294 MSG_WAR(0x1AD3, "nodeIdServer : ", nodeIdServer); +01295 +01296 if(nodeIdServer == (UNS32)nodeId) { +01297 SDOfound = 1; +01298 break; +01299 } +01300 offset++; +01301 i++; +01302 } /* end while */ +01303 if (!SDOfound) { +01304 MSG_ERR(0x1AC9, "SDO. Error. No client found to communicate with node : ", nodeId); +01305 return 0xFF; +01306 } +01307 MSG_WAR(0x3AD0," SDO client defined at index : ", 0x1280 + i); +01308 initSDOline(d, line, nodeId, index, subIndex, SDO_DOWNLOAD_IN_PROGRESS); +01309 d->transfers[line].count = count; +01310 d->transfers[line].dataType = dataType; +01311 +01313 for (j = 0 ; j < count ; j++) { +01314 # ifdef CANOPEN_BIG_ENDIAN +01315 if (dataType == 0 && endianize) +01316 d->transfers[line].data[count - 1 - j] = ((char *)data)[j]; +01317 else /* String of bytes. */ +01318 d->transfers[line].data[j] = ((char *)data)[j]; +01319 # else +01320 d->transfers[line].data[j] = ((char *)data)[j]; +01321 # endif +01322 } +01324 sdo.nodeId = nodeId; +01325 if (count <= 4) { +01326 sdo.body.data[0] = (1 << 5) | ((4 - count) << 2) | 3; +01327 for (i = 4 ; i < 8 ; i++) +01328 sdo.body.data[i] = d->transfers[line].data[i - 4]; +01329 d->transfers[line].offset = count; +01330 } +01331 else { +01332 sdo.body.data[0] = (1 << 5) | 1; +01333 sdo.body.data[4] = count; +01334 for (i = 5 ; i < 8 ; i++) +01335 sdo.body.data[i] = 0; +01336 } +01337 sdo.body.data[1] = index & 0xFF; /* LSB */ +01338 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ +01339 sdo.body.data[3] = subIndex; +01340 +01341 d->transfers[line].Callback = Callback; +01342 +01343 err = sendSDO(d, SDO_CLIENT, sdo); +01344 if (err) { +01345 MSG_ERR(0x1AD1, "SDO. Error while sending SDO to node : ", nodeId); +01347 resetSDOline(d, line); +01348 return 0xFF; +01349 } +01350 +01351 +01352 return 0; +01353 } +01354 +01368 UNS8 writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, +01369 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data) +01370 { +01371 return _writeNetworkDict (d, nodeId, index, subIndex, count, dataType, data, NULL, 1); +01372 } +01373 +01388 UNS8 writeNetworkDictCallBack (CO_Data* d, UNS8 nodeId, UNS16 index, +01389 UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback) +01390 { +01391 return _writeNetworkDict (d, nodeId, index, subIndex, count, dataType, data, Callback, 1); +01392 } +01393 +01406 INLINE UNS8 _readNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback) +01407 { +01408 UNS8 err; +01409 UNS8 SDOfound = 0; +01410 UNS8 i; +01411 UNS8 line; +01412 s_SDO sdo; /* SDO to transmit */ +01413 UNS32 *pNodeIdServer; +01414 UNS32 nodeIdServer; +01415 UNS16 offset; +01416 UNS16 lastIndex; +01417 MSG_WAR(0x3AD5, "Send SDO to read in the dictionary of node : ", nodeId); +01418 MSG_WAR(0x3AD6, " At index : ", index); +01419 MSG_WAR(0x3AD7, " subIndex : ", subIndex); +01420 +01421 +01423 err = getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); +01424 if (!err) { +01425 MSG_ERR(0x1AD8, "SDO error : Communication yet established. with node : ", nodeId); +01426 return 0xFF; +01427 } +01429 err = getSDOfreeLine( d, SDO_CLIENT, &line ); +01430 if (err) { +01431 MSG_ERR(0x1AD9, "SDO error : No line free, too many SDO in progress. Aborted for node : ", nodeId); +01432 return (0xFF); +01433 } +01434 else +01435 MSG_WAR(0x3AE0, "Transmission on line : ", line); +01436 +01438 offset = d->firstIndex->SDO_CLT; +01439 lastIndex = d->lastIndex->SDO_CLT; +01440 if (offset == 0) { +01441 MSG_ERR(0x1AE1, "writeNetworkDict : No SDO client index found", 0); +01442 return 0xFF; +01443 } +01444 i = 0; +01445 while (offset <= lastIndex) { +01446 if (d->objdict[offset].bSubCount <= 3) { +01447 MSG_ERR(0x1AE2, "Subindex 3 not found at index ", 0x1280 + i); +01448 return 0xFF; +01449 } +01451 pNodeIdServer = d->objdict[offset].pSubindex[3].pObject; +01452 nodeIdServer = *pNodeIdServer; +01453 +01454 if(nodeIdServer == (UNS32)nodeId) { +01455 SDOfound = 1; +01456 break; +01457 } +01458 offset++; +01459 i++; +01460 } /* end while */ +01461 if (!SDOfound) { +01462 MSG_ERR(0x1AE3, "SDO. Error. No client found to communicate with node : ", nodeId); +01463 return 0xFF; +01464 } +01465 MSG_WAR(0x3AE4," SDO client defined at index : ", 0x1280 + i); +01466 initSDOline(d, line, nodeId, index, subIndex, SDO_UPLOAD_IN_PROGRESS); +01467 getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); +01468 sdo.nodeId = nodeId; +01470 d->transfers[line].dataType = dataType; +01471 sdo.body.data[0] = (2 << 5); +01472 sdo.body.data[1] = index & 0xFF; /* LSB */ +01473 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ +01474 sdo.body.data[3] = subIndex; +01475 for (i = 4 ; i < 8 ; i++) +01476 sdo.body.data[i] = 0; +01477 d->transfers[line].Callback = Callback; +01478 err = sendSDO(d, SDO_CLIENT, sdo); +01479 if (err) { +01480 MSG_ERR(0x1AE5, "SDO. Error while sending SDO to node : ", nodeId); +01481 /* release the line */ +01482 resetSDOline(d, line); +01483 return 0xFF; +01484 } +01485 return 0; +01486 } +01487 +01499 UNS8 readNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType) +01500 { +01501 return _readNetworkDict (d, nodeId, index, subIndex, dataType, NULL); +01502 } +01503 +01516 UNS8 readNetworkDictCallback (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback) +01517 { +01518 return _readNetworkDict (d, nodeId, index, subIndex, dataType, Callback); +01519 } +01520 +01532 UNS8 getReadResultNetworkDict (CO_Data* d, UNS8 nodeId, void* data, UNS8 *size, +01533 UNS32 * abortCode) +01534 { +01535 UNS8 i; +01536 UNS8 err; +01537 UNS8 line; +01538 * size = 0; +01539 +01541 err = getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); +01542 if (err) { +01543 MSG_ERR(0x1AF0, "SDO error : No line found for communication with node : ", nodeId); +01544 return SDO_ABORTED_INTERNAL; +01545 } +01546 if (d->transfers[line].state != SDO_FINISHED) +01547 return d->transfers[line].state; +01548 +01550 * size = (UNS8)d->transfers[line].count; +01551 for ( i = 0 ; i < *size ; i++) { +01552 # ifdef CANOPEN_BIG_ENDIAN +01553 if (d->transfers[line].dataType != visible_string) +01554 ( (char *) data)[*size - 1 - i] = d->transfers[line].data[i]; +01555 else +01556 ( (char *) data)[i] = d->transfers[line].data[i]; +01557 # else +01558 ( (char *) data)[i] = d->transfers[line].data[i]; +01559 # endif +01560 } +01561 return SDO_FINISHED; +01562 } +01563 +01573 UNS8 getWriteResultNetworkDict (CO_Data* d, UNS8 nodeId, UNS32 * abortCode) +01574 { +01575 UNS8 line = 0; +01576 UNS8 err; +01577 +01578 * abortCode = 0; +01580 err = getSDOlineOnUse(d, nodeId, SDO_CLIENT, &line); +01581 if (err) { +01582 MSG_ERR(0x1AF1, "SDO error : No line found for communication with node : ", nodeId); +01583 return SDO_ABORTED_INTERNAL; +01584 } +01585 * abortCode = d->transfers[line].abortCode; +01586 return d->transfers[line].state; +01587 } +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c.html --- a/doc/doxygen/html/sdo_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -20,6 +20,9 @@ #include "canfestival.h"

    +Include dependency graph for sdo.c:

    + +

    Go to the source code of this file. @@ -103,7 +106,12 @@

    Defines

    UNS8 getWriteResultNetworkDict (CO_Data *d, UNS8 nodeId, UNS32 *abortCode)
    -


    Define Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Tue Jun 5 09:32:32 2007
    + +

    +Definition in file sdo.c.


    Define Documentation

    @@ -123,7 +131,9 @@

    Returns the indicator of end transmission from the first byte of the SDO

    -Definition at line 75 of file sdo.c. +Definition at line 109 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -145,7 +155,9 @@

    Returns the command specifier (cs, ccs, scs) from the first byte of the SDO

    -Definition at line 55 of file sdo.c. +Definition at line 89 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -167,7 +179,9 @@

    Returns the transfer type from the first byte of the SDO

    -Definition at line 67 of file sdo.c. +Definition at line 101 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -192,7 +206,9 @@

    Returns the index from the bytes 1 and 2 of the SDO

    -Definition at line 83 of file sdo.c. +Definition at line 117 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -214,7 +230,9 @@

    Returns the number of bytes without data from the first byte of the SDO. Coded in 2 bits

    -Definition at line 59 of file sdo.c. +Definition at line 93 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -236,7 +254,9 @@

    Returns the number of bytes without data from the first byte of the SDO. Coded in 3 bits

    -Definition at line 63 of file sdo.c. +Definition at line 97 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -258,7 +278,9 @@

    Returns the size indicator from the first byte of the SDO

    -Definition at line 71 of file sdo.c. +Definition at line 105 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -280,7 +302,9 @@

    Returns the subIndex from the byte 3 of the SDO

    -Definition at line 88 of file sdo.c. +Definition at line 121 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -302,7 +326,9 @@

    Returns the toggle from the first byte of the SDO

    -Definition at line 79 of file sdo.c. +Definition at line 113 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -319,7 +345,7 @@

    -Definition at line 34 of file sdo.c. +Definition at line 43 of file sdo.c.

    @@ -336,7 +362,7 @@

    -Definition at line 31 of file sdo.c. +Definition at line 40 of file sdo.c.

    @@ -360,7 +386,9 @@ if(d->transfers[id].timer != TIMER_NONE) { StopSDO_TIMER(id) StartSDO_TIMER(id) }

    -Definition at line 124 of file sdo.c. +Definition at line 160 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -384,7 +412,9 @@ d->transfers[id].timer = SetAlarm(d,id,&SDOTimeoutAlarm,MS_TO_TIMEVAL(SDO_TIMEOUT_MS),0);

    -Definition at line 120 of file sdo.c. +Definition at line 156 of file sdo.c. +

    +Referenced by initSDOline().

    @@ -408,7 +438,9 @@ d->transfers[id].timer = DelAlarm(d->transfers[id].timer);

    -Definition at line 116 of file sdo.c. +Definition at line 152 of file sdo.c. +

    +Referenced by failedSDO(), initSDOline(), and proceedSDO().


    Function Documentation

    @@ -462,11 +494,40 @@

    -Called by readNetworkDict -

    -Definition at line 1198 of file sdo.c. -

    -References getSDOfreeLine(), getSDOlineOnUse(), initSDOline(), resetSDOline(), and sendSDO(). +

    Parameters:
    + + + + + + + +
    d 
    nodeId 
    index 
    subIndex 
    dataType 
    Callback 
    +
    +
    Returns:
    + +

    +Verify that there is no SDO communication yet.

    +Taking the line ...

    +Check which SDO to use to communicate with the node

    +looking for the nodeId server

    +Send the SDO to the server. Initiate upload, cs=2. +

    +Definition at line 1406 of file sdo.c. +

    +References getSDOfreeLine(), getSDOlineOnUse(), initSDOline(), resetSDOline(), and sendSDO(). +

    +Referenced by readNetworkDict(), and readNetworkDictCallback(). +

    +Here is the call graph for this function:

    + + + + + + + +

    @@ -537,7 +598,22 @@

    -Called by writeNetworkDict +Called by writeNetworkDict

    +

    Parameters:
    + + + + + + + + + + +
    d 
    nodeId 
    index 
    subIndex 
    count 
    dataType 
    data 
    Callback 
    endianize 
    +
    +
    Returns:
    +

    @@ -572,11 +648,27 @@

    - -

    -Definition at line 318 of file sdo.c. -

    -References getSDOlineOnUse(), and resetSDOline(). +

    Parameters:
    + + + + +
    d 
    nodeId 
    whoami 
    +
    +
    Returns:
    + +

    +Definition at line 439 of file sdo.c. +

    +References getSDOlineOnUse(), and resetSDOline(). +

    +Here is the call graph for this function:

    + + + + + +

    @@ -629,11 +721,34 @@

    - -

    -Definition at line 227 of file sdo.c. -

    -References getSDOlineOnUse(), resetSDOline(), sendSDOabort(), and StopSDO_TIMER. +

    Parameters:
    + + + + + + + +
    d 
    nodeId 
    whoami 
    index 
    subIndex 
    abortCode 
    +
    +
    Returns:
    + +

    +Definition at line 307 of file sdo.c. +

    +References getSDOlineOnUse(), resetSDOline(), sendSDOabort(), and StopSDO_TIMER. +

    +Referenced by proceedSDO(). +

    +Here is the call graph for this function:

    + + + + + + + +

    @@ -680,11 +795,30 @@

    - -

    -Definition at line 1295 of file sdo.c. -

    -References getSDOlineOnUse(). +

    Parameters:
    + + + + + + +
    d 
    nodeId 
    data 
    size 
    abortCode 
    +
    +
    Returns:
    + +

    +Looking for the line tranfert.

    +Transfert is finished. Put the value in the data. +

    +Definition at line 1532 of file sdo.c. +

    +References getSDOlineOnUse(). +

    +Here is the call graph for this function:

    + + + +

    @@ -719,9 +853,19 @@

    - -

    -Definition at line 284 of file sdo.c. +

    Parameters:
    + + + + +
    d 
    whoami 
    line 
    +
    +
    Returns:
    + +

    +Definition at line 388 of file sdo.c. +

    +Referenced by _readNetworkDict(), _writeNetworkDict(), and proceedSDO().

    @@ -762,9 +906,20 @@

    - -

    -Definition at line 301 of file sdo.c. +

    Parameters:
    + + + + + +
    d 
    nodeId 
    whoami 
    line 
    +
    +
    Returns:
    + +

    +Definition at line 414 of file sdo.c. +

    +Referenced by _readNetworkDict(), _writeNetworkDict(), closeSDOtransfer(), failedSDO(), getReadResultNetworkDict(), getWriteResultNetworkDict(), and proceedSDO().

    @@ -799,9 +954,19 @@

    - -

    -Definition at line 332 of file sdo.c. +

    Parameters:
    + + + + +
    d 
    line 
    nbBytes 
    +
    +
    Returns:
    + +

    +Definition at line 461 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -836,11 +1001,27 @@

    - -

    -Definition at line 1329 of file sdo.c. -

    -References getSDOlineOnUse(). +

    Parameters:
    + + + + +
    d 
    nodeId 
    abortCode 
    +
    +
    Returns:
    + +

    +Looking for the line tranfert. +

    +Definition at line 1573 of file sdo.c. +

    +References getSDOlineOnUse(). +

    +Here is the call graph for this function:

    + + + +

    @@ -893,11 +1074,24 @@

    - -

    -Definition at line 263 of file sdo.c. -

    -References StartSDO_TIMER, and StopSDO_TIMER. +

    Parameters:
    + + + + + + + +
    d 
    line 
    nodeId 
    index 
    subIndex 
    state 
    +
    +
    Returns:
    + +

    +Definition at line 359 of file sdo.c. +

    +References StartSDO_TIMER, and StopSDO_TIMER. +

    +Referenced by _readNetworkDict(), _writeNetworkDict(), proceedSDO(), and resetSDOline().

    @@ -938,9 +1132,20 @@

    - -

    -Definition at line 189 of file sdo.c. +

    Parameters:
    + + + + + +
    d 
    line 
    nbBytes 
    data 
    +
    +
    Returns:
    + +

    +Definition at line 250 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -969,11 +1174,28 @@

    - -

    -Definition at line 157 of file sdo.c. -

    -References getODentry(). +

    Parameters:
    + + + +
    d 
    line 
    +
    +
    Returns:
    + +

    +Definition at line 209 of file sdo.c. +

    +References getODentry(). +

    +Referenced by proceedSDO(). +

    +Here is the call graph for this function:

    + + + + + +

    @@ -1002,11 +1224,175 @@

    - -

    -Definition at line 447 of file sdo.c. -

    -References failedSDO(), getSDOc, getSDOcs, getSDOe, getSDOfreeLine(), getSDOindex, getSDOlineOnUse(), getSDOlineRestBytes(), getSDOn2, getSDOn3, getSDOs, getSDOsubIndex, getSDOt, initSDOline(), lineToSDO(), objdictToSDOline(), resetSDOline(), RestartSDO_TIMER, SDOlineToObjdict(), SDOtoLine(), sendSDO(), setSDOlineRestBytes(), and StopSDO_TIMER. +

    Parameters:
    + + + +
    d 
    m 
    +
    +
    Returns:
    + +

    +received or to be transmited.

    +The node from which the SDO is received

    +node id in 32 bits, for temporary use

    +SDO_SERVER or SDO_CLIENT.

    +while reading or writing in the local object dictionary.

    +SDO to transmit

    +Looking for the cobId in the object dictionary.

    +Am-I a server ?

    +In case of server, the node id of the client may be unknown. So we put the index minus offset

    +0x1200 where the cobid received is defined.

    +end while

    +Am-I client ?

    +a) Looking for the cobid received.

    +b) cobid found, so reading the node id of the server.

    +This SDO was not for us !

    +Test if the size of the SDO is ok

    +Testing the command specifier

    +Allowed : cs = 0, 1, 2, 3, 4. (= all except those for block tranfert).

    +cs = other : Not allowed -> abort.

    +I am SERVER

    +Receiving a download segment data.

    +A SDO transfert should have been yet initiated.

    +Reset the wathdog

    +Toggle test.

    +Nb of data to be downloaded

    +Store the data in the transfert structure.

    +Sending the SDO response, CS = 1

    +The node id of the server, (here it is the sender).

    +Inverting the toggle for the next segment.

    +If it was the last segment,

    +Transfering line data to object dictionary.

    +The code does not use the "d" of initiate frame. So it is safe if e=s=0

    +Release of the line

    +I am CLIENT

    +It is a request for a previous upload segment. We should find a line opened for this.

    +Reset the wathdog

    +test of the toggle;

    +nb of data to be uploaded

    +Storing the data in the line structure.

    +Inverting the toggle for the next segment.

    +If it was the last segment,

    +Put in state finished

    +The code is safe for the case e=s=0 in initiate frame.

    +more segments to receive

    +Sending the request for the next segment.

    +I am SERVER

    +Receive of an initiate download

    +Search if a SDO transfert have been yet initiated

    +No line on use. Great !

    +Try to open a new line.

    +If SDO expedited

    +nb of data to be downloaded

    +Storing the data in the line structure.

    +SDO expedited -> transfert finished. Data can be stored in the dictionary.

    +The line will be reseted when it is downloading in the dictionary.

    +Transfering line data to object dictionary.

    +Release of the line.

    +So, if it is not an expedited transfert

    +TODO : if e and s = 0, not reading m->data[4] but put nbBytes = 0

    +Transfert limited to 255 bytes.

    +Sending a SDO, cs=3

    +The node id of the server, (here it is the sender).

    +I am CLIENT

    +It is a response for a previous download segment. We should find a line opened for this.

    +Reset the wathdog

    +test of the toggle;

    +End transmission or downloading next segment. We need to know if it will be the last one.

    +At least one transfer to send.

    +several segments to download.

    +code to send the next segment. (cs = 0; c = 0)

    +Last segment.

    +code to send the last segment. (cs = 0; c = 1)

    +end if I am a CLIENT

    +I am SERVER

    +Receive of an initiate upload.

    +Search if a SDO transfert have been yet initiated

    +No line on use. Great !

    +Try to open a new line.

    +Transfer data from dictionary to the line structure.

    +Preparing the response.

    +Nb bytes to transfer ?

    +The server node Id;

    +normal transfert. (segmented).

    +code to send the initiate upload response. (cs = 2)

    +It takes too much memory to upgrate to 2^32 because the size of data is also coded

    +in the object dictionary, at every index and subindex.

    +Expedited upload. (cs = 2 ; e = 1)

    +Release the line.

    +end if I am SERVER

    +I am CLIENT

    +It is the response for the previous initiate upload request.

    +We should find a line opened for this.

    +Reset the wathdog

    +nb of data to be uploaded

    +Storing the data in the line structure.

    +SDO expedited -> transfert finished. data are available via getReadResultNetworkDict().

    +So, if it is not an expedited transfert

    +Storing the nb of data to receive.

    +Remember the limitation to 255 bytes to transfert

    +Requesting next segment. (cs = 3)

    +End if CLIENT

    +I am SERVER

    +Receiving a upload segment.

    +A SDO transfert should have been yet initiated.

    +Reset the wathdog

    +Toggle test.

    +Uploading next segment. We need to know if it will be the last one.

    +The segment to transfer is not the last one.

    +code to send the next segment. (cs = 0; c = 0)

    +Inverting the toggle for the next tranfert.

    +Last segment.

    +code to send the last segment. (cs = 0; c = 1)

    +The server node Id;

    +Release the line

    +I am CLIENT

    +It is the response for the previous initiate download request.

    +We should find a line opened for this.

    +Reset the watchdog

    +more than one request to send

    +code to send the next segment. (cs = 0; c = 0)

    +The server node Id;

    +Last segment.

    +code to send the last segment. (cs = 0; c = 1)

    +The server node Id;

    +Received SDO abort.

    +Looking for the line concerned.

    +Tips : The end user has no way to know that the server node has received an abort SDO.

    +Its is ok, I think.

    +If I am CLIENT

    +The line *must* be released by the core program.

    +Error : Unknown cs +

    +Definition at line 608 of file sdo.c. +

    +References failedSDO(), getSDOc, getSDOcs, getSDOe, getSDOfreeLine(), getSDOindex, getSDOlineOnUse(), getSDOlineRestBytes(), getSDOn2, getSDOn3, getSDOs, getSDOsubIndex, getSDOt, initSDOline(), lineToSDO(), objdictToSDOline(), resetSDOline(), RestartSDO_TIMER, SDOlineToObjdict(), SDOtoLine(), sendSDO(), setSDOlineRestBytes(), and StopSDO_TIMER. +

    +Referenced by canDispatch(). +

    +Here is the call graph for this function:

    + + + + + + + + + + + + + + + + + + + + +

    @@ -1053,11 +1439,32 @@

    - -

    -Definition at line 1282 of file sdo.c. -

    -References _readNetworkDict(). +

    Parameters:
    + + + + + + +
    d 
    nodeId 
    index 
    subIndex 
    dataType 
    +
    +
    Returns:
    + +

    +Definition at line 1499 of file sdo.c. +

    +References _readNetworkDict(). +

    +Here is the call graph for this function:

    + + + + + + + + +

    @@ -1110,11 +1517,33 @@

    - -

    -Definition at line 1288 of file sdo.c. -

    -References _readNetworkDict(). +

    Parameters:
    + + + + + + + +
    d 
    nodeId 
    index 
    subIndex 
    dataType 
    Callback 
    +
    +
    Returns:
    + +

    +Definition at line 1516 of file sdo.c. +

    +References _readNetworkDict(). +

    +Here is the call graph for this function:

    + + + + + + + + +

    @@ -1134,11 +1563,28 @@

    -Reset all sdo buffers -

    -Definition at line 131 of file sdo.c. -

    -References resetSDOline(). +Reset all sdo buffers

    +

    Parameters:
    + + +
    d 
    +
    + +

    +transfer structure initialization +

    +Definition at line 169 of file sdo.c. +

    +References resetSDOline(). +

    +Referenced by switchCommunicationState(). +

    +Here is the call graph for this function:

    + + + + +

    @@ -1167,11 +1613,25 @@

    - -

    -Definition at line 253 of file sdo.c. -

    -References initSDOline(). +

    Parameters:
    + + + +
    d 
    line 
    +
    + +

    +Definition at line 338 of file sdo.c. +

    +References initSDOline(). +

    +Referenced by _readNetworkDict(), _writeNetworkDict(), closeSDOtransfer(), failedSDO(), proceedSDO(), resetSDO(), and SDOTimeoutAlarm(). +

    +Here is the call graph for this function:

    + + + +

    @@ -1200,11 +1660,28 @@

    - -

    -Definition at line 141 of file sdo.c. -

    -References setODentry(). +

    Parameters:
    + + + +
    d 
    line 
    +
    +
    Returns:
    + +

    +Definition at line 186 of file sdo.c. +

    +References setODentry(). +

    +Referenced by proceedSDO(). +

    +Here is the call graph for this function:

    + + + + + +

    @@ -1233,11 +1710,26 @@

    - -

    -Definition at line 93 of file sdo.c. -

    -References resetSDOline(), and sendSDOabort(). +

    Parameters:
    + + + +
    d 
    id 
    +
    + +

    +Definition at line 129 of file sdo.c. +

    +References resetSDOline(), and sendSDOabort(). +

    +Here is the call graph for this function:

    + + + + + + +

    @@ -1278,9 +1770,20 @@

    - -

    -Definition at line 210 of file sdo.c. +

    Parameters:
    + + + + + +
    d 
    line 
    nbBytes 
    data 
    +
    +
    Returns:
    + +

    +Definition at line 279 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -1315,9 +1818,28 @@

    - -

    -Definition at line 354 of file sdo.c. +

    Parameters:
    + + + + +
    d 
    whoami 
    sdo 
    +
    +
    Returns:
    + +

    +get the server->client cobid

    +case server. Easy because today only one server SDO is authorized in CanFestival

    +case client

    +Get the client->server cobid.

    +First, have to find at the index where is defined the communication with the server node

    +Second, read the cobid client->server

    +message copy for sending

    +the length of SDO must be 8 +

    +Definition at line 498 of file sdo.c. +

    +Referenced by _readNetworkDict(), _writeNetworkDict(), proceedSDO(), and sendSDOabort().

    @@ -1364,11 +1886,29 @@

    - -

    -Definition at line 424 of file sdo.c. -

    -References sendSDO(). +

    Parameters:
    + + + + + + +
    d 
    whoami 
    index 
    subIndex 
    abortCode 
    +
    +
    Returns:
    + +

    +Definition at line 578 of file sdo.c. +

    +References sendSDO(). +

    +Referenced by failedSDO(), and SDOTimeoutAlarm(). +

    +Here is the call graph for this function:

    + + + +

    @@ -1403,9 +1943,19 @@

    - -

    -Definition at line 342 of file sdo.c. +

    Parameters:
    + + + + +
    d 
    line 
    nbBytes 
    +
    +
    Returns:
    + +

    +Definition at line 479 of file sdo.c. +

    +Referenced by proceedSDO().

    @@ -1464,11 +2014,34 @@

    - -

    -Definition at line 1182 of file sdo.c. -

    -References _writeNetworkDict(). +

    Parameters:
    + + + + + + + + +
    d 
    nodeId 
    index 
    subIndex 
    count 
    dataType 
    data 
    +
    +
    Returns:
    + +

    +Definition at line 1368 of file sdo.c. +

    +References _writeNetworkDict(). +

    +Here is the call graph for this function:

    + + + + + + + + +

    @@ -1533,14 +2106,38 @@

    - -

    -Definition at line 1190 of file sdo.c. -

    -References _writeNetworkDict(). -

    -

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Parameters:
    + + + + + + + + + +
    d 
    nodeId 
    index 
    subIndex 
    count 
    dataType 
    data 
    Callback 
    +
    +
    Returns:
    + +

    +Definition at line 1388 of file sdo.c. +

    +References _writeNetworkDict(). +

    +Here is the call graph for this function:

    + + + + + + + + + + +

    +


    Generated on Tue Jun 5 18:32:09 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.dot --- a/doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="getReadResultNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 257,6 399,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -dee26a0477a1ee88322fe5a9b8daaf44 \ No newline at end of file +63f1906192f3bfd4bee126ed7fe5ab05 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.png Binary file doc/doxygen/html/sdo_8c_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.dot --- a/doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="readNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_readNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#4bb4b3cd35af7e7580cffde23e9d3270"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,7 @@ +base referer +rect $sdo_8c.html#4bb4b3cd35af7e7580cffde23e9d3270 191,103 332,127 +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 389,5 517,29 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 383,53 524,77 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 575,128 671,152 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 399,152 508,176 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 412,200 495,224 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -3943ab5480aac998d55d74c270b713dd \ No newline at end of file +26b7ca555399e691db14f99088684e23 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.png Binary file doc/doxygen/html/sdo_8c_0e102a0835e4115920cd406e80a8d135_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.dot --- a/doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="resetSDOline",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,3 @@ +base referer +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 140,6 250,30 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 300,6 396,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -95c0e661c8f7b9503a494b4f6b0c97c2 \ No newline at end of file +d0fd730ed7edd8d2968cab6ed969cc62 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.png Binary file doc/doxygen/html/sdo_8c_1f4f07eccc4890a11ccf4f632da7740b_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.dot --- a/doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,6 @@ +base referer +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 145,6 287,30 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 161,54 271,78 +rect $sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c 156,102 276,126 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 337,54 433,78 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 344,102 427,126 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -b784eb8ff93b1fe9249190c3b9009ec9 \ No newline at end of file +6767769d5450121954ad1a25d4f8bdbe \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.png Binary file doc/doxygen/html/sdo_8c_2019db2a4d17e6d29c055cbae173e2b9_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.dot --- a/doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,4 @@ +base referer +rect $objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac 191,6 289,30 +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 340,6 447,30 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 497,6 665,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -1b315d39bff529f110c09e3189a078c0 \ No newline at end of file +fe541b8d8b8ad642d91fd5b0006545ad \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.png Binary file doc/doxygen/html/sdo_8c_29427a80fd1aeabff30bf0602fbc220f_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.dot --- a/doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedSDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="getSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="lineToSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065"]; - Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node12 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; - Node1 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="SDOtoLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="setSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,19 @@ +base referer +rect $sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9 199,140 287,164 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 375,190 516,214 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 391,91 500,115 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 572,66 668,90 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 579,191 662,215 +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 179,290 307,314 +rect $sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f 160,338 326,362 +rect $sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065 198,386 288,410 +rect $sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f 175,434 311,458 +rect $sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58 174,482 312,506 +rect $sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694 196,530 290,554 +rect $sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810 162,578 324,602 +rect $sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c 386,140 506,164 +rect $objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac 396,434 495,458 +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 567,434 674,458 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 724,458 892,482 +rect $objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0 396,482 495,506 +rect $objacces_8c.html#72f69950be4a1352fc78648c71454820 567,482 674,506 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -58189a55fd9ba7e5df6361e6425b50c8 \ No newline at end of file +ffb43fee57112beca3daea5167b8246d \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.png Binary file doc/doxygen/html/sdo_8c_2a93a7c780472b1d8666d89aa270f661_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.dot --- a/doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,4 @@ +base referer +rect $objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0 192,6 291,30 +rect $objacces_8c.html#72f69950be4a1352fc78648c71454820 339,6 445,30 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 495,6 663,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -dd521c8832383bee3945757383d4060e \ No newline at end of file +1a26ce6cb528468e5ef9331c367142ae \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.png Binary file doc/doxygen/html/sdo_8c_2eb5309dca3a7363da5e5e7230b85d58_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.dot --- a/doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 167,6 263,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -745dcf9a43ac98416c7b37827118302f \ No newline at end of file +64afe778dff749b86d4daf70f25596a0 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.png Binary file doc/doxygen/html/sdo_8c_42d33be015d4c4c83c73f1f0e588f481_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.dot --- a/doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="_readNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node5 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,6 @@ +base referer +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 205,5 333,29 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 199,53 340,77 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 391,128 487,152 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 215,152 324,176 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 228,200 311,224 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -e8f7eca011473dd03a4782a991befff5 \ No newline at end of file +743dc1883d82bcdcd3a0ec7cc3dabfdb \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.png Binary file doc/doxygen/html/sdo_8c_4bb4b3cd35af7e7580cffde23e9d3270_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.dot --- a/doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="readNetworkDictCallback",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_readNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#4bb4b3cd35af7e7580cffde23e9d3270"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,7 @@ +base referer +rect $sdo_8c.html#4bb4b3cd35af7e7580cffde23e9d3270 247,103 388,127 +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 445,5 573,29 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 439,53 580,77 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 631,128 727,152 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 455,152 564,176 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 468,200 551,224 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -b312114c06377f716034cfe53376e8af \ No newline at end of file +b9f530acaf8f3b14a379f7ed46b000e8 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.png Binary file doc/doxygen/html/sdo_8c_542a5cdd20c00aa130a39fe68295e769_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.dot --- a/doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="closeSDOtransfer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="resetSDOline",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,4 @@ +base referer +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 196,6 338,30 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 212,54 322,78 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 388,54 484,78 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -d255af9a80d6e7437814606cf4478a9f \ No newline at end of file +8341253992bff439c780e9372ce8b8e6 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.png Binary file doc/doxygen/html/sdo_8c_555a772d3a88a29c495f33513f8b2d58_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.dot --- a/doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="getWriteResultNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 260,6 401,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -63633c1a9fa9ce5be6056968c33309e4 \ No newline at end of file +fde7774bcf31a60e57de4ca9a1ccd5c8 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.png Binary file doc/doxygen/html/sdo_8c_8671e306873f19362c60bb50ab930d1d_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.dot --- a/doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="SDOTimeoutAlarm",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,5 @@ +base referer +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 205,6 315,30 +rect $sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c 200,54 320,78 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 369,6 465,30 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 376,54 459,78 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -b01a1179a1ac7479389959ccb9e42352 \ No newline at end of file +0eb8c356a7e0e467aaa215bf47e347dc \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.png Binary file doc/doxygen/html/sdo_8c_9309025e29b59e09026abcd3b45a5b61_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c__incl.dot --- a/doc/doxygen/html/sdo_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sdo.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node7 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node7 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node14 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node7 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node16 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node17 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node18 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node19 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c__incl.md5 --- a/doc/doxygen/html/sdo_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -727bc1b0ec54b81af6390639323c70d6 \ No newline at end of file +1df30fb9841a1cd1d15c9f0ff2be6060 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c__incl.png Binary file doc/doxygen/html/sdo_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.dot --- a/doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 175,6 257,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -ddded265d02c1343607357ad1ea3eda4 \ No newline at end of file +3ecf8029450f6a29664dbf8d01db8dc4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.png Binary file doc/doxygen/html/sdo_8c_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.dot --- a/doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,7 @@ +base referer +rect $dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a 192,103 339,127 +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 395,5 523,29 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 388,53 530,77 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 580,128 676,152 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 404,152 514,176 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 418,200 500,224 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -052a56ba8868f457b450a58896a4d379 \ No newline at end of file +df178112e080b0144468185c9a62356a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.png Binary file doc/doxygen/html/sdo_8c_bc20ed246e00053dcf71faa8f45ee39c_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_c6b5d7d1439d537da992a96644a1ca5d_cgraph.dot --- a/doc/doxygen/html/sdo_8c_c6b5d7d1439d537da992a96644a1ca5d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_c6b5d7d1439d537da992a96644a1ca5d_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_c6b5d7d1439d537da992a96644a1ca5d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -08342ceaeac457440585a44ca5f6c192 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.dot --- a/doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="writeNetworkDictCallBack",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,7 @@ +base referer +rect $dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a 251,103 397,127 +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 453,5 581,29 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 447,53 588,77 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 639,128 735,152 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 463,152 572,176 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 476,200 559,224 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.md5 --- a/doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -cd1ac82dd7b77f224c9465fd011d2a93 \ No newline at end of file +9a7f4be149ebf0ad81d000770fdbdea2 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.png Binary file doc/doxygen/html/sdo_8c_f4ec05293fb8971a1b282994498ed4f5_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h-source.html --- a/doc/doxygen/html/sdo_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,165 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/sdo.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/sdo.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __sdo_h__
    -00024 #define __sdo_h__
    -00025 
    -00026 struct struct_s_transfer;
    -00027 
    -00028 #include "timer.h"
    -00029 
    -00030 typedef void (*SDOCallback_t)(CO_Data* d, UNS8 nodeId);
    -00031 
    -00032 /* The Transfer structure
    -00033 Used to store the different segments of 
    -00034  - a SDO received before writing in the dictionary  
    -00035  - the reading of the dictionary to put on a SDO to transmit 
    -00036 */
    -00037 
    -00038 struct struct_s_transfer {
    -00039   UNS8           nodeId;     /*own ID if server, or node ID of the server if client */
    -00040   
    -00041   UNS8           whoami;     /* Takes the values SDO_CLIENT or SDO_SERVER */
    -00042   UNS8           state;      /* state of the transmission : Takes the values SDO_... */
    -00043   UNS8           toggle;
    -00044   UNS32          abortCode;  /* Sent or received */
    -00045   /* index and subindex of the dictionary where to store */
    -00046   /* (for a received SDO) or to read (for a transmit SDO) */
    -00047   UNS16          index; 
    -00048   UNS8           subIndex; 
    -00049   UNS32          count;      /* Number of data received or to be sent. */
    -00050   UNS32          offset;     /* stack pointer of data[]
    -00051                               * Used only to tranfer part of a line to or from a SDO.
    -00052                               * offset is always pointing on the next free cell of data[].
    -00053                               * WARNING s_transfer.data is subject to ENDIANISATION 
    -00054                               * (with respect to CANOPEN_BIG_ENDIAN)
    -00055                               */
    -00056   UNS8           data [SDO_MAX_LENGTH_TRANSFERT];
    -00057   UNS8           dataType;   /* Defined in objdictdef.h Value is visible_string 
    -00058                               * if it is a string, any other value if it is not a string, 
    -00059                               * like 0. In fact, it is used only if client.
    -00060                               */
    -00061   TIMER_HANDLE   timer;      /* Time counter to implement a timeout in milliseconds.
    -00062                               * It is automatically incremented whenever 
    -00063                               * the line state is in SDO_DOWNLOAD_IN_PROGRESS or 
    -00064                               * SDO_UPLOAD_IN_PROGRESS, and reseted to 0 
    -00065                               * when the response SDO have been received.
    -00066                               */
    -00067   SDOCallback_t Callback;   /* The user callback func to be called at SDO transaction end */
    -00068 };
    -00069 typedef struct struct_s_transfer s_transfer;
    -00070   
    -00071 
    -00072 #include "data.h"
    -00073 
    -00074 /* The 8 bytes data of the SDO */
    -00075 struct BODY{
    -00076     UNS8 data[8];
    -00077 };
    -00078 
    -00079 /* The SDO structure ...*/
    -00080 struct struct_s_SDO {
    -00081   UNS8 nodeId;          /*in any case, Node ID of the server (case sender or receiver).*/
    -00082   struct BODY body;
    -00083 };
    -00084 
    -00085 
    -00086 typedef struct struct_s_SDO s_SDO;
    -00087 
    -00091 void SDOTimeoutAlarm(CO_Data* d, UNS32 id);
    -00092 
    -00095 void resetSDO (CO_Data* d);
    -00096 
    -00097 
    -00101 UNS32 SDOlineToObjdict (CO_Data* d, UNS8 line);
    -00102 
    -00106 UNS32 objdictToSDOline (CO_Data* d, UNS8 line);
    -00107 
    -00111 UNS8 lineToSDO (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8 * data);
    -00112 
    -00116 UNS8 SDOtoLine (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8 * data);
    -00117 
    -00126 UNS8 failedSDO (CO_Data* d, UNS8 nodeId, UNS8 whoami, UNS16 index, 
    -00127                 UNS8 subIndex, UNS32 abortCode);
    -00128 
    -00132 void resetSDOline (CO_Data* d, UNS8 line);
    -00133 
    -00137 UNS8 initSDOline (CO_Data* d, UNS8 line, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 state);
    -00138 
    -00147 UNS8 getSDOfreeLine (CO_Data* d, UNS8 whoami, UNS8 *line);
    -00148 
    -00156 UNS8 getSDOlineOnUse (CO_Data* d, UNS8 nodeId, UNS8 whoami, UNS8 *line);
    -00157 
    -00162 UNS8 closeSDOtransfer (CO_Data* d, UNS8 nodeId, UNS8 whoami);
    -00163 
    -00168 UNS8 getSDOlineRestBytes (CO_Data* d, UNS8 line, UNS8 * nbBytes);
    -00169 
    -00174 UNS8 setSDOlineRestBytes (CO_Data* d, UNS8 line, UNS8 nbBytes);
    -00175 
    -00182 UNS8 sendSDO (CO_Data* d, UNS8 whoami, s_SDO sdo);
    -00183 
    -00191 UNS8 sendSDOabort (CO_Data* d, UNS8 whoami, UNS16 index, UNS8 subIndex, UNS32 abortCode);
    -00192 
    -00200 UNS8 proceedSDO (CO_Data* d, Message *m);
    -00201 
    -00210 UNS8 writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, 
    -00211                        UNS8 subIndex, UNS8 count, UNS8 dataType, void *data); 
    -00216 UNS8 writeNetworkDictCallBack (CO_Data* d, UNS8 nodeId, UNS16 index, 
    -00217                        UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback);
    -00225 UNS8 readNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index, 
    -00226                       UNS8 subIndex, UNS8 dataType);
    -00227                        
    -00232 UNS8 readNetworkDictCallback (CO_Data* d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback);
    -00233 
    -00249 UNS8 getReadResultNetworkDict (CO_Data* d, UNS8 nodeId, void* data, 
    -00250                                UNS8 *size, UNS32 * abortCode);
    -00251 
    -00268 UNS8 getWriteResultNetworkDict (CO_Data* d, UNS8 nodeId, UNS32 * abortCode);
    -00269 
    -00270 
    -00271  
    -00272 
    -00273 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h.html --- a/doc/doxygen/html/sdo_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1160 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/sdo.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/sdo.h File Reference

    #include "timer.h"
    -#include "data.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    struct  struct_s_transfer
    struct  BODY
    struct  struct_s_SDO

    Typedefs

    typedef void(*) SDOCallback_t (CO_Data *d, UNS8 nodeId)
    typedef struct_s_transfer s_transfer
    typedef struct_s_SDO s_SDO

    Functions

    void SDOTimeoutAlarm (CO_Data *d, UNS32 id)
    void resetSDO (CO_Data *d)
    UNS32 SDOlineToObjdict (CO_Data *d, UNS8 line)
    UNS32 objdictToSDOline (CO_Data *d, UNS8 line)
    UNS8 lineToSDO (CO_Data *d, UNS8 line, UNS8 nbBytes, UNS8 *data)
    UNS8 SDOtoLine (CO_Data *d, UNS8 line, UNS8 nbBytes, UNS8 *data)
    UNS8 failedSDO (CO_Data *d, UNS8 nodeId, UNS8 whoami, UNS16 index, UNS8 subIndex, UNS32 abortCode)
    void resetSDOline (CO_Data *d, UNS8 line)
    UNS8 initSDOline (CO_Data *d, UNS8 line, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 state)
    UNS8 getSDOfreeLine (CO_Data *d, UNS8 whoami, UNS8 *line)
    UNS8 getSDOlineOnUse (CO_Data *d, UNS8 nodeId, UNS8 whoami, UNS8 *line)
    UNS8 closeSDOtransfer (CO_Data *d, UNS8 nodeId, UNS8 whoami)
    UNS8 getSDOlineRestBytes (CO_Data *d, UNS8 line, UNS8 *nbBytes)
    UNS8 setSDOlineRestBytes (CO_Data *d, UNS8 line, UNS8 nbBytes)
    UNS8 sendSDO (CO_Data *d, UNS8 whoami, s_SDO sdo)
    UNS8 sendSDOabort (CO_Data *d, UNS8 whoami, UNS16 index, UNS8 subIndex, UNS32 abortCode)
    UNS8 proceedSDO (CO_Data *d, Message *m)
    UNS8 writeNetworkDict (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 count, UNS8 dataType, void *data)
    UNS8 writeNetworkDictCallBack (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback)
    UNS8 readNetworkDict (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType)
    UNS8 readNetworkDictCallback (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback)
    UNS8 getReadResultNetworkDict (CO_Data *d, UNS8 nodeId, void *data, UNS8 *size, UNS32 *abortCode)
    UNS8 getWriteResultNetworkDict (CO_Data *d, UNS8 nodeId, UNS32 *abortCode)
    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef struct struct_s_SDO s_SDO
    -
    -
    - -

    - -

    -Definition at line 86 of file sdo.h. -

    -

    - -

    -
    - - - - -
    typedef struct struct_s_transfer s_transfer
    -
    -
    - -

    - -

    -Definition at line 69 of file sdo.h. -

    -

    - -

    -
    - - - - -
    typedef void(*) SDOCallback_t(CO_Data *d, UNS8 nodeId)
    -
    -
    - -

    - -

    -Definition at line 30 of file sdo.h. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 closeSDOtransfer (CO_Data d,
    UNS8  nodeId,
    UNS8  whoami 
    )
    -
    -
    - -

    -Close a transmission. nodeId : Node id of the server if both server or client whoami : Line opened as SDO_CLIENT or SDO_SERVER -

    -Definition at line 318 of file sdo.c. -

    -References struct_s_timer_entry::d, getSDOlineOnUse(), MSG_WAR, resetSDOline(), and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 failedSDO (CO_Data d,
    UNS8  nodeId,
    UNS8  whoami,
    UNS16  index,
    UNS8  subIndex,
    UNS32  abortCode 
    )
    -
    -
    - -

    -Called when an internal SDO abort occurs. Release the line * Only if server * If client, the line must be released manually in the core application. The reason of that is to permit the program to read the transfers[][] structure before its reset, because many informations are stored on it : index, subindex, data received or trasmited, ... In all cases, sends a SDO abort. Returns 0 -

    -Definition at line 227 of file sdo.c. -

    -References struct_s_timer_entry::d, getSDOlineOnUse(), MSG_WAR, resetSDOline(), SDO_ABORTED_INTERNAL, SDO_CLIENT, SDO_SERVER, sendSDOabort(), struct_s_transfer::state, StopSDO_TIMER, struct_CO_Data::transfers, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 getReadResultNetworkDict (CO_Data d,
    UNS8  nodeId,
    void *  data,
    UNS8 *  size,
    UNS32 *  abortCode 
    )
    -
    -
    - -

    -Use this function after a readNetworkDict to get the result. Returns : SDO_FINISHED // data is available SDO_ABORTED_RCV // Transfert failed. (abort SDO received) SDO_ABORTED_INTERNAL // Transfert failed. Internal abort. SDO_UPLOAD_IN_PROGRESS // Data not yet available SDO_DOWNLOAD_IN_PROGRESS // Should not arrive !

    -dataType (defined in objdictdef.h) : type expected. put "visible_string" for strings, 0 for integers or reals. abortCode : 0 = not available. Else : SDO abort code. (received if return SDO_ABORTED_RCV) example : UNS32 data; UNS8 size; readNetworkDict(0, 0x05, 0x1016, 1, 0) // get the data index 1016 subindex 1 of node 5 while (getReadResultNetworkDict (0, 0x05, &data, &size) != SDO_UPLOAD_IN_PROGRESS); -

    -Definition at line 1295 of file sdo.c. -

    -References CANOPEN_BIG_ENDIAN, struct_s_transfer::count, struct_s_timer_entry::d, struct_s_transfer::data, struct_s_transfer::dataType, getSDOlineOnUse(), MSG_ERR, SDO_ABORTED_INTERNAL, SDO_CLIENT, SDO_FINISHED, struct_s_transfer::state, struct_CO_Data::transfers, UNS8, and visible_string. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 getSDOfreeLine (CO_Data d,
    UNS8  whoami,
    UNS8 *  line 
    )
    -
    -
    - -

    -Search for an unused line in the transfers array to store a new SDO. ie a line which value of the field "state" is "SDO_RESET" An unused line have the field "state" at the value SDO_RESET bus_id is hardware dependant whoami : create the line for a SDO_SERVER or SDO_CLIENT. return 0xFF if all the lines are on use. Else, return 0 -

    -Definition at line 284 of file sdo.c. -

    -References struct_s_timer_entry::d, SDO_MAX_SIMULTANEOUS_TRANSFERTS, SDO_RESET, struct_s_transfer::state, struct_CO_Data::transfers, UNS8, and struct_s_transfer::whoami. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 getSDOlineOnUse (CO_Data d,
    UNS8  nodeId,
    UNS8  whoami,
    UNS8 *  line 
    )
    -
    -
    - -

    -Search for the line, in the transfers array, which contains the beginning of the reception of a fragmented SDO whoami takes 2 values : look for a line opened as SDO_CLIENT or SDO_SERVER bus_id is hardware dependant nodeId correspond to the message node-id return 0xFF if error. Else, return 0 -

    -Definition at line 301 of file sdo.c. -

    -References struct_s_timer_entry::d, struct_s_transfer::nodeId, SDO_MAX_SIMULTANEOUS_TRANSFERTS, SDO_RESET, struct_s_transfer::state, struct_CO_Data::transfers, UNS8, and struct_s_transfer::whoami. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 getSDOlineRestBytes (CO_Data d,
    UNS8  line,
    UNS8 *  nbBytes 
    )
    -
    -
    - -

    -Bytes in the line structure which must be transmited (or received) bus_id is hardware dependant. return 0. -

    -Definition at line 332 of file sdo.c. -

    -References struct_s_transfer::count, struct_s_timer_entry::d, struct_s_transfer::offset, struct_CO_Data::transfers, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 getWriteResultNetworkDict (CO_Data d,
    UNS8  nodeId,
    UNS32 *  abortCode 
    )
    -
    -
    - -

    -Use this function after a writeNetworkDict to get the result of the write It is mandatory to call this function because it is releasing the line used for the transfer. Returns : SDO_FINISHED // data is available SDO_ABORTED_RCV // Transfert failed. (abort SDO received) SDO_ABORTED_INTERNAL // Transfert failed. Internal abort. SDO_DOWNLOAD_IN_PROGRESS // Data not yet available SDO_UPLOAD_IN_PROGRESS // Should not arrive ! abortCode : 0 = not available. Else : SDO abort code. (received if return SDO_ABORTED_RCV) example : UNS32 data = 0x50; UNS8 size; UNS32 abortCode; writeNetworkDict(0, 0x05, 0x1016, 1, size, &data) // write the data index 1016 subindex 1 of node 5 while ( getWriteResultNetworkDict (0, 0x05, &abortCode) != SDO_DOWNLOAD_IN_PROGRESS); -

    -Definition at line 1329 of file sdo.c. -

    -References struct_s_transfer::abortCode, struct_s_timer_entry::d, getSDOlineOnUse(), MSG_ERR, SDO_ABORTED_INTERNAL, SDO_CLIENT, struct_s_transfer::state, struct_CO_Data::transfers, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 initSDOline (CO_Data d,
    UNS8  line,
    UNS8  nodeId,
    UNS16  index,
    UNS8  subIndex,
    UNS8  state 
    )
    -
    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 lineToSDO (CO_Data d,
    UNS8  line,
    UNS8  nbBytes,
    UNS8 *  data 
    )
    -
    -
    - -

    -copy data from an existant line in the argument "* data" Returns 0xFF if error. Else, returns 0; -

    -Definition at line 189 of file sdo.c. -

    -References struct_s_transfer::count, struct_s_timer_entry::d, struct_s_transfer::data, MSG_ERR, struct_s_transfer::offset, SDO_MAX_LENGTH_TRANSFERT, struct_CO_Data::transfers, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS32 objdictToSDOline (CO_Data d,
    UNS8  line 
    )
    -
    -
    - -

    -Copy the data from the object dictionary to the SDO line for a network transfert. Returns SDO error code if error. Else, returns 0; -

    -Definition at line 157 of file sdo.c. -

    -References struct_s_transfer::count, struct_s_timer_entry::d, struct_s_transfer::data, getODentry(), struct_s_transfer::index, MSG_WAR, OD_SUCCESSFUL, struct_s_transfer::offset, struct_s_transfer::subIndex, struct_CO_Data::transfers, UNS32, and UNS8. -

    -

    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 readNetworkDict (CO_Data d,
    UNS8  nodeId,
    UNS16  index,
    UNS8  subIndex,
    UNS8  dataType 
    )
    -
    -
    - -

    -Used by the application to send a SDO request frame to read in the dictionary of a server node whose node_id is ID at the index and subIndex indicated bus_id is hardware dependant datatype (defined in objdictdef.h) : put "visible_string" for strings, 0 for integers or reals or other value. return 0xFF if error, else return 0 -

    -Definition at line 1282 of file sdo.c. -

    -References _readNetworkDict(), and struct_s_timer_entry::d. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 readNetworkDictCallback (CO_Data d,
    UNS8  nodeId,
    UNS16  index,
    UNS8  subIndex,
    UNS8  dataType,
    SDOCallback_t  Callback 
    )
    -
    -
    - -

    -Used to send a SDO request frame to read in a distant node dictionnary. The function Callback which must be defined in the user code is called at the end of the exchange. (on succes or abort). -

    -Definition at line 1288 of file sdo.c. -

    -References _readNetworkDict(), and struct_s_timer_entry::d. -

    -

    - -

    -
    - - - - - - - - - -
    void resetSDO (CO_Data d  ) 
    -
    -
    - -

    -Reset all sdo buffers -

    -Definition at line 131 of file sdo.c. -

    -References struct_s_timer_entry::d, resetSDOline(), SDO_MAX_SIMULTANEOUS_TRANSFERTS, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    void resetSDOline (CO_Data d,
    UNS8  line 
    )
    -
    -
    - -

    -Reset an unused line. -

    -Definition at line 253 of file sdo.c. -

    -References struct_s_timer_entry::d, struct_s_transfer::data, initSDOline(), MSG_WAR, SDO_MAX_LENGTH_TRANSFERT, SDO_RESET, struct_CO_Data::transfers, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS32 SDOlineToObjdict (CO_Data d,
    UNS8  line 
    )
    -
    -
    - -

    -Copy the data received from the SDO line transfert to the object dictionary Returns SDO error code if error. Else, returns 0; -

    -Definition at line 141 of file sdo.c. -

    -References struct_s_transfer::count, struct_s_timer_entry::d, struct_s_transfer::data, struct_s_transfer::index, MSG_WAR, OD_SUCCESSFUL, setODentry(), struct_s_transfer::subIndex, struct_CO_Data::transfers, UNS32, and UNS8. -

    -

    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 SDOtoLine (CO_Data d,
    UNS8  line,
    UNS8  nbBytes,
    UNS8 *  data 
    )
    -
    -
    - -

    -Add data to an existant line Returns 0xFF if error. Else, returns 0; -

    -Definition at line 210 of file sdo.c. -

    -References struct_s_timer_entry::d, struct_s_transfer::data, MSG_ERR, struct_s_transfer::offset, SDO_MAX_LENGTH_TRANSFERT, struct_CO_Data::transfers, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 sendSDO (CO_Data d,
    UNS8  whoami,
    s_SDO  sdo 
    )
    -
    -
    - -

    -Transmit a SDO frame on the bus bus_id sdo is a structure which contains the sdo to transmit bus_id is hardware dependant whoami takes 2 values : SDO_CLIENT or SDO_SERVER return canSend(bus_id,&m) or 0xFF if error -

    -Definition at line 354 of file sdo.c. -

    -References struct_s_SDO::body, td_indextable::bSubCount, struct_CO_Data::canHandle, canSend(), Message::cob_id, struct_s_timer_entry::d, BODY::data, Message::data, struct_CO_Data::firstIndex, struct_CO_Data::lastIndex, Message::len, MSG_ERR, MSG_WAR, struct_s_SDO::nodeId, struct_CO_Data::nodeState, NOT_A_REQUEST, struct_CO_Data::objdict, Operational, td_subindex::pObject, Pre_operational, td_indextable::pSubindex, Message::rtr, s_quick_index::SDO_CLT, SDO_SERVER, s_quick_index::SDO_SVR, UNS16, UNS32, UNS8, and SHORT_CAN::w. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 sendSDOabort (CO_Data d,
    UNS8  whoami,
    UNS16  index,
    UNS8  subIndex,
    UNS32  abortCode 
    )
    -
    -
    - -

    -Transmit a SDO error to the client. The reasons may be : Read/Write to a undefined object Read/Write to a undefined subindex Read/write a not valid length object Write a read only object whoami takes 2 values : SDO_CLIENT or SDO_SERVER -

    -Definition at line 424 of file sdo.c. -

    -References struct_CO_Data::bDeviceNodeId, struct_s_SDO::body, struct_s_timer_entry::d, BODY::data, MSG_WAR, struct_s_SDO::nodeId, sendSDO(), and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 setSDOlineRestBytes (CO_Data d,
    UNS8  line,
    UNS8  nbBytes 
    )
    -
    -
    - -

    -Store in the line structure the nb of bytes which must be transmited (or received) bus_id is hardware dependant. return 0 if success, 0xFF if error. -

    -Definition at line 342 of file sdo.c. -

    -References struct_s_transfer::count, struct_s_timer_entry::d, MSG_ERR, SDO_MAX_LENGTH_TRANSFERT, and struct_CO_Data::transfers. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 writeNetworkDict (CO_Data d,
    UNS8  nodeId,
    UNS16  index,
    UNS8  subIndex,
    UNS8  count,
    UNS8  dataType,
    void *  data 
    )
    -
    -
    - -

    -Used by the application to send a SDO request frame to write the data *data at the index and subIndex indicated in the dictionary of the slave whose node_id is nodeId Count : nb of bytes to write in the dictionnary. datatype (defined in objdictdef.h) : put "visible_string" for strings, 0 for integers or reals or other value. bus_id is hardware dependant return 0xFF if error, else return 0 -

    -Definition at line 1182 of file sdo.c. -

    -References _writeNetworkDict(), and struct_s_timer_entry::d. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    UNS8 writeNetworkDictCallBack (CO_Data d,
    UNS8  nodeId,
    UNS16  index,
    UNS8  subIndex,
    UNS8  count,
    UNS8  dataType,
    void *  data,
    SDOCallback_t  Callback 
    )
    -
    -
    - -

    -Used to send a SDO request frame to write in a distant node dictionnary. The function Callback which must be defined in the user code is called at the end of the exchange. (on succes or abort). -

    -Definition at line 1190 of file sdo.c. -

    -References _writeNetworkDict(), and struct_s_timer_entry::d. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.dot --- a/doc/doxygen/html/sdo_8h_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="getReadResultNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_05b0c8eee1faee3c7a2f6e2ba3a16533_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -dee26a0477a1ee88322fe5a9b8daaf44 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_0e102a0835e4115920cd406e80a8d135_cgraph.dot --- a/doc/doxygen/html/sdo_8h_0e102a0835e4115920cd406e80a8d135_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="readNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_readNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#4bb4b3cd35af7e7580cffde23e9d3270"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_0e102a0835e4115920cd406e80a8d135_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_0e102a0835e4115920cd406e80a8d135_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -3943ab5480aac998d55d74c270b713dd \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_1f4f07eccc4890a11ccf4f632da7740b_cgraph.dot --- a/doc/doxygen/html/sdo_8h_1f4f07eccc4890a11ccf4f632da7740b_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="resetSDOline",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_1f4f07eccc4890a11ccf4f632da7740b_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_1f4f07eccc4890a11ccf4f632da7740b_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -95c0e661c8f7b9503a494b4f6b0c97c2 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_2019db2a4d17e6d29c055cbae173e2b9_cgraph.dot --- a/doc/doxygen/html/sdo_8h_2019db2a4d17e6d29c055cbae173e2b9_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_2019db2a4d17e6d29c055cbae173e2b9_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_2019db2a4d17e6d29c055cbae173e2b9_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -b784eb8ff93b1fe9249190c3b9009ec9 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_29427a80fd1aeabff30bf0602fbc220f_cgraph.dot --- a/doc/doxygen/html/sdo_8h_29427a80fd1aeabff30bf0602fbc220f_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_29427a80fd1aeabff30bf0602fbc220f_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_29427a80fd1aeabff30bf0602fbc220f_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -1b315d39bff529f110c09e3189a078c0 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_2a93a7c780472b1d8666d89aa270f661_cgraph.dot --- a/doc/doxygen/html/sdo_8h_2a93a7c780472b1d8666d89aa270f661_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedSDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="getSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="lineToSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065"]; - Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node12 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; - Node1 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="SDOtoLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="setSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_2a93a7c780472b1d8666d89aa270f661_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_2a93a7c780472b1d8666d89aa270f661_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -58189a55fd9ba7e5df6361e6425b50c8 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_2eb5309dca3a7363da5e5e7230b85d58_cgraph.dot --- a/doc/doxygen/html/sdo_8h_2eb5309dca3a7363da5e5e7230b85d58_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="_setODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_2eb5309dca3a7363da5e5e7230b85d58_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_2eb5309dca3a7363da5e5e7230b85d58_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -dd521c8832383bee3945757383d4060e \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_42d33be015d4c4c83c73f1f0e588f481_cgraph.dot --- a/doc/doxygen/html/sdo_8h_42d33be015d4c4c83c73f1f0e588f481_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_42d33be015d4c4c83c73f1f0e588f481_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_42d33be015d4c4c83c73f1f0e588f481_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -745dcf9a43ac98416c7b37827118302f \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_542a5cdd20c00aa130a39fe68295e769_cgraph.dot --- a/doc/doxygen/html/sdo_8h_542a5cdd20c00aa130a39fe68295e769_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="readNetworkDictCallback",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_readNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#4bb4b3cd35af7e7580cffde23e9d3270"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_542a5cdd20c00aa130a39fe68295e769_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_542a5cdd20c00aa130a39fe68295e769_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -b312114c06377f716034cfe53376e8af \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_555a772d3a88a29c495f33513f8b2d58_cgraph.dot --- a/doc/doxygen/html/sdo_8h_555a772d3a88a29c495f33513f8b2d58_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="closeSDOtransfer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="resetSDOline",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_555a772d3a88a29c495f33513f8b2d58_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_555a772d3a88a29c495f33513f8b2d58_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -a5a261a9dfc54d3fc038e41d84c0bac3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_8671e306873f19362c60bb50ab930d1d_cgraph.dot --- a/doc/doxygen/html/sdo_8h_8671e306873f19362c60bb50ab930d1d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="getWriteResultNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_8671e306873f19362c60bb50ab930d1d_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_8671e306873f19362c60bb50ab930d1d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -63633c1a9fa9ce5be6056968c33309e4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_9309025e29b59e09026abcd3b45a5b61_cgraph.dot --- a/doc/doxygen/html/sdo_8h_9309025e29b59e09026abcd3b45a5b61_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="SDOTimeoutAlarm",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_9309025e29b59e09026abcd3b45a5b61_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_9309025e29b59e09026abcd3b45a5b61_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -b01a1179a1ac7479389959ccb9e42352 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h__dep__incl.dot --- a/doc/doxygen/html/sdo_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node4 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node4 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node4 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node4 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node8 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node9 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node10 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node4 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node12 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node13 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node14 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node4 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node16 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h__dep__incl.md5 --- a/doc/doxygen/html/sdo_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -cb7b7e8ef1858071860348d19ba9af6e \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h__incl.dot --- a/doc/doxygen/html/sdo_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="timerscfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node5 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h__incl.md5 --- a/doc/doxygen/html/sdo_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -5cfe4b7eadd83a4de95bf451a38b1ed8 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.dot --- a/doc/doxygen/html/sdo_8h_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_b26c3f2fb63d81055809d6ccaa785b7c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ddded265d02c1343607357ad1ea3eda4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_bc20ed246e00053dcf71faa8f45ee39c_cgraph.dot --- a/doc/doxygen/html/sdo_8h_bc20ed246e00053dcf71faa8f45ee39c_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_bc20ed246e00053dcf71faa8f45ee39c_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_bc20ed246e00053dcf71faa8f45ee39c_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -052a56ba8868f457b450a58896a4d379 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_c6b5d7d1439d537da992a96644a1ca5d_cgraph.dot --- a/doc/doxygen/html/sdo_8h_c6b5d7d1439d537da992a96644a1ca5d_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_c6b5d7d1439d537da992a96644a1ca5d_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_c6b5d7d1439d537da992a96644a1ca5d_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -08342ceaeac457440585a44ca5f6c192 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_f4ec05293fb8971a1b282994498ed4f5_cgraph.dot --- a/doc/doxygen/html/sdo_8h_f4ec05293fb8971a1b282994498ed4f5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="writeNetworkDictCallBack",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="sendSDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sdo_8h_f4ec05293fb8971a1b282994498ed4f5_cgraph.md5 --- a/doc/doxygen/html/sdo_8h_f4ec05293fb8971a1b282994498ed4f5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -cd1ac82dd7b77f224c9465fd011d2a93 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c-source.html --- a/doc/doxygen/html/states_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/states_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -36,223 +36,200 @@ 00019 License along with this library; if not, write to the Free Software 00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 */ -00022 -00023 #include "states.h" -00024 #include "def.h" -00025 #include "dcf.h" -00026 #include "nmtSlave.h" -00027 -00028 /* Prototypes for internals functions */ -00029 void switchCommunicationState(CO_Data* d, -00030 s_state_communication *newCommunicationState); -00031 -00032 /*****************************************************************************/ -00033 e_nodeState getState(CO_Data* d) -00034 { -00035 return d->nodeState; -00036 } -00037 -00038 /*****************************************************************************/ -00039 void canDispatch(CO_Data* d, Message *m) -00040 { -00041 switch(m->cob_id.w >> 7) -00042 { -00043 case SYNC: -00044 if(d->CurrentCommunicationState.csSYNC) -00045 proceedSYNC(d,m); -00046 break; -00047 /* case TIME_STAMP: */ -00048 case PDO1tx: -00049 case PDO1rx: -00050 case PDO2tx: -00051 case PDO2rx: -00052 case PDO3tx: -00053 case PDO3rx: -00054 case PDO4tx: -00055 case PDO4rx: -00056 if (d->CurrentCommunicationState.csPDO) -00057 proceedPDO(d,m); -00058 break; -00059 case SDOtx: -00060 case SDOrx: -00061 if (d->CurrentCommunicationState.csSDO) -00062 proceedSDO(d,m); -00063 break; -00064 case NODE_GUARD: -00065 if (d->CurrentCommunicationState.csHeartbeat) -00066 proceedNODE_GUARD(d,m); -00067 break; -00068 case NMT: -00069 if (*(d->iam_a_slave)) -00070 { -00071 proceedNMTstateChange(d,m); -00072 } -00073 } -00074 } -00075 -00076 #define StartOrStop(CommType, FuncStart, FuncStop) \ -00077 if(newCommunicationState->CommType && !d->CurrentCommunicationState.CommType){\ -00078 MSG_WAR(0x9999,#FuncStart, 9999);\ -00079 d->CurrentCommunicationState.CommType = 1;\ -00080 FuncStart;\ -00081 }else if(!newCommunicationState->CommType && d->CurrentCommunicationState.CommType){\ -00082 MSG_WAR(0x9999,#FuncStop, 9999);\ -00083 d->CurrentCommunicationState.CommType = 0;\ -00084 FuncStop;\ -00085 } -00086 #define None -00087 -00088 /*****************************************************************************/ -00089 void switchCommunicationState(CO_Data* d, s_state_communication *newCommunicationState) -00090 { -00091 StartOrStop(csSDO, None, resetSDO(d)) -00092 StartOrStop(csSYNC, startSYNC(d), stopSYNC(d)) -00093 StartOrStop(csHeartbeat, heartbeatInit(d), heartbeatStop(d)) -00094 /* StartOrStop(Emergency,,) */ -00095 StartOrStop(csPDO, None, None) -00096 StartOrStop(csBoot_Up, None, slaveSendBootUp(d)) -00097 } -00098 -00099 /*****************************************************************************/ -00100 UNS8 setState(CO_Data* d, e_nodeState newState) -00101 { -00102 UNS16 wIndex = 0x1F22; -00103 const indextable *ptrTable; -00104 ODCallback_t *Callback; -00105 UNS32 errorCode; -00106 while(newState != d->nodeState){ -00107 switch( newState ){ -00108 case Initialisation: -00109 { -00110 s_state_communication newCommunicationState = {1, 0, 0, 0, 0, 0}; -00111 /* This will force a second loop for the state switch */ -00112 d->nodeState = Initialisation; -00113 newState = Pre_operational; -00114 switchCommunicationState(d, &newCommunicationState); -00115 /* call user app related state func. */ -00116 (*d->initialisation)(); -00117 -00118 } -00119 break; -00120 -00121 case Pre_operational: -00122 { -00123 -00124 s_state_communication newCommunicationState = {0, 1, 1, 1, 1, 0}; -00125 d->nodeState = Pre_operational; -00126 newState = Pre_operational; -00127 switchCommunicationState(d, &newCommunicationState); -00128 if (!(*(d->iam_a_slave))) -00129 { -00130 ptrTable =(*d->scanIndexOD)(wIndex, &errorCode, &Callback); -00131 -00132 if (errorCode != OD_SUCCESSFUL) -00133 { -00134 (*d->preOperational)(); -00135 } -00136 else -00137 { -00138 UNS32 res; -00139 res = decompo_dcf(d,0x01); -00140 } -00141 } -00142 else -00143 { -00144 (*d->preOperational)(); -00145 } -00146 } -00147 break; -00148 -00149 case Operational: -00150 if(d->nodeState == Initialisation) return 0xFF; -00151 { -00152 s_state_communication newCommunicationState = {0, 1, 1, 1, 1, 1}; -00153 d->nodeState = Operational; -00154 newState = Operational; -00155 switchCommunicationState(d, &newCommunicationState); -00156 (*d->operational)(); -00157 } -00158 break; -00159 -00160 case Stopped: -00161 if(d->nodeState == Initialisation) return 0xFF; -00162 { -00163 s_state_communication newCommunicationState = {0, 0, 0, 0, 1, 0}; -00164 d->nodeState = Stopped; -00165 newState = Stopped; -00166 switchCommunicationState(d, &newCommunicationState); -00167 (*d->stopped)(); -00168 } -00169 break; -00170 -00171 default: -00172 return 0xFF; -00173 }/* end switch case */ -00174 -00175 } -00176 return 0; -00177 } -00178 -00179 /*****************************************************************************/ -00180 UNS8 getNodeId(CO_Data* d) -00181 { -00182 return *d->bDeviceNodeId; -00183 } -00184 -00185 /*****************************************************************************/ -00186 void setNodeId(CO_Data* d, UNS8 nodeId) -00187 { -00188 UNS16 offset = d->firstIndex->SDO_SVR; -00189 if(offset){ -00190 /* cob_id_client = 0x600 + nodeId; */ -00191 *(UNS32*)d->objdict[offset].pSubindex[1].pObject = 0x600 + nodeId; -00192 /* cob_id_server = 0x580 + nodeId; */ -00193 *(UNS32*)d->objdict[offset].pSubindex[2].pObject = 0x580 + nodeId; -00194 /* node Id client. As we do not know the value, we put the node Id Server */ -00195 /* *(UNS8*)d->objdict[offset].pSubindex[3].pObject = nodeId; */ -00196 } -00197 -00198 /* ** Initialize the server(s) SDO parameters */ -00199 /* Remember that only one SDO server is allowed, defined at index 0x1200 */ -00200 -00201 /* ** Initialize the client(s) SDO parameters */ -00202 /* Nothing to initialize (no default values required by the DS 401) */ -00203 /* ** Initialize the receive PDO communication parameters. Only for 0x1400 to 0x1403 */ -00204 { -00205 UNS8 i = 0; -00206 UNS16 offset = d->firstIndex->PDO_RCV; -00207 UNS16 lastIndex = d->lastIndex->PDO_RCV; -00208 UNS32 cobID[] = {0x200, 0x300, 0x400, 0x500}; -00209 if( offset ) while( (offset <= lastIndex) && (i < 4)) { -00210 //if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject == cobID[i] + *d->bDeviceNodeId) -00211 *(UNS32*)d->objdict[offset].pSubindex[1].pObject = cobID[i] + nodeId; -00212 i ++; -00213 offset ++; -00214 } -00215 } -00216 /* ** Initialize the transmit PDO communication parameters. Only for 0x1800 to 0x1803 */ -00217 { -00218 UNS8 i = 0; -00219 UNS16 offset = d->firstIndex->PDO_TRS; -00220 UNS16 lastIndex = d->lastIndex->PDO_TRS; -00221 UNS32 cobID[] = {0x180, 0x280, 0x380, 0x480}; -00222 i = 0; -00223 if( offset ) while ((offset <= lastIndex) && (i < 4)) { -00224 //if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject == cobID[i] + *d->bDeviceNodeId) -00225 *(UNS32*)d->objdict[offset].pSubindex[1].pObject = cobID[i] + nodeId; -00226 i ++; -00227 offset ++; -00228 } -00229 } -00230 /* bDeviceNodeId is defined in the object dictionary. */ -00231 *d->bDeviceNodeId = nodeId; -00232 } -00233 -00234 void _initialisation(){} -00235 void _preOperational(){} -00236 void _operational(){} -00237 void _stopped(){} -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +00032 #include "states.h" +00033 #include "def.h" +00034 #include "dcf.h" +00035 #include "nmtSlave.h" +00036 +00044 void switchCommunicationState(CO_Data* d, +00045 s_state_communication *newCommunicationState); +00046 +00054 e_nodeState getState(CO_Data* d) +00055 { +00056 return d->nodeState; +00057 } +00058 +00065 void canDispatch(CO_Data* d, Message *m) +00066 { +00067 switch(m->cob_id.w >> 7) +00068 { +00069 case SYNC: +00070 if(d->CurrentCommunicationState.csSYNC) +00071 proceedSYNC(d,m); +00072 break; +00074 case PDO1tx: +00075 case PDO1rx: +00076 case PDO2tx: +00077 case PDO2rx: +00078 case PDO3tx: +00079 case PDO3rx: +00080 case PDO4tx: +00081 case PDO4rx: +00082 if (d->CurrentCommunicationState.csPDO) +00083 proceedPDO(d,m); +00084 break; +00085 case SDOtx: +00086 case SDOrx: +00087 if (d->CurrentCommunicationState.csSDO) +00088 proceedSDO(d,m); +00089 break; +00090 case NODE_GUARD: +00091 if (d->CurrentCommunicationState.csHeartbeat) +00092 proceedNODE_GUARD(d,m); +00093 break; +00094 case NMT: +00095 if (*(d->iam_a_slave)) +00096 { +00097 proceedNMTstateChange(d,m); +00098 } +00099 } +00100 } +00101 +00102 #define StartOrStop(CommType, FuncStart, FuncStop) \ +00103 if(newCommunicationState->CommType && !d->CurrentCommunicationState.CommType){\ +00104 MSG_WAR(0x9999,#FuncStart, 9999);\ +00105 d->CurrentCommunicationState.CommType = 1;\ +00106 FuncStart;\ +00107 }else if(!newCommunicationState->CommType && d->CurrentCommunicationState.CommType){\ +00108 MSG_WAR(0x9999,#FuncStop, 9999);\ +00109 d->CurrentCommunicationState.CommType = 0;\ +00110 FuncStop;\ +00111 } +00112 #define None +00113 +00120 void switchCommunicationState(CO_Data* d, s_state_communication *newCommunicationState) +00121 { +00122 StartOrStop(csSDO, None, resetSDO(d)) +00123 StartOrStop(csSYNC, startSYNC(d), stopSYNC(d)) +00124 StartOrStop(csHeartbeat, heartbeatInit(d), heartbeatStop(d)) +00125 /* StartOrStop(Emergency,,) */ +00126 StartOrStop(csPDO, None, None) +00127 StartOrStop(csBoot_Up, None, slaveSendBootUp(d)) +00128 } +00129 +00138 UNS8 setState(CO_Data* d, e_nodeState newState) +00139 { +00140 UNS16 wIndex = 0x1F22; +00141 const indextable *ptrTable; +00142 ODCallback_t *Callback; +00143 UNS32 errorCode; +00144 while(newState != d->nodeState){ +00145 switch( newState ){ +00146 case Initialisation: +00147 { +00148 s_state_communication newCommunicationState = {1, 0, 0, 0, 0, 0}; +00150 d->nodeState = Initialisation; +00151 newState = Pre_operational; +00152 switchCommunicationState(d, &newCommunicationState); +00154 (*d->initialisation)(); +00155 +00156 } +00157 break; +00158 +00159 case Pre_operational: +00160 { +00161 +00162 s_state_communication newCommunicationState = {0, 1, 1, 1, 1, 0}; +00163 d->nodeState = Pre_operational; +00164 newState = Pre_operational; +00165 switchCommunicationState(d, &newCommunicationState); +00166 if (!(*(d->iam_a_slave))) +00167 { +00168 ptrTable =(*d->scanIndexOD)(wIndex, &errorCode, &Callback); +00169 +00170 if (errorCode != OD_SUCCESSFUL) +00171 { +00172 (*d->preOperational)(); +00173 } +00174 else +00175 { +00176 UNS32 res; +00177 res = decompo_dcf(d,0x01); +00178 } +00179 } +00180 else +00181 { +00182 (*d->preOperational)(); +00183 } +00184 } +00185 break; +00186 +00187 case Operational: +00188 if(d->nodeState == Initialisation) return 0xFF; +00189 { +00190 s_state_communication newCommunicationState = {0, 1, 1, 1, 1, 1}; +00191 d->nodeState = Operational; +00192 newState = Operational; +00193 switchCommunicationState(d, &newCommunicationState); +00194 (*d->operational)(); +00195 } +00196 break; +00197 +00198 case Stopped: +00199 if(d->nodeState == Initialisation) return 0xFF; +00200 { +00201 s_state_communication newCommunicationState = {0, 0, 0, 0, 1, 0}; +00202 d->nodeState = Stopped; +00203 newState = Stopped; +00204 switchCommunicationState(d, &newCommunicationState); +00205 (*d->stopped)(); +00206 } +00207 break; +00208 +00209 default: +00210 return 0xFF; +00211 } +00213 } +00214 return 0; +00215 } +00216 +00224 UNS8 getNodeId(CO_Data* d) +00225 { +00226 return *d->bDeviceNodeId; +00227 } +00228 +00235 void setNodeId(CO_Data* d, UNS8 nodeId) +00236 { +00237 UNS16 offset = d->firstIndex->SDO_SVR; +00238 if(offset){ +00240 *(UNS32*)d->objdict[offset].pSubindex[1].pObject = 0x600 + nodeId; +00242 *(UNS32*)d->objdict[offset].pSubindex[2].pObject = 0x580 + nodeId; +00245 } +00246 +00255 { +00256 UNS8 i = 0; +00257 UNS16 offset = d->firstIndex->PDO_RCV; +00258 UNS16 lastIndex = d->lastIndex->PDO_RCV; +00259 UNS32 cobID[] = {0x200, 0x300, 0x400, 0x500}; +00260 if( offset ) while( (offset <= lastIndex) && (i < 4)) { +00261 //if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject == cobID[i] + *d->bDeviceNodeId) +00262 *(UNS32*)d->objdict[offset].pSubindex[1].pObject = cobID[i] + nodeId; +00263 i ++; +00264 offset ++; +00265 } +00266 } +00267 /* ** Initialize the transmit PDO communication parameters. Only for 0x1800 to 0x1803 */ +00268 { +00269 UNS8 i = 0; +00270 UNS16 offset = d->firstIndex->PDO_TRS; +00271 UNS16 lastIndex = d->lastIndex->PDO_TRS; +00272 UNS32 cobID[] = {0x180, 0x280, 0x380, 0x480}; +00273 i = 0; +00274 if( offset ) while ((offset <= lastIndex) && (i < 4)) { +00275 //if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject == cobID[i] + *d->bDeviceNodeId) +00276 *(UNS32*)d->objdict[offset].pSubindex[1].pObject = cobID[i] + nodeId; +00277 i ++; +00278 offset ++; +00279 } +00280 } +00282 *d->bDeviceNodeId = nodeId; +00283 } +00284 +00285 void _initialisation(){} +00286 void _preOperational(){} +00287 void _operational(){} +00288 void _stopped(){} +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c.html --- a/doc/doxygen/html/states_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/states_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -21,6 +21,9 @@ #include "nmtSlave.h"

    +Include dependency graph for states.c:

    + +

    Go to the source code of this file. @@ -50,7 +53,12 @@

    Defines

    void _stopped ()
    -


    Define Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Tue Jun 5 09:32:32 2007
    + +

    +Definition in file states.c.


    Define Documentation

    @@ -65,7 +73,9 @@

    -Definition at line 86 of file states.c. +Definition at line 112 of file states.c. +

    +Referenced by switchCommunicationState().

    @@ -102,7 +112,9 @@ }

    -Definition at line 76 of file states.c. +Definition at line 102 of file states.c. +

    +Referenced by switchCommunicationState().


    Function Documentation

    @@ -124,7 +136,7 @@

    -Definition at line 234 of file states.c. +Definition at line 285 of file states.c.

    @@ -145,7 +157,7 @@

    -Definition at line 236 of file states.c. +Definition at line 287 of file states.c.

    @@ -166,7 +178,7 @@

    -Definition at line 235 of file states.c. +Definition at line 286 of file states.c.

    @@ -187,7 +199,7 @@

    -Definition at line 237 of file states.c. +Definition at line 288 of file states.c.

    @@ -216,11 +228,53 @@

    - -

    -Definition at line 39 of file states.c. -

    -References proceedNMTstateChange(), proceedNODE_GUARD(), proceedPDO(), proceedSDO(), and proceedSYNC(). +

    Parameters:
    + + + +
    d 
    m 
    +
    + +

    +case TIME_STAMP: +

    +Definition at line 65 of file states.c. +

    +References proceedNMTstateChange(), proceedNODE_GUARD(), proceedPDO(), proceedSDO(), and proceedSYNC(). +

    +Here is the call graph for this function:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    @@ -240,9 +294,15 @@

    - -

    -Definition at line 180 of file states.c. +

    Parameters:
    + + +
    d 
    +
    +
    Returns:
    + +

    +Definition at line 224 of file states.c.

    @@ -262,9 +322,15 @@

    - -

    -Definition at line 33 of file states.c. +

    Parameters:
    + + +
    d 
    +
    +
    Returns:
    + +

    +Definition at line 54 of file states.c.

    @@ -293,9 +359,23 @@

    - -

    -Definition at line 186 of file states.c. +

    Parameters:
    + + + +
    d 
    nodeId 
    +
    + +

    +cob_id_client = 0x600 + nodeId;

    +cob_id_server = 0x580 + nodeId;

    +node Id client. As we do not know the value, we put the node Id Server

    +*(UNS8*)d->objdict[offset].pSubindex[3].pObject = nodeId;

    +Initialize the server(s) SDO parameters Remember that only one SDO server is allowed, defined at index 0x1200

    +Initialize the client(s) SDO parameters Nothing to initialize (no default values required by the DS 401) Initialize the receive PDO communication parameters. Only for 0x1400 to 0x1403

    +bDeviceNodeId is defined in the object dictionary. +

    +Definition at line 235 of file states.c.

    @@ -324,11 +404,50 @@

    - -

    -Definition at line 100 of file states.c. -

    -References decompo_dcf(), ptrTable, and switchCommunicationState(). +

    Parameters:
    + + + +
    d 
    newState 
    +
    +
    Returns:
    + +

    +This will force a second loop for the state switch

    +call user app related state func.

    +end switch case +

    +Definition at line 138 of file states.c. +

    +References decompo_dcf(), ptrTable, and switchCommunicationState(). +

    +Referenced by proceedNMTstateChange(). +

    +Here is the call graph for this function:

    + + + + + + + + + + + + + + + + + + + + + + + +

    @@ -357,14 +476,41 @@

    - -

    -Definition at line 89 of file states.c. -

    -References heartbeatInit(), heartbeatStop(), None, resetSDO(), slaveSendBootUp(), StartOrStop, startSYNC(), and stopSYNC(). -

    -

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Parameters:
    + + + +
    d 
    newCommunicationState 
    +
    + +

    +Definition at line 120 of file states.c. +

    +References heartbeatInit(), heartbeatStop(), None, resetSDO(), slaveSendBootUp(), StartOrStop, startSYNC(), and stopSYNC(). +

    +Referenced by setState(). +

    +Here is the call graph for this function:

    + + + + + + + + + + + + + + + + + + +

    +


    Generated on Tue Jun 5 18:32:10 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.dot --- a/doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="setState",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node3 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node7 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node10 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node11 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node13 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node11 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node16 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node17 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node11 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node10 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node20 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node21 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node22 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node23 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node24 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node25 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="sendSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node26 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,22 @@ +base referer +rect $dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d 181,153 293,177 +rect $states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03 135,249 340,273 +rect $dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a 389,104 536,128 +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 629,104 757,128 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 623,152 764,176 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 863,104 959,128 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 639,200 748,224 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 652,56 735,80 +rect $lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21 408,347 517,371 +rect $lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7 852,273 969,297 +rect $sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b 420,200 505,224 +rect $nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5 392,152 533,176 +rect $sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a 419,539 507,563 +rect $sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164 649,635 737,659 +rect $lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198 597,395 789,419 +rect $lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368 585,299 801,323 +rect $lifegrd_8c.html#626b7d9e527a898682d9122f91454de9 601,347 785,371 +rect $objacces_8c.html#514e7b9c13835a86446b1cd38fa34049 587,443 800,467 +rect $timer_8c.html#11c2616d78f06ed9144ef662f757b128 652,491 735,515 +rect $sync_8c.html#82595787f641ab85980d83522f1158b0 604,539 783,563 +rect $sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45 647,587 740,611 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.md5 --- a/doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -7cf5b49472ac8635cf2214f4c27d3552 \ No newline at end of file +3f318f4d46f0826d236cc8c1da7ce928 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.png Binary file doc/doxygen/html/states_8c_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.dot --- a/doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canDispatch",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="proceedNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#97d175ea168c149c99b01dcde0989743"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="setState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node5 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node5 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node5 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node9 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node10 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node3 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node12 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node13 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node15 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node16 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node13 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node18 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node13 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node12 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node21 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node22 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node23 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node24 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node25 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="SyncAlarm",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node12 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="proceedNODE_GUARD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#b3248945e06e8b05518beddf665f174d"]; - Node27 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 [label="proceedPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2"]; - Node28 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node29 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node28 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node30 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node28 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node31 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node28 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node32 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node32 -> Node33 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 [label="_setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; - Node33 -> Node34 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 [label="accessDictionaryError",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26"]; - Node1 -> Node35 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 [label="proceedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2a93a7c780472b1d8666d89aa270f661"]; - Node35 -> Node36 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9"]; - Node36 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node37 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node37 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node38 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node38 [label="getSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f"]; - Node35 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node39 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node39 [label="lineToSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065"]; - Node35 -> Node40 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node40 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f"]; - Node40 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node41 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node41 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58"]; - Node41 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node42 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 [label="SDOtoLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694"]; - Node35 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node43 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node43 [label="setSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810"]; - Node1 -> Node44 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node44 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,30 @@ +base referer +rect $nmtSlave_8c.html#97d175ea168c149c99b01dcde0989743 162,65 351,89 +rect $lifegrd_8c.html#b3248945e06e8b05518beddf665f174d 171,148 342,172 +rect $pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2 446,269 550,293 +rect $sdo_8c.html#2a93a7c780472b1d8666d89aa270f661 203,557 310,581 +rect $sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1 442,221 554,245 +rect $states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5 459,29 536,53 +rect $dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d 691,53 803,77 +rect $states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03 644,5 850,29 +rect $lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198 402,77 594,101 +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 456,125 539,149 +rect $timer_8c.html#11c2616d78f06ed9144ef662f757b128 456,173 539,197 +rect $pdo_8c.html#e468510c9f77f502207d961d26389918 707,221 787,245 +rect $objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac 698,317 796,341 +rect $pdo_8c.html#298b8291fa35cca22264cf8a70bf138a 706,269 788,293 +rect $objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0 698,413 796,437 +rect $objacces_8c.html#72f69950be4a1352fc78648c71454820 899,413 1006,437 +rect $sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9 454,707 542,731 +rect $sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f 676,657 818,681 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 692,756 802,780 +rect $sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d 904,805 1000,829 +rect $sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d 911,656 994,680 +rect $sdo_8c.html#58d1f9691977617601beb9e5b4123252 434,805 562,829 +rect $sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f 415,365 580,389 +rect $sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065 452,413 543,437 +rect $sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f 430,317 566,341 +rect $sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58 428,461 567,485 +rect $sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694 451,509 544,533 +rect $sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810 416,557 579,581 +rect $sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c 687,705 807,729 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.md5 --- a/doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -4a5761e04c6ad836709b31811535d602 \ No newline at end of file +bdfcd1a4b9740995ed742f0ee037e627 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.png Binary file doc/doxygen/html/states_8c_3f8975650604cc23582f19a43fd4e518_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.dot --- a/doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node4 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="canMsgTransmit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#2f2d1ed55cfd9d7f85883f8d70d318ba"]; - Node7 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node10 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node2 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node1 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node16 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node17 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node18 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node19 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node20 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="sendSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node21 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="proceedSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node1 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,15 @@ +base referer +rect $lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21 278,152 387,176 +rect $lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7 719,56 836,80 +rect $sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b 290,395 375,419 +rect $nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5 262,443 403,467 +rect $sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a 288,296 376,320 +rect $sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164 516,392 604,416 +rect $lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198 464,56 656,80 +rect $lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368 452,104 668,128 +rect $lifegrd_8c.html#626b7d9e527a898682d9122f91454de9 468,152 652,176 +rect $objacces_8c.html#514e7b9c13835a86446b1cd38fa34049 454,200 667,224 +rect $timer_8c.html#11c2616d78f06ed9144ef662f757b128 519,248 602,272 +rect $sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481 506,440 615,464 +rect $sync_8c.html#82595787f641ab85980d83522f1158b0 471,296 650,320 +rect $sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45 514,344 607,368 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.md5 --- a/doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -abd875c4ab3f1283926e7f6582faf253 \ No newline at end of file +49797ea4610346e5d195b9beb5559c3a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.png Binary file doc/doxygen/html/states_8c_915991eebf7c2ac6c929c6c9cfbd7d03_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c__incl.dot --- a/doc/doxygen/html/states_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/states.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node7 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node7 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node11 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node13 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node14 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node7 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node16 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="dcf.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8h.html"]; - Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="nmtSlave.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node18 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/states_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c__incl.md5 --- a/doc/doxygen/html/states_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/states_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -d93b937dbb50281bc433c3c70cee4e49 \ No newline at end of file +dccd6c80ebf03739c1079fb27082ca1b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8c__incl.png Binary file doc/doxygen/html/states_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h-source.html --- a/doc/doxygen/html/states_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/states.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/states.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __states_h__
    -00024 #define __states_h__
    -00025 
    -00026 #include <applicfg.h>
    -00027 
    -00028 /* The nodes states 
    -00029  * -----------------
    -00030  * values are choosen so, that they can be sent directly
    -00031  * for heartbeat messages...
    -00032  * Must be coded on 7 bits only
    -00033  * */
    -00034 /* Should not be modified */
    -00035 enum enum_nodeState {
    -00036   Initialisation  = 0x00, 
    -00037   Disconnected    = 0x01,
    -00038   Connecting      = 0x02,
    -00039   Preparing       = 0x02,
    -00040   Stopped         = 0x04,
    -00041   Operational     = 0x05,
    -00042   Pre_operational = 0x7F,
    -00043   Unknown_state   = 0x0F
    -00044 };
    -00045 
    -00046 typedef enum enum_nodeState e_nodeState;
    -00047 
    -00048 typedef struct
    -00049 {
    -00050         UNS8 csBoot_Up;
    -00051         UNS8 csSDO;
    -00052         UNS8 csEmergency;
    -00053         UNS8 csSYNC;
    -00054         UNS8 csHeartbeat;
    -00055         UNS8 csPDO;
    -00056 } s_state_communication;
    -00057 
    -00061 typedef void (*initialisation_t)(void);
    -00062 typedef void (*preOperational_t)(void);
    -00063 typedef void (*operational_t)(void);
    -00064 typedef void (*stopped_t)(void);
    -00065 
    -00066 void _initialisation(void);
    -00067 void _preOperational(void);
    -00068 void _operational(void);
    -00069 void _stopped(void);
    -00070 
    -00071 #include "data.h"
    -00072 
    -00073 /************************* prototypes ******************************/
    -00074 
    -00077 void canDispatch(CO_Data* d, Message *m);
    -00078 
    -00081 e_nodeState getState (CO_Data* d);
    -00082 
    -00085 UNS8 setState (CO_Data* d, e_nodeState newState);
    -00086 
    -00089 UNS8 getNodeId (CO_Data* d);
    -00090 
    -00093 void setNodeId (CO_Data* d, UNS8 nodeId);
    -00094 
    -00098 /* void initResetMode (CO_Data* d); */
    -00099 
    -00100 
    -00104 void initPreOperationalMode (CO_Data* d);
    -00105 
    -00106 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h.html --- a/doc/doxygen/html/states_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,460 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/states.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/states.h File Reference

    #include <applicfg.h>
    -#include "data.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    struct  s_state_communication

    Typedefs

    typedef enum enum_nodeState e_nodeState
    typedef void(*) initialisation_t (void)
    typedef void(*) preOperational_t (void)
    typedef void(*) operational_t (void)
    typedef void(*) stopped_t (void)

    Enumerations

    enum  enum_nodeState {
    -  Initialisation = 0x00, -Disconnected = 0x01, -Connecting = 0x02, -Preparing = 0x02, -
    -  Stopped = 0x04, -Operational = 0x05, -Pre_operational = 0x7F, -Unknown_state = 0x0F -
    - }

    Functions

    void _initialisation (void)
    void _preOperational (void)
    void _operational (void)
    void _stopped (void)
    void canDispatch (CO_Data *d, Message *m)
    e_nodeState getState (CO_Data *d)
    UNS8 setState (CO_Data *d, e_nodeState newState)
    UNS8 getNodeId (CO_Data *d)
    void setNodeId (CO_Data *d, UNS8 nodeId)
    void initPreOperationalMode (CO_Data *d)
    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef enum enum_nodeState e_nodeState
    -
    -
    - -

    - -

    -Definition at line 46 of file states.h. -

    -

    - -

    -
    - - - - -
    typedef void(*) initialisation_t(void)
    -
    -
    - -

    -Function that user app can overload -

    -Definition at line 61 of file states.h. -

    -

    - -

    -
    - - - - -
    typedef void(*) operational_t(void)
    -
    -
    - -

    - -

    -Definition at line 63 of file states.h. -

    -

    - -

    -
    - - - - -
    typedef void(*) preOperational_t(void)
    -
    -
    - -

    - -

    -Definition at line 62 of file states.h. -

    -

    - -

    -
    - - - - -
    typedef void(*) stopped_t(void)
    -
    -
    - -

    - -

    -Definition at line 64 of file states.h. -

    -

    -


    Enumeration Type Documentation

    - -
    -
    - - - - -
    enum enum_nodeState
    -
    -
    - -

    -

    Enumerator:
    - - - - - - - - - -
    Initialisation  -
    Disconnected  -
    Connecting  -
    Preparing  -
    Stopped  -
    Operational  -
    Pre_operational  -
    Unknown_state  -
    -
    - -

    -Definition at line 35 of file states.h. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    void _initialisation (void   ) 
    -
    -
    - -

    - -

    -Definition at line 234 of file states.c. -

    -

    - -

    -
    - - - - - - - - - -
    void _operational (void   ) 
    -
    -
    - -

    - -

    -Definition at line 236 of file states.c. -

    -

    - -

    -
    - - - - - - - - - -
    void _preOperational (void   ) 
    -
    -
    - -

    - -

    -Definition at line 235 of file states.c. -

    -

    - -

    -
    - - - - - - - - - -
    void _stopped (void   ) 
    -
    -
    - -

    - -

    -Definition at line 237 of file states.c. -

    -

    - -

    - -

    -
    - - - - - - - - - -
    UNS8 getNodeId (CO_Data d  ) 
    -
    -
    - -

    -Returns the nodId -

    -Definition at line 180 of file states.c. -

    -References struct_CO_Data::bDeviceNodeId, and struct_s_timer_entry::d. -

    -

    - -

    -
    - - - - - - - - - -
    e_nodeState getState (CO_Data d  ) 
    -
    -
    - -

    -Returns the state of the node -

    -Definition at line 33 of file states.c. -

    -References struct_s_timer_entry::d, and struct_CO_Data::nodeState. -

    -

    - -

    -
    - - - - - - - - - -
    void initPreOperationalMode (CO_Data d  ) 
    -
    -
    - -

    -Some stuff to do when the node enter in pre-operational mode -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    void setNodeId (CO_Data d,
    UNS8  nodeId 
    )
    -
    - -

    - -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.dot --- a/doc/doxygen/html/states_8h_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="setState",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node3 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node3 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node7 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node10 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node11 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node13 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node11 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node16 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node17 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node11 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node10 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node20 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node21 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node22 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node23 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node24 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node25 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="sendSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node26 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.md5 --- a/doc/doxygen/html/states_8h_0a5004efd1dedbee82a4f21ec5c44fb5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -7cf5b49472ac8635cf2214f4c27d3552 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h_3f8975650604cc23582f19a43fd4e518_cgraph.dot --- a/doc/doxygen/html/states_8h_3f8975650604cc23582f19a43fd4e518_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canDispatch",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="proceedNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#97d175ea168c149c99b01dcde0989743"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="setState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node5 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node5 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node5 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node9 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node10 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node3 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node12 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node13 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node15 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node16 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node13 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node18 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node13 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node12 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node21 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node22 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node23 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node24 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node25 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="SyncAlarm",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node12 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="proceedNODE_GUARD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#b3248945e06e8b05518beddf665f174d"]; - Node27 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 [label="proceedPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2"]; - Node28 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node29 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node28 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node30 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node28 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node31 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node28 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node32 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node32 -> Node33 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 [label="_setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; - Node33 -> Node34 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 [label="accessDictionaryError",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26"]; - Node1 -> Node35 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 [label="proceedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2a93a7c780472b1d8666d89aa270f661"]; - Node35 -> Node36 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9"]; - Node36 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node37 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node37 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node38 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node38 [label="getSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f"]; - Node35 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node39 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node39 [label="lineToSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065"]; - Node35 -> Node40 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node40 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f"]; - Node40 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node41 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node41 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58"]; - Node41 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node42 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 [label="SDOtoLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694"]; - Node35 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 -> Node43 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node43 [label="setSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810"]; - Node1 -> Node44 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node44 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h_3f8975650604cc23582f19a43fd4e518_cgraph.md5 --- a/doc/doxygen/html/states_8h_3f8975650604cc23582f19a43fd4e518_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -be730443664144e5321b116bce003542 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h__dep__incl.dot --- a/doc/doxygen/html/states_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtSlave.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/src/states.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node4 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node4 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node4 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node4 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node8 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node9 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node10 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node11 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node12 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node13 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node14 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node4 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node16 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h__dep__incl.md5 --- a/doc/doxygen/html/states_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -aa1cde8254f0e28d5403f4f0611093f4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h__incl.dot --- a/doc/doxygen/html/states_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node6 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node6 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node10 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node13 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node6 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node15 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/states_8h__incl.md5 --- a/doc/doxygen/html/states_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d78638336c414de5517c23f2af340314 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structBODY.html --- a/doc/doxygen/html/structBODY.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ - - -CanFestival: BODY Struct Reference - - - - - - -

    BODY Struct Reference

    #include <sdo.h> -

    - - - - - -

    Data Fields

    UNS8 data [8]
    -


    Detailed Description

    - -

    - -

    -Definition at line 75 of file sdo.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 BODY::data[8]
    -
    -
    - -

    - -

    -Definition at line 76 of file sdo.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/sdo.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structCANPipe.html --- a/doc/doxygen/html/structCANPipe.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ - - -CanFestival: CANPipe Struct Reference - - - - - - -

    CANPipe Struct Reference

    - - - - - - -

    Data Fields

    char used
    int pipe [2]
    -

    Detailed Description

    - -

    - -

    -Definition at line 35 of file can_virtual.c.


    Field Documentation

    - -
    -
    - - - - -
    char CANPipe::used
    -
    -
    - -

    - -

    -Definition at line 36 of file can_virtual.c. -

    -

    - -

    -
    - - - - -
    int CANPipe::pipe[2]
    -
    -
    - -

    - -

    -Definition at line 37 of file can_virtual.c. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/drivers/can_virtual/can_virtual.c
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structCANPort.html --- a/doc/doxygen/html/structCANPort.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ - - -CanFestival: CANPort Struct Reference - - - - - - -

    CANPort Struct Reference

    - - - - - - - - - - -

    Data Fields

    char used
    CAN_HANDLE fd
    TASK_HANDLE receiveTask
    CO_Datad
    -

    Detailed Description

    - -

    - -

    -Definition at line 51 of file unix.c.


    Field Documentation

    - -
    -
    - - - - -
    char CANPort::used
    -
    -
    - -

    - -

    -Definition at line 52 of file unix.c. -

    -

    - -

    -
    - - - - -
    CAN_HANDLE CANPort::fd
    -
    -
    - -

    - -

    -Definition at line 53 of file unix.c. -

    -

    - -

    -
    - - - - -
    TASK_HANDLE CANPort::receiveTask
    -
    -
    - -

    - -

    -Definition at line 54 of file unix.c. -

    -

    - -

    -
    - - - - -
    CO_Data* CANPort::d
    -
    -
    - -

    - -

    -Definition at line 55 of file unix.c. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structCANPort__coll__graph.dot --- a/doc/doxygen/html/structCANPort__coll__graph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - Node1 [label="CANPort",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="d",fontname="FreeSans.ttf"]; - Node2 [label="struct_CO_Data",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__CO__Data.html"]; - Node3 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="objdict",fontname="FreeSans.ttf"]; - Node3 [label="td_indextable",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$structtd__indextable.html"]; - Node4 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="lastIndex\nfirstIndex",fontname="FreeSans.ttf"]; - Node4 [label="s_quick_index",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structs__quick__index.html"]; - Node5 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="process_var",fontname="FreeSans.ttf"]; - Node5 [label="struct_s_process_var",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__s__process__var.html"]; - Node6 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="CurrentCommunicationState",fontname="FreeSans.ttf"]; - Node6 [label="s_state_communication",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structs__state__communication.html"]; - Node7 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="transfers",fontname="FreeSans.ttf"]; - Node7 [label="struct_s_transfer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__s__transfer.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structCANPort__coll__graph.md5 --- a/doc/doxygen/html/structCANPort__coll__graph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d19796c1bea7d086b1f0862d98e73fec \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structMessage.html --- a/doc/doxygen/html/structMessage.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,114 +0,0 @@ - - -CanFestival: Message Struct Reference - - - - - - -

    Message Struct Reference

    #include <can.h> -

    - - - - - - - - - - - -

    Data Fields

    SHORT_CAN cob_id
    UNS8 rtr
    UNS8 len
    UNS8 data [8]
    -


    Detailed Description

    -Can message structure -

    - -

    -Definition at line 41 of file can.h.


    Field Documentation

    - -
    - -
    - -

    - -

    -Definition at line 42 of file can.h. -

    -

    - -

    -
    - - - - -
    UNS8 Message::rtr
    -
    -
    - -

    - -

    -Definition at line 43 of file can.h. -

    -

    - -

    -
    - - - - -
    UNS8 Message::len
    -
    -
    - -

    - -

    -Definition at line 45 of file can.h. -

    -

    - -

    -
    - - - - -
    UNS8 Message::data[8]
    -
    -
    - -

    - -

    -Definition at line 46 of file can.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/can.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structMessage__coll__graph.dot --- a/doc/doxygen/html/structMessage__coll__graph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - Node1 [label="Message",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="cob_id",fontname="FreeSans.ttf"]; - Node2 [label="SHORT_CAN",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSHORT__CAN.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structMessage__coll__graph.md5 --- a/doc/doxygen/html/structMessage__coll__graph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -c2f758b26122a0e8deb9f3c21ee9901a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structSHORT__CAN.html --- a/doc/doxygen/html/structSHORT__CAN.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ - - -CanFestival: SHORT_CAN Struct Reference - - - - - - -

    SHORT_CAN Struct Reference

    #include <can.h> -

    - - - - - -

    Data Fields

    UNS32 w
    -


    Detailed Description

    -Used for the Can message structure -

    - -

    -Definition at line 35 of file can.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS32 SHORT_CAN::w
    -
    -
    - -

    - -

    -Definition at line 36 of file can.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/can.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structcanBusFilterInit.html --- a/doc/doxygen/html/structcanBusFilterInit.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,361 +0,0 @@ - - -CanFestival: canBusFilterInit Struct Reference - - - - - - -

    canBusFilterInit Struct Reference

    #include <candriver.h> -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Fields

    UNS8 idam
    UNS8 canidar0
    UNS8 canidmr0
    UNS8 canidar1
    UNS8 canidmr1
    UNS8 canidar2
    UNS8 canidmr2
    UNS8 canidar3
    UNS8 canidmr3
    UNS8 canidar4
    UNS8 canidmr4
    UNS8 canidar5
    UNS8 canidmr5
    UNS8 canidar6
    UNS8 canidmr6
    UNS8 canidar7
    UNS8 canidmr7
    -


    Detailed Description

    - -

    - -

    -Definition at line 111 of file candriver.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 canBusFilterInit::idam
    -
    -
    - -

    - -

    -Definition at line 112 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidar0
    -
    -
    - -

    - -

    -Definition at line 113 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidmr0
    -
    -
    - -

    - -

    -Definition at line 114 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidar1
    -
    -
    - -

    - -

    -Definition at line 115 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidmr1
    -
    -
    - -

    - -

    -Definition at line 116 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidar2
    -
    -
    - -

    - -

    -Definition at line 117 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidmr2
    -
    -
    - -

    - -

    -Definition at line 118 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidar3
    -
    -
    - -

    - -

    -Definition at line 119 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidmr3
    -
    -
    - -

    - -

    -Definition at line 120 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidar4
    -
    -
    - -

    - -

    -Definition at line 121 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidmr4
    -
    -
    - -

    - -

    -Definition at line 122 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidar5
    -
    -
    - -

    - -

    -Definition at line 123 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidmr5
    -
    -
    - -

    - -

    -Definition at line 124 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidar6
    -
    -
    - -

    - -

    -Definition at line 125 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidmr6
    -
    -
    - -

    - -

    -Definition at line 126 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidar7
    -
    -
    - -

    - -

    -Definition at line 127 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusFilterInit::canidmr7
    -
    -
    - -

    - -

    -Definition at line 128 of file candriver.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structcanBusInit.html --- a/doc/doxygen/html/structcanBusInit.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,209 +0,0 @@ - - -CanFestival: canBusInit Struct Reference - - - - - - -

    canBusInit Struct Reference

    #include <candriver.h> -

    - - - - - - - - - - - - - - - - - - - - - -

    Data Fields

    UNS8 cswai
    UNS8 time
    UNS8 cane
    UNS8 clksrc
    UNS8 loopb
    UNS8 listen
    UNS8 wupm
    canBusTime clk
    canBusFilterInit fi
    -


    Detailed Description

    - -

    - -

    -Definition at line 153 of file candriver.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 canBusInit::cswai
    -
    -
    - -

    - -

    -Definition at line 154 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusInit::time
    -
    -
    - -

    - -

    -Definition at line 155 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusInit::cane
    -
    -
    - -

    - -

    -Definition at line 156 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusInit::clksrc
    -
    -
    - -

    - -

    -Definition at line 157 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusInit::loopb
    -
    -
    - -

    - -

    -Definition at line 158 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusInit::listen
    -
    -
    - -

    - -

    -Definition at line 159 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusInit::wupm
    -
    -
    - -

    - -

    -Definition at line 160 of file candriver.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 162 of file candriver.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 164 of file candriver.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structcanBusInit__coll__graph.dot --- a/doc/doxygen/html/structcanBusInit__coll__graph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - Node1 [label="canBusInit",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="clk",fontname="FreeSans.ttf"]; - Node2 [label="canBusTime",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structcanBusTime.html"]; - Node3 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="fi",fontname="FreeSans.ttf"]; - Node3 [label="canBusFilterInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structcanBusFilterInit.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structcanBusInit__coll__graph.md5 --- a/doc/doxygen/html/structcanBusInit__coll__graph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -54155cedfe2cf4c6b9e86372d476a0f1 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structcanBusTime.html --- a/doc/doxygen/html/structcanBusTime.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ - - -CanFestival: canBusTime Struct Reference - - - - - - -

    canBusTime Struct Reference

    #include <candriver.h> -

    - - - - - - - - - - - - - - - -

    Data Fields

    UNS8 clksrc
    UNS8 brp
    UNS8 sjw
    UNS8 samp
    UNS8 tseg2
    UNS8 tseg1
    -


    Detailed Description

    - -

    - -

    -Definition at line 99 of file candriver.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 canBusTime::clksrc
    -
    -
    - -

    - -

    -Definition at line 100 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusTime::brp
    -
    -
    - -

    - -

    -Definition at line 101 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusTime::sjw
    -
    -
    - -

    - -

    -Definition at line 102 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusTime::samp
    -
    -
    - -

    - -

    -Definition at line 103 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusTime::tseg2
    -
    -
    - -

    - -

    -Definition at line 104 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 canBusTime::tseg1
    -
    -
    - -

    - -

    -Definition at line 105 of file candriver.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structcan__baudparams__t.html --- a/doc/doxygen/html/structcan__baudparams__t.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ - - -CanFestival: can_baudparams_t Struct Reference - - - - - - -

    can_baudparams_t Struct Reference

    #include <lincan.h> -

    - - - - - - - - - - - -

    Data Fields

    long flags
    long baudrate
    long sjw
    long sample_pt
    -


    Detailed Description

    -struct can_baudparams_t - datatype for calling CONF_BAUDPARAMS IOCTL : reserved for additional flags for chip configuration, should be written -1 or 0 : baud rate in Hz : synchronization jump width (0-3) prescaled clock cycles : sample point in % (0-100) sets (TSEG1+1)/(TSEG1+TSEG2+2) ratio

    -The structure is used to configure new set of parameters into CAN controller chip. If default value of some field should be preserved, fill field by value -1. -

    - -

    -Definition at line 49 of file lincan.h.


    Field Documentation

    - -
    -
    - - - - -
    long can_baudparams_t::flags
    -
    -
    - -

    - -

    -Definition at line 50 of file lincan.h. -

    -

    - -

    -
    - - - - -
    long can_baudparams_t::baudrate
    -
    -
    - -

    - -

    -Definition at line 51 of file lincan.h. -

    -

    - -

    -
    - - - - -
    long can_baudparams_t::sjw
    -
    -
    - -

    - -

    -Definition at line 52 of file lincan.h. -

    -

    - -

    -
    - - - - -
    long can_baudparams_t::sample_pt
    -
    -
    - -

    - -

    -Definition at line 53 of file lincan.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/lincan.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structcanfilt__t.html --- a/doc/doxygen/html/structcanfilt__t.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ - - -CanFestival: canfilt_t Struct Reference - - - - - - -

    canfilt_t Struct Reference

    #include <canmsg.h> -

    - - - - - - - - - - - - - -

    Data Fields

    int flags
    int queid
    int cob
    canmsg_id_t id
    canmsg_id_t mask
    -


    Detailed Description

    -struct canfilt_t - structure for acceptance filter setup : message flags MSG_RTR .. message is Remote Transmission Request, MSG_EXT .. message with extended ID, MSG_OVR .. indication of queue overflow condition, MSG_LOCAL .. message originates from this node. there are corresponding mask bits MSG_RTR_MASK, MSG_EXT_MASK, MSG_LOCAL_MASK. MSG_PROCESSLOCAL enables local messages processing in the combination with global setting : CAN queue identification in the case of the multiple queues per one user (open instance) : communication object number (not used) : selected required value of cared ID id bits : select bits significand for the comparation; 1 .. take care about corresponding ID bit, 0 .. don't care

    -Header: canmsg.h -

    - -

    -Definition at line 105 of file canmsg.h.


    Field Documentation

    - -
    -
    - - - - -
    int canfilt_t::flags
    -
    -
    - -

    - -

    -Definition at line 106 of file canmsg.h. -

    -

    - -

    -
    - - - - -
    int canfilt_t::queid
    -
    -
    - -

    - -

    -Definition at line 107 of file canmsg.h. -

    -

    - -

    -
    - - - - -
    int canfilt_t::cob
    -
    -
    - -

    - -

    -Definition at line 108 of file canmsg.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 109 of file canmsg.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 110 of file canmsg.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/canmsg.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structcanmsg__t.html --- a/doc/doxygen/html/structcanmsg__t.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,153 +0,0 @@ - - -CanFestival: canmsg_t Struct Reference - - - - - - -

    canmsg_t Struct Reference

    #include <canmsg.h> -

    - - - - - - - - - - - - - - - -

    Data Fields

    int flags
    int cob
    canmsg_id_t id
    canmsg_tstamp_t timestamp
    unsigned short length
    unsigned char data [CAN_MSG_LENGTH]
    -


    Detailed Description

    -struct canmsg_t - structure representing CAN message : message flags MSG_RTR .. message is Remote Transmission Request, MSG_EXT .. message with extended ID, MSG_OVR .. indication of queue overflow condition, MSG_LOCAL .. message originates from this node. : communication object number (not used) : ID of CAN message : not used : length of used data : data bytes buffer

    -Header: canmsg.h -

    - -

    -Definition at line 59 of file canmsg.h.


    Field Documentation

    - -
    -
    - - - - -
    int canmsg_t::flags
    -
    -
    - -

    - -

    -Definition at line 60 of file canmsg.h. -

    -

    - -

    -
    - - - - -
    int canmsg_t::cob
    -
    -
    - -

    - -

    -Definition at line 61 of file canmsg.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 62 of file canmsg.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 63 of file canmsg.h. -

    -

    - -

    -
    - - - - -
    unsigned short canmsg_t::length
    -
    -
    - -

    - -

    -Definition at line 64 of file canmsg.h. -

    -

    - -

    -
    - - - - -
    unsigned char canmsg_t::data[CAN_MSG_LENGTH]
    -
    -
    - -

    - -

    -Definition at line 65 of file canmsg.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/drivers/can_lincan/canmsg.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structdriver__data.html --- a/doc/doxygen/html/structdriver__data.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ - - -CanFestival: driver_data Struct Reference - - - - - - -

    driver_data Struct Reference

    - - - - - - - - - - -

    Data Fields

    CO_Datad
    HANDLE receive_thread
    void * inst
    volatile bool continue_receive_thread
    -

    Detailed Description

    - -

    - -

    -Definition at line 109 of file drivers_win32.cpp.


    Field Documentation

    - -
    -
    - - - - -
    CO_Data* driver_data::d
    -
    -
    - -

    - -

    -Definition at line 111 of file drivers_win32.cpp. -

    -

    - -

    -
    - - - - -
    HANDLE driver_data::receive_thread
    -
    -
    - -

    - -

    -Definition at line 112 of file drivers_win32.cpp. -

    -

    - -

    -
    - - - - -
    void* driver_data::inst
    -
    -
    - -

    - -

    -Definition at line 113 of file drivers_win32.cpp. -

    -

    - -

    -
    - - - - -
    volatile bool driver_data::continue_receive_thread
    -
    -
    - -

    - -

    -Definition at line 114 of file drivers_win32.cpp. -

    -

    -


    The documentation for this struct was generated from the following file: -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structdriver__data__coll__graph.dot --- a/doc/doxygen/html/structdriver__data__coll__graph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - Node1 [label="driver_data",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="d",fontname="FreeSans.ttf"]; - Node2 [label="struct_CO_Data",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__CO__Data.html"]; - Node3 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="objdict",fontname="FreeSans.ttf"]; - Node3 [label="td_indextable",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$structtd__indextable.html"]; - Node4 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="lastIndex\nfirstIndex",fontname="FreeSans.ttf"]; - Node4 [label="s_quick_index",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structs__quick__index.html"]; - Node5 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="process_var",fontname="FreeSans.ttf"]; - Node5 [label="struct_s_process_var",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__s__process__var.html"]; - Node6 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="CurrentCommunicationState",fontname="FreeSans.ttf"]; - Node6 [label="s_state_communication",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structs__state__communication.html"]; - Node7 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="transfers",fontname="FreeSans.ttf"]; - Node7 [label="struct_s_transfer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__s__transfer.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structdriver__data__coll__graph.md5 --- a/doc/doxygen/html/structdriver__data__coll__graph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -cc6ad5c4a169747c3f33651770a5b781 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structoption.html --- a/doc/doxygen/html/structoption.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,135 +0,0 @@ - - -CanFestival: option Struct Reference - - - - - - -

    option Struct Reference

    #include <getopt.h> -

    - - - - - - - - - - - - - - - -

    Data Fields

    char * name
    int has_arg
    int * flag
    int val
    char * name
    int * flag
    -


    Field Documentation

    - -
    -
    - - - - -
    char* option::name
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    int option::has_arg
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    int* option::flag
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    int option::val
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    char* option::name
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    int* option::flag
    -
    -
    - -

    - -

    -

    -


    The documentation for this struct was generated from the following files: -
    Generated on Mon Jun 4 15:50:46 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structs__quick__index.html --- a/doc/doxygen/html/structs__quick__index.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ - - -CanFestival: s_quick_index Struct Reference - - - - - - -

    s_quick_index Struct Reference

    #include <objdictdef.h> -

    - - - - - - - - - - - - - - - -

    Data Fields

    UNS16 SDO_SVR
    UNS16 SDO_CLT
    UNS16 PDO_RCV
    UNS16 PDO_RCV_MAP
    UNS16 PDO_TRS
    UNS16 PDO_TRS_MAP
    -


    Detailed Description

    - -

    - -

    -Definition at line 115 of file objdictdef.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS16 s_quick_index::SDO_SVR
    -
    -
    - -

    - -

    -Definition at line 116 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS16 s_quick_index::SDO_CLT
    -
    -
    - -

    - -

    -Definition at line 117 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS16 s_quick_index::PDO_RCV
    -
    -
    - -

    - -

    -Definition at line 118 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS16 s_quick_index::PDO_RCV_MAP
    -
    -
    - -

    - -

    -Definition at line 119 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS16 s_quick_index::PDO_TRS
    -
    -
    - -

    - -

    -Definition at line 120 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS16 s_quick_index::PDO_TRS_MAP
    -
    -
    - -

    - -

    -Definition at line 121 of file objdictdef.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/objdictdef.h
    -
    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structs__state__communication.html --- a/doc/doxygen/html/structs__state__communication.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ - - -CanFestival: s_state_communication Struct Reference - - - - - - -

    s_state_communication Struct Reference

    #include <states.h> -

    - - - - - - - - - - - - - - - -

    Data Fields

    UNS8 csBoot_Up
    UNS8 csSDO
    UNS8 csEmergency
    UNS8 csSYNC
    UNS8 csHeartbeat
    UNS8 csPDO
    -


    Detailed Description

    - -

    - -

    -Definition at line 48 of file states.h.


    Field Documentation

    - -
    - -
    - -

    - -

    -Definition at line 50 of file states.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 51 of file states.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 52 of file states.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 53 of file states.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 54 of file states.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 55 of file states.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/states.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__CO__Data.html --- a/doc/doxygen/html/structstruct__CO__Data.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,684 +0,0 @@ - - -CanFestival: struct_CO_Data Struct Reference - - - - - - -

    struct_CO_Data Struct Reference

    #include <data.h> -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Fields

    UNS8 * bDeviceNodeId
    const indextableobjdict
    UNS8 * count_sync
    quick_indexfirstIndex
    quick_indexlastIndex
    UNS16 * ObjdictSize
    const UNS8 * iam_a_slave
    valueRangeTest_t valueRangeTest
    s_transfer transfers [SDO_MAX_SIMULTANEOUS_TRANSFERTS]
    e_nodeState nodeState
    s_state_communication CurrentCommunicationState
    initialisation_t initialisation
    preOperational_t preOperational
    operational_t operational
    stopped_t stopped
    UNS8 * ConsumerHeartbeatCount
    UNS32 * ConsumerHeartbeatEntries
    TIMER_HANDLE * ConsumerHeartBeatTimers
    UNS16 * ProducerHeartBeatTime
    TIMER_HANDLE ProducerHeartBeatTimer
    heartbeatError_t heartbeatError
    e_nodeState NMTable [NMT_MAX_NODE_ID]
    TIMER_HANDLE syncTimer
    UNS32 * COB_ID_Sync
    UNS32 * Sync_Cycle_Period
    post_sync_t post_sync
    post_TPDO_t post_TPDO
    s_process_var process_var
    UNS8 toggle
    CAN_HANDLE canHandle
    scanIndexOD_t scanIndexOD
    storeODSubIndex_t storeODSubIndex
    UNS8 * dcf_cursor
    UNS32 dcf_count_targets
    -


    Detailed Description

    - -

    - -

    -Definition at line 45 of file data.h.


    Field Documentation

    - -
    - -
    - -

    - -

    -Definition at line 47 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 48 of file data.h. -

    -

    - -

    -
    - - - - -
    UNS8* struct_CO_Data::count_sync
    -
    -
    - -

    - -

    -Definition at line 49 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 50 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 51 of file data.h. -

    -

    - -

    -
    - - - - -
    UNS16* struct_CO_Data::ObjdictSize
    -
    -
    - -

    - -

    -Definition at line 52 of file data.h. -

    -

    - -

    -
    - - - - -
    const UNS8* struct_CO_Data::iam_a_slave
    -
    -
    - -

    - -

    -Definition at line 53 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 54 of file data.h. -

    -

    - -

    -
    - - - - -
    s_transfer struct_CO_Data::transfers[SDO_MAX_SIMULTANEOUS_TRANSFERTS]
    -
    -
    - -

    - -

    -Definition at line 57 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 61 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 62 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 63 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 64 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 65 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 66 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 69 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 70 of file data.h. -

    -

    - -

    -
    - - - - -
    TIMER_HANDLE* struct_CO_Data::ConsumerHeartBeatTimers
    -
    -
    - -

    - -

    -Definition at line 71 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 72 of file data.h. -

    -

    - -

    -
    - - - - -
    TIMER_HANDLE struct_CO_Data::ProducerHeartBeatTimer
    -
    -
    - -

    - -

    -Definition at line 73 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 74 of file data.h. -

    -

    - -

    -
    - - - - -
    e_nodeState struct_CO_Data::NMTable[NMT_MAX_NODE_ID]
    -
    -
    - -

    - -

    -Definition at line 75 of file data.h. -

    -

    - -

    -
    - - - - -
    TIMER_HANDLE struct_CO_Data::syncTimer
    -
    -
    - -

    - -

    -Definition at line 78 of file data.h. -

    -

    - -

    -
    - - - - -
    UNS32* struct_CO_Data::COB_ID_Sync
    -
    -
    - -

    - -

    -Definition at line 79 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 80 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 82 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 83 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 86 of file data.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_CO_Data::toggle
    -
    -
    - -

    - -

    -Definition at line 89 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 90 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 91 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 92 of file data.h. -

    -

    - -

    -
    - - - - -
    UNS8* struct_CO_Data::dcf_cursor
    -
    -
    - -

    - -

    -Definition at line 95 of file data.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 96 of file data.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/data.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__CO__Data__coll__graph.dot --- a/doc/doxygen/html/structstruct__CO__Data__coll__graph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - Node1 [label="struct_CO_Data",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="objdict",fontname="FreeSans.ttf"]; - Node2 [label="td_indextable",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$structtd__indextable.html"]; - Node3 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="lastIndex\nfirstIndex",fontname="FreeSans.ttf"]; - Node3 [label="s_quick_index",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structs__quick__index.html"]; - Node4 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="process_var",fontname="FreeSans.ttf"]; - Node4 [label="struct_s_process_var",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__s__process__var.html"]; - Node5 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="CurrentCommunicationState",fontname="FreeSans.ttf"]; - Node5 [label="s_state_communication",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structs__state__communication.html"]; - Node6 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="transfers",fontname="FreeSans.ttf"]; - Node6 [label="struct_s_transfer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__s__transfer.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__CO__Data__coll__graph.md5 --- a/doc/doxygen/html/structstruct__CO__Data__coll__graph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -70d3c5147782b619088bb44c28767f2c \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__BOARD.html --- a/doc/doxygen/html/structstruct__s__BOARD.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: struct_s_BOARD Struct Reference - - - - - - -

    struct_s_BOARD Struct Reference

    #include <can_driver.h> -

    - - - - - - - -

    Data Fields

    char * busname
    char * baudrate
    -


    Detailed Description

    - -

    - -

    -Definition at line 33 of file can_driver.h.


    Field Documentation

    - -
    -
    - - - - -
    char* struct_s_BOARD::busname
    -
    -
    - -

    - -

    -Definition at line 34 of file can_driver.h. -

    -

    - -

    -
    - - - - -
    char* struct_s_BOARD::baudrate
    -
    -
    - -

    - -

    -Definition at line 35 of file can_driver.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__PDO.html --- a/doc/doxygen/html/structstruct__s__PDO.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ - - -CanFestival: struct_s_PDO Struct Reference - - - - - - -

    struct_s_PDO Struct Reference

    #include <pdo.h> -

    - - - - - - - - - -

    Data Fields

    UNS32 cobId
    UNS8 len
    UNS8 data [8]
    -


    Detailed Description

    -The PDO structure -

    - -

    -Definition at line 43 of file pdo.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS32 struct_s_PDO::cobId
    -
    -
    - -

    - -

    -Definition at line 44 of file pdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_PDO::len
    -
    -
    - -

    - -

    -Definition at line 45 of file pdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_PDO::data[8]
    -
    -
    - -

    - -

    -Definition at line 46 of file pdo.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/pdo.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__SDO.html --- a/doc/doxygen/html/structstruct__s__SDO.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: struct_s_SDO Struct Reference - - - - - - -

    struct_s_SDO Struct Reference

    #include <sdo.h> -

    - - - - - - - -

    Data Fields

    UNS8 nodeId
    BODY body
    -


    Detailed Description

    - -

    - -

    -Definition at line 80 of file sdo.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 struct_s_SDO::nodeId
    -
    -
    - -

    - -

    -Definition at line 81 of file sdo.h. -

    -

    - -

    -
    - - - - -
    struct BODY struct_s_SDO::body
    -
    -
    - -

    - -

    -Definition at line 82 of file sdo.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/sdo.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__SDO__coll__graph.dot --- a/doc/doxygen/html/structstruct__s__SDO__coll__graph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - Node1 [label="struct_s_SDO",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="body",fontname="FreeSans.ttf"]; - Node2 [label="BODY",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structBODY.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__SDO__coll__graph.md5 --- a/doc/doxygen/html/structstruct__s__SDO__coll__graph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -263682cbbaaa901b1565002c688005bf \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__process__var.html --- a/doc/doxygen/html/structstruct__s__process__var.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: struct_s_process_var Struct Reference - - - - - - -

    struct_s_process_var Struct Reference

    #include <pdo.h> -

    - - - - - - - -

    Data Fields

    UNS8 count
    UNS8 data [PDO_MAX_LEN]
    -


    Detailed Description

    - -

    - -

    -Definition at line 32 of file pdo.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 struct_s_process_var::count
    -
    -
    - -

    - -

    -Definition at line 33 of file pdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_process_var::data[PDO_MAX_LEN]
    -
    -
    - -

    - -

    -Definition at line 37 of file pdo.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/pdo.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__timer__entry.html --- a/doc/doxygen/html/structstruct__s__timer__entry.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ - - -CanFestival: struct_s_timer_entry Struct Reference - - - - - - -

    struct_s_timer_entry Struct Reference

    #include <timer.h> -

    - - - - - - - - - - - - - - - -

    Data Fields

    UNS8 state
    CO_Datad
    TimerCallback_t callback
    UNS32 id
    TIMEVAL val
    TIMEVAL interval
    -


    Detailed Description

    - -

    - -

    -Definition at line 43 of file timer.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 struct_s_timer_entry::state
    -
    -
    - -

    - -

    -Definition at line 44 of file timer.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 45 of file timer.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 46 of file timer.h. -

    -

    - -

    -
    - - - - -
    UNS32 struct_s_timer_entry::id
    -
    -
    - -

    - -

    -Definition at line 47 of file timer.h. -

    -

    - -

    -
    - - - - -
    TIMEVAL struct_s_timer_entry::val
    -
    -
    - -

    - -

    -Definition at line 48 of file timer.h. -

    -

    - -

    -
    - - - - -
    TIMEVAL struct_s_timer_entry::interval
    -
    -
    - -

    - -

    -Definition at line 49 of file timer.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/timer.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__timer__entry__coll__graph.dot --- a/doc/doxygen/html/structstruct__s__timer__entry__coll__graph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - Node1 [label="struct_s_timer_entry",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="d",fontname="FreeSans.ttf"]; - Node2 [label="struct_CO_Data",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__CO__Data.html"]; - Node3 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="objdict",fontname="FreeSans.ttf"]; - Node3 [label="td_indextable",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$structtd__indextable.html"]; - Node4 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="lastIndex\nfirstIndex",fontname="FreeSans.ttf"]; - Node4 [label="s_quick_index",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structs__quick__index.html"]; - Node5 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="process_var",fontname="FreeSans.ttf"]; - Node5 [label="struct_s_process_var",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__s__process__var.html"]; - Node6 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="CurrentCommunicationState",fontname="FreeSans.ttf"]; - Node6 [label="s_state_communication",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structs__state__communication.html"]; - Node7 -> Node2 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="transfers",fontname="FreeSans.ttf"]; - Node7 [label="struct_s_transfer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structstruct__s__transfer.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__timer__entry__coll__graph.md5 --- a/doc/doxygen/html/structstruct__s__timer__entry__coll__graph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -c6efa5d74e93eef1ed43af19da8c1d6a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structstruct__s__transfer.html --- a/doc/doxygen/html/structstruct__s__transfer.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,285 +0,0 @@ - - -CanFestival: struct_s_transfer Struct Reference - - - - - - -

    struct_s_transfer Struct Reference

    #include <sdo.h> -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Fields

    UNS8 nodeId
    UNS8 whoami
    UNS8 state
    UNS8 toggle
    UNS32 abortCode
    UNS16 index
    UNS8 subIndex
    UNS32 count
    UNS32 offset
    UNS8 data [SDO_MAX_LENGTH_TRANSFERT]
    UNS8 dataType
    TIMER_HANDLE timer
    SDOCallback_t Callback
    -


    Detailed Description

    - -

    - -

    -Definition at line 38 of file sdo.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 struct_s_transfer::nodeId
    -
    -
    - -

    - -

    -Definition at line 39 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_transfer::whoami
    -
    -
    - -

    - -

    -Definition at line 41 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_transfer::state
    -
    -
    - -

    - -

    -Definition at line 42 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_transfer::toggle
    -
    -
    - -

    - -

    -Definition at line 43 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS32 struct_s_transfer::abortCode
    -
    -
    - -

    - -

    -Definition at line 44 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS16 struct_s_transfer::index
    -
    -
    - -

    - -

    -Definition at line 47 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_transfer::subIndex
    -
    -
    - -

    - -

    -Definition at line 48 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS32 struct_s_transfer::count
    -
    -
    - -

    - -

    -Definition at line 49 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS32 struct_s_transfer::offset
    -
    -
    - -

    - -

    -Definition at line 50 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_transfer::data[SDO_MAX_LENGTH_TRANSFERT]
    -
    -
    - -

    - -

    -Definition at line 56 of file sdo.h. -

    -

    - -

    -
    - - - - -
    UNS8 struct_s_transfer::dataType
    -
    -
    - -

    - -

    -Definition at line 57 of file sdo.h. -

    -

    - -

    -
    - - - - -
    TIMER_HANDLE struct_s_transfer::timer
    -
    -
    - -

    - -

    -Definition at line 61 of file sdo.h. -

    -

    - -

    - -
    - -

    - -

    -Definition at line 67 of file sdo.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/sdo.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structt__pointerStack.html --- a/doc/doxygen/html/structt__pointerStack.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -CanFestival: t_pointerStack Struct Reference - - - - - - -

    t_pointerStack Struct Reference

    #include <candriver.h> -

    - - - - - - - -

    Data Fields

    UNS8 w
    UNS8 r
    -


    Detailed Description

    - -

    - -

    -Definition at line 67 of file candriver.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 t_pointerStack::w
    -
    -
    - -

    - -

    -Definition at line 68 of file candriver.h. -

    -

    - -

    -
    - - - - -
    UNS8 t_pointerStack::r
    -
    -
    - -

    - -

    -Definition at line 69 of file candriver.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structtd__indextable.html --- a/doc/doxygen/html/structtd__indextable.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ - - -CanFestival: td_indextable Struct Reference - - - - - - -

    td_indextable Struct Reference

    #include <objdictdef.h> -

    - - - - - - - - - -

    Data Fields

    subindexpSubindex
    UNS8 bSubCount
    UNS16 index
    -


    Detailed Description

    -Struct for creating entries in the communictaion profile -

    - -

    -Definition at line 105 of file objdictdef.h.


    Field Documentation

    - -
    - -
    - -

    - -

    -Definition at line 107 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS8 td_indextable::bSubCount
    -
    -
    - -

    - -

    -Definition at line 108 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS16 td_indextable::index
    -
    -
    - -

    - -

    -Definition at line 112 of file objdictdef.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/objdictdef.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structtd__indextable__coll__graph.dot --- a/doc/doxygen/html/structtd__indextable__coll__graph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - Node1 [label="td_indextable",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="pSubindex",fontname="FreeSans.ttf"]; - Node2 [label="td_subindex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structtd__subindex.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structtd__indextable__coll__graph.md5 --- a/doc/doxygen/html/structtd__indextable__coll__graph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -5ca12fcfcfb4a2a4e875f35f53a94431 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/structtd__subindex.html --- a/doc/doxygen/html/structtd__subindex.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,114 +0,0 @@ - - -CanFestival: td_subindex Struct Reference - - - - - - -

    td_subindex Struct Reference

    #include <objdictdef.h> -

    - - - - - - - - - - - -

    Data Fields

    UNS8 bAccessType
    UNS8 bDataType
    UNS8 size
    void * pObject
    -


    Detailed Description

    -This are some structs which are neccessary for creating the entries of the object dictionary. -

    - -

    -Definition at line 95 of file objdictdef.h.


    Field Documentation

    - -
    -
    - - - - -
    UNS8 td_subindex::bAccessType
    -
    -
    - -

    - -

    -Definition at line 97 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS8 td_subindex::bDataType
    -
    -
    - -

    - -

    -Definition at line 98 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    UNS8 td_subindex::size
    -
    -
    - -

    - -

    -Definition at line 99 of file objdictdef.h. -

    -

    - -

    -
    - - - - -
    void* td_subindex::pObject
    -
    -
    - -

    - -

    -Definition at line 100 of file objdictdef.h. -

    -

    -


    The documentation for this struct was generated from the following file:
      -
    • /home/epimerde/documents/tc11/CanFestival-3/include/objdictdef.h
    -
    Generated on Mon Jun 4 16:29:09 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/subindextable_8py-source.html --- a/doc/doxygen/html/subindextable_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,751 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/subindextable.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/subindextable.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 from wxPython.wx import *
    -00025 from wxPython.grid import *
    -00026 import wx
    -00027 import wx.grid
    -00028 
    -00029 from types import *
    -00030 
    -00031 from node import OD_Subindex, OD_MultipleSubindexes, OD_IdenticalSubindexes, OD_IdenticalIndexes
    -00032 
    -00033 ColSizes = [75, 250, 150, 125, 100, 60, 250]
    -00034 ColAlignements = [wxALIGN_CENTER, wxALIGN_LEFT, wxALIGN_CENTER, wxALIGN_RIGHT, wxALIGN_CENTER, wxALIGN_CENTER, wxALIGN_LEFT]
    -00035 AccessList = "Read Only,Write Only,Read/Write"
    -00036 RAccessList = "Read Only,Read/Write"
    -00037 BoolList = "True,False"
    -00038 OptionList = "Yes,No"
    -00039 
    -00040 DictionaryOrganisation = [
    -00041     {"minIndex" : 0x0001, "maxIndex" : 0x0FFF, "name" : "Data Type Definitions"},
    -00042     {"minIndex" : 0x1000, "maxIndex" : 0x1029, "name" : "Communication Parameters"},
    -00043     {"minIndex" : 0x1200, "maxIndex" : 0x12FF, "name" : "SDO Parameters"},
    -00044     {"minIndex" : 0x1400, "maxIndex" : 0x15FF, "name" : "Receive PDO Parameters"},
    -00045     {"minIndex" : 0x1600, "maxIndex" : 0x17FF, "name" : "Receive PDO Mapping"},
    -00046     {"minIndex" : 0x1800, "maxIndex" : 0x19FF, "name" : "Transmit PDO Parameters"},
    -00047     {"minIndex" : 0x1A00, "maxIndex" : 0x1BFF, "name" : "Transmit PDO Mapping"},
    -00048     {"minIndex" : 0x1C00, "maxIndex" : 0x1FFF, "name" : "Other Communication Parameters"},
    -00049     {"minIndex" : 0x2000, "maxIndex" : 0x5FFF, "name" : "Manufacturer Specific"},
    -00050     {"minIndex" : 0x6000, "maxIndex" : 0x9FFF, "name" : "Standardized Device Profile"},
    -00051     {"minIndex" : 0xA000, "maxIndex" : 0xBFFF, "name" : "Standardized Interface Profile"}]
    -00052 
    -00053 class SubindexTable(wxPyGridTableBase):
    -00054     
    -00055     """
    -00056     A custom wxGrid Table using user supplied data
    -00057     """
    -00058     def __init__(self, parent, data, editors, colnames):
    -00059         # The base class must be initialized *first*
    -00060         wxPyGridTableBase.__init__(self)
    -00061         self.datadata = data
    -00062         self.editorseditors = editors
    -00063         self.CurrentIndexCurrentIndex = 0
    -00064         self.colnamescolnames = colnames
    -00065         self.ParentParent = parent
    -00066         self.EditableEditable = True
    -00067         # XXX
    -00068         # we need to store the row length and collength to
    -00069         # see if the table has changed size
    -00070         self._rows_rows = self.GetNumberRowsGetNumberRows()
    -00071         self._cols_cols = self.GetNumberColsGetNumberCols()
    -00072     
    -00073     def Disable(self):
    -00074         self.EditableEditable = False
    -00075         
    -00076     def Enable(self):
    -00077         self.EditableEditable = True
    -00078     
    -00079     def GetNumberCols(self):
    -00080         return len(self.colnamescolnames)
    -00081         
    -00082     def GetNumberRows(self):
    -00083         return len(self.datadata)
    -00084 
    -00085     def GetColLabelValue(self, col):
    -00086         if col < len(self.colnamescolnames):
    -00087             return self.colnamescolnames[col]
    -00088 
    -00089     def GetRowLabelValues(self, row):
    -00090         return row
    -00091 
    -00092     def GetValue(self, row, col):
    -00093         if row < self.GetNumberRowsGetNumberRows():
    -00094             value = self.datadata[row].get(self.GetColLabelValueGetColLabelValue(col), "")
    -00095             if (type(value) == UnicodeType):
    -00096                 return value
    -00097             else: 
    -00098                 return str(value)
    -00099     
    -00100     def GetEditor(self, row, col):
    -00101         if row < self.GetNumberRowsGetNumberRows():
    -00102             return self.editorseditors[row].get(self.GetColLabelValueGetColLabelValue(col), "")
    -00103     
    -00104     def GetValueByName(self, row, colname):
    -00105         return self.datadata[row].get(colname)
    -00106 
    -00107     def SetValue(self, row, col, value):
    -00108         if col < len(self.colnamescolnames):
    -00109             self.datadata[row][self.GetColLabelValueGetColLabelValue(col)] = value
    -00110         
    -00111     def ResetView(self, grid):
    -00112         """
    -00113         (wxGrid) -> Reset the grid view.   Call this to
    -00114         update the grid if rows and columns have been added or deleted
    -00115         """
    -00116         grid.BeginBatch()
    -00117         for current, new, delmsg, addmsg in [
    -00118             (self._rows_rows, self.GetNumberRowsGetNumberRows(), wxGRIDTABLE_NOTIFY_ROWS_DELETED, wxGRIDTABLE_NOTIFY_ROWS_APPENDED),
    -00119             (self._cols_cols, self.GetNumberColsGetNumberCols(), wxGRIDTABLE_NOTIFY_COLS_DELETED, wxGRIDTABLE_NOTIFY_COLS_APPENDED),
    -00120         ]:
    -00121             if new < current:
    -00122                 msg = wxGridTableMessage(self,delmsg,new,current-new)
    -00123                 grid.ProcessTableMessage(msg)
    -00124             elif new > current:
    -00125                 msg = wxGridTableMessage(self,addmsg,new-current)
    -00126                 grid.ProcessTableMessage(msg)
    -00127                 self.UpdateValuesUpdateValues(grid)
    -00128         grid.EndBatch()
    -00129 
    -00130         self._rows_rows = self.GetNumberRowsGetNumberRows()
    -00131         self._cols_cols = self.GetNumberColsGetNumberCols()
    -00132         # update the column rendering scheme
    -00133         self._updateColAttrs_updateColAttrs(grid)
    -00134 
    -00135         # update the scrollbars and the displayed part of the grid
    -00136         grid.AdjustScrollbars()
    -00137         grid.ForceRefresh()
    -00138 
    -00139 
    -00140     def UpdateValues(self, grid):
    -00141         """Update all displayed values"""
    -00142         # This sends an event to the grid table to update all of the values
    -00143         msg = wxGridTableMessage(self, wxGRIDTABLE_REQUEST_VIEW_GET_VALUES)
    -00144         grid.ProcessTableMessage(msg)
    -00145 
    -00146     def _updateColAttrs(self, grid):
    -00147         """
    -00148         wxGrid -> update the column attributes to add the
    -00149         appropriate renderer given the column name.
    -00150 
    -00151         Otherwise default to the default renderer.
    -00152         """
    -00153         
    -00154         for col in range(self.GetNumberColsGetNumberCols()):
    -00155             attr = wxGridCellAttr()
    -00156             attr.SetAlignment(ColAlignements[col], wxALIGN_CENTRE)
    -00157             grid.SetColAttr(col, attr)
    -00158             grid.SetColSize(col, ColSizes[col])
    -00159         
    -00160         typelist = None
    -00161         maplist = None
    -00162         for row in range(self.GetNumberRowsGetNumberRows()):
    -00163             editors = self.editorseditors[row]
    -00164             for col in range(self.GetNumberColsGetNumberCols()):
    -00165                 editor = None
    -00166                 renderer = None
    -00167                 
    -00168                 colname = self.GetColLabelValueGetColLabelValue(col)
    -00169                 editortype = editors[colname]
    -00170                 if editortype and self.EditableEditable:
    -00171                     grid.SetReadOnly(row, col, False)
    -00172                     if editortype == "string":
    -00173                         editor = wxGridCellTextEditor()
    -00174                         renderer = wxGridCellStringRenderer()
    -00175                         if colname == "value" and "length" in editors:
    -00176                             editor.SetParameters(editors["length"]) 
    -00177                     elif editortype == "number":
    -00178                         editor = wxGridCellNumberEditor()
    -00179                         renderer = wxGridCellNumberRenderer()
    -00180                         if colname == "value" and "min" in editors and "max" in editors:
    -00181                             editor.SetParameters("%s,%s"%(editors["min"],editors["max"]))
    -00182                     elif editortype == "real":
    -00183                         editor = wxGridCellFloatEditor()
    -00184                         renderer = wxGridCellFloatRenderer()
    -00185                         if colname == "value" and "min" in editors and "max" in editors:
    -00186                             editor.SetParameters("%s,%s"%(editors["min"],editors["max"]))
    -00187                     elif editortype == "bool":
    -00188                         editor = wxGridCellChoiceEditor()
    -00189                         editor.SetParameters(BoolList)
    -00190                     elif editortype == "access":
    -00191                         editor = wxGridCellChoiceEditor()
    -00192                         editor.SetParameters(AccessList)
    -00193                     elif editortype == "raccess":
    -00194                         editor = wxGridCellChoiceEditor()
    -00195                         editor.SetParameters(RAccessList)
    -00196                     elif editortype == "option":
    -00197                         editor = wxGridCellChoiceEditor()
    -00198                         editor.SetParameters(OptionList)
    -00199                     elif editortype == "type":
    -00200                         editor = wxGridCellChoiceEditor()
    -00201                         if typelist == None:
    -00202                             typelist = self.ParentParent.Manager.GetCurrentTypeList()
    -00203                         editor.SetParameters(typelist)
    -00204                     elif editortype == "map":
    -00205                         editor = wxGridCellChoiceEditor()
    -00206                         if maplist == None:
    -00207                             maplist = self.ParentParent.Manager.GetCurrentMapList()
    -00208                         editor.SetParameters(maplist)
    -00209                     elif editortype == "time":
    -00210                         editor = wxGridCellTextEditor()
    -00211                         renderer = wxGridCellStringRenderer()
    -00212                     elif editortype == "domain":
    -00213                         editor = wxGridCellTextEditor()
    -00214                         renderer = wxGridCellStringRenderer()
    -00215                 else:
    -00216                     grid.SetReadOnly(row, col, True)
    -00217                     
    -00218                 grid.SetCellEditor(row, col, editor)
    -00219                 grid.SetCellRenderer(row, col, renderer)
    -00220                 
    -00221                 grid.SetCellBackgroundColour(row, col, wxWHITE)
    -00222     
    -00223     def SetData(self, data):
    -00224         self.datadata = data
    -00225         
    -00226     def SetEditors(self, editors):
    -00227         self.editorseditors = editors
    -00228     
    -00229     def GetCurrentIndex(self):
    -00230         return self.CurrentIndexCurrentIndex
    -00231     
    -00232     def SetCurrentIndex(self, index):
    -00233         self.CurrentIndexCurrentIndex = index
    -00234     
    -00235     def AppendRow(self, row_content):
    -00236         self.datadata.append(row_content)
    -00237 
    -00238     def Empty(self):
    -00239         self.datadata = []
    -00240         self.editorseditors = []
    -00241 
    -00242 [wxID_EDITINGPANEL, wxID_EDITINGPANELADDBUTTON, wxID_EDITINGPANELINDEXCHOICE, 
    -00243  wxID_EDITINGPANELINDEXLIST, wxID_EDITINGPANELINDEXLISTPANEL, wxID_EDITINGPANELPARTLIST, 
    -00244  wxID_EDITINGPANELSECONDSPLITTER, wxID_EDITINGPANELSUBINDEXGRID,
    -00245  wxID_EDITINGPANELSUBINDEXGRIDPANEL, wxID_EDITINGPANELCALLBACKCHECK,
    -00246 ] = [wx.NewId() for _init_ctrls in range(10)]
    -00247 
    -00248 [wxID_EDITINGPANELINDEXLISTMENUITEMS0, wxID_EDITINGPANELINDEXLISTMENUITEMS1, 
    -00249  wxID_EDITINGPANELINDEXLISTMENUITEMS2, 
    -00250 ] = [wx.NewId() for _init_coll_IndexListMenu_Items in range(3)]
    -00251 
    -00252 [wxID_EDITINGPANELMENU1ITEMS0, wxID_EDITINGPANELMENU1ITEMS1, 
    -00253 ] = [wx.NewId() for _init_coll_SubindexGridMenu_Items in range(2)]
    -00254 
    -00255 class EditingPanel(wx.SplitterWindow):
    -00256     def _init_coll_AddToListSizer_Items(self, parent):
    -00257         # generated method, don't edit
    -00258 
    -00259         parent.AddWindow(self.AddButtonAddButton, 0, border=0, flag=0)
    -00260         parent.AddWindow(self.IndexChoiceIndexChoice, 0, border=0, flag=wxGROW)
    -00261 
    -00262     def _init_coll_SubindexGridSizer_Items(self, parent):
    -00263         # generated method, don't edit
    -00264 
    -00265         parent.AddWindow(self.CallbackCheckCallbackCheck, 0, border=0, flag=0)
    -00266         parent.AddWindow(self.SubindexGridSubindexGrid, 0, border=0, flag=wxGROW)
    -00267 
    -00268     def _init_coll_IndexListSizer_Items(self, parent):
    -00269         # generated method, don't edit
    -00270 
    -00271         parent.AddWindow(self.IndexListIndexList, 0, border=0, flag=wxGROW)
    -00272         parent.AddSizer(self.AddToListSizer, 0, border=0, flag=wxGROW)
    -00273 
    -00274     def _init_coll_AddToListSizer_Growables(self, parent):
    -00275         # generated method, don't edit
    -00276 
    -00277         parent.AddGrowableCol(1)
    -00278 
    -00279     def _init_coll_SubindexGridSizer_Growables(self, parent):
    -00280         # generated method, don't edit
    -00281 
    -00282         parent.AddGrowableCol(0)
    -00283         parent.AddGrowableRow(1)
    -00284 
    -00285     def _init_coll_IndexListSizer_Growables(self, parent):
    -00286         # generated method, don't edit
    -00287 
    -00288         parent.AddGrowableCol(0)
    -00289         parent.AddGrowableRow(0)
    -00290 
    -00291     def _init_coll_SubindexGridMenu_Items(self, parent):
    -00292         # generated method, don't edit
    -00293 
    -00294         parent.Append(help='', id=wxID_EDITINGPANELMENU1ITEMS0,
    -00295               kind=wx.ITEM_NORMAL, text='Add')
    -00296         parent.Append(help='', id=wxID_EDITINGPANELMENU1ITEMS1,
    -00297               kind=wx.ITEM_NORMAL, text='Delete')
    -00298         self.Bind(wx.EVT_MENU, self.OnAddSubindexMenuOnAddSubindexMenu,
    -00299               id=wxID_EDITINGPANELMENU1ITEMS0)
    -00300         self.Bind(wx.EVT_MENU, self.OnDeleteSubindexMenuOnDeleteSubindexMenu,
    -00301               id=wxID_EDITINGPANELMENU1ITEMS1)
    -00302 
    -00303     def _init_coll_IndexListMenu_Items(self, parent):
    -00304         # generated method, don't edit
    -00305 
    -00306         parent.Append(help='', id=wxID_EDITINGPANELINDEXLISTMENUITEMS0,
    -00307               kind=wx.ITEM_NORMAL, text='Rename')
    -00308         parent.Append(help='', id=wxID_EDITINGPANELINDEXLISTMENUITEMS2,
    -00309               kind=wx.ITEM_NORMAL, text='Modify')
    -00310         parent.Append(help='', id=wxID_EDITINGPANELINDEXLISTMENUITEMS1,
    -00311               kind=wx.ITEM_NORMAL, text='Delete')
    -00312         self.Bind(wx.EVT_MENU, self.OnRenameIndexMenuOnRenameIndexMenu,
    -00313               id=wxID_EDITINGPANELINDEXLISTMENUITEMS0)
    -00314         self.Bind(wx.EVT_MENU, self.OnDeleteIndexMenuOnDeleteIndexMenu,
    -00315               id=wxID_EDITINGPANELINDEXLISTMENUITEMS1)
    -00316         self.Bind(wx.EVT_MENU, self.OnModifyIndexMenuOnModifyIndexMenu,
    -00317               id=wxID_EDITINGPANELINDEXLISTMENUITEMS2)
    -00318 
    -00319     def _init_utils(self):
    -00320         # generated method, don't edit
    -00321         self.IndexListMenu = wx.Menu(title='')
    -00322 
    -00323         self.SubindexGridMenu = wx.Menu(title='')
    -00324 
    -00325         self._init_coll_IndexListMenu_Items_init_coll_IndexListMenu_Items(self.IndexListMenu)
    -00326         self._init_coll_SubindexGridMenu_Items_init_coll_SubindexGridMenu_Items(self.SubindexGridMenu)
    -00327 
    -00328     def _init_sizers(self):
    -00329         # generated method, don't edit
    -00330         self.IndexListSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
    -00331 
    -00332         self.SubindexGridSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
    -00333 
    -00334         self.AddToListSizer = wx.FlexGridSizer(cols=2, hgap=0, rows=1, vgap=0)
    -00335 
    -00336         self._init_coll_IndexListSizer_Growables_init_coll_IndexListSizer_Growables(self.IndexListSizer)
    -00337         self._init_coll_IndexListSizer_Items_init_coll_IndexListSizer_Items(self.IndexListSizer)
    -00338         self._init_coll_SubindexGridSizer_Growables_init_coll_SubindexGridSizer_Growables(self.SubindexGridSizer)
    -00339         self._init_coll_SubindexGridSizer_Items_init_coll_SubindexGridSizer_Items(self.SubindexGridSizer)
    -00340         self._init_coll_AddToListSizer_Growables_init_coll_AddToListSizer_Growables(self.AddToListSizer)
    -00341         self._init_coll_AddToListSizer_Items_init_coll_AddToListSizer_Items(self.AddToListSizer)
    -00342 
    -00343         self.SubindexGridPanelSubindexGridPanel.SetSizer(self.SubindexGridSizer)
    -00344         self.IndexListPanelIndexListPanel.SetSizer(self.IndexListSizer)
    -00345         
    -00346     def _init_ctrls(self, prnt):
    -00347         wx.SplitterWindow.__init__(self, id=wxID_EDITINGPANEL,
    -00348               name='MainSplitter', parent=prnt, point=wx.Point(0, 0),
    -00349               size=wx.Size(-1, -1), style=wx.SP_3D)
    -00350         self._init_utils_init_utils()
    -00351         self.SetNeedUpdating(True)
    -00352         self.SetMinimumPaneSize(1)
    -00353 
    -00354         self.PartListPartList = wx.ListBox(choices=[], id=wxID_EDITINGPANELPARTLIST,
    -00355               name='PartList', parent=self, pos=wx.Point(0, 0),
    -00356               size=wx.Size(-1, -1), style=0)
    -00357         self.PartListPartList.Bind(wx.EVT_LISTBOX, self.OnPartListBoxClickOnPartListBoxClick,
    -00358               id=wxID_EDITINGPANELPARTLIST)
    -00359 
    -00360         self.SecondSplitterSecondSplitter = wx.SplitterWindow(id=wxID_EDITINGPANELSECONDSPLITTER,
    -00361               name='SecondSplitter', parent=self, point=wx.Point(0,
    -00362               0), size=wx.Size(-1, -1), style=wx.SP_3D)
    -00363         self.SecondSplitterSecondSplitter.SetMinimumPaneSize(1)
    -00364         self.SplitHorizontally(self.PartListPartList, self.SecondSplitterSecondSplitter,
    -00365               110)
    -00366 
    -00367         self.SubindexGridPanelSubindexGridPanel = wx.Panel(id=wxID_EDITINGPANELSUBINDEXGRIDPANEL,
    -00368               name='SubindexGridPanel', parent=self.SecondSplitterSecondSplitter, pos=wx.Point(0,
    -00369               0), size=wx.Size(-1, -1), style=wx.TAB_TRAVERSAL)
    -00370 
    -00371         self.IndexListPanelIndexListPanel = wx.Panel(id=wxID_EDITINGPANELINDEXLISTPANEL,
    -00372               name='IndexListPanel', parent=self.SecondSplitterSecondSplitter, pos=wx.Point(0,
    -00373               0), size=wx.Size(-1, -1), style=wx.TAB_TRAVERSAL)
    -00374         self.SecondSplitterSecondSplitter.SplitVertically(self.IndexListPanelIndexListPanel,
    -00375               self.SubindexGridPanelSubindexGridPanel, 280)
    -00376 
    -00377         self.SubindexGridSubindexGrid = wx.grid.Grid(id=wxID_EDITINGPANELSUBINDEXGRID,
    -00378               name='SubindexGrid', parent=self.SubindexGridPanelSubindexGridPanel, pos=wx.Point(0,
    -00379               0), size=wx.Size(-1, -1), style=0)
    -00380         self.SubindexGridSubindexGrid.SetFont(wx.Font(12, 77, wx.NORMAL, wx.NORMAL, False,
    -00381               'Sans'))
    -00382         self.SubindexGridSubindexGrid.SetLabelFont(wx.Font(10, 77, wx.NORMAL, wx.NORMAL,
    -00383               False, 'Sans'))
    -00384         self.SubindexGridSubindexGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE,
    -00385               self.OnSubindexGridCellChangeOnSubindexGridCellChange)
    -00386         self.SubindexGridSubindexGrid.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK,
    -00387               self.OnSubindexGridRightClickOnSubindexGridRightClick)
    -00388         self.SubindexGridSubindexGrid.Bind(wx.grid.EVT_GRID_SELECT_CELL,
    -00389               self.OnSubindexGridSelectCellOnSubindexGridSelectCell)
    -00390 
    -00391         self.CallbackCheckCallbackCheck = wx.CheckBox(id=wxID_EDITINGPANELCALLBACKCHECK,
    -00392               label='Have Callbacks', name='CallbackCheck',
    -00393               parent=self.SubindexGridPanelSubindexGridPanel, pos=wx.Point(0, 0), size=wx.Size(152,
    -00394               24), style=0)
    -00395         self.CallbackCheckCallbackCheck.Bind(wx.EVT_CHECKBOX, self.OnCallbackCheckOnCallbackCheck,
    -00396               id=wxID_EDITINGPANELCALLBACKCHECK)
    -00397 
    -00398         self.IndexListIndexList = wx.ListBox(choices=[], id=wxID_EDITINGPANELINDEXLIST,
    -00399               name='IndexList', parent=self.IndexListPanelIndexListPanel, pos=wx.Point(0, 0),
    -00400               size=wx.Size(-1, -1), style=0)
    -00401         self.IndexListIndexList.Bind(wx.EVT_LISTBOX, self.OnIndexListClickOnIndexListClick,
    -00402               id=wxID_EDITINGPANELINDEXLIST)
    -00403         self.IndexListIndexList.Bind(wx.EVT_RIGHT_UP, self.OnIndexListRightUpOnIndexListRightUp)
    -00404 
    -00405         self.AddButtonAddButton = wx.Button(id=wxID_EDITINGPANELADDBUTTON, label='Add',
    -00406               name='AddButton', parent=self.IndexListPanelIndexListPanel, pos=wx.Point(0, 0),
    -00407               size=wx.Size(50, 30), style=0)
    -00408         self.AddButtonAddButton.Bind(wx.EVT_BUTTON, self.OnAddButtonClickOnAddButtonClick,
    -00409               id=wxID_EDITINGPANELADDBUTTON)
    -00410 
    -00411         self.IndexChoiceIndexChoice = wx.Choice(choices=[], id=wxID_EDITINGPANELINDEXCHOICE,
    -00412               name='IndexChoice', parent=self.IndexListPanelIndexListPanel, pos=wx.Point(50,
    -00413               0), size=wx.Size(-1, 30), style=0)
    -00414 
    -00415         self._init_sizers_init_sizers()
    -00416 
    -00417     def __init__(self, parent, manager, editable = True):
    -00418         self._init_ctrls_init_ctrls(parent.GetNoteBook())
    -00419         self.ParentParent = parent
    -00420         self.ManagerManager = manager
    -00421         self.ListIndexListIndex = []
    -00422         self.ChoiceIndexChoiceIndex = []
    -00423         self.FirstCallFirstCall = False
    -00424         self.EditableEditable = editable
    -00425         self.IndexIndex = None
    -00426         
    -00427         for values in DictionaryOrganisation:
    -00428             text = "   0x%04X-0x%04X      %s"%(values["minIndex"],values["maxIndex"],values["name"])
    -00429             self.PartListPartList.Append(text)
    -00430         self.TableTable = SubindexTable(self, [], [], ["subindex", "name", "type", "value", "access", "save", "comment"])
    -00431         self.SubindexGridSubindexGrid.SetTable(self.TableTable)
    -00432         self.SubindexGridSubindexGrid.SetRowLabelSize(0)
    -00433         self.CallbackCheckCallbackCheck.Disable()
    -00434         self.TableTable.ResetView(self.SubindexGridSubindexGrid)
    -00435 
    -00436         if not self.EditableEditable:
    -00437             self.AddButtonAddButton.Disable()
    -00438             self.IndexChoiceIndexChoice.Disable()
    -00439             self.CallbackCheckCallbackCheck.Disable()
    -00440             self.TableTable.Disable()
    -00441 
    -00442     def GetIndex(self):
    -00443         return self.IndexIndex
    -00444     
    -00445     def SetIndex(self, index):
    -00446         self.IndexIndex = index
    -00447 
    -00448     def GetSelection(self):
    -00449         selected = self.IndexListIndexList.GetSelection()
    -00450         if selected != wxNOT_FOUND:
    -00451             index = self.ListIndexListIndex[selected]
    -00452             subIndex = self.SubindexGridSubindexGrid.GetGridCursorRow()
    -00453             return index, subIndex
    -00454         return None
    -00455 
    -00456     def OnAddButtonClick(self, event):
    -00457         if self.EditableEditable:
    -00458             self.SubindexGridSubindexGrid.SetGridCursor(0, 0)
    -00459             selected = self.IndexChoiceIndexChoice.GetStringSelection()
    -00460             if selected != "":
    -00461                 if selected == "User Type":
    -00462                     self.ParentParent.AddUserType()
    -00463                 elif selected == "SDO Server":
    -00464                     self.ManagerManager.AddSDOServerToCurrent()
    -00465                 elif selected == "SDO Client":
    -00466                     self.ManagerManager.AddSDOClientToCurrent()
    -00467                 elif selected == "PDO Receive":
    -00468                     self.ManagerManager.AddPDOReceiveToCurrent()
    -00469                 elif selected == "PDO Transmit":
    -00470                     self.ManagerManager.AddPDOTransmitToCurrent()
    -00471                 elif selected == "Map Variable":
    -00472                     self.ParentParent.AddMapVariable()
    -00473                 elif selected in [menu for menu, indexes in self.ManagerManager.GetCurrentSpecificMenu()]:
    -00474                     self.ManagerManager.AddSpecificEntryToCurrent(selected)
    -00475                 else:
    -00476                     index = self.ChoiceIndexChoiceIndex[self.IndexChoiceIndexChoice.GetSelection()]
    -00477                     self.ManagerManager.ManageEntriesOfCurrent([index], [])
    -00478                 self.ParentParent.RefreshBufferState()
    -00479                 self.RefreshIndexListRefreshIndexList()
    -00480         event.Skip()
    -00481 
    -00482     def OnPartListBoxClick(self, event):
    -00483         self.SubindexGridSubindexGrid.SetGridCursor(0, 0)
    -00484         self.RefreshIndexListRefreshIndexList()
    -00485         event.Skip()
    -00486 
    -00487     def OnIndexListClick(self, event):
    -00488         self.SubindexGridSubindexGrid.SetGridCursor(0, 0)
    -00489         self.RefreshTableRefreshTable()
    -00490         event.Skip()
    -00491 
    -00492     def OnSubindexGridSelectCell(self, event):
    -00493         wxCallAfter(self.ParentParent.RefreshStatusBar)
    -00494         event.Skip()
    -00495 
    -00496 #-------------------------------------------------------------------------------
    -00497 #                             Refresh Functions
    -00498 #-------------------------------------------------------------------------------
    -00499 
    -00500     def RefreshIndexList(self):
    -00501         selected = self.IndexListIndexList.GetSelection()
    -00502         choice = self.IndexChoiceIndexChoice.GetStringSelection()
    -00503         choiceindex = self.IndexChoiceIndexChoice.GetSelection()
    -00504         if selected != wxNOT_FOUND:
    -00505             selectedindex = self.ListIndexListIndex[selected]
    -00506         self.IndexListIndexList.Clear()
    -00507         self.IndexChoiceIndexChoice.Clear()
    -00508         i = self.PartListPartList.GetSelection()
    -00509         if i < len(DictionaryOrganisation):
    -00510             values = DictionaryOrganisation[i]
    -00511             self.ListIndexListIndex = []
    -00512             for name, index in self.ManagerManager.GetCurrentValidIndexes(values["minIndex"], values["maxIndex"]):
    -00513                 self.IndexListIndexList.Append("0x%04X   %s"%(index, name))
    -00514                 self.ListIndexListIndex.append(index)
    -00515             if self.EditableEditable:
    -00516                 self.ChoiceIndexChoiceIndex = []
    -00517                 if i == 0:
    -00518                     self.IndexChoiceIndexChoice.Append("User Type")
    -00519                     self.IndexChoiceIndexChoice.SetStringSelection("User Type")
    -00520                 elif i == 2:
    -00521                     self.IndexChoiceIndexChoice.Append("SDO Server")
    -00522                     self.IndexChoiceIndexChoice.Append("SDO Client")
    -00523                     if choiceindex != wxNOT_FOUND and choice == self.IndexChoiceIndexChoice.GetString(choiceindex):
    -00524                          self.IndexChoiceIndexChoice.SetStringSelection(choice)
    -00525                 elif i in (3, 4):
    -00526                     self.IndexChoiceIndexChoice.Append("PDO Receive")
    -00527                     self.IndexChoiceIndexChoice.SetStringSelection("PDO Receive")
    -00528                 elif i in (5, 6):
    -00529                     self.IndexChoiceIndexChoice.Append("PDO Transmit")
    -00530                     self.IndexChoiceIndexChoice.SetStringSelection("PDO Transmit")
    -00531                 elif i == 8:
    -00532                     self.IndexChoiceIndexChoice.Append("Map Variable")
    -00533                     self.IndexChoiceIndexChoice.SetStringSelection("Map Variable")
    -00534                 else:
    -00535                     for name, index in self.ManagerManager.GetCurrentValidChoices(values["minIndex"], values["maxIndex"]):
    -00536                         if index:
    -00537                             self.IndexChoiceIndexChoice.Append("0x%04X   %s"%(index, name))
    -00538                         else:
    -00539                             self.IndexChoiceIndexChoice.Append(name)
    -00540                         self.ChoiceIndexChoiceIndex.append(index)
    -00541                 if choiceindex != wxNOT_FOUND and choice == self.IndexChoiceIndexChoice.GetString(choiceindex):
    -00542                     self.IndexChoiceIndexChoice.SetStringSelection(choice)
    -00543         if self.EditableEditable:
    -00544             self.IndexChoiceIndexChoice.Enable(self.IndexChoiceIndexChoice.GetCount() != 0)
    -00545             self.AddButtonAddButton.Enable(self.IndexChoiceIndexChoice.GetCount() != 0)
    -00546         if selected == wxNOT_FOUND or selected >= len(self.ListIndexListIndex) or selectedindex != self.ListIndexListIndex[selected]:
    -00547             self.TableTable.Empty()
    -00548             self.CallbackCheckCallbackCheck.SetValue(False)
    -00549             self.CallbackCheckCallbackCheck.Disable()
    -00550             self.TableTable.ResetView(self.SubindexGridSubindexGrid)
    -00551             self.ParentParent.RefreshStatusBar()
    -00552         else:
    -00553             self.IndexListIndexList.SetSelection(selected)
    -00554             self.RefreshTableRefreshTable()
    -00555 
    -00556     def RefreshTable(self):
    -00557         selected = self.IndexListIndexList.GetSelection()
    -00558         if selected != wxNOT_FOUND:
    -00559             index = self.ListIndexListIndex[selected]
    -00560             if index > 0x260 and self.EditableEditable:
    -00561                 self.CallbackCheckCallbackCheck.Enable()
    -00562                 self.CallbackCheckCallbackCheck.SetValue(self.ManagerManager.HasCurrentEntryCallbacks(index))
    -00563             result = self.ManagerManager.GetCurrentEntryValues(index)
    -00564             if result != None:
    -00565                 self.TableTable.SetCurrentIndex(index)
    -00566                 data, editors = result
    -00567                 self.TableTable.SetData(data)
    -00568                 self.TableTable.SetEditors(editors)
    -00569                 self.TableTable.ResetView(self.SubindexGridSubindexGrid)
    -00570         self.ParentParent.RefreshStatusBar()
    -00571 
    -00572 #-------------------------------------------------------------------------------
    -00573 #                        Editing Table value function
    -00574 #-------------------------------------------------------------------------------
    -00575 
    -00576     def OnSubindexGridCellChange(self, event):
    -00577         if self.EditableEditable:
    -00578             index = self.TableTable.GetCurrentIndex()
    -00579             subIndex = event.GetRow()
    -00580             col = event.GetCol()
    -00581             name = self.TableTable.GetColLabelValue(col)
    -00582             value = self.TableTable.GetValue(subIndex, col)
    -00583             editor = self.TableTable.GetEditor(subIndex, col)
    -00584             self.ManagerManager.SetCurrentEntry(index, subIndex, value, name, editor)
    -00585             self.ParentParent.RefreshBufferState()
    -00586             wxCallAfter(self.RefreshTableRefreshTable)
    -00587         event.Skip()
    -00588 
    -00589     def OnCallbackCheck(self, event):
    -00590         if self.EditableEditable:
    -00591             index = self.TableTable.GetCurrentIndex()
    -00592             self.ManagerManager.SetCurrentEntryCallbacks(index, self.CallbackCheckCallbackCheck.GetValue())
    -00593             self.ParentParent.RefreshBufferState()
    -00594             wxCallAfter(self.RefreshTableRefreshTable)
    -00595         event.Skip()
    -00596 
    -00597 #-------------------------------------------------------------------------------
    -00598 #                          Contextual Menu functions
    -00599 #-------------------------------------------------------------------------------
    -00600 
    -00601     def OnIndexListRightUp(self, event):
    -00602         if self.EditableEditable:
    -00603             if not self.FirstCallFirstCall:
    -00604                 self.FirstCallFirstCall = True
    -00605                 selected = self.IndexListIndexList.GetSelection()
    -00606                 if selected != wxNOT_FOUND:
    -00607                     index = self.ListIndexListIndex[selected]
    -00608                     if index < 0x260:
    -00609                         self.IndexListMenu.FindItemByPosition(0).Enable(False)
    -00610                         self.IndexListMenu.FindItemByPosition(1).Enable(True)
    -00611                         self.PopupMenu(self.IndexListMenu)
    -00612                     elif 0x1000 <= index <= 0x1BFF:
    -00613                         self.IndexListMenu.FindItemByPosition(0).Enable(False)
    -00614                         self.IndexListMenu.FindItemByPosition(1).Enable(False)
    -00615                         self.PopupMenu(self.IndexListMenu)
    -00616                     elif 0x2000 <= index <= 0x5FFF:
    -00617                         self.IndexListMenu.FindItemByPosition(0).Enable(True)
    -00618                         self.IndexListMenu.FindItemByPosition(1).Enable(False)
    -00619                         self.PopupMenu(self.IndexListMenu)
    -00620                     elif index >= 0x6000:
    -00621                         self.IndexListMenu.FindItemByPosition(0).Enable(False)
    -00622                         self.IndexListMenu.FindItemByPosition(1).Enable(False)
    -00623                         self.PopupMenu(self.IndexListMenu)
    -00624             else:
    -00625                 self.FirstCallFirstCall = False
    -00626         event.Skip()
    -00627 
    -00628     def OnSubindexGridRightClick(self, event):
    -00629         if self.EditableEditable:
    -00630             selected = self.IndexListIndexList.GetSelection()
    -00631             if selected != wxNOT_FOUND:
    -00632                 index = self.ListIndexListIndex[selected]
    -00633                 if self.ManagerManager.IsCurrentEntry(index):
    -00634                     infos = self.ManagerManager.GetEntryInfos(index)
    -00635                     if index >= 0x2000 and infos["struct"] & OD_MultipleSubindexes or infos["struct"] & OD_IdenticalSubindexes:
    -00636                         self.PopupMenu(self.SubindexGridMenu)
    -00637         event.Skip()
    -00638 
    -00639     def OnRenameIndexMenu(self, event):
    -00640         if self.EditableEditable:
    -00641             selected = self.IndexListIndexList.GetSelection()
    -00642             if selected != wxNOT_FOUND:
    -00643                 index = self.ListIndexListIndex[selected]
    -00644                 if self.ManagerManager.IsCurrentEntry(index):
    -00645                     infos = self.ManagerManager.GetEntryInfos(index)
    -00646                     dialog = wxTextEntryDialog(self, "Give a new name for index 0x%04X"%index,
    -00647                                  "Rename an index", infos["name"], wxOK|wxCANCEL)
    -00648                     if dialog.ShowModal() == wxID_OK:
    -00649                         self.ManagerManager.SetCurrentEntryName(index, dialog.GetValue())
    -00650                         self.ParentParent.RefreshBufferState()
    -00651                         self.RefreshIndexListRefreshIndexList()
    -00652                     dialog.Destroy()
    -00653         event.Skip()
    -00654 
    -00655     def OnModifyIndexMenu(self, event):
    -00656         if self.EditableEditable:
    -00657             selected = self.IndexListIndexList.GetSelection()
    -00658             if selected != wxNOT_FOUND:
    -00659                 index = self.ListIndexListIndex[selected]
    -00660                 if self.ManagerManager.IsCurrentEntry(index) and index < 0x260:
    -00661                     values, valuetype = self.ManagerManager.GetCustomisedTypeValues(index)
    -00662                     dialog = UserTypeDialog(self)
    -00663                     dialog.SetTypeList(self.ManagerManager.GetCustomisableTypes(), values[1])
    -00664                     if valuetype == 0:
    -00665                         dialog.SetValues(min = values[2], max = values[3])
    -00666                     elif valuetype == 1:
    -00667                         dialog.SetValues(length = values[2])
    -00668                     if dialog.ShowModal() == wxID_OK:
    -00669                         type, min, max, length = dialog.GetValues()
    -00670                         self.ManagerManager.SetCurrentUserType(index, type, min, max, length)
    -00671                         self.ParentParent.RefreshBufferState()
    -00672                         self.RefreshIndexListRefreshIndexList()
    -00673         event.Skip()
    -00674         
    -00675     def OnDeleteIndexMenu(self, event):
    -00676         if self.EditableEditable:
    -00677             selected = self.IndexListIndexList.GetSelection()
    -00678             if selected != wxNOT_FOUND:
    -00679                 index = self.ListIndexListIndex[selected]
    -00680                 if self.ManagerManager.IsCurrentEntry(index):
    -00681                     self.ManagerManager.ManageEntriesOfCurrent([],[index])
    -00682                     self.ParentParent.RefreshBufferState()
    -00683                     self.RefreshIndexListRefreshIndexList()
    -00684         event.Skip()
    -00685 
    -00686     def OnAddSubindexMenu(self, event):
    -00687         if self.EditableEditable:
    -00688             selected = self.IndexListIndexList.GetSelection()
    -00689             if selected != wxNOT_FOUND:
    -00690                 index = self.ListIndexListIndex[selected]
    -00691                 if self.ManagerManager.IsCurrentEntry(index):
    -00692                     dialog = wxTextEntryDialog(self, "Number of subindexes to add:",
    -00693                                  "Add subindexes", "1", wxOK|wxCANCEL)
    -00694                     if dialog.ShowModal() == wxID_OK:
    -00695                         try:
    -00696                             number = int(dialog.GetValue())
    -00697                             self.ManagerManager.AddSubentriesToCurrent(index, number)
    -00698                             self.ParentParent.RefreshBufferState()
    -00699                             self.RefreshIndexListRefreshIndexList()
    -00700                         except:
    -00701                             message = wxMessageDialog(self, "An integer is required!", "ERROR", wxOK|wxICON_ERROR)
    -00702                             message.ShowModal()
    -00703                             message.Destroy()
    -00704                     dialog.Destroy()
    -00705         event.Skip()
    -00706 
    -00707     def OnDeleteSubindexMenu(self, event):
    -00708         if self.EditableEditable:
    -00709             selected = self.IndexListIndexList.GetSelection()
    -00710             if selected != wxNOT_FOUND:
    -00711                 index = self.ListIndexListIndex[selected]
    -00712                 if self.ManagerManager.IsCurrentEntry(index):
    -00713                     dialog = wxTextEntryDialog(self, "Number of subindexes to delete:",
    -00714                                  "Delete subindexes", "1", wxOK|wxCANCEL)
    -00715                     if dialog.ShowModal() == wxID_OK:
    -00716                         try:
    -00717                             number = int(dialog.GetValue())
    -00718                             self.ManagerManager.RemoveSubentriesFromCurrent(index, number)
    -00719                             self.ParentParent.RefreshBufferState()
    -00720                             self.RefreshIndexListRefreshIndexList()
    -00721                         except:
    -00722                             message = wxMessageDialog(self, "An integer is required!", "ERROR", wxOK|wxICON_ERROR)
    -00723                             message.ShowModal()
    -00724                             message.Destroy()
    -00725                     dialog.Destroy()
    -00726         event.Skip()
    -00727 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/subindextable_8py.html --- a/doc/doxygen/html/subindextable_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/subindextable.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/subindextable.py File Reference

    -

    -Go to the source code of this file. - - - - - - - - - -

    Namespaces

    namespace  subindextable

    Data Structures

    class  subindextable::SubindexTable
    class  subindextable::EditingPanel
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c-source.html --- a/doc/doxygen/html/sync_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -37,231 +37,213 @@ 00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 */ 00022 -00023 -00024 #include "data.h" -00025 #include "sync.h" -00026 #include "canfestival.h" -00027 -00028 /* Prototypes for internals functions */ -00029 void SyncAlarm(CO_Data* d, UNS32 id); -00030 UNS32 OnCOB_ID_SyncUpdate(CO_Data* d, const indextable * unsused_indextable, -00031 UNS8 unsused_bSubindex); -00032 -00033 -00034 -00035 /*****************************************************************************/ -00036 void SyncAlarm(CO_Data* d, UNS32 id) -00037 { -00038 sendSYNC(d, *d->COB_ID_Sync & 0x1FFFFFFF) ; -00039 } -00040 -00041 /*****************************************************************************/ -00042 /* This is called when Index 0x1005 is updated.*/ -00043 UNS32 OnCOB_ID_SyncUpdate(CO_Data* d, const indextable * unsused_indextable, UNS8 unsused_bSubindex) -00044 { -00045 startSYNC(d); -00046 return 0; -00047 } +00033 #include "data.h" +00034 #include "sync.h" +00035 #include "canfestival.h" +00036 +00037 /* Prototypes for internals functions */ +00038 +00045 void SyncAlarm(CO_Data* d, UNS32 id); +00046 UNS32 OnCOB_ID_SyncUpdate(CO_Data* d, const indextable * unsused_indextable, +00047 UNS8 unsused_bSubindex); 00048 -00049 /*****************************************************************************/ -00050 void startSYNC(CO_Data* d) -00051 { -00052 RegisterSetODentryCallBack(d, 0x1005, 0, &OnCOB_ID_SyncUpdate); -00053 RegisterSetODentryCallBack(d, 0x1006, 0, &OnCOB_ID_SyncUpdate); -00054 -00055 if(d->syncTimer != TIMER_NONE){ -00056 stopSYNC(d); -00057 } -00058 -00059 if(*d->COB_ID_Sync & 0x40000000 && *d->Sync_Cycle_Period) -00060 { -00061 d->syncTimer = SetAlarm( -00062 d, -00063 0 /*No id needed*/, -00064 &SyncAlarm, -00065 US_TO_TIMEVAL(*d->Sync_Cycle_Period), -00066 US_TO_TIMEVAL(*d->Sync_Cycle_Period)); -00067 } -00068 } -00069 -00070 /*****************************************************************************/ -00071 void stopSYNC(CO_Data* d) -00072 { -00073 d->syncTimer = DelAlarm(d->syncTimer); -00074 } -00075 -00076 /*********************************************************************/ -00077 UNS8 sendSYNC(CO_Data* d, UNS32 cob_id) -00078 { -00079 Message m; -00080 UNS8 resultat ; -00081 -00082 MSG_WAR(0x3001, "sendSYNC ", 0); -00083 -00084 m.cob_id.w = cob_id ; -00085 m.rtr = NOT_A_REQUEST; -00086 m.len = 0; -00087 resultat = canSend(d->canHandle,&m) ; -00088 proceedSYNC(d, &m) ; -00089 return resultat ; -00090 } -00091 -00092 /*****************************************************************************/ -00093 UNS8 proceedSYNC(CO_Data* d, Message *m) -00094 { -00095 -00096 UNS8 pdoNum, /* number of the actual processed pdo-nr. */ -00097 prp_j; -00098 -00099 const UNS8 * pMappingCount = NULL; /* count of mapped objects...*/ -00100 /* pointer to the var which is mapped to a pdo */ -00101 /* void * pMappedAppObject = NULL; */ -00102 /* pointer fo the var which holds the mapping parameter of an mapping entry */ -00103 UNS32 * pMappingParameter = NULL; -00104 /* pointer to the transmissiontype...*/ -00105 UNS8 * pTransmissionType = NULL; -00106 UNS32 * pwCobId = NULL; -00107 -00108 UNS8 dataType; -00109 UNS16 index; -00110 UNS8 subIndex; -00111 UNS8 offset; -00112 UNS8 status; -00113 UNS8 Size; -00114 UNS32 objDict; -00115 UNS16 offsetObjdict; -00116 UNS16 offsetObjdictMap; -00117 UNS16 lastIndex; -00118 -00119 status = state3; -00120 pdoNum = 0x00; -00121 prp_j = 0x00; -00122 offset = 0x00; -00123 -00124 MSG_WAR(0x3002, "SYNC received. Proceed. ", 0); -00125 -00126 (*d->post_sync)(); -00127 -00128 /* only operational state allows PDO transmission */ -00129 if( d->nodeState != Operational ) -00130 return 0; -00131 -00132 /* So, the node is in operational state */ -00133 /* study all PDO stored in the objects dictionary */ -00134 -00135 offsetObjdict = d->firstIndex->PDO_TRS; -00136 lastIndex = d->lastIndex->PDO_TRS; -00137 offsetObjdictMap = d->firstIndex->PDO_TRS_MAP; -00138 -00139 if(offsetObjdict) while( offsetObjdict <= lastIndex) { -00140 switch( status ) { -00141 -00142 case state3: /* get the PDO transmission type */ -00143 if (d->objdict[offsetObjdict].bSubCount <= 2) { -00144 MSG_ERR(0x1004, "Subindex 2 not found at index ", 0x1800 + pdoNum); -00145 return 0xFF; -00146 } -00147 pTransmissionType = d->objdict[offsetObjdict].pSubindex[2].pObject; -00148 MSG_WAR(0x3005, "Reading PDO at index : ", 0x1800 + pdoNum); -00149 status = state4; -00150 break; -00151 case state4: /* check if transmission type is after (this) SYNC */ -00152 /* The message may not be transmited every SYNC but every n SYNC */ -00153 if( (*pTransmissionType >= TRANS_SYNC_MIN) && (*pTransmissionType <= TRANS_SYNC_MAX) && -00154 (++d->count_sync[pdoNum] == *pTransmissionType) ) { -00155 d->count_sync[pdoNum] = 0; -00156 MSG_WAR(0x3007, " PDO is on SYNCHRO. Trans type : ", *pTransmissionType); -00157 status = state5; -00158 break; -00159 } -00160 else { -00161 MSG_WAR(0x3008, " Not on synchro or not at this SYNC. Trans type : ", -00162 *pTransmissionType); -00163 pdoNum++; -00164 offsetObjdict++; -00165 offsetObjdictMap++; -00166 status = state11; -00167 break; -00168 } -00169 case state5: /* get PDO CobId */ -00170 pwCobId = d->objdict[offsetObjdict].pSubindex[1].pObject; -00171 MSG_WAR(0x3009, " PDO CobId is : ", *pwCobId); -00172 status = state7; -00173 break; -00174 case state7: /* get mapped objects number to transmit with this PDO */ -00175 pMappingCount = d->objdict[offsetObjdictMap].pSubindex[0].pObject; -00176 MSG_WAR(0x300D, " Number of objects mapped : ",*pMappingCount ); -00177 status = state8; -00178 case state8: /* get mapping parameters */ -00179 pMappingParameter = d->objdict[offsetObjdictMap].pSubindex[prp_j + 1].pObject; -00180 MSG_WAR(0x300F, " got mapping parameter : ", *pMappingParameter); -00181 MSG_WAR(0x3050, " at index : ", 0x1A00 + pdoNum); -00182 MSG_WAR(0x3051, " sub-index : ", prp_j + 1); -00183 status = state9; -00184 -00185 case state9: /* get data to transmit */ -00186 { -00187 UNS8 ByteSize; -00188 UNS8 tmp[]= {0,0,0,0,0,0,0,0}; -00189 index = (UNS16)((*pMappingParameter) >> 16); -00190 subIndex = (UNS8)(( (*pMappingParameter) >> (UNS8)8 ) & (UNS32)0x000000FF); -00191 Size = (UNS8)(*pMappingParameter); /* Size in bits */ -00192 ByteSize = 1 + ((Size - 1) >> 3); /*1->8 => 1 ; 9->16 => 2, ... */ -00193 objDict = getODentry(d, index, subIndex, tmp, &ByteSize, &dataType, 0 ); -00194 /* copy bit per bit in little endian*/ -00195 CopyBits(Size, ((UNS8*)tmp), 0 , 0, (UNS8*)&d->process_var.data[offset>>3], offset%8, 0); -00196 } -00197 if( objDict != OD_SUCCESSFUL ){ -00198 MSG_ERR(0x1013, " Couldn't find mapped variable at index-subindex-size : ", (UNS16)(*pMappingParameter)); -00199 return 0xFF; -00200 } -00201 -00202 offset += Size ; -00203 d->process_var.count = 1 + ((offset - 1) >> 3); -00204 prp_j++; -00205 status = state10; -00206 break; -00207 -00208 case state10: /* loop to get all the data to transmit */ -00209 if( prp_j < *pMappingCount ){ -00210 MSG_WAR(0x3014, " next variable mapped : ", prp_j); -00211 status = state8; -00212 break; -00213 } -00214 else { -00215 MSG_WAR(0x3015, " End scan mapped variable", 0); -00216 PDOmGR( d, *pwCobId ); -00217 MSG_WAR(0x3016, " End of this pdo. Should have been sent", 0); -00218 pdoNum++; -00219 offsetObjdict++; -00220 offsetObjdictMap++; -00221 offset = 0x00; -00222 prp_j = 0x00; -00223 status = state11; -00224 break; -00225 } -00226 -00227 case state11: -00228 MSG_WAR(0x3017, "next pdo index : ", pdoNum); -00229 status = state3; -00230 break; -00231 -00232 default: -00233 MSG_ERR(0x1019,"Unknown state has been reached : %d",status); -00234 return 0xFF; -00235 }/* end switch case */ -00236 -00237 }/* end while( prp_i<dict_cstes.max_count_of_PDO_transmit ) */ -00238 -00239 (*d->post_TPDO)(); -00240 -00241 return 0; -00242 } -00243 -00244 -00245 void _post_sync(){} -00246 void _post_TPDO(){} -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +00055 void SyncAlarm(CO_Data* d, UNS32 id) +00056 { +00057 sendSYNC(d, *d->COB_ID_Sync & 0x1FFFFFFF) ; +00058 } +00059 +00069 UNS32 OnCOB_ID_SyncUpdate(CO_Data* d, const indextable * unsused_indextable, UNS8 unsused_bSubindex) +00070 { +00071 startSYNC(d); +00072 return 0; +00073 } +00074 +00080 void startSYNC(CO_Data* d) +00081 { +00082 RegisterSetODentryCallBack(d, 0x1005, 0, &OnCOB_ID_SyncUpdate); +00083 RegisterSetODentryCallBack(d, 0x1006, 0, &OnCOB_ID_SyncUpdate); +00084 +00085 if(d->syncTimer != TIMER_NONE){ +00086 stopSYNC(d); +00087 } +00088 +00089 if(*d->COB_ID_Sync & 0x40000000 && *d->Sync_Cycle_Period) +00090 { +00091 d->syncTimer = SetAlarm( +00092 d, +00093 0 /*No id needed*/, +00094 &SyncAlarm, +00095 US_TO_TIMEVAL(*d->Sync_Cycle_Period), +00096 US_TO_TIMEVAL(*d->Sync_Cycle_Period)); +00097 } +00098 } +00099 +00105 void stopSYNC(CO_Data* d) +00106 { +00107 d->syncTimer = DelAlarm(d->syncTimer); +00108 } +00109 +00118 UNS8 sendSYNC(CO_Data* d, UNS32 cob_id) +00119 { +00120 Message m; +00121 UNS8 resultat ; +00122 +00123 MSG_WAR(0x3001, "sendSYNC ", 0); +00124 +00125 m.cob_id.w = cob_id ; +00126 m.rtr = NOT_A_REQUEST; +00127 m.len = 0; +00128 resultat = canSend(d->canHandle,&m) ; +00129 proceedSYNC(d, &m) ; +00130 return resultat ; +00131 } +00132 +00141 UNS8 proceedSYNC(CO_Data* d, Message *m) +00142 { +00143 +00144 UNS8 pdoNum, /* number of the actual processed pdo-nr. */ +00145 prp_j; +00146 +00147 const UNS8 * pMappingCount = NULL; /* count of mapped objects...*/ +00149 /* void * pMappedAppObject = NULL; */ +00151 UNS32 * pMappingParameter = NULL; +00153 UNS8 * pTransmissionType = NULL; +00154 UNS32 * pwCobId = NULL; +00155 +00156 UNS8 dataType; +00157 UNS16 index; +00158 UNS8 subIndex; +00159 UNS8 offset; +00160 UNS8 status; +00161 UNS8 Size; +00162 UNS32 objDict; +00163 UNS16 offsetObjdict; +00164 UNS16 offsetObjdictMap; +00165 UNS16 lastIndex; +00166 +00167 status = state3; +00168 pdoNum = 0x00; +00169 prp_j = 0x00; +00170 offset = 0x00; +00171 +00172 MSG_WAR(0x3002, "SYNC received. Proceed. ", 0); +00173 +00174 (*d->post_sync)(); +00175 +00177 if( d->nodeState != Operational ) +00178 return 0; +00179 +00183 offsetObjdict = d->firstIndex->PDO_TRS; +00184 lastIndex = d->lastIndex->PDO_TRS; +00185 offsetObjdictMap = d->firstIndex->PDO_TRS_MAP; +00186 +00187 if(offsetObjdict) while( offsetObjdict <= lastIndex) { +00188 switch( status ) { +00189 +00190 case state3: +00191 if (d->objdict[offsetObjdict].bSubCount <= 2) { +00192 MSG_ERR(0x1004, "Subindex 2 not found at index ", 0x1800 + pdoNum); +00193 return 0xFF; +00194 } +00195 pTransmissionType = d->objdict[offsetObjdict].pSubindex[2].pObject; +00196 MSG_WAR(0x3005, "Reading PDO at index : ", 0x1800 + pdoNum); +00197 status = state4; +00198 break; +00199 case state4: +00201 if( (*pTransmissionType >= TRANS_SYNC_MIN) && (*pTransmissionType <= TRANS_SYNC_MAX) && +00202 (++d->count_sync[pdoNum] == *pTransmissionType) ) { +00203 d->count_sync[pdoNum] = 0; +00204 MSG_WAR(0x3007, " PDO is on SYNCHRO. Trans type : ", *pTransmissionType); +00205 status = state5; +00206 break; +00207 } +00208 else { +00209 MSG_WAR(0x3008, " Not on synchro or not at this SYNC. Trans type : ", +00210 *pTransmissionType); +00211 pdoNum++; +00212 offsetObjdict++; +00213 offsetObjdictMap++; +00214 status = state11; +00215 break; +00216 } +00217 case state5: +00218 pwCobId = d->objdict[offsetObjdict].pSubindex[1].pObject; +00219 MSG_WAR(0x3009, " PDO CobId is : ", *pwCobId); +00220 status = state7; +00221 break; +00222 case state7: +00223 pMappingCount = d->objdict[offsetObjdictMap].pSubindex[0].pObject; +00224 MSG_WAR(0x300D, " Number of objects mapped : ",*pMappingCount ); +00225 status = state8; +00226 case state8: +00227 pMappingParameter = d->objdict[offsetObjdictMap].pSubindex[prp_j + 1].pObject; +00228 MSG_WAR(0x300F, " got mapping parameter : ", *pMappingParameter); +00229 MSG_WAR(0x3050, " at index : ", 0x1A00 + pdoNum); +00230 MSG_WAR(0x3051, " sub-index : ", prp_j + 1); +00231 status = state9; +00232 +00233 case state9: +00234 { +00235 UNS8 ByteSize; +00236 UNS8 tmp[]= {0,0,0,0,0,0,0,0}; +00237 index = (UNS16)((*pMappingParameter) >> 16); +00238 subIndex = (UNS8)(( (*pMappingParameter) >> (UNS8)8 ) & (UNS32)0x000000FF); +00239 Size = (UNS8)(*pMappingParameter); /* Size in bits */ +00240 ByteSize = 1 + ((Size - 1) >> 3); /*1->8 => 1 ; 9->16 => 2, ... */ +00241 objDict = getODentry(d, index, subIndex, tmp, &ByteSize, &dataType, 0 ); +00243 CopyBits(Size, ((UNS8*)tmp), 0 , 0, (UNS8*)&d->process_var.data[offset>>3], offset%8, 0); +00244 } +00245 if( objDict != OD_SUCCESSFUL ){ +00246 MSG_ERR(0x1013, " Couldn't find mapped variable at index-subindex-size : ", (UNS16)(*pMappingParameter)); +00247 return 0xFF; +00248 } +00249 +00250 offset += Size ; +00251 d->process_var.count = 1 + ((offset - 1) >> 3); +00252 prp_j++; +00253 status = state10; +00254 break; +00255 +00256 case state10: +00257 if( prp_j < *pMappingCount ){ +00258 MSG_WAR(0x3014, " next variable mapped : ", prp_j); +00259 status = state8; +00260 break; +00261 } +00262 else { +00263 MSG_WAR(0x3015, " End scan mapped variable", 0); +00264 PDOmGR( d, *pwCobId ); +00265 MSG_WAR(0x3016, " End of this pdo. Should have been sent", 0); +00266 pdoNum++; +00267 offsetObjdict++; +00268 offsetObjdictMap++; +00269 offset = 0x00; +00270 prp_j = 0x00; +00271 status = state11; +00272 break; +00273 } +00274 +00275 case state11: +00276 MSG_WAR(0x3017, "next pdo index : ", pdoNum); +00277 status = state3; +00278 break; +00279 +00280 default: +00281 MSG_ERR(0x1019,"Unknown state has been reached : %d",status); +00282 return 0xFF; +00283 }/* end switch case */ +00284 +00285 }/* end while( prp_i<dict_cstes.max_count_of_PDO_transmit ) */ +00286 +00287 (*d->post_TPDO)(); +00288 +00289 return 0; +00290 } +00291 +00292 +00293 void _post_sync(){} +00294 void _post_TPDO(){} +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c.html --- a/doc/doxygen/html/sync_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -20,6 +20,9 @@ #include "canfestival.h"

    +Include dependency graph for sync.c:

    + +

    Go to the source code of this file. @@ -40,7 +43,12 @@

    Functions

    void _post_TPDO ()
    -


    Function Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Tue Jun 5 09:32:32 2007
    + +

    +Definition in file sync.c.


    Function Documentation

    @@ -59,7 +67,7 @@

    -Definition at line 245 of file sync.c. +Definition at line 293 of file sync.c.

    @@ -80,7 +88,7 @@

    -Definition at line 246 of file sync.c. +Definition at line 294 of file sync.c.

    @@ -115,11 +123,36 @@

    - -

    -Definition at line 43 of file sync.c. -

    -References startSYNC(). +This is called when Index 0x1005 is updated.

    +

    Parameters:
    + + + + +
    d 
    unsused_indextable 
    unsused_bSubindex 
    +
    +
    Returns:
    + +

    +Definition at line 69 of file sync.c. +

    +References startSYNC(). +

    +Referenced by startSYNC(). +

    +Here is the call graph for this function:

    + + + + + + + + + + + +

    @@ -148,11 +181,47 @@

    - -

    -Definition at line 93 of file sync.c. -

    -References CopyBits(), getODentry(), and PDOmGR(). +

    Parameters:
    + + + +
    d 
    m 
    +
    +
    Returns:
    + +

    +pointer to the var which is mapped to a pdo

    +pointer fo the var which holds the mapping parameter of an mapping entry

    +pointer to the transmissiontype...

    +only operational state allows PDO transmission

    +So, the node is in operational state

    +study all PDO stored in the objects dictionary

    +get the PDO transmission type

    +check if transmission type is after (this) SYNC

    +The message may not be transmited every SYNC but every n SYNC

    +get PDO CobId

    +get mapped objects number to transmit with this PDO

    +get mapping parameters

    +get data to transmit

    +copy bit per bit in little endian

    +loop to get all the data to transmit +

    +Definition at line 141 of file sync.c. +

    +References CopyBits(), getODentry(), and PDOmGR(). +

    +Referenced by canDispatch(), and sendSYNC(). +

    +Here is the call graph for this function:

    + + + + + + + + +

    @@ -181,11 +250,32 @@

    - -

    -Definition at line 77 of file sync.c. -

    -References proceedSYNC(). +

    Parameters:
    + + + +
    d 
    cob_id 
    +
    +
    Returns:
    + +

    +Definition at line 118 of file sync.c. +

    +References proceedSYNC(). +

    +Referenced by SyncAlarm(). +

    +Here is the call graph for this function:

    + + + + + + + + + +

    @@ -205,11 +295,37 @@

    - -

    -Definition at line 50 of file sync.c. -

    -References OnCOB_ID_SyncUpdate(), RegisterSetODentryCallBack(), SetAlarm(), stopSYNC(), and SyncAlarm(). +

    Parameters:
    + + +
    d 
    +
    + +

    +Definition at line 80 of file sync.c. +

    +References OnCOB_ID_SyncUpdate(), RegisterSetODentryCallBack(), SetAlarm(), stopSYNC(), and SyncAlarm(). +

    +Referenced by OnCOB_ID_SyncUpdate(), and switchCommunicationState(). +

    +Here is the call graph for this function:

    + + + + + + + + + + + + + + + + +

    @@ -229,11 +345,24 @@

    - -

    -Definition at line 71 of file sync.c. -

    -References DelAlarm(). +

    Parameters:
    + + +
    d 
    +
    + +

    +Definition at line 105 of file sync.c. +

    +References DelAlarm(). +

    +Referenced by startSYNC(), and switchCommunicationState(). +

    +Here is the call graph for this function:

    + + + +

    @@ -262,14 +391,35 @@

    - -

    -Definition at line 36 of file sync.c. -

    -References sendSYNC(). -

    -

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +
    Parameters:
    + + + +
    d 
    id 
    +
    + +

    +Definition at line 55 of file sync.c. +

    +References sendSYNC(). +

    +Referenced by startSYNC(). +

    +Here is the call graph for this function:

    + + + + + + + + + + + + +

    +


    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.dot --- a/doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendSYNC",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canMsgTransmit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#2f2d1ed55cfd9d7f85883f8d70d318ba"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node4 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="PDOmGR",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,8 @@ +base referer +rect $sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1 145,54 257,78 +rect $pdo_8c.html#e468510c9f77f502207d961d26389918 317,6 397,30 +rect $objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac 308,54 407,78 +rect $pdo_8c.html#298b8291fa35cca22264cf8a70bf138a 316,102 399,126 +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 457,54 564,78 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 615,54 783,78 +rect $pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210 469,102 552,126 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.md5 --- a/doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -990fc489c95e63f52eb2889e6d5444b4 \ No newline at end of file +c8ff671579dc1b92a701a7b520877c58 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.png Binary file doc/doxygen/html/sync_8c_0bcc501eb14c12365ffbaa3453905b50_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.dot --- a/doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node2 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="sendSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node9 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="proceedSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,15 @@ +base referer +rect $sync_8c.html#82595787f641ab85980d83522f1158b0 161,6 340,30 +rect $objacces_8c.html#514e7b9c13835a86446b1cd38fa34049 144,54 357,78 +rect $timer_8c.html#11c2616d78f06ed9144ef662f757b128 209,102 292,126 +rect $sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164 207,150 295,174 +rect $sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45 204,198 297,222 +rect $objacces_8c.html#11e9f24840d05a6a622955b51f91af53 405,54 517,78 +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 420,150 503,174 +rect $sync_8c.html#0bcc501eb14c12365ffbaa3453905b50 416,198 507,222 +rect $sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1 567,198 679,222 +rect $pdo_8c.html#e468510c9f77f502207d961d26389918 739,150 819,174 +rect $objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac 729,198 828,222 +rect $pdo_8c.html#298b8291fa35cca22264cf8a70bf138a 737,246 820,270 +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 879,198 985,222 +rect $pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210 891,246 973,270 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.md5 --- a/doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -2f26e4169386f6f969d3b97512c502b1 \ No newline at end of file +cecff1b8e5fbf43211c61142ea3fcaa8 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.png Binary file doc/doxygen/html/sync_8c_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.dot --- a/doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,2 @@ +base referer +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 143,6 225,30 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.md5 --- a/doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -61500c969e9469acac45befc5fac95e9 \ No newline at end of file +94bbf875608590ab9f324116e53c3d59 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.png Binary file doc/doxygen/html/sync_8c_41c47dbd59d22bf9bab6cd288cf27164_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.dot --- a/doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendPDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,7 @@ +base referer +rect $pdo_8c.html#e468510c9f77f502207d961d26389918 179,6 259,30 +rect $objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac 170,54 268,78 +rect $pdo_8c.html#298b8291fa35cca22264cf8a70bf138a 178,102 260,126 +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 319,54 426,78 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 476,54 644,78 +rect $pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210 331,102 414,126 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.md5 --- a/doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -653d1dc6026e79c1ec954e8932a9214d \ No newline at end of file +7ba0d04bb1d14a1577c964b5b95d851d \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.png Binary file doc/doxygen/html/sync_8c_80cadcba23dc859db8a8d3f52789d6d1_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.dot --- a/doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node2 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node2 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="sendSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node9 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="proceedSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,10 @@ +base referer +rect $sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a 236,78 324,102 +rect $objacces_8c.html#514e7b9c13835a86446b1cd38fa34049 374,6 587,30 +rect $timer_8c.html#11c2616d78f06ed9144ef662f757b128 439,54 522,78 +rect $sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164 436,102 524,126 +rect $sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45 434,150 527,174 +rect $objacces_8c.html#11e9f24840d05a6a622955b51f91af53 635,6 747,30 +rect $timer_8c.html#991b3cfaac2f201b14d5530f75985c21 650,102 732,126 +rect $sync_8c.html#0bcc501eb14c12365ffbaa3453905b50 646,150 736,174 +rect $sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1 796,150 908,174 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.md5 --- a/doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -aa16018235fc72d0e39100c4618411f9 \ No newline at end of file +136de0a106bf9029ca6d12894b37087a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.png Binary file doc/doxygen/html/sync_8c_82595787f641ab85980d83522f1158b0_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c__incl.dot --- a/doc/doxygen/html/sync_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node2 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node6 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node2 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node8 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node9 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node10 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node11 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node12 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node2 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node14 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node16 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node17 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sync_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c__incl.md5 --- a/doc/doxygen/html/sync_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -5cda7bb11aac93cfba4c615bf575ada8 \ No newline at end of file +166b93be3221641b3a3c953cd34e1ce9 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c__incl.png Binary file doc/doxygen/html/sync_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.dot --- a/doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="sendSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canMsgTransmit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#2f2d1ed55cfd9d7f85883f8d70d318ba"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node5 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node5 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="PDOmGR",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,9 @@ +base referer +rect $sync_8c.html#0bcc501eb14c12365ffbaa3453905b50 149,54 240,78 +rect $sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1 289,54 401,78 +rect $pdo_8c.html#e468510c9f77f502207d961d26389918 461,6 541,30 +rect $objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac 452,54 551,78 +rect $pdo_8c.html#298b8291fa35cca22264cf8a70bf138a 460,102 543,126 +rect $objacces_8c.html#49e9444c8c8d39906a40a153366ed09c 601,54 708,78 +rect $objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26 759,54 927,78 +rect $pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210 613,102 696,126 diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.md5 --- a/doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -be41dab8f3b01263f7755af23dc5a017 \ No newline at end of file +c02ba510a6a862dfb92545eeea8531a7 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.png Binary file doc/doxygen/html/sync_8c_bbcce7b549414c7bc1aa72fa66258b45_cgraph.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h-source.html --- a/doc/doxygen/html/sync_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/sync.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/sync.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __SYNC_h__
    -00024 #define __SYNC_h__
    -00025 
    -00026 void startSYNC(CO_Data* d);
    -00027 
    -00028 void stopSYNC(CO_Data* d);
    -00029 
    -00030 typedef void (*post_sync_t)(void);
    -00031 void _post_sync(void);
    -00032 
    -00033 typedef void (*post_TPDO_t)(void);
    -00034 void _post_TPDO(void);
    -00035 
    -00040 UNS8 sendSYNC (CO_Data* d, UNS32 cob_id);
    -00041 
    -00057 UNS8 proceedSYNC (CO_Data* d, Message * m);
    -00058 
    -00059 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h.html --- a/doc/doxygen/html/sync_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,241 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/sync.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/sync.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - -

    Typedefs

    typedef void(*) post_sync_t (void)
    typedef void(*) post_TPDO_t (void)

    Functions

    void startSYNC (CO_Data *d)
    void stopSYNC (CO_Data *d)
    void _post_sync (void)
    void _post_TPDO (void)
    UNS8 sendSYNC (CO_Data *d, UNS32 cob_id)
    UNS8 proceedSYNC (CO_Data *d, Message *m)
    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef void(*) post_sync_t(void)
    -
    -
    - -

    - -

    -Definition at line 30 of file sync.h. -

    -

    - -

    -
    - - - - -
    typedef void(*) post_TPDO_t(void)
    -
    -
    - -

    - -

    -Definition at line 33 of file sync.h. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    void _post_sync (void   ) 
    -
    -
    - -

    - -

    -Definition at line 245 of file sync.c. -

    -

    - -

    -
    - - - - - - - - - -
    void _post_TPDO (void   ) 
    -
    -
    - -

    - -

    -Definition at line 246 of file sync.c. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 proceedSYNC (CO_Data d,
    Message m 
    )
    -
    -
    - -

    -This function is called when the node is receiving a SYNC message (cob-id = 0x80). What does the function : check if the node is in OERATIONAL mode. (other mode : return 0 but does nothing). Get the SYNC cobId by reading the dictionary index 1005. (Return -1 if it does not correspond to the cobId received). Scan the dictionary from index 0x1800 to the last PDO defined (dict_cstes.max_count_of_PDO_transmit) for each PDO whose transmission type is on synchro (transmission type < 241) and if the msg must be send at this SYNC. read the COBID. Verify that the nodeId inside the nodeId correspond to bDeviceNodeId. (Assume that the cobId of a PDO Transmit is made with the node id of the node who transmit), get the mapping, launch PDOmGR to send the PDO *m is a pointer to the message received bus_id is hardware dependant return 0 if OK, 0xFF if error -

    -Definition at line 93 of file sync.c. -

    -References td_indextable::bSubCount, CopyBits(), struct_s_process_var::count, struct_CO_Data::count_sync, struct_s_timer_entry::d, struct_s_process_var::data, struct_CO_Data::firstIndex, getODentry(), struct_CO_Data::lastIndex, MSG_ERR, MSG_WAR, struct_CO_Data::nodeState, struct_CO_Data::objdict, OD_SUCCESSFUL, Operational, s_quick_index::PDO_TRS, s_quick_index::PDO_TRS_MAP, PDOmGR(), td_subindex::pObject, struct_CO_Data::post_sync, struct_CO_Data::post_TPDO, struct_CO_Data::process_var, td_indextable::pSubindex, state10, state11, state3, state4, state5, state7, state8, state9, TRANS_SYNC_MAX, TRANS_SYNC_MIN, UNS16, UNS32, and UNS8. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 sendSYNC (CO_Data d,
    UNS32  cob_id 
    )
    -
    -
    - -

    -transmit a SYNC message on the bus number bus_id bus_id is hardware dependant return canSend(bus_id,&m) -

    -Definition at line 77 of file sync.c. -

    -References struct_CO_Data::canHandle, canSend(), Message::cob_id, struct_s_timer_entry::d, Message::len, MSG_WAR, NOT_A_REQUEST, proceedSYNC(), Message::rtr, UNS8, and SHORT_CAN::w. -

    -

    - -

    - -

    -
    - - - - - - - - - -
    void stopSYNC (CO_Data d  ) 
    -
    -
    - -

    - -

    -Definition at line 71 of file sync.c. -

    -References struct_s_timer_entry::d, DelAlarm(), and struct_CO_Data::syncTimer. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h_0bcc501eb14c12365ffbaa3453905b50_cgraph.dot --- a/doc/doxygen/html/sync_8h_0bcc501eb14c12365ffbaa3453905b50_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="sendSYNC",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canMsgTransmit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#2f2d1ed55cfd9d7f85883f8d70d318ba"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node4 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="PDOmGR",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h_0bcc501eb14c12365ffbaa3453905b50_cgraph.md5 --- a/doc/doxygen/html/sync_8h_0bcc501eb14c12365ffbaa3453905b50_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -990fc489c95e63f52eb2889e6d5444b4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.dot --- a/doc/doxygen/html/sync_8h_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node3 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="scanIndexOD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#11e9f24840d05a6a622955b51f91af53"]; - Node3 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node3 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node3 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="SyncAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="sendSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#0bcc501eb14c12365ffbaa3453905b50"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.md5 --- a/doc/doxygen/html/sync_8h_2e0bf669f5b40dfbdda0f12a5ae3631a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -007f78cecef99f6e4cfc6b870c777fa6 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h_41c47dbd59d22bf9bab6cd288cf27164_cgraph.dot --- a/doc/doxygen/html/sync_8h_41c47dbd59d22bf9bab6cd288cf27164_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h_41c47dbd59d22bf9bab6cd288cf27164_cgraph.md5 --- a/doc/doxygen/html/sync_8h_41c47dbd59d22bf9bab6cd288cf27164_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -0fc41716c5ca4b7db278aadab8146b32 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h_80cadcba23dc859db8a8d3f52789d6d1_cgraph.dot --- a/doc/doxygen/html/sync_8h_80cadcba23dc859db8a8d3f52789d6d1_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="_getODentry",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#49e9444c8c8d39906a40a153366ed09c"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="sendPDO",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h_80cadcba23dc859db8a8d3f52789d6d1_cgraph.md5 --- a/doc/doxygen/html/sync_8h_80cadcba23dc859db8a8d3f52789d6d1_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -e452b6ef2695e2aa956318a873d4bbad \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h__dep__incl.dot --- a/doc/doxygen/html/sync_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sync.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node3 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node3 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node3 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node6 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node7 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtMaster.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node8 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node3 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node10 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node3 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node15 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sync_8h__dep__incl.md5 --- a/doc/doxygen/html/sync_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -2af37c180020ce5870407cc26b9af4fb \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sysdep_8h-source.html --- a/doc/doxygen/html/sysdep_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/sysdep.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/sysdep.h

    Go to the documentation of this file.
    00001 #ifndef __sysdep_h__
    -00002 #define __sysdep_h__
    -00003 
    -00004 #include "config.h"
    -00005 
    -00006 #ifdef CANOPEN_BIG_ENDIAN
    -00007 
    -00008 /* Warning: the argument must not update pointers, e.g. *p++ */
    -00009 
    -00010 #define UNS16_LE(v)  ((((UNS16)(v) & 0xff00) >> 8) | \
    -00011                       (((UNS16)(v) & 0x00ff) << 8))
    -00012 
    -00013 #define UNS32_LE(v)  ((((UNS32)(v) & 0xff000000) >> 24) |       \
    -00014                       (((UNS32)(v) & 0x00ff0000) >> 8)  |       \
    -00015                       (((UNS32)(v) & 0x0000ff00) << 8)  |       \
    -00016                       (((UNS32)(v) & 0x000000ff) << 24))
    -00017 
    -00018 #else
    -00019 
    -00020 #define UNS16_LE(v)  (v)
    -00021 
    -00022 #define UNS32_LE(v)  (v)
    -00023 
    -00024 #endif
    -00025 
    -00026 #endif /* __sysdep_h__ */
    -00027 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sysdep_8h.html --- a/doc/doxygen/html/sysdep_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/sysdep.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/sysdep.h File Reference

    #include "config.h"
    - -

    -Go to the source code of this file. - - - - - - -

    Defines

    #define UNS16_LE(v)   (v)
    #define UNS32_LE(v)   (v)
    -


    Define Documentation

    - -
    -
    - - - - - - - - - -
    #define UNS16_LE (  )    (v)
    -
    -
    - -

    - -

    -Definition at line 20 of file sysdep.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define UNS32_LE (  )    (v)
    -
    -
    - -

    - -

    -Definition at line 22 of file sysdep.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sysdep_8h__dep__incl.dot --- a/doc/doxygen/html/sysdep_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sysdep.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sysdep_8h__dep__incl.md5 --- a/doc/doxygen/html/sysdep_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -777e56145332f68a74250cd5db7db685 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sysdep_8h__incl.dot --- a/doc/doxygen/html/sysdep_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sysdep.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="config.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$config_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/sysdep_8h__incl.md5 --- a/doc/doxygen/html/sysdep_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -fbe7a3ae69fc16c09ba2fb40bd244f04 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8c-source.html --- a/doc/doxygen/html/timer_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/timer_8c-source.html Tue Jun 05 18:43:21 2007 +0200 @@ -36,153 +36,134 @@ 00019 License along with this library; if not, write to the Free Software 00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 */ -00022 -00023 /* #define DEBUG_WAR_CONSOLE_ON */ -00024 /* #define DEBUG_ERR_CONSOLE_ON */ -00025 -00026 #include <applicfg.h> -00027 #include "timer.h" -00028 -00029 /* --------- The timer table --------- */ -00030 s_timer_entry timers[MAX_NB_TIMER] = {{TIMER_FREE, NULL, NULL, 0, 0, 0},}; -00031 -00032 TIMEVAL total_sleep_time = TIMEVAL_MAX; -00033 TIMER_HANDLE last_timer_raw = -1; +00032 /* #define DEBUG_WAR_CONSOLE_ON */ +00033 /* #define DEBUG_ERR_CONSOLE_ON */ 00034 -00035 #define min_val(a,b) ((a<b)?a:b) -00036 -00037 /* --------- Use this to declare a new alarm --------- */ -00038 TIMER_HANDLE SetAlarm(CO_Data* d, UNS32 id, TimerCallback_t callback, TIMEVAL value, TIMEVAL period) -00039 { -00040 /*printf("SetAlarm(UNS32 id=%d, TimerCallback_t callback=%x, TIMEVAL value=%d, TIMEVAL period=%d)\n", id, callback, value, period); */ -00041 TIMER_HANDLE i; -00042 TIMER_HANDLE row_number = TIMER_NONE; +00035 #include <applicfg.h> +00036 #include "timer.h" +00037 +00038 /* --------- The timer table --------- */ +00039 s_timer_entry timers[MAX_NB_TIMER] = {{TIMER_FREE, NULL, NULL, 0, 0, 0},}; +00040 +00041 TIMEVAL total_sleep_time = TIMEVAL_MAX; +00042 TIMER_HANDLE last_timer_raw = -1; 00043 -00044 /* in order to decide new timer setting we have to run over all timer rows */ -00045 for(i=0; i <= last_timer_raw + 1 && i < MAX_NB_TIMER; i++) -00046 { -00047 s_timer_entry *row = (timers+i); -00048 -00049 if (callback && /* if something to store */ -00050 row->state == TIMER_FREE) /* and empty row */ -00051 { /* just store */ -00052 row->callback = callback; -00053 row->d = d; -00054 row->id = id; -00055 row->val = value; -00056 row->interval = period; -00057 row->state = TIMER_ARMED; -00058 row_number = i; -00059 break; -00060 } -00061 } -00062 -00063 if (row_number != TIMER_NONE) /* if successfull **/ -00064 { -00065 TIMEVAL real_timer_value; -00066 TIMEVAL elapsed_time; -00067 -00068 if (row_number == last_timer_raw + 1) last_timer_raw++; -00069 -00070 /* set next wakeup alarm if new entry is sooner than others, or if it is alone */ -00071 real_timer_value = min_val(value, TIMEVAL_MAX); -00072 elapsed_time = getElapsedTime(); -00073 -00074 /*printf("elapsed_time=%d real_timer_value=%d total_sleep_time=%d\n", elapsed_time, real_timer_value, total_sleep_time); */ -00075 if (total_sleep_time > elapsed_time && total_sleep_time - elapsed_time > real_timer_value) -00076 { -00077 total_sleep_time = elapsed_time + real_timer_value; -00078 setTimer(real_timer_value); +00044 #define min_val(a,b) ((a<b)?a:b) +00045 +00057 TIMER_HANDLE SetAlarm(CO_Data* d, UNS32 id, TimerCallback_t callback, TIMEVAL value, TIMEVAL period) +00058 { +00059 /*printf("SetAlarm(UNS32 id=%d, TimerCallback_t callback=%x, TIMEVAL value=%d, TIMEVAL period=%d)\n", id, callback, value, period); */ +00060 TIMER_HANDLE i; +00061 TIMER_HANDLE row_number = TIMER_NONE; +00062 +00064 for(i=0; i <= last_timer_raw + 1 && i < MAX_NB_TIMER; i++) +00065 { +00066 s_timer_entry *row = (timers+i); +00067 +00068 if (callback && +00069 row->state == TIMER_FREE) +00070 { +00071 row->callback = callback; +00072 row->d = d; +00073 row->id = id; +00074 row->val = value; +00075 row->interval = period; +00076 row->state = TIMER_ARMED; +00077 row_number = i; +00078 break; 00079 } -00080 /*printf("SetAlarm() return %d\n", row_number); */ -00081 return row_number; -00082 } -00083 return TIMER_NONE; -00084 } -00085 -00086 /* --------- Use this to remove an alarm --------- */ -00087 TIMER_HANDLE DelAlarm(TIMER_HANDLE handle) -00088 { -00089 /* Quick and dirty. system timer will continue to be trigged, but no action will be preformed. */ -00090 MSG_WAR(0x3320, "DelAlarm. handle = ", handle); -00091 if(handle != TIMER_NONE) -00092 { -00093 if(handle == last_timer_raw) -00094 last_timer_raw--; -00095 timers[handle].state = TIMER_FREE; -00096 } -00097 else { -00098 } -00099 return TIMER_NONE; -00100 } -00101 -00102 -00103 /* --------- TimeDispatch is called on each timer expiration --------- */ -00104 void TimeDispatch() -00105 { -00106 TIMER_HANDLE i; -00107 TIMEVAL next_wakeup = TIMEVAL_MAX; /* used to compute when should normaly occur next wakeup */ -00108 /* First run : change timer state depending on time */ -00109 /* Get time since timer signal */ -00110 TIMEVAL overrun = getElapsedTime(); -00111 -00112 TIMEVAL real_total_sleep_time = total_sleep_time + overrun; -00113 /*printf("total_sleep_time %d + overrun %d\n", total_sleep_time , overrun); */ -00114 -00115 for(i=0; i <= last_timer_raw; i++) -00116 { -00117 s_timer_entry *row = (timers+i); -00118 -00119 if (row->state & TIMER_ARMED) /* if row is active */ -00120 { -00121 if (row->val <= real_total_sleep_time) /* to be trigged */ -00122 { -00123 /*printf("row->val(%d) <= (%d)real_total_sleep_time\n", row->val, real_total_sleep_time); */ -00124 if (!row->interval) /* if simply outdated */ -00125 { -00126 row->state = TIMER_TRIG; /* ask for trig */ -00127 } -00128 else /* or period have expired */ -00129 { -00130 /* set val as interval, with overrun correction */ -00131 row->val = row->interval - (overrun % row->interval); -00132 row->state = TIMER_TRIG_PERIOD; /* ask for trig, periodic */ -00133 /* Check if this new timer value is the soonest */ -00134 next_wakeup = min_val(row->val,next_wakeup); -00135 } -00136 } -00137 else -00138 { -00139 /* Each armed timer value in decremented. */ -00140 row->val -= real_total_sleep_time; +00080 } +00081 +00082 if (row_number != TIMER_NONE) +00083 { +00084 TIMEVAL real_timer_value; +00085 TIMEVAL elapsed_time; +00086 +00087 if (row_number == last_timer_raw + 1) last_timer_raw++; +00088 +00090 real_timer_value = min_val(value, TIMEVAL_MAX); +00091 elapsed_time = getElapsedTime(); +00092 +00094 if (total_sleep_time > elapsed_time && total_sleep_time - elapsed_time > real_timer_value) +00095 { +00096 total_sleep_time = elapsed_time + real_timer_value; +00097 setTimer(real_timer_value); +00098 } +00100 return row_number; +00101 } +00102 return TIMER_NONE; +00103 } +00104 +00112 TIMER_HANDLE DelAlarm(TIMER_HANDLE handle) +00113 { +00115 MSG_WAR(0x3320, "DelAlarm. handle = ", handle); +00116 if(handle != TIMER_NONE) +00117 { +00118 if(handle == last_timer_raw) +00119 last_timer_raw--; +00120 timers[handle].state = TIMER_FREE; +00121 } +00122 else { +00123 } +00124 return TIMER_NONE; +00125 } +00126 +00131 void TimeDispatch() +00132 { +00133 TIMER_HANDLE i; +00134 TIMEVAL next_wakeup = TIMEVAL_MAX; +00137 TIMEVAL overrun = getElapsedTime(); +00138 +00139 TIMEVAL real_total_sleep_time = total_sleep_time + overrun; +00140 /*printf("total_sleep_time %d + overrun %d\n", total_sleep_time , overrun); */ 00141 -00142 /* Check if this new timer value is the soonest */ -00143 next_wakeup = min_val(row->val,next_wakeup); -00144 } -00145 } -00146 } -00147 -00148 /* Remember how much time we should sleep. */ -00149 total_sleep_time = next_wakeup; -00150 -00151 /* Set timer to soonest occurence */ -00152 setTimer(next_wakeup); -00153 -00154 /* Then trig them or not. */ -00155 for(i=0; i<=last_timer_raw; i++) -00156 { -00157 s_timer_entry *row = (timers+i); -00158 -00159 if (row->state & TIMER_TRIG) -00160 { -00161 row->state &= ~TIMER_TRIG; /* reset trig state (will be free if not periodic) */ -00162 if(row->callback) -00163 (*row->callback)(row->d, row->id); /* trig ! */ -00164 } -00165 } -00166 } -00167 -
    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +00142 for(i=0; i <= last_timer_raw; i++) +00143 { +00144 s_timer_entry *row = (timers+i); +00145 +00146 if (row->state & TIMER_ARMED) +00147 { +00148 if (row->val <= real_total_sleep_time) +00149 { +00150 /*printf("row->val(%d) <= (%d)real_total_sleep_time\n", row->val, real_total_sleep_time); */ +00151 if (!row->interval) +00152 { +00153 row->state = TIMER_TRIG; +00154 } +00155 else +00156 { +00158 row->val = row->interval - (overrun % row->interval); +00159 row->state = TIMER_TRIG_PERIOD; /* ask for trig, periodic */ +00161 next_wakeup = min_val(row->val,next_wakeup); +00162 } +00163 } +00164 else +00165 { +00167 row->val -= real_total_sleep_time; +00168 +00170 next_wakeup = min_val(row->val,next_wakeup); +00171 } +00172 } +00173 } +00174 +00176 total_sleep_time = next_wakeup; +00177 +00179 setTimer(next_wakeup); +00180 +00182 for(i=0; i<=last_timer_raw; i++) +00183 { +00184 s_timer_entry *row = (timers+i); +00185 +00186 if (row->state & TIMER_TRIG) +00187 { +00188 row->state &= ~TIMER_TRIG; +00189 if(row->callback) +00190 (*row->callback)(row->d, row->id); +00191 } +00192 } +00193 } +00194 +
    Generated on Tue Jun 5 18:32:05 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8c.html --- a/doc/doxygen/html/timer_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/timer_8c.html Tue Jun 05 18:43:21 2007 +0200 @@ -19,6 +19,9 @@ #include "timer.h"

    +Include dependency graph for timer.c:

    + +

    Go to the source code of this file. @@ -39,7 +42,12 @@

    Defines

    TIMER_HANDLE last_timer_raw = -1
    -


    Define Documentation

    +

    Detailed Description

    +
    Author:
    Edouard TISSERANT and Francis DUPIN
    +
    Date:
    Tue Jun 5 09:32:32 2007
    + +

    +Definition in file timer.c.


    Define Documentation

    @@ -62,7 +70,9 @@

    -Definition at line 35 of file timer.c. +Definition at line 44 of file timer.c. +

    +Referenced by TimeDispatch().


    Function Documentation

    @@ -83,11 +93,22 @@

    - -

    -Definition at line 87 of file timer.c. -

    -References last_timer_raw, and timers. +----- Use this to remove an alarm ----

    +

    Parameters:
    + + +
    handle 
    +
    +
    Returns:
    + +

    +Quick and dirty. system timer will continue to be trigged, but no action will be preformed. +

    +Definition at line 112 of file timer.c. +

    +References last_timer_raw, and timers. +

    +Referenced by heartbeatStop(), proceedNODE_GUARD(), ProducerHearbeatAlarm(), and stopSYNC().

    @@ -134,11 +155,33 @@

    - -

    -Definition at line 38 of file timer.c. -

    -References last_timer_raw, and timers. +------- Use this to declare a new alarm ------

    +

    Parameters:
    + + + + + + +
    d 
    id 
    callback 
    value 
    period 
    +
    +
    Returns:
    + +

    +in order to decide new timer setting we have to run over all timer rows

    +if something to store

    +and empty row

    +just store

    +if successfull

    +set next wakeup alarm if new entry is sooner than others, or if it is alone

    +printf("elapsed_time=%d real_timer_value=%d total_sleep_time=%d\n", elapsed_time, real_timer_value, total_sleep_time);

    +printf("SetAlarm() return %d\n", row_number); +

    +Definition at line 57 of file timer.c. +

    +References last_timer_raw, and timers. +

    +Referenced by heartbeatInit(), proceedNODE_GUARD(), and startSYNC().

    @@ -157,11 +200,29 @@

    - -

    -Definition at line 104 of file timer.c. -

    -References last_timer_raw, min_val, timers, and total_sleep_time. +------ TimeDispatch is called on each timer expiration ---- +

    +used to compute when should normaly occur next wakeup

    +First run : change timer state depending on time

    +Get time since timer signal

    +if row is active

    +to be trigged

    +if simply outdated

    +ask for trig

    +or period have expired

    +set val as interval, with overrun correction

    +Check if this new timer value is the soonest

    +Each armed timer value in decremented.

    +Check if this new timer value is the soonest

    +Remember how much time we should sleep.

    +Set timer to soonest occurence

    +Then trig them or not.

    +reset trig state (will be free if not periodic)

    +trig ! +

    +Definition at line 131 of file timer.c. +

    +References last_timer_raw, min_val, timers, and total_sleep_time.


    Variable Documentation

    @@ -179,7 +240,9 @@

    -Definition at line 33 of file timer.c. +Definition at line 42 of file timer.c. +

    +Referenced by DelAlarm(), SetAlarm(), and TimeDispatch().

    @@ -196,7 +259,9 @@

    -Definition at line 30 of file timer.c. +Definition at line 39 of file timer.c. +

    +Referenced by DelAlarm(), SetAlarm(), and TimeDispatch().

    @@ -213,10 +278,12 @@

    -Definition at line 32 of file timer.c. - -

    -


    Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  +Definition at line 41 of file timer.c. +

    +Referenced by TimeDispatch(). + +

    +


    Generated on Tue Jun 5 18:32:11 2007 for CanFestival by  doxygen 1.5.1
    diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8c__incl.dot --- a/doc/doxygen/html/timer_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/src/timer.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node2 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node7 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="data.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node8 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8c__incl.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doxygen/html/timer_8c__incl.map Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,1 @@ +base referer diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8c__incl.md5 --- a/doc/doxygen/html/timer_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ b/doc/doxygen/html/timer_8c__incl.md5 Tue Jun 05 18:43:21 2007 +0200 @@ -1,1 +1,1 @@ -682c21c4384e1fd6ff2db641aa1f8af7 \ No newline at end of file +111f9708c378080125be15074680b8fa \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8c__incl.png Binary file doc/doxygen/html/timer_8c__incl.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8c_fa75192a3238525618f8cb83004930cc_cgraph.dot --- a/doc/doxygen/html/timer_8c_fa75192a3238525618f8cb83004930cc_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="TimeDispatch",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getElapsedTime",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#24dbe63e88d184388542037d16a8208d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8c_fa75192a3238525618f8cb83004930cc_cgraph.md5 --- a/doc/doxygen/html/timer_8c_fa75192a3238525618f8cb83004930cc_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -f30488a9c168063b553913bbedab952c \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h-source.html --- a/doc/doxygen/html/timer_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timer.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/timer.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __timer_h__
    -00024 #define __timer_h__
    -00025 
    -00026 #include <timerscfg.h>
    -00027 #include <applicfg.h>
    -00028 
    -00029 #define TIMER_HANDLE INTEGER16
    -00030 
    -00031 #include "data.h"
    -00032 
    -00033 /* --------- types and constants definitions --------- */
    -00034 #define TIMER_FREE 0
    -00035 #define TIMER_ARMED 1
    -00036 #define TIMER_TRIG 2
    -00037 #define TIMER_TRIG_PERIOD 3
    -00038 
    -00039 #define TIMER_NONE -1
    -00040 
    -00041 typedef void (*TimerCallback_t)(CO_Data* d, UNS32 id);
    -00042 
    -00043 struct struct_s_timer_entry {
    -00044         UNS8 state;
    -00045         CO_Data* d;
    -00046         TimerCallback_t callback; /* The callback func. */
    -00047         UNS32 id; /* The callback func. */
    -00048         TIMEVAL val;
    -00049         TIMEVAL interval; /* Periodicity */
    -00050 };
    -00051 
    -00052 typedef struct struct_s_timer_entry s_timer_entry;
    -00053 
    -00054 /* ---------  prototypes --------- */
    -00055 /*#define SetAlarm(d, id, callback, value, period) printf("%s, %d, SetAlarm(%s, %s, %s, %s, %s)\n",__FILE__, __LINE__, #d, #id, #callback, #value, #period); _SetAlarm(d, id, callback, value, period)*/
    -00056 TIMER_HANDLE SetAlarm(CO_Data* d, UNS32 id, TimerCallback_t callback, TIMEVAL value, TIMEVAL period);
    -00057 TIMER_HANDLE DelAlarm(TIMER_HANDLE handle);
    -00058 void TimeDispatch(void);
    -00059 
    -00060 /* ---------  to be defined in user app ---------*/
    -00061 void setTimer(TIMEVAL value);
    -00062 TIMEVAL getElapsedTime(void);
    -00063 
    -00064 #endif /* #define __timer_h__ */
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h.html --- a/doc/doxygen/html/timer_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,255 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timer.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/timer.h File Reference

    #include <timerscfg.h>
    -#include <applicfg.h>
    -#include "data.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    struct  struct_s_timer_entry

    Defines

    #define TIMER_HANDLE   INTEGER16

    Typedefs

    typedef void(*) TimerCallback_t (CO_Data *d, UNS32 id)
    typedef struct_s_timer_entry s_timer_entry

    Functions

    TIMER_HANDLE SetAlarm (CO_Data *d, UNS32 id, TimerCallback_t callback, TIMEVAL value, TIMEVAL period)
    TIMER_HANDLE DelAlarm (TIMER_HANDLE handle)
    void TimeDispatch (void)
    void setTimer (TIMEVAL value)
    TIMEVAL getElapsedTime (void)
    -


    Define Documentation

    - -
    -
    - - - - -
    #define TIMER_HANDLE   INTEGER16
    -
    -
    - -

    - -

    -Definition at line 29 of file timer.h. -

    -

    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef struct struct_s_timer_entry s_timer_entry
    -
    -
    - -

    - -

    -Definition at line 52 of file timer.h. -

    -

    - -

    -
    - - - - -
    typedef void(*) TimerCallback_t(CO_Data *d, UNS32 id)
    -
    -
    - -

    - -

    -Definition at line 41 of file timer.h. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    TIMER_HANDLE DelAlarm (TIMER_HANDLE  handle  ) 
    -
    -
    - -

    - -

    -Definition at line 87 of file timer.c. -

    -References last_timer_raw, MSG_WAR, struct_s_timer_entry::state, and timers. -

    -

    - -

    -
    - - - - - - - - - -
    TIMEVAL getElapsedTime (void   ) 
    -
    -
    - -

    - -

    -Definition at line 66 of file canOpenDriver.c. -

    -References class_timers::get_elapsed_time(), IO_PORTS_16, and TC4H. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TIMER_HANDLE SetAlarm (CO_Data d,
    UNS32  id,
    TimerCallback_t  callback,
    TIMEVAL  value,
    TIMEVAL  period 
    )
    -
    -
    - -

    - -

    -Definition at line 38 of file timer.c. -

    -References struct_s_timer_entry::d, last_timer_raw, MAX_NB_TIMER, TIMER_HANDLE, and timers. -

    -

    - -

    -
    - - - - - - - - - -
    void setTimer (TIMEVAL  value  ) 
    -
    -
    - -

    - -

    -Definition at line 83 of file timers_unix.c. -

    -References maxval, class_timers::set_timer(), and timer. -

    -

    - -

    -
    - - - - - - - - - -
    void TimeDispatch (void   ) 
    -
    -
    - -

    - -

    -Definition at line 104 of file timer.c. -

    -References getElapsedTime(), last_timer_raw, min_val, TIMER_HANDLE, timers, TIMEVAL, TIMEVAL_MAX, and total_sleep_time. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h_4dccc204d52176bd547ab34d6858f5ba_cgraph.dot --- a/doc/doxygen/html/timer_8h_4dccc204d52176bd547ab34d6858f5ba_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="getElapsedTime",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="class_timers::get_elapsed_time",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$classclass__timers.html#0fa5bd5d1d4012bf9eef3ffabe990dfb"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h_4dccc204d52176bd547ab34d6858f5ba_cgraph.md5 --- a/doc/doxygen/html/timer_8h_4dccc204d52176bd547ab34d6858f5ba_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -f8fea6355fa3897e7ba9a375847673bb \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h_9e5fb60f13faab8705899c5806754864_cgraph.dot --- a/doc/doxygen/html/timer_8h_9e5fb60f13faab8705899c5806754864_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="TimeDispatch",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="getElapsedTime",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#24dbe63e88d184388542037d16a8208d"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h_9e5fb60f13faab8705899c5806754864_cgraph.md5 --- a/doc/doxygen/html/timer_8h_9e5fb60f13faab8705899c5806754864_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -470bbb10eba911b9aaa5acb1a4c1dab4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h__dep__incl.dot --- a/doc/doxygen/html/timer_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__xeno_8c.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html"]; - Node1 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__win32_8cpp.html"]; - Node1 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/src/timer.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html"]; - Node1 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node7 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html"]; - Node7 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html"]; - Node7 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node10 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node10 -> Node1 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node1 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__driver_8h.html"]; - Node13 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h__dep__incl.md5 --- a/doc/doxygen/html/timer_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -c9c2b751f50e91e22d42ed0654fc5d1a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h__incl.dot --- a/doc/doxygen/html/timer_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node4 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node7 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node7 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node11 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node12 -> Node1 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node13 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node14 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node15 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node7 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node17 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h__incl.md5 --- a/doc/doxygen/html/timer_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -5a63cf880253d8a62c69a482e33508da \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h_b8d05dee70f04b5c5190ab00e84da106_cgraph.dot --- a/doc/doxygen/html/timer_8h_b8d05dee70f04b5c5190ab00e84da106_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="setTimer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="class_timers::set_timer",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$classclass__timers.html#a27df6346a38fb25acc394cb7998a3f8"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timer_8h_b8d05dee70f04b5c5190ab00e84da106_cgraph.md5 --- a/doc/doxygen/html/timer_8h_b8d05dee70f04b5c5190ab00e84da106_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d48810e4f3e6cd9d0c0a19fc61d9b16d \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h-source.html --- a/doc/doxygen/html/timers__driver_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __timer_driver_h__
    -00024 #define __timer_driver_h__
    -00025 
    -00026 #include "timerscfg.h"
    -00027 #include "timer.h"
    -00028 /*void initTimer();*/
    -00029 
    -00030 // For use from CAN driver
    -00031 void EnterMutex(void);
    -00032 void LeaveMutex(void);
    -00033 void WaitReceiveTaskEnd(TASK_HANDLE);
    -00034 
    -00035 // For use from application
    -00036 void StartTimerLoop(TimerCallback_t init_callback);
    -00037 void StopTimerLoop(void);
    -00038 void CreateReceiveTask(CAN_PORT , TASK_HANDLE* , void* );
    -00039 
    -00040 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h.html --- a/doc/doxygen/html/timers__driver_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,200 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h File Reference

    #include "timerscfg.h"
    -#include "timer.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - -

    Functions

    void EnterMutex (void)
    void LeaveMutex (void)
    void WaitReceiveTaskEnd (TASK_HANDLE)
    void StartTimerLoop (TimerCallback_t init_callback)
    void StopTimerLoop (void)
    void CreateReceiveTask (CAN_PORT, TASK_HANDLE *, void *)
    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void CreateReceiveTask (CAN_PORT ,
    TASK_HANDLE * ,
    void *  
    )
    -
    -
    - -

    - -

    -Definition at line 71 of file timers_unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    void EnterMutex (void   ) 
    -
    -
    - -

    - -

    -Definition at line 20 of file timers_unix.c. -

    -References CanFestival_mutex, and ccritical_section::enter(). -

    -

    - -

    -
    - - - - - - - - - -
    void LeaveMutex (void   ) 
    -
    -
    - -

    - -

    -Definition at line 25 of file timers_unix.c. -

    -References CanFestival_mutex, and ccritical_section::leave(). -

    -

    - -

    -
    - - - - - - - - - -
    void StartTimerLoop (TimerCallback_t  init_callback  ) 
    -
    - -

    - -

    -
    - - - - - - - - - -
    void StopTimerLoop (void   ) 
    -
    -
    - -

    - -

    -Definition at line 55 of file timers_unix.c. -

    -References EnterMutex(), LeaveMutex(), class_timers::stop_timer_thread(), and timer. -

    -

    - -

    -
    - - - - - - - - - -
    void WaitReceiveTaskEnd (TASK_HANDLE   ) 
    -
    -
    - -

    - -

    -Definition at line 76 of file timers_unix.c. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h_73d9a4eb941fb20cf6b597840510394b_cgraph.dot --- a/doc/doxygen/html/timers__driver_8h_73d9a4eb941fb20cf6b597840510394b_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="ccritical_section::leave",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classccritical__section.html#e1f542404005a2f0696ced6c52a8ce3b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h_73d9a4eb941fb20cf6b597840510394b_cgraph.md5 --- a/doc/doxygen/html/timers__driver_8h_73d9a4eb941fb20cf6b597840510394b_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -14e759b9e3e78fa44ae6a8f30c693e21 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.dot --- a/doc/doxygen/html/timers__driver_8h_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="StopTimerLoop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="class_timers::stop_timer_thread",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#a78d9f5ab159ec6b11b4dc4c8f351697"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.md5 --- a/doc/doxygen/html/timers__driver_8h_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -0fe19ea84a22ffb049c9df3218aabf71 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h__dep__incl.dot --- a/doc/doxygen/html/timers__driver_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__win32_8cpp.html"]; - Node1 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h__dep__incl.md5 --- a/doc/doxygen/html/timers__driver_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -f9829bb83edfcab734dee1872bd019f5 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h__incl.dot --- a/doc/doxygen/html/timers__driver_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node4 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="data.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h__incl.md5 --- a/doc/doxygen/html/timers__driver_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ec7800842aa41c9053652986499b2773 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h_c9e1731843825eb55e7a94894e6a8ec5_cgraph.dot --- a/doc/doxygen/html/timers__driver_8h_c9e1731843825eb55e7a94894e6a8ec5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="StartTimerLoop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="initTimer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#02922529b60419a94afe8f369dda070b"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="class_timers::resume_timer_thread",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#e0066fac671c6adb997d6c075487af89"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="class_timers::start_timer_thread",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#d857a63670354f41759f68d4ea29a0f5"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="class_timers::get_timer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="class_timers::timer_loop_thread_proc",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$classclass__timers.html#a68dd5b6225b3519b4bc2a0280683c87"]; - Node9 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h_c9e1731843825eb55e7a94894e6a8ec5_cgraph.md5 --- a/doc/doxygen/html/timers__driver_8h_c9e1731843825eb55e7a94894e6a8ec5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -a0bf9c890600895f707e2da26ba23889 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h_d7fee43b8a44cf8b7036853593044037_cgraph.dot --- a/doc/doxygen/html/timers__driver_8h_d7fee43b8a44cf8b7036853593044037_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="ccritical_section::enter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classccritical__section.html#94af8f7f73229ecc82a303be7e2b0ad0"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__driver_8h_d7fee43b8a44cf8b7036853593044037_cgraph.md5 --- a/doc/doxygen/html/timers__driver_8h_d7fee43b8a44cf8b7036853593044037_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -41a786d89316011e96efa045cd3caaef \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_2timerscfg_8h-source.html --- a/doc/doxygen/html/timers__unix_2timerscfg_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timers_unix/timerscfg.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/timers_unix/timerscfg.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __TIMERSCFG_H__
    -00024 #define __TIMERSCFG_H__
    -00025 
    -00026 #include <pthread.h>
    -00027 
    -00028 /* Time unit : us */
    -00029 /* Time resolution : 64bit (~584942 years) */
    -00030 #define TIMEVAL unsigned long long
    -00031 #define TIMEVAL_MAX ~(TIMEVAL)0
    -00032 #define MS_TO_TIMEVAL(ms) ms*1000
    -00033 #define US_TO_TIMEVAL(us) us
    -00034 
    -00035 #define TASK_HANDLE pthread_t
    -00036 
    -00037 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_2timerscfg_8h.html --- a/doc/doxygen/html/timers__unix_2timerscfg_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timers_unix/timerscfg.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/timers_unix/timerscfg.h File Reference

    #include <pthread.h>
    - -

    -Go to the source code of this file. - - - - - - - - - - - - -

    Defines

    #define TIMEVAL   unsigned long long
    #define TIMEVAL_MAX   ~(TIMEVAL)0
    #define MS_TO_TIMEVAL(ms)   ms*1000
    #define US_TO_TIMEVAL(us)   us
    #define TASK_HANDLE   pthread_t
    -


    Define Documentation

    - -
    -
    - - - - - - - - - -
    #define MS_TO_TIMEVAL (ms   )    ms*1000
    -
    -
    - -

    - -

    -Definition at line 32 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TASK_HANDLE   pthread_t
    -
    -
    - -

    - -

    -Definition at line 35 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TIMEVAL   unsigned long long
    -
    -
    - -

    - -

    -Definition at line 30 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TIMEVAL_MAX   ~(TIMEVAL)0
    -
    -
    - -

    - -

    -Definition at line 31 of file timerscfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define US_TO_TIMEVAL (us   )    us
    -
    -
    - -

    - -

    -Definition at line 33 of file timerscfg.h. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_2timerscfg_8h__incl.dot --- a/doc/doxygen/html/timers__unix_2timerscfg_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timers_unix/timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="pthread.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_2timerscfg_8h__incl.md5 --- a/doc/doxygen/html/timers__unix_2timerscfg_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -7297b18e42b6bc6f791a07fe6d3160b5 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_8c-source.html --- a/doc/doxygen/html/timers__unix_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,128 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c

    Go to the documentation of this file.
    00001 #include <stdlib.h>
    -00002 
    -00003 #include <sys/time.h>
    -00004 #include <pthread.h> 
    -00005 #include <signal.h>
    -00006 
    -00007 #include "applicfg.h"
    -00008 #include "timer.h"
    -00009 
    -00010 pthread_mutex_t CanFestival_mutex = PTHREAD_MUTEX_INITIALIZER;
    -00011 
    -00012 TASK_HANDLE TimerLoopThread;
    -00013 
    -00014 TIMEVAL last_time_set = TIMEVAL_MAX;
    -00015 
    -00016 struct timeval last_sig;
    -00017 
    -00018 timer_t timer;
    -00019 
    -00020 void EnterMutex(void)
    -00021 {
    -00022         pthread_mutex_lock(&CanFestival_mutex); 
    -00023 }
    -00024 
    -00025 void LeaveMutex(void)
    -00026 {
    -00027         pthread_mutex_unlock(&CanFestival_mutex);
    -00028 }
    -00029 
    -00030 void timer_notify(sigval_t val)
    -00031 {
    -00032         gettimeofday(&last_sig,NULL);
    -00033         EnterMutex();
    -00034         TimeDispatch();
    -00035         LeaveMutex();
    -00036 //      printf("getCurrentTime() return=%u\n", p.tv_usec);
    -00037 }
    -00038 
    -00039 void initTimer(void)
    -00040 {
    -00041         struct sigevent sigev;
    -00042 
    -00043         // Take first absolute time ref.
    -00044         gettimeofday(&last_sig,NULL);
    -00045 
    -00046         memset (&sigev, 0, sizeof (struct sigevent));
    -00047         sigev.sigev_value.sival_int = 0;
    -00048         sigev.sigev_notify = SIGEV_THREAD;
    -00049         sigev.sigev_notify_attributes = NULL;
    -00050         sigev.sigev_notify_function = timer_notify;
    -00051 
    -00052         timer_create (CLOCK_REALTIME, &sigev, &timer);
    -00053 }
    -00054 
    -00055 void StopTimerLoop(void)
    -00056 {
    -00057         EnterMutex();
    -00058         timer_delete (timer);
    -00059         LeaveMutex();
    -00060 }
    -00061 
    -00062 void StartTimerLoop(TimerCallback_t init_callback)
    -00063 {
    -00064         initTimer();
    -00065         EnterMutex();
    -00066         // At first, TimeDispatch will call init_callback.
    -00067         SetAlarm(NULL, 0, init_callback, 0, 0);
    -00068         LeaveMutex();
    -00069 }
    -00070 
    -00071 void CreateReceiveTask(CAN_PORT port, TASK_HANDLE* Thread, void* ReceiveLoopPtr)
    -00072 {
    -00073         pthread_create(Thread, NULL, ReceiveLoopPtr, (void*)port);
    -00074 }
    -00075 
    -00076 void WaitReceiveTaskEnd(TASK_HANDLE Thread)
    -00077 {
    -00078         pthread_kill(Thread, SIGTERM);
    -00079         pthread_join(Thread, NULL);
    -00080 }
    -00081 
    -00082 #define maxval(a,b) ((a>b)?a:b)
    -00083 void setTimer(TIMEVAL value)
    -00084 {
    -00085 //      printf("setTimer(TIMEVAL value=%d)\n", value);
    -00086         // TIMEVAL is us whereas setitimer wants ns...
    -00087         long tv_nsec = 1000 * (maxval(value,1)%1000000);
    -00088         time_t tv_sec = value/1000000;
    -00089         struct itimerspec timerValues;
    -00090         timerValues.it_value.tv_sec = tv_sec;
    -00091         timerValues.it_value.tv_nsec = tv_nsec;
    -00092         timerValues.it_interval.tv_sec = 0;
    -00093         timerValues.it_interval.tv_nsec = 0;
    -00094 
    -00095         timer_settime (timer, 0, &timerValues, NULL);
    -00096 }
    -00097 
    -00098 TIMEVAL getElapsedTime(void)
    -00099 {
    -00100         struct timeval p;
    -00101         gettimeofday(&p,NULL);
    -00102 //      printf("getCurrentTime() return=%u\n", p.tv_usec);
    -00103         return (p.tv_sec - last_sig.tv_sec)* 1000000 + p.tv_usec - last_sig.tv_usec;
    -00104 }
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_8c.html --- a/doc/doxygen/html/timers__unix_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,424 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c File Reference

    #include <stdlib.h>
    -#include <sys/time.h>
    -#include <pthread.h>
    -#include <signal.h>
    -#include "applicfg.h"
    -#include "timer.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define maxval(a, b)   ((a>b)?a:b)

    Functions

    void EnterMutex (void)
    void LeaveMutex (void)
    void timer_notify (sigval_t val)
    void initTimer (void)
    void StopTimerLoop (void)
    void StartTimerLoop (TimerCallback_t init_callback)
    void CreateReceiveTask (CAN_PORT port, TASK_HANDLE *Thread, void *ReceiveLoopPtr)
    void WaitReceiveTaskEnd (TASK_HANDLE Thread)
    void setTimer (TIMEVAL value)
    TIMEVAL getElapsedTime (void)

    Variables

    pthread_mutex_t CanFestival_mutex = PTHREAD_MUTEX_INITIALIZER
    TASK_HANDLE TimerLoopThread
    TIMEVAL last_time_set = TIMEVAL_MAX
    timeval last_sig
    timer_t timer
    -


    Define Documentation

    - -
    -
    - - - - - - - - - - - - -
    #define maxval (a,
     )    ((a>b)?a:b)
    -
    -
    - -

    - -

    -Definition at line 82 of file timers_unix.c. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void CreateReceiveTask (CAN_PORT  port,
    TASK_HANDLE *  Thread,
    void *  ReceiveLoopPtr 
    )
    -
    -
    - -

    - -

    -Definition at line 71 of file timers_unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    void EnterMutex (void   ) 
    -
    -
    - -

    - -

    -Definition at line 20 of file timers_unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    TIMEVAL getElapsedTime (void   ) 
    -
    -
    - -

    - -

    -Definition at line 98 of file timers_unix.c. -

    -References last_sig. -

    -

    - -

    -
    - - - - - - - - - -
    void initTimer (void   ) 
    -
    -
    - -

    - -

    -Definition at line 39 of file timers_unix.c. -

    -References IO_PORTS_8, last_sig, lock(), TCTL1, TIE, timer, timer_notify(), TIOS, TSCR1, TSCR2, and unlock(). -

    -

    - -

    -
    - - - - - - - - - -
    void LeaveMutex (void   ) 
    -
    -
    - -

    - -

    -Definition at line 25 of file timers_unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    void setTimer (TIMEVAL  value  ) 
    -
    -
    - -

    - -

    -Definition at line 83 of file timers_unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    void StartTimerLoop (TimerCallback_t  init_callback  ) 
    -
    -
    - -

    - -

    -Definition at line 62 of file timers_unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    void StopTimerLoop (void   ) 
    -
    -
    - -

    - -

    -Definition at line 55 of file timers_unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    void timer_notify (sigval_t  val  ) 
    -
    -
    - -

    - -

    -Definition at line 30 of file timers_unix.c. -

    -References EnterMutex(), last_sig, LeaveMutex(), and TimeDispatch(). -

    -

    - -

    -
    - - - - - - - - - -
    void WaitReceiveTaskEnd (TASK_HANDLE  Thread  ) 
    -
    -
    - -

    - -

    -Definition at line 76 of file timers_unix.c. -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    pthread_mutex_t CanFestival_mutex = PTHREAD_MUTEX_INITIALIZER
    -
    -
    - -

    - -

    -Definition at line 10 of file timers_unix.c. -

    -

    - -

    -
    - - - - -
    struct timeval last_sig
    -
    -
    - -

    - -

    -Definition at line 16 of file timers_unix.c. -

    -

    - -

    -
    - - - - -
    TIMEVAL last_time_set = TIMEVAL_MAX
    -
    -
    - -

    - -

    -Definition at line 14 of file timers_unix.c. -

    -

    - -

    -
    - - - - -
    timer_t timer
    -
    -
    - -

    - -

    -Definition at line 18 of file timers_unix.c. -

    -

    - -

    -
    - - - - -
    TASK_HANDLE TimerLoopThread
    -
    -
    - -

    - -

    -Definition at line 12 of file timers_unix.c. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_8c_02922529b60419a94afe8f369dda070b_cgraph.dot --- a/doc/doxygen/html/timers__unix_8c_02922529b60419a94afe8f369dda070b_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="initTimer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="lock",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$interrupt_8c.html#eb99ff49b4a6d5157416f9b5bd0d9c2c"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="__asm__",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$regs_8h.html#b1b104e72affb247e036289d0fc18ac7"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="timer_notify",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#4cd19302f57b08fc0403a05017332735"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node4 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="TimeDispatch",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8c.html#fa75192a3238525618f8cb83004930cc"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="unlock",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$interrupt_8c.html#987ce601d6d4c8eedd68b58db3b7811a"]; - Node8 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_8c_02922529b60419a94afe8f369dda070b_cgraph.md5 --- a/doc/doxygen/html/timers__unix_8c_02922529b60419a94afe8f369dda070b_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -4e9d6ba5b68e12076188388bb0a96bdc \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_8c_4cd19302f57b08fc0403a05017332735_cgraph.dot --- a/doc/doxygen/html/timers__unix_8c_4cd19302f57b08fc0403a05017332735_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="timer_notify",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="TimeDispatch",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8c.html#fa75192a3238525618f8cb83004930cc"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_8c_4cd19302f57b08fc0403a05017332735_cgraph.md5 --- a/doc/doxygen/html/timers__unix_8c_4cd19302f57b08fc0403a05017332735_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -bd0e4b0dae74ed13f58a3b231dc4dc54 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_8c__incl.dot --- a/doc/doxygen/html/timers__unix_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="sys/time.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="pthread.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="signal.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node6 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node10 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="data.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node12 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__unix_8c__incl.md5 --- a/doc/doxygen/html/timers__unix_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -7dd8656a3f632adb5cd02bd5af4b2597 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp-source.html --- a/doc/doxygen/html/timers__win32_8cpp-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,265 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack.
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 Copyright (C) Win32 Port Leonid Tochinski
    -00006 
    -00007 See COPYING file for copyrights details.
    -00008 
    -00009 This library is free software; you can redistribute it and/or
    -00010 modify it under the terms of the GNU Lesser General Public
    -00011 License as published by the Free Software Foundation; either
    -00012 version 2.1 of the License, or (at your option) any later version.
    -00013 
    -00014 This library is distributed in the hope that it will be useful,
    -00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00017 Lesser General Public License for more details.
    -00018 
    -00019 You should have received a copy of the GNU Lesser General Public
    -00020 License along with this library; if not, write to the Free Software
    -00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00022 */
    -00023 
    -00024 
    -00025 
    -00026 #include <windows.h>
    -00027 #include <stdlib.h>
    -00028 
    -00029 extern "C"
    -00030 {
    -00031 #include "applicfg.h"
    -00032 #include "can_driver.h"
    -00033 #include "timer.h"
    -00034 #include "timers_driver.h"
    -00035 };
    -00036 
    -00037 // --------------- Synchronization Object Implementation ---------------
    -00038 class ccritical_section
    -00039    {
    -00040    public:
    -00041       ccritical_section()
    -00042          {
    -00043          ::InitializeCriticalSection(&m_cs);
    -00044          }
    -00045       ~ccritical_section()
    -00046          {
    -00047          ::DeleteCriticalSection(&m_cs);
    -00048          }
    -00049       void enter()
    -00050          {
    -00051          ::EnterCriticalSection(&m_cs);
    -00052          }
    -00053       void leave()
    -00054          {
    -00055          ::LeaveCriticalSection(&m_cs);
    -00056          }
    -00057    private:
    -00058       CRITICAL_SECTION m_cs;
    -00059    };
    -00060 
    -00061 static ccritical_section g_cs;
    -00062 
    -00063 
    -00064 void EnterMutex(void)
    -00065    {
    -00066    g_cs.enter();
    -00067    }
    -00068 
    -00069 void LeaveMutex(void)
    -00070    {
    -00071    g_cs.leave();
    -00072    }
    -00073 // --------------- Synchronization Object Implementation ---------------
    -00074 
    -00075 
    -00076 // --------------- CAN Receive Thread Implementation ---------------
    -00077 
    -00078 void CreateReceiveTask(CAN_HANDLE fd0, TASK_HANDLE* Thread, void* ReceiveLoopPtr)
    -00079    {
    -00080    unsigned long thread_id = 0;
    -00081    *Thread = ::CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ReceiveLoopPtr, fd0, 0, &thread_id);
    -00082    }
    -00083 
    -00084 void WaitReceiveTaskEnd(TASK_HANDLE Thread)
    -00085    {
    -00086    ::WaitForSingleObject(Thread, INFINITE);
    -00087    ::CloseHandle(Thread);
    -00088    //*Thread = NULL;
    -00089    }
    -00090 // --------------- CAN Receive Thread Implementation ---------------
    -00091 
    -00092 
    -00093 // --------------- Timer Thread Implementation ---------------
    -00094 class class_timers
    -00095    {
    -00096    public:
    -00097       class_timers();
    -00098       ~class_timers();
    -00099       void start_timer_thread();
    -00100       void resume_timer_thread();
    -00101       void stop_timer_thread();
    -00102       void set_timer(TIMEVAL value);
    -00103       TIMEVAL get_elapsed_time();
    -00104    private:
    -00105       TIMEVAL get_timer() const;   
    -00106       static DWORD WINAPI timer_loop_thread_proc(void* arg);
    -00107    private:
    -00108       TIMEVAL m_last_occured_alarm_time;
    -00109       volatile TIMEVAL m_last_alarm_set_time;
    -00110       HANDLE m_timer_thread;
    -00111       volatile bool m_continue_timer_loop;
    -00112       bool m_use_hi_res_timer;
    -00113       double m_counts_per_usec;
    -00114    };
    -00115 
    -00116 class_timers::class_timers() : m_last_occured_alarm_time(TIMEVAL_MAX),
    -00117       m_last_alarm_set_time(TIMEVAL_MAX),
    -00118       m_timer_thread(0),
    -00119       m_continue_timer_loop(false),
    -00120       m_use_hi_res_timer(false),
    -00121       m_counts_per_usec(0.)
    -00122    {
    -00123    // initialize hi resolution timer
    -00124    LARGE_INTEGER counts_per_sec = {0, 0};
    -00125    if (::QueryPerformanceFrequency(&counts_per_sec) && counts_per_sec.QuadPart > 0)
    -00126       {
    -00127       m_use_hi_res_timer = true;
    -00128       m_counts_per_usec = counts_per_sec.QuadPart / 1000000.;
    -00129       }
    -00130    m_use_hi_res_timer = true;
    -00131    }
    -00132 
    -00133 class_timers::~class_timers()
    -00134    {
    -00135    stop_timer_thread();
    -00136    }
    -00137 
    -00138 // time is in micro seconds
    -00139 TIMEVAL class_timers::get_timer() const
    -00140    {
    -00141    if (m_use_hi_res_timer)
    -00142       {
    -00143       LARGE_INTEGER performance_count = {0, 0};
    -00144       ::QueryPerformanceCounter(&performance_count);
    -00145       return (TIMEVAL)(performance_count.QuadPart / m_counts_per_usec);
    -00146       }
    -00147    // hi-res timer is unavailable
    -00148    return 1000 * ::GetTickCount();
    -00149    }
    -00150 
    -00151 DWORD WINAPI class_timers::timer_loop_thread_proc(void* arg)
    -00152    {
    -00153    class_timers* This = reinterpret_cast<class_timers*>(arg);
    -00154    while (This->m_continue_timer_loop)
    -00155       {
    -00156       TIMEVAL cur_time = This->get_timer();
    -00157       if (cur_time >= This->m_last_alarm_set_time)
    -00158          {
    -00159          This->m_last_occured_alarm_time = cur_time;
    -00160          This->m_last_alarm_set_time = TIMEVAL_MAX;         
    -00161          EnterMutex();
    -00162          TimeDispatch();
    -00163          LeaveMutex();
    -00164          }
    -00165       else
    -00166          {
    -00167          ::Sleep(1);
    -00168          }
    -00169       }
    -00170    return 0;
    -00171    }
    -00172 
    -00173 void class_timers::start_timer_thread()
    -00174    {
    -00175    if (m_timer_thread == 0)
    -00176       {
    -00177       unsigned long thread_id = 0;
    -00178       m_timer_thread = ::CreateThread(NULL, 0, &timer_loop_thread_proc, this, CREATE_SUSPENDED, &thread_id);
    -00179       m_last_alarm_set_time = TIMEVAL_MAX;
    -00180       m_last_occured_alarm_time = get_timer();
    -00181       }
    -00182    }
    -00183 
    -00184 void class_timers::resume_timer_thread()
    -00185    {
    -00186    if (m_timer_thread)
    -00187       {
    -00188       m_continue_timer_loop = true;
    -00189       ::ResumeThread(m_timer_thread);
    -00190       }
    -00191    }
    -00192 
    -00193 void class_timers::stop_timer_thread()
    -00194    {
    -00195    if (m_timer_thread)
    -00196       {
    -00197       m_continue_timer_loop = false;
    -00198       ::WaitForSingleObject(m_timer_thread, INFINITE);
    -00199       ::CloseHandle(m_timer_thread);
    -00200       m_timer_thread = 0;
    -00201       }
    -00202    }
    -00203 
    -00204 void class_timers::set_timer(TIMEVAL value)
    -00205    {
    -00206    m_last_alarm_set_time = (value == TIMEVAL_MAX) ? TIMEVAL_MAX : get_timer() + value;
    -00207    }
    -00208 
    -00209 // elapsed time since last occured alarm
    -00210 TIMEVAL class_timers::get_elapsed_time()
    -00211    {
    -00212    return get_timer() - m_last_occured_alarm_time;
    -00213    }
    -00214 
    -00215 // ----------------------------------------------------------
    -00216 
    -00217 static class_timers s_timers;
    -00218 
    -00219 void StartTimerLoop(TimerCallback_t init_callback)
    -00220    {
    -00221    s_timers.start_timer_thread();
    -00222    // At first, TimeDispatch will call init_callback.
    -00223    if (init_callback != NULL)
    -00224       SetAlarm(NULL, 0, init_callback, (TIMEVAL)0, (TIMEVAL)0);
    -00225    s_timers.resume_timer_thread();
    -00226    }
    -00227 
    -00228 void StopTimerLoop(void)
    -00229    {
    -00230    s_timers.stop_timer_thread();
    -00231    }
    -00232 
    -00233 void setTimer(TIMEVAL value)
    -00234    {
    -00235    s_timers.set_timer(value);
    -00236    }
    -00237 
    -00238 TIMEVAL getElapsedTime(void)
    -00239    {
    -00240    return s_timers.get_elapsed_time();
    -00241    }
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp.html --- a/doc/doxygen/html/timers__win32_8cpp.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,261 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp File Reference

    #include <windows.h>
    -#include <stdlib.h>
    -#include "applicfg.h"
    -#include "can_driver.h"
    -#include "timer.h"
    -#include "timers_driver.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    class  ccritical_section
    class  class_timers

    Functions

    void EnterMutex (void)
    void LeaveMutex (void)
    void CreateReceiveTask (CAN_HANDLE fd0, TASK_HANDLE *Thread, void *ReceiveLoopPtr)
    void WaitReceiveTaskEnd (TASK_HANDLE Thread)
    void StartTimerLoop (TimerCallback_t init_callback)
    void StopTimerLoop (void)
    void setTimer (TIMEVAL value)
    TIMEVAL getElapsedTime (void)
    -


    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void CreateReceiveTask (CAN_HANDLE  fd0,
    TASK_HANDLE *  Thread,
    void *  ReceiveLoopPtr 
    )
    -
    -
    - -

    - -

    -Definition at line 78 of file timers_win32.cpp. -

    -

    - -

    -
    - - - - - - - - - -
    void EnterMutex (void   ) 
    -
    -
    - -

    - -

    -Definition at line 64 of file timers_win32.cpp. -

    -References CanFestival_mutex, and ccritical_section::enter(). -

    -

    - -

    -
    - - - - - - - - - -
    TIMEVAL getElapsedTime (void   ) 
    -
    -
    - -

    - -

    -Definition at line 238 of file timers_win32.cpp. -

    -References class_timers::get_elapsed_time(), IO_PORTS_16, and TC4H. -

    -

    - -

    -
    - - - - - - - - - -
    void LeaveMutex (void   ) 
    -
    -
    - -

    - -

    -Definition at line 69 of file timers_win32.cpp. -

    -References CanFestival_mutex, and ccritical_section::leave(). -

    -

    - -

    -
    - - - - - - - - - -
    void setTimer (TIMEVAL  value  ) 
    -
    -
    - -

    - -

    -Definition at line 233 of file timers_win32.cpp. -

    -References maxval, class_timers::set_timer(), and timer. -

    -

    - -

    -
    - - - - - - - - - -
    void StartTimerLoop (TimerCallback_t  init_callback  ) 
    -
    - -

    - -

    -
    - - - - - - - - - -
    void StopTimerLoop (void   ) 
    -
    -
    - -

    - -

    -Definition at line 228 of file timers_win32.cpp. -

    -References EnterMutex(), LeaveMutex(), class_timers::stop_timer_thread(), and timer. -

    -

    - -

    -
    - - - - - - - - - -
    void WaitReceiveTaskEnd (TASK_HANDLE  Thread  ) 
    -
    -
    - -

    - -

    -Definition at line 84 of file timers_win32.cpp. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_4dccc204d52176bd547ab34d6858f5ba_cgraph.dot --- a/doc/doxygen/html/timers__win32_8cpp_4dccc204d52176bd547ab34d6858f5ba_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="getElapsedTime",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="class_timers::get_elapsed_time",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$classclass__timers.html#0fa5bd5d1d4012bf9eef3ffabe990dfb"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_4dccc204d52176bd547ab34d6858f5ba_cgraph.md5 --- a/doc/doxygen/html/timers__win32_8cpp_4dccc204d52176bd547ab34d6858f5ba_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ba4fa2fbd2b2acf45144978b9b6affc4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_73d9a4eb941fb20cf6b597840510394b_cgraph.dot --- a/doc/doxygen/html/timers__win32_8cpp_73d9a4eb941fb20cf6b597840510394b_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="ccritical_section::leave",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classccritical__section.html#e1f542404005a2f0696ced6c52a8ce3b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_73d9a4eb941fb20cf6b597840510394b_cgraph.md5 --- a/doc/doxygen/html/timers__win32_8cpp_73d9a4eb941fb20cf6b597840510394b_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -14e759b9e3e78fa44ae6a8f30c693e21 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.dot --- a/doc/doxygen/html/timers__win32_8cpp_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="StopTimerLoop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="class_timers::stop_timer_thread",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#a78d9f5ab159ec6b11b4dc4c8f351697"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.md5 --- a/doc/doxygen/html/timers__win32_8cpp_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -0fe19ea84a22ffb049c9df3218aabf71 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp__incl.dot --- a/doc/doxygen/html/timers__win32_8cpp__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node4 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node7 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node8 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node10 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="data.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node11 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__driver_8h.html"]; - Node12 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp__incl.md5 --- a/doc/doxygen/html/timers__win32_8cpp__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -595d683061bc4ad2cbebdad36155c226 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_b8d05dee70f04b5c5190ab00e84da106_cgraph.dot --- a/doc/doxygen/html/timers__win32_8cpp_b8d05dee70f04b5c5190ab00e84da106_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="setTimer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="class_timers::set_timer",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$classclass__timers.html#a27df6346a38fb25acc394cb7998a3f8"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_b8d05dee70f04b5c5190ab00e84da106_cgraph.md5 --- a/doc/doxygen/html/timers__win32_8cpp_b8d05dee70f04b5c5190ab00e84da106_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d48810e4f3e6cd9d0c0a19fc61d9b16d \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_c9e1731843825eb55e7a94894e6a8ec5_cgraph.dot --- a/doc/doxygen/html/timers__win32_8cpp_c9e1731843825eb55e7a94894e6a8ec5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="StartTimerLoop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="initTimer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#02922529b60419a94afe8f369dda070b"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="class_timers::resume_timer_thread",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#e0066fac671c6adb997d6c075487af89"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="class_timers::start_timer_thread",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#d857a63670354f41759f68d4ea29a0f5"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="class_timers::get_timer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="class_timers::timer_loop_thread_proc",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$classclass__timers.html#a68dd5b6225b3519b4bc2a0280683c87"]; - Node9 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_c9e1731843825eb55e7a94894e6a8ec5_cgraph.md5 --- a/doc/doxygen/html/timers__win32_8cpp_c9e1731843825eb55e7a94894e6a8ec5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -a0bf9c890600895f707e2da26ba23889 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_d7fee43b8a44cf8b7036853593044037_cgraph.dot --- a/doc/doxygen/html/timers__win32_8cpp_d7fee43b8a44cf8b7036853593044037_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="ccritical_section::enter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classccritical__section.html#94af8f7f73229ecc82a303be7e2b0ad0"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__win32_8cpp_d7fee43b8a44cf8b7036853593044037_cgraph.md5 --- a/doc/doxygen/html/timers__win32_8cpp_d7fee43b8a44cf8b7036853593044037_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -00c85286dce5dc26b369108156bcbba3 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_2timerscfg_8h-source.html --- a/doc/doxygen/html/timers__xeno_2timerscfg_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timers_xeno/timerscfg.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/timers_xeno/timerscfg.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __TIMERSCFG_H__
    -00024 #define __TIMERSCFG_H__
    -00025 
    -00026 #include <native/task.h>
    -00027 #include <native/timer.h>
    -00028 #include <native/mutex.h>
    -00029 #include <native/alarm.h>
    -00030 
    -00031 // Time unit : ns
    -00032 // Time resolution : 64bit (~584 years)
    -00033 #define TIMEVAL RTIME
    -00034 #define TIMEVAL_MAX ~(RTIME)0
    -00035 #define MS_TO_TIMEVAL(ms) (RTIME)ms*1000000
    -00036 #define US_TO_TIMEVAL(us) (RTIME)us*1000
    -00037 
    -00038 #define TASK_HANDLE RT_TASK
    -00039 
    -00040 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_2timerscfg_8h.html --- a/doc/doxygen/html/timers__xeno_2timerscfg_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/timers_xeno/timerscfg.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/timers_xeno/timerscfg.h File Reference

    #include <native/task.h>
    -#include <native/timer.h>
    -#include <native/mutex.h>
    -#include <native/alarm.h>
    - -

    -Go to the source code of this file. - - - - - - - - - - - - -

    Defines

    #define TIMEVAL   RTIME
    #define TIMEVAL_MAX   ~(RTIME)0
    #define MS_TO_TIMEVAL(ms)   (RTIME)ms*1000000
    #define US_TO_TIMEVAL(us)   (RTIME)us*1000
    #define TASK_HANDLE   RT_TASK
    -


    Define Documentation

    - -
    -
    - - - - - - - - - -
    #define MS_TO_TIMEVAL (ms   )    (RTIME)ms*1000000
    -
    -
    - -

    - -

    -Definition at line 35 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TASK_HANDLE   RT_TASK
    -
    -
    - -

    - -

    -Definition at line 38 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TIMEVAL   RTIME
    -
    -
    - -

    - -

    -Definition at line 33 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TIMEVAL_MAX   ~(RTIME)0
    -
    -
    - -

    - -

    -Definition at line 34 of file timerscfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define US_TO_TIMEVAL (us   )    (RTIME)us*1000
    -
    -
    - -

    - -

    -Definition at line 36 of file timerscfg.h. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_2timerscfg_8h__incl.dot --- a/doc/doxygen/html/timers__xeno_2timerscfg_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timers_xeno/timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="native/task.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="native/timer.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="native/mutex.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="native/alarm.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_2timerscfg_8h__incl.md5 --- a/doc/doxygen/html/timers__xeno_2timerscfg_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -1b61c7d3277259c5ed8a587ec737e688 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_8c-source.html --- a/doc/doxygen/html/timers__xeno_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,156 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c

    Go to the documentation of this file.
    00001 #include <stdlib.h>
    -00002 #include <unistd.h>
    -00003 #include <sys/mman.h>
    -00004 
    -00005 #include <native/task.h>
    -00006 #include <native/timer.h>
    -00007 #include <native/mutex.h>
    -00008 #include <native/alarm.h>
    -00009 
    -00010 #include "applicfg.h"
    -00011 #include "can_driver.h"
    -00012 #include "timer.h"
    -00013 
    -00014 #define TIMERLOOP_TASK_CREATED        1
    -00015 
    -00016 RT_MUTEX CanFestival_mutex;
    -00017 RT_TASK timerloop_task;
    -00018 RTIME last_time_read;
    -00019 RTIME last_occured_alarm;
    -00020 RTIME last_alarm_set;
    -00021 
    -00022 char stop_timer=0;
    -00023 
    -00024 void cleanup_all(void)
    -00025 {
    -00026         rt_task_delete(&timerloop_task);
    -00027 }
    -00028 void StopTimerLoop(void)
    -00029 {
    -00030         stop_timer = 1;
    -00031         rt_task_unblock(&timerloop_task);
    -00032 }
    -00033 
    -00034 
    -00035 void EnterMutex(void)
    -00036 {
    -00037         rt_mutex_lock(&CanFestival_mutex, TM_INFINITE); 
    -00038 }
    -00039 
    -00040 void LeaveMutex(void)
    -00041 {
    -00042         rt_mutex_unlock(&CanFestival_mutex);
    -00043 }
    -00044 
    -00045 void timerloop_task_proc(void *arg)
    -00046 {
    -00047         int ret;
    -00048         do{
    -00049                 do{
    -00050                         last_occured_alarm = last_alarm_set;
    -00051                         EnterMutex();
    -00052                         TimeDispatch();
    -00053                         LeaveMutex();
    -00054                         while ((ret = rt_task_sleep_until(last_alarm_set)) == -EINTR);
    -00055                 }while (ret == 0);
    -00056         }while (!stop_timer);
    -00057         printf("End of TimerLoop, code %d\n",ret);
    -00058 }
    -00059 
    -00060 void StartTimerLoop(TimerCallback_t init_callback)
    -00061 {
    -00062         int ret;
    -00063         stop_timer = 0;
    -00064         char taskname[32];
    -00065         snprintf(taskname, sizeof(taskname), "timerloop-%d", getpid());
    -00066 
    -00067         mlockall(MCL_CURRENT | MCL_FUTURE);
    -00068 
    -00069         //create timerloop_task
    -00070         ret = rt_task_create(&timerloop_task, taskname, 0, 50, 0);
    -00071         if (ret) {
    -00072                 printf("Failed to create timerloop_task, code %d\n",errno);
    -00073                 return;
    -00074         }
    -00075         
    -00076         getElapsedTime();
    -00077         last_alarm_set = last_time_read;
    -00078         last_occured_alarm = last_alarm_set;
    -00079         SetAlarm(NULL, 0, init_callback, 0, 0);
    -00080         // start timerloop_task
    -00081         ret = rt_task_start(&timerloop_task,&timerloop_task_proc,NULL);
    -00082         if (ret) {
    -00083                 printf("Failed to start timerloop_task, code %d\n",errno);
    -00084                 goto error;
    -00085         }
    -00086         
    -00087         return;
    -00088         
    -00089 error:
    -00090         cleanup_all();
    -00091 }
    -00092 
    -00093 void CreateReceiveTask(CAN_PORT fd0, TASK_HANDLE *ReceiveLoop_task, void* ReceiveLoop_task_proc)
    -00094 {
    -00095         int ret;
    -00096         static int id = 0;
    -00097         char taskname[32];
    -00098         snprintf(taskname, sizeof(taskname), "canloop%d-%d", id, getpid());
    -00099         id++;
    -00100 
    -00101         mlockall(MCL_CURRENT | MCL_FUTURE);
    -00102 
    -00103         //create timerloop_task
    -00104         ret = rt_task_create(ReceiveLoop_task,taskname,0,50,0);
    -00105         if (ret) {
    -00106                 printf("Failed to create ReceiveLoop_task number %d, code %d\n", id, errno);
    -00107                 return;
    -00108         }
    -00109         // start timerloop_task
    -00110         ret = rt_task_start(ReceiveLoop_task,ReceiveLoop_task_proc,(void*)fd0);
    -00111         if (ret) {
    -00112                 printf("Failed to start ReceiveLoop_task number %d, code %d\n", id, errno);
    -00113                 return;
    -00114         }
    -00115 }
    -00116 
    -00117 void WaitReceiveTaskEnd(TASK_HANDLE *Thread)
    -00118 {
    -00119         rt_task_delete(Thread);
    -00120 }
    -00121 
    -00122 void setTimer(TIMEVAL value)
    -00123 {
    -00124         last_alarm_set = (value == TIMEVAL_MAX) ? TIMEVAL_MAX : last_time_read + value;
    -00125         rt_task_unblock(&timerloop_task);
    -00126 }
    -00127 
    -00128 TIMEVAL getElapsedTime(void)
    -00129 {
    -00130         last_time_read = rt_timer_ticks2ns(rt_timer_read());
    -00131         return last_time_read - last_occured_alarm;
    -00132 }
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_8c.html --- a/doc/doxygen/html/timers__xeno_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,449 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c File Reference

    #include <stdlib.h>
    -#include <unistd.h>
    -#include <sys/mman.h>
    -#include <native/task.h>
    -#include <native/timer.h>
    -#include <native/mutex.h>
    -#include <native/alarm.h>
    -#include "applicfg.h"
    -#include "can_driver.h"
    -#include "timer.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define TIMERLOOP_TASK_CREATED   1

    Functions

    void cleanup_all (void)
    void StopTimerLoop (void)
    void EnterMutex (void)
    void LeaveMutex (void)
    void timerloop_task_proc (void *arg)
    void StartTimerLoop (TimerCallback_t init_callback)
    void CreateReceiveTask (CAN_PORT fd0, TASK_HANDLE *ReceiveLoop_task, void *ReceiveLoop_task_proc)
    void WaitReceiveTaskEnd (TASK_HANDLE *Thread)
    void setTimer (TIMEVAL value)
    TIMEVAL getElapsedTime (void)

    Variables

    RT_MUTEX CanFestival_mutex
    RT_TASK timerloop_task
    RTIME last_time_read
    RTIME last_occured_alarm
    RTIME last_alarm_set
    char stop_timer = 0
    -


    Define Documentation

    - -
    -
    - - - - -
    #define TIMERLOOP_TASK_CREATED   1
    -
    -
    - -

    - -

    -Definition at line 14 of file timers_xeno.c. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    void cleanup_all (void   ) 
    -
    -
    - -

    - -

    -Definition at line 24 of file timers_xeno.c. -

    -References timerloop_task. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void CreateReceiveTask (CAN_PORT  fd0,
    TASK_HANDLE *  ReceiveLoop_task,
    void *  ReceiveLoop_task_proc 
    )
    -
    -
    - -

    - -

    -Definition at line 93 of file timers_xeno.c. -

    -

    - -

    -
    - - - - - - - - - -
    void EnterMutex (void   ) 
    -
    -
    - -

    - -

    -Definition at line 35 of file timers_xeno.c. -

    -References CanFestival_mutex. -

    -

    - -

    -
    - - - - - - - - - -
    TIMEVAL getElapsedTime (void   ) 
    -
    -
    - -

    - -

    -Definition at line 128 of file timers_xeno.c. -

    -References last_occured_alarm, and last_time_read. -

    -

    - -

    -
    - - - - - - - - - -
    void LeaveMutex (void   ) 
    -
    -
    - -

    - -

    -Definition at line 40 of file timers_xeno.c. -

    -References CanFestival_mutex. -

    -

    - -

    -
    - - - - - - - - - -
    void setTimer (TIMEVAL  value  ) 
    -
    -
    - -

    - -

    -Definition at line 122 of file timers_xeno.c. -

    -References last_alarm_set, last_time_read, timerloop_task, and TIMEVAL_MAX. -

    -

    - -

    -
    - - - - - - - - - -
    void StartTimerLoop (TimerCallback_t  init_callback  ) 
    -
    - -

    - -

    -
    - - - - - - - - - -
    void StopTimerLoop (void   ) 
    -
    -
    - -

    - -

    -Definition at line 28 of file timers_xeno.c. -

    -References stop_timer, and timerloop_task. -

    -

    - -

    -
    - - - - - - - - - -
    void timerloop_task_proc (void *  arg  ) 
    -
    -
    - -

    - -

    -Definition at line 45 of file timers_xeno.c. -

    -References EnterMutex(), last_alarm_set, last_occured_alarm, LeaveMutex(), stop_timer, and TimeDispatch(). -

    -

    - -

    -
    - - - - - - - - - -
    void WaitReceiveTaskEnd (TASK_HANDLE *  Thread  ) 
    -
    -
    - -

    - -

    -Definition at line 117 of file timers_xeno.c. -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    RT_MUTEX CanFestival_mutex
    -
    -
    - -

    - -

    -Definition at line 16 of file timers_xeno.c. -

    -

    - -

    -
    - - - - -
    RTIME last_alarm_set
    -
    -
    - -

    - -

    -Definition at line 20 of file timers_xeno.c. -

    -

    - -

    -
    - - - - -
    RTIME last_occured_alarm
    -
    -
    - -

    - -

    -Definition at line 19 of file timers_xeno.c. -

    -

    - -

    -
    - - - - -
    RTIME last_time_read
    -
    -
    - -

    - -

    -Definition at line 18 of file timers_xeno.c. -

    -

    - -

    -
    - - - - -
    char stop_timer = 0
    -
    -
    - -

    - -

    -Definition at line 22 of file timers_xeno.c. -

    -

    - -

    -
    - - - - -
    RT_TASK timerloop_task
    -
    -
    - -

    - -

    -Definition at line 17 of file timers_xeno.c. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_8c_15986eb72a64e72df6600dc23c1e19c8_cgraph.dot --- a/doc/doxygen/html/timers__xeno_8c_15986eb72a64e72df6600dc23c1e19c8_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="timerloop_task_proc",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="TimeDispatch",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timer_8c.html#fa75192a3238525618f8cb83004930cc"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_8c_15986eb72a64e72df6600dc23c1e19c8_cgraph.md5 --- a/doc/doxygen/html/timers__xeno_8c_15986eb72a64e72df6600dc23c1e19c8_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d025c8ba77d51d6d2902bf56244046a0 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_8c__incl.dot --- a/doc/doxygen/html/timers__xeno_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="unistd.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="sys/mman.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="native/task.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="native/timer.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="native/mutex.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="native/alarm.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node9 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node9 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node9 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node13 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node14 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node16 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="data.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node17 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_8c__incl.md5 --- a/doc/doxygen/html/timers__xeno_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -01985bf418fc7f836b401ba40945b787 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_8c_c9e1731843825eb55e7a94894e6a8ec5_cgraph.dot --- a/doc/doxygen/html/timers__xeno_8c_c9e1731843825eb55e7a94894e6a8ec5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="StartTimerLoop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="cleanup_all",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__xeno_8c.html#f37d89241d0a9ac0430a0db6c1ead3d2"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="getElapsedTime",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#24dbe63e88d184388542037d16a8208d"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="timerloop_task_proc",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$timers__xeno_8c.html#15986eb72a64e72df6600dc23c1e19c8"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/timers__xeno_8c_c9e1731843825eb55e7a94894e6a8ec5_cgraph.md5 --- a/doc/doxygen/html/timers__xeno_8c_c9e1731843825eb55e7a94894e6a8ec5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -e6e2ac4a0adc423882cbc96bc7e3e13c \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_2applicfg_8h-source.html --- a/doc/doxygen/html/unix_2applicfg_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,124 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/unix/applicfg.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/unix/applicfg.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __APPLICFG_LINUX__
    -00024 #define __APPLICFG_LINUX__
    -00025 
    -00026 #include <string.h>
    -00027 #include <stdio.h>
    -00028 
    -00029 /*  Define the architecture : little_endian or big_endian
    -00030  -----------------------------------------------------
    -00031  Test :
    -00032  UNS32 v = 0x1234ABCD;
    -00033  char *data = &v;
    -00034 
    -00035  Result for a little_endian architecture :
    -00036  data[0] = 0xCD;
    -00037  data[1] = 0xAB;
    -00038  data[2] = 0x34;
    -00039  data[3] = 0x12;
    -00040 
    -00041  Result for a big_endian architecture :
    -00042  data[0] = 0x12;
    -00043  data[1] = 0x34;
    -00044  data[2] = 0xAB;
    -00045  data[3] = 0xCD;
    -00046  */
    -00047 
    -00048 /* Integers */
    -00049 #define INTEGER8 char
    -00050 #define INTEGER16 short
    -00051 #define INTEGER24
    -00052 #define INTEGER32 long
    -00053 #define INTEGER40
    -00054 #define INTEGER48
    -00055 #define INTEGER56
    -00056 #define INTEGER64
    -00057 
    -00058 /* Unsigned integers */
    -00059 #define UNS8   unsigned char
    -00060 #define UNS16  unsigned short
    -00061 #define UNS32  unsigned long
    -00062 #define UNS24
    -00063 #define UNS40
    -00064 #define UNS48
    -00065 #define UNS56
    -00066 #define UNS64 
    -00067 
    -00068 /* Reals */
    -00069 #define REAL32  float
    -00070 #define REAL64 double
    -00071 
    -00072 /* Definition of error and warning macros */
    -00073 /* -------------------------------------- */
    -00074 #if defined DEBUG_ERR_CONSOLE_ON || defined DEBUG_WAR_CONSOLE_ON
    -00075 #include <stdio.h>
    -00076 #endif
    -00077 
    -00078 /* Definition of MSG_ERR */
    -00079 /* --------------------- */
    -00080 #ifdef DEBUG_ERR_CONSOLE_ON
    -00081 #    define MSG_ERR(num, str, val)            \
    -00082           printf("%s,%d : 0X%x %s 0X%x \n",__FILE__, __LINE__,num, str, val);
    -00083 #else
    -00084 #    define MSG_ERR(num, str, val)
    -00085 #endif
    -00086 
    -00087 /* Definition of MSG_WAR */
    -00088 /* --------------------- */
    -00089 #ifdef DEBUG_WAR_CONSOLE_ON
    -00090 #    define MSG_WAR(num, str, val)          \
    -00091           printf("%s,%d : 0X%x %s 0X%x \n",__FILE__, __LINE__,num, str, val);
    -00092 #else
    -00093 #    define MSG_WAR(num, str, val)
    -00094 #endif
    -00095 
    -00096 typedef void* CAN_HANDLE;
    -00097 
    -00098 typedef void* CAN_PORT;
    -00099 
    -00100 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_2applicfg_8h.html --- a/doc/doxygen/html/unix_2applicfg_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,475 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/unix/applicfg.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/unix/applicfg.h File Reference

    #include <string.h>
    -#include <stdio.h>
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define INTEGER8   char
    #define INTEGER16   short
    #define INTEGER24
    #define INTEGER32   long
    #define INTEGER40
    #define INTEGER48
    #define INTEGER56
    #define INTEGER64
    #define UNS8   unsigned char
    #define UNS16   unsigned short
    #define UNS32   unsigned long
    #define UNS24
    #define UNS40
    #define UNS48
    #define UNS56
    #define UNS64
    #define REAL32   float
    #define REAL64   double
    #define MSG_ERR(num, str, val)
    #define MSG_WAR(num, str, val)

    Typedefs

    typedef void * CAN_HANDLE
    typedef void * CAN_PORT
    -


    Define Documentation

    - -
    -
    - - - - -
    #define INTEGER16   short
    -
    -
    - -

    - -

    -Definition at line 50 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER24
    -
    -
    - -

    - -

    -Definition at line 51 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER32   long
    -
    -
    - -

    - -

    -Definition at line 52 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER40
    -
    -
    - -

    - -

    -Definition at line 53 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER48
    -
    -
    - -

    - -

    -Definition at line 54 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER56
    -
    -
    - -

    - -

    -Definition at line 55 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER64
    -
    -
    - -

    - -

    -Definition at line 56 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER8   char
    -
    -
    - -

    - -

    -Definition at line 49 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define MSG_ERR (num,
    str,
    val   ) 
    -
    -
    - -

    - -

    -Definition at line 84 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define MSG_WAR (num,
    str,
    val   ) 
    -
    -
    - -

    - -

    -Definition at line 93 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define REAL32   float
    -
    -
    - -

    - -

    -Definition at line 69 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define REAL64   double
    -
    -
    - -

    - -

    -Definition at line 70 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS16   unsigned short
    -
    -
    - -

    - -

    -Definition at line 60 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS24
    -
    -
    - -

    - -

    -Definition at line 62 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS32   unsigned long
    -
    -
    - -

    - -

    -Definition at line 61 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS40
    -
    -
    - -

    - -

    -Definition at line 63 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS48
    -
    -
    - -

    - -

    -Definition at line 64 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS56
    -
    -
    - -

    - -

    -Definition at line 65 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS64
    -
    -
    - -

    - -

    -Definition at line 66 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS8   unsigned char
    -
    -
    - -

    - -

    -Definition at line 59 of file applicfg.h. -

    -

    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef void* CAN_HANDLE
    -
    -
    - -

    - -

    -Definition at line 96 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    typedef void* CAN_PORT
    -
    -
    - -

    - -

    -Definition at line 98 of file applicfg.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_2applicfg_8h__incl.dot --- a/doc/doxygen/html/unix_2applicfg_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/applicfg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_2applicfg_8h__incl.md5 --- a/doc/doxygen/html/unix_2applicfg_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -fd4bee006f2bec75af86a9a0caa953d4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_2canfestival_8h-source.html --- a/doc/doxygen/html/unix_2canfestival_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h

    Go to the documentation of this file.
    00001 #ifndef UNIX_H_
    -00002 #define UNIX_H_
    -00003 
    -00004 #include "timerscfg.h"
    -00005 #include "can_driver.h"
    -00006 #include "data.h"
    -00007 #include "timers_driver.h"
    -00008 #ifdef WIN32
    -00009 #include <windows.h>
    -00010 typedef HINSTANCE LIB_HANDLE;
    -00011 #else
    -00012 #include <dlfcn.h>
    -00013 typedef void* LIB_HANDLE;
    -00014 #endif
    -00015 
    -00016 UNS8 UnLoadCanDriver(LIB_HANDLE handle);
    -00017 LIB_HANDLE LoadCanDriver(char* driver_name);
    -00018 UNS8 canSend(CAN_PORT port, Message *m);
    -00019 CAN_PORT canOpen(s_BOARD *board, CO_Data * d);
    -00020 int canClose(CO_Data * d);
    -00021 
    -00022 #endif /*UNIX_H_*/
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_2canfestival_8h.html --- a/doc/doxygen/html/unix_2canfestival_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,195 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h File Reference

    #include "timerscfg.h"
    -#include "can_driver.h"
    -#include "data.h"
    -#include "timers_driver.h"
    -#include <dlfcn.h>
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - -

    Typedefs

    typedef void * LIB_HANDLE

    Functions

    UNS8 UnLoadCanDriver (LIB_HANDLE handle)
    LIB_HANDLE LoadCanDriver (char *driver_name)
    UNS8 canSend (CAN_PORT port, Message *m)
    CAN_PORT canOpen (s_BOARD *board, CO_Data *d)
    int canClose (CO_Data *d)
    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef void* LIB_HANDLE
    -
    -
    - -

    - -

    -Definition at line 13 of file canfestival.h. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    int canClose (CO_Data d  ) 
    -
    -
    - -

    - -

    -Definition at line 178 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    CAN_PORT canOpen (s_BOARD board,
    CO_Data d 
    )
    -
    -
    - -

    - -

    -Definition at line 145 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 canSend (CAN_PORT  port,
    Message m 
    )
    -
    -
    - -

    - -

    -Definition at line 120 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    LIB_HANDLE LoadCanDriver (char *  driver_name  ) 
    -
    -
    - -

    - -

    -Definition at line 84 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    UNS8 UnLoadCanDriver (LIB_HANDLE  handle  ) 
    -
    -
    - -

    - -

    -Definition at line 71 of file unix.c. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_2canfestival_8h__incl.dot --- a/doc/doxygen/html/unix_2canfestival_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node7 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node7 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node10 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node12 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node13 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node14 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node15 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node7 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node17 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__driver_8h.html"]; - Node18 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="dlfcn.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_2canfestival_8h__incl.md5 --- a/doc/doxygen/html/unix_2canfestival_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6e8756a07cfa2010ccdb0f52a6d3e943 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_8c-source.html --- a/doc/doxygen/html/unix_8c-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,214 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 #include <unistd.h>
    -00023 #include <stdio.h>
    -00024 #include <stdlib.h>
    -00025 
    -00026 #ifndef NOT_USE_DYNAMIC_LOADING
    -00027 #define DLL_CALL(funcname) (* funcname##_driver)
    -00028 #define FCT_PTR_INIT =NULL
    -00029 
    -00030 #define DLSYM(name)\
    -00031         *(void **) (&name##_driver) = dlsym(handle, #name"_driver");\
    -00032         if ((error = dlerror()) != NULL)  {\
    -00033                 fprintf (stderr, "%s\n", error);\
    -00034                 UnLoadCanDriver(handle);\
    -00035                 return NULL;\
    -00036         }
    -00037 
    -00038 #else /*NOT_USE_DYNAMIC_LOADING*/
    -00039 
    -00040 /*Function call is direct*/
    -00041 #define DLL_CALL(funcname) funcname##_driver
    -00042 
    -00043 #endif /*NOT_USE_DYNAMIC_LOADING*/
    -00044 
    -00045 #include "data.h"
    -00046 #include "canfestival.h"
    -00047 #include "timers_driver.h"
    -00048 
    -00049 #define MAX_NB_CAN_PORTS 16
    -00050 
    -00051 typedef struct {
    -00052   char used;
    -00053   CAN_HANDLE fd;
    -00054   TASK_HANDLE receiveTask;
    -00055   CO_Data* d;
    -00056 } CANPort;
    -00057 
    -00058 #include "can_driver.h"
    -00059 
    -00060 /*Declares the funtion pointers for dll binding or simple protos*/
    -00061 /*UNS8 DLL_CALL(canReceive)(CAN_HANDLE, Message *);
    -00062 UNS8 DLL_CALL(canSend)(CAN_HANDLE, Message *);
    -00063 CAN_HANDLE DLL_CALL(canOpen)(s_BOARD *);
    -00064 int DLL_CALL(canClose)(CAN_HANDLE);
    -00065 */
    -00066 CANPort canports[MAX_NB_CAN_PORTS] = {{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,}};
    -00067 
    -00068 #ifndef NOT_USE_DYNAMIC_LOADING
    -00069 
    -00070 /*UnLoads the dll*/
    -00071 UNS8 UnLoadCanDriver(LIB_HANDLE handle)
    -00072 {
    -00073         if(handle!=NULL)
    -00074         {
    -00075                 dlclose(handle);
    -00076 
    -00077                 handle=NULL;
    -00078                 return 0;
    -00079         }
    -00080         return -1;
    -00081 }
    -00082 
    -00083 /*Loads the dll and get funcs ptr*/
    -00084 LIB_HANDLE LoadCanDriver(char* driver_name)
    -00085 {
    -00086         LIB_HANDLE handle = NULL;
    -00087         char *error;
    -00088         
    -00089 
    -00090         if(handle==NULL)
    -00091         {
    -00092                 handle = dlopen(driver_name, RTLD_LAZY);
    -00093         }
    -00094 
    -00095         if (!handle) {
    -00096                 fprintf (stderr, "%s\n", dlerror());
    -00097                 return NULL;
    -00098         }
    -00099  
    -00100         /*Get function ptr*/
    -00101         DLSYM(canReceive)
    -00102         DLSYM(canSend)
    -00103         DLSYM(canOpen)
    -00104         DLSYM(canClose)
    -00105 
    -00106         return handle;
    -00107 }
    -00108 
    -00109 #endif
    -00110 
    -00111 
    -00112 
    -00113 /*Not needed -- canReceiveLoop calls _canReceive directly *//*
    -00114 UNS8 canReceive(CAN_PORT port, Message *m)
    -00115 {
    -00116         return DLL_CALL(canReceive)(port->fd, Message *m);
    -00117 }
    -00118 */
    -00119 
    -00120 UNS8 canSend(CAN_PORT port, Message *m)
    -00121 {
    -00122         if(port){
    -00123                 UNS8 res;
    -00124                 //LeaveMutex();
    -00125                 res = DLL_CALL(canSend)(((CANPort*)port)->fd, m);
    -00126                 //EnterMutex();
    -00127                 return res;
    -00128         }               
    -00129         return -1;
    -00130 }
    -00131 
    -00132 void canReceiveLoop(CAN_PORT port)
    -00133 {
    -00134        Message m;
    -00135 
    -00136        while (1) {
    -00137                if (DLL_CALL(canReceive)(((CANPort*)port)->fd, &m) != 0)
    -00138                        break;
    -00139 
    -00140                EnterMutex();
    -00141                canDispatch(((CANPort*)port)->d, &m);
    -00142                LeaveMutex();
    -00143        }
    -00144 }
    -00145 CAN_PORT canOpen(s_BOARD *board, CO_Data * d)
    -00146 {
    -00147         int i;
    -00148         for(i=0; i < MAX_NB_CAN_PORTS; i++)
    -00149         {
    -00150                 if(!canports[i].used)
    -00151                 break;
    -00152         }
    -00153         
    -00154 #ifndef NOT_USE_DYNAMIC_LOADING
    -00155         if (&DLL_CALL(canOpen)==NULL) {
    -00156                 fprintf(stderr,"CanOpen : Can Driver dll not loaded\n");
    -00157                 return NULL;
    -00158         }
    -00159 #endif  
    -00160         CAN_HANDLE fd0 = DLL_CALL(canOpen)(board);
    -00161         if(fd0){
    -00162                 canports[i].used = 1;
    -00163                 canports[i].fd = fd0;
    -00164                 canports[i].d = d;
    -00165         
    -00166                 CreateReceiveTask(&(canports[i]), &canports[i].receiveTask, &canReceiveLoop);
    -00167                 
    -00168                 EnterMutex();
    -00169                 d->canHandle = (CAN_PORT)&canports[i];
    -00170                 LeaveMutex();
    -00171                 return (CAN_PORT)&canports[i];
    -00172         }else{
    -00173                 fprintf(stderr,"CanOpen : Cannot open board {busname='%s',baudrate='%s'}\n",board->busname, board->baudrate);
    -00174                 return NULL;
    -00175         }
    -00176 }
    -00177 
    -00178 int canClose(CO_Data * d)
    -00179 {
    -00180         EnterMutex();
    -00181         ((CANPort*)d->canHandle)->used = 0;
    -00182         CANPort* tmp = (CANPort*)d->canHandle;
    -00183         d->canHandle = NULL;
    -00184         LeaveMutex();
    -00185         
    -00186         int res = DLL_CALL(canClose)(tmp->fd);
    -00187         
    -00188         WaitReceiveTaskEnd(tmp->receiveTask);
    -00189         return res;
    -00190 }
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_8c.html --- a/doc/doxygen/html/unix_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,320 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c File Reference

    #include <unistd.h>
    -#include <stdio.h>
    -#include <stdlib.h>
    -#include "data.h"
    -#include "canfestival.h"
    -#include "timers_driver.h"
    -#include "can_driver.h"
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Data Structures

    struct  CANPort

    Defines

    #define DLL_CALL(funcname)   (* funcname##_driver)
    #define FCT_PTR_INIT   =NULL
    #define DLSYM(name)
    #define MAX_NB_CAN_PORTS   16

    Functions

    UNS8 UnLoadCanDriver (LIB_HANDLE handle)
    LIB_HANDLE LoadCanDriver (char *driver_name)
    UNS8 canSend (CAN_PORT port, Message *m)
    void canReceiveLoop (CAN_PORT port)
    CAN_PORT canOpen (s_BOARD *board, CO_Data *d)
    int canClose (CO_Data *d)

    Variables

    CANPort canports [MAX_NB_CAN_PORTS] = {{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,}}
    -


    Define Documentation

    - -
    -
    - - - - - - - - - -
    #define DLL_CALL (funcname   )    (* funcname##_driver)
    -
    -
    - -

    - -

    -Definition at line 27 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    #define DLSYM (name   ) 
    -
    -
    - -

    -Value:

    *(void **) (&name##_driver) = dlsym(handle, #name"_driver");\
    -        if ((error = dlerror()) != NULL)  {\
    -                fprintf (stderr, "%s\n", error);\
    -                UnLoadCanDriver(handle);\
    -                return NULL;\
    -        }
    -
    -

    -Definition at line 30 of file unix.c. -

    -

    - -

    -
    - - - - -
    #define FCT_PTR_INIT   =NULL
    -
    -
    - -

    - -

    -Definition at line 28 of file unix.c. -

    -

    - -

    -
    - - - - -
    #define MAX_NB_CAN_PORTS   16
    -
    -
    - -

    - -

    -Definition at line 49 of file unix.c. -

    -

    -


    Function Documentation

    - -
    -
    - - - - - - - - - -
    int canClose (CO_Data d  ) 
    -
    -
    - -

    - -

    -Definition at line 178 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    CAN_PORT canOpen (s_BOARD board,
    CO_Data d 
    )
    -
    -
    - -

    - -

    -Definition at line 145 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    void canReceiveLoop (CAN_PORT  port  ) 
    -
    -
    - -

    - -

    -Definition at line 132 of file unix.c. -

    -References canDispatch(), canReceive(), DLL_CALL, EnterMutex(), and LeaveMutex(). -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 canSend (CAN_PORT  port,
    Message m 
    )
    -
    -
    - -

    - -

    -Definition at line 120 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    LIB_HANDLE LoadCanDriver (char *  driver_name  ) 
    -
    -
    - -

    - -

    -Definition at line 84 of file unix.c. -

    -

    - -

    -
    - - - - - - - - - -
    UNS8 UnLoadCanDriver (LIB_HANDLE  handle  ) 
    -
    -
    - -

    - -

    -Definition at line 71 of file unix.c. -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    CANPort canports[MAX_NB_CAN_PORTS] = {{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,},{0,}}
    -
    -
    - -

    - -

    -Definition at line 66 of file unix.c. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_8c_45ceca3727c2fb7ac93958a215efb827_cgraph.dot --- a/doc/doxygen/html/unix_8c_45ceca3727c2fb7ac93958a215efb827_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canReceiveLoop",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canDispatch",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#3f8975650604cc23582f19a43fd4e518"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="proceedNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#97d175ea168c149c99b01dcde0989743"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="setState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node6 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node6 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node6 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node10 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node11 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node4 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="heartbeatInit",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node14 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node14 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="OnHeartbeatProducerUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368"]; - Node16 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node17 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node14 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="ProducerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#626b7d9e527a898682d9122f91454de9"]; - Node19 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="RegisterSetODentryCallBack",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$objacces_8c.html#514e7b9c13835a86446b1cd38fa34049"]; - Node14 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node13 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node22 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node23 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="startSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node24 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="OnCOB_ID_SyncUpdate",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#82595787f641ab85980d83522f1158b0"]; - Node25 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node26 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="SyncAlarm",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45"]; - Node13 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 [label="proceedNODE_GUARD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#b3248945e06e8b05518beddf665f174d"]; - Node28 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node29 [label="proceedPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2"]; - Node29 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node30 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node29 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node31 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node29 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node32 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node29 -> Node33 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node33 -> Node34 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 [label="_setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; - Node34 -> Node35 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 [label="accessDictionaryError",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26"]; - Node2 -> Node36 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 [label="proceedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2a93a7c780472b1d8666d89aa270f661"]; - Node36 -> Node37 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9"]; - Node37 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 -> Node38 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node38 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node38 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node39 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node39 [label="getSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f"]; - Node36 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node40 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node40 [label="lineToSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065"]; - Node36 -> Node41 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node41 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f"]; - Node41 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node42 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58"]; - Node42 -> Node33 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node43 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node43 [label="SDOtoLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694"]; - Node36 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 -> Node44 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 [label="setSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810"]; - Node2 -> Node45 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node45 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node45 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node45 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node45 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node46 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node46 [label="canReceive",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html#c608a4ba478a809fd963a342a24226fd"]; - Node1 -> Node47 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node47 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node48 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node48 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_8c_45ceca3727c2fb7ac93958a215efb827_cgraph.md5 --- a/doc/doxygen/html/unix_8c_45ceca3727c2fb7ac93958a215efb827_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -beaf32e256036ca4c4b0499327fc6824 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_8c__incl.dot --- a/doc/doxygen/html/unix_8c__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="unistd.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node6 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node5 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node9 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node5 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node11 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node12 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node15 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node16 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node17 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node5 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node19 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node20 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node21 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__driver_8h.html"]; - Node22 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/unix_8c__incl.md5 --- a/doc/doxygen/html/unix_8c__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -91456a7d8d3750e055c7e1a6f89febc4 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2applicfg_8h-source.html --- a/doc/doxygen/html/win32_2applicfg_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/win32/applicfg.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/win32/applicfg.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack.
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 
    -00006 See COPYING file for copyrights details.
    -00007 
    -00008 This library is free software; you can redistribute it and/or
    -00009 modify it under the terms of the GNU Lesser General Public
    -00010 License as published by the Free Software Foundation; either
    -00011 version 2.1 of the License, or (at your option) any later version.
    -00012 
    -00013 This library is distributed in the hope that it will be useful,
    -00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00016 Lesser General Public License for more details.
    -00017 
    -00018 You should have received a copy of the GNU Lesser General Public
    -00019 License along with this library; if not, write to the Free Software
    -00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00021 */
    -00022 
    -00023 #ifndef __APPLICFG_WIN32__
    -00024 #define __APPLICFG_WIN32__
    -00025 
    -00026 #include <windows.h>
    -00027 #include <string.h>
    -00028 #include <stdio.h>
    -00029 
    -00030 // Define the architecture : little_endian or big_endian
    -00031 // -----------------------------------------------------
    -00032 // Test :
    -00033 // UNS32 v = 0x1234ABCD;
    -00034 // char *data = &v;
    -00035 //
    -00036 // Result for a little_endian architecture :
    -00037 // data[0] = 0xCD;
    -00038 // data[1] = 0xAB;
    -00039 // data[2] = 0x34;
    -00040 // data[3] = 0x12;
    -00041 //
    -00042 // Result for a big_endian architecture :
    -00043 // data[0] = 0x12;
    -00044 // data[1] = 0x34;
    -00045 // data[2] = 0xAB;
    -00046 // data[3] = 0xCD;
    -00047 
    -00048 // Integers
    -00049 #define INTEGER8 char
    -00050 #define INTEGER16 short
    -00051 #define INTEGER24 long
    -00052 #define INTEGER32 long
    -00053 #define INTEGER40 long long
    -00054 #define INTEGER48 long long
    -00055 #define INTEGER56 long long
    -00056 #define INTEGER64 long long
    -00057 
    -00058 // Unsigned integers
    -00059 #define UNS8   unsigned char
    -00060 #define UNS16  unsigned short
    -00061 #define UNS32  unsigned long
    -00062 #define UNS24  unsigned long 
    -00063 #define UNS40  unsigned long long
    -00064 #define UNS48  unsigned long long
    -00065 #define UNS56  unsigned long long
    -00066 #define UNS64  unsigned long long
    -00067 
    -00068 // Reals
    -00069 #define REAL32 float
    -00070 #define REAL64 double
    -00071 
    -00072 // Custom integer types sizes
    -00073 #define sizeof_INTEGER24 3
    -00074 #define sizeof_INTEGER40 5
    -00075 #define sizeof_INTEGER48 6
    -00076 #define sizeof_INTEGER56 7
    -00077 
    -00078 #define sizeof_UNS24  3
    -00079 #define sizeof_UNS40  5
    -00080 #define sizeof_UNS48  6
    -00081 #define sizeof_UNS56  7
    -00082 
    -00083 // Non integral integers conversion macros
    -00084 #define INT24_2_32(a) (a <= 0x7FFFFF ? a : a|0xFF000000)
    -00085 #define INT40_2_64(a) (a <= 0x0000007FFFFFFFFF ? a : a|0xFFFFFF0000000000)
    -00086 #define INT48_2_64(a) (a <= 0x00007FFFFFFFFFFF ? a : a|0xFFFF000000000000)
    -00087 #define INT56_2_64(a) (a <= 0x007FFFFFFFFFFFFF ? a : a|0xFF00000000000000)
    -00088 
    -00089 #define INT32_2_24(a) (a&0x00FFFFFF)
    -00090 #define INT64_2_40(a) (a&0x000000FFFFFFFFFF)
    -00091 #define INT64_2_48(a) (a&0x0000FFFFFFFFFFFF)
    -00092 #define INT64_2_56(a) (a&0x00FFFFFFFFFFFFFF)
    -00093 
    -00095 // --------------------------------------
    -00096 
    -00097 #ifdef UNICODE
    -00098   #define CANFESTIVAL_DEBUG_MSG(num, str, val)\
    -00099     {wchar_t msg[300];\
    -00100      unsigned long value = val;\
    -00101      swprintf(msg,L"%s(%d) : 0x%X %s 0x%X\n",__FILE__, __LINE__,num, str, value);\
    -00102      OutputDebugString(msg);}
    -00103 #else
    -00104   #define CANFESTIVAL_DEBUG_MSG(num, str, val)\
    -00105     {char msg[300];\
    -00106      unsigned long value = val;\
    -00107      sprintf(msg,"%s(%d) : 0x%X %s 0x%X\n",__FILE__, __LINE__,num, str, value);\
    -00108      OutputDebugString(msg);}
    -00109 #endif  
    -00110 
    -00112 // ---------------------
    -00113 #ifdef DEBUG_WAR_CONSOLE_ON
    -00114     #define MSG_WAR(num, str, val) CANFESTIVAL_DEBUG_MSG(num, str, val)
    -00115 #else
    -00116 #    define MSG_WAR(num, str, val)
    -00117 #endif
    -00118 
    -00120 // ---------------------
    -00121 #ifdef DEBUG_ERR_CONSOLE_ON
    -00122 #    define MSG_ERR(num, str, val) CANFESTIVAL_DEBUG_MSG(num, str, val)
    -00123 #else
    -00124 #    define MSG_ERR(num, str, val)
    -00125 #endif
    -00126 
    -00127 
    -00128 
    -00129 typedef void* CAN_HANDLE;
    -00130 
    -00131 typedef void* CAN_PORT;
    -00132 
    -00133 #endif // __APPLICFG_WIN32__
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2applicfg_8h.html --- a/doc/doxygen/html/win32_2applicfg_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,863 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/win32/applicfg.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/win32/applicfg.h File Reference

    #include <windows.h>
    -#include <string.h>
    -#include <stdio.h>
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define INTEGER8   char
    #define INTEGER16   short
    #define INTEGER24   long
    #define INTEGER32   long
    #define INTEGER40   long long
    #define INTEGER48   long long
    #define INTEGER56   long long
    #define INTEGER64   long long
    #define UNS8   unsigned char
    #define UNS16   unsigned short
    #define UNS32   unsigned long
    #define UNS24   unsigned long
    #define UNS40   unsigned long long
    #define UNS48   unsigned long long
    #define UNS56   unsigned long long
    #define UNS64   unsigned long long
    #define REAL32   float
    #define REAL64   double
    #define sizeof_INTEGER24   3
    #define sizeof_INTEGER40   5
    #define sizeof_INTEGER48   6
    #define sizeof_INTEGER56   7
    #define sizeof_UNS24   3
    #define sizeof_UNS40   5
    #define sizeof_UNS48   6
    #define sizeof_UNS56   7
    #define INT24_2_32(a)   (a <= 0x7FFFFF ? a : a|0xFF000000)
    #define INT40_2_64(a)   (a <= 0x0000007FFFFFFFFF ? a : a|0xFFFFFF0000000000)
    #define INT48_2_64(a)   (a <= 0x00007FFFFFFFFFFF ? a : a|0xFFFF000000000000)
    #define INT56_2_64(a)   (a <= 0x007FFFFFFFFFFFFF ? a : a|0xFF00000000000000)
    #define INT32_2_24(a)   (a&0x00FFFFFF)
    #define INT64_2_40(a)   (a&0x000000FFFFFFFFFF)
    #define INT64_2_48(a)   (a&0x0000FFFFFFFFFFFF)
    #define INT64_2_56(a)   (a&0x00FFFFFFFFFFFFFF)
    #define CANFESTIVAL_DEBUG_MSG(num, str, val)
     Definition of error and warning macros.
    #define MSG_WAR(num, str, val)
     Definition of MSG_WAR.
    #define MSG_ERR(num, str, val)
     Definition of MSG_ERR.

    Typedefs

    typedef void * CAN_HANDLE
    typedef void * CAN_PORT
    -


    Define Documentation

    - -
    -
    - - - - - - - - - - - - - - - -
    #define CANFESTIVAL_DEBUG_MSG (num,
    str,
    val   ) 
    -
    -
    - -

    -Value:

    {char msg[300];\
    -     unsigned long value = val;\
    -     sprintf(msg,"%s(%d) : 0x%X %s 0x%X\n",__FILE__, __LINE__,num, str, value);\
    -     OutputDebugString(msg);}
    -
    Definition of error and warning macros. -

    - -

    -Definition at line 104 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define INT24_2_32 (  )    (a <= 0x7FFFFF ? a : a|0xFF000000)
    -
    -
    - -

    - -

    -Definition at line 84 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define INT32_2_24 (  )    (a&0x00FFFFFF)
    -
    -
    - -

    - -

    -Definition at line 89 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define INT40_2_64 (  )    (a <= 0x0000007FFFFFFFFF ? a : a|0xFFFFFF0000000000)
    -
    -
    - -

    - -

    -Definition at line 85 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define INT48_2_64 (  )    (a <= 0x00007FFFFFFFFFFF ? a : a|0xFFFF000000000000)
    -
    -
    - -

    - -

    -Definition at line 86 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define INT56_2_64 (  )    (a <= 0x007FFFFFFFFFFFFF ? a : a|0xFF00000000000000)
    -
    -
    - -

    - -

    -Definition at line 87 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define INT64_2_40 (  )    (a&0x000000FFFFFFFFFF)
    -
    -
    - -

    - -

    -Definition at line 90 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define INT64_2_48 (  )    (a&0x0000FFFFFFFFFFFF)
    -
    -
    - -

    - -

    -Definition at line 91 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define INT64_2_56 (  )    (a&0x00FFFFFFFFFFFFFF)
    -
    -
    - -

    - -

    -Definition at line 92 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER16   short
    -
    -
    - -

    - -

    -Definition at line 50 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER24   long
    -
    -
    - -

    - -

    -Definition at line 51 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER32   long
    -
    -
    - -

    - -

    -Definition at line 52 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER40   long long
    -
    -
    - -

    - -

    -Definition at line 53 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER48   long long
    -
    -
    - -

    - -

    -Definition at line 54 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER56   long long
    -
    -
    - -

    - -

    -Definition at line 55 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER64   long long
    -
    -
    - -

    - -

    -Definition at line 56 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define INTEGER8   char
    -
    -
    - -

    - -

    -Definition at line 49 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define MSG_ERR (num,
    str,
    val   ) 
    -
    -
    - -

    -Definition of MSG_ERR. -

    - -

    -Definition at line 124 of file applicfg.h. -

    -

    - -

    -
    - - - - - - - - - - - - - - - -
    #define MSG_WAR (num,
    str,
    val   ) 
    -
    -
    - -

    -Definition of MSG_WAR. -

    - -

    -Definition at line 116 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define REAL32   float
    -
    -
    - -

    - -

    -Definition at line 69 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define REAL64   double
    -
    -
    - -

    - -

    -Definition at line 70 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define sizeof_INTEGER24   3
    -
    -
    - -

    - -

    -Definition at line 73 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define sizeof_INTEGER40   5
    -
    -
    - -

    - -

    -Definition at line 74 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define sizeof_INTEGER48   6
    -
    -
    - -

    - -

    -Definition at line 75 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define sizeof_INTEGER56   7
    -
    -
    - -

    - -

    -Definition at line 76 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define sizeof_UNS24   3
    -
    -
    - -

    - -

    -Definition at line 78 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define sizeof_UNS40   5
    -
    -
    - -

    - -

    -Definition at line 79 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define sizeof_UNS48   6
    -
    -
    - -

    - -

    -Definition at line 80 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define sizeof_UNS56   7
    -
    -
    - -

    - -

    -Definition at line 81 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS16   unsigned short
    -
    -
    - -

    - -

    -Definition at line 60 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS24   unsigned long
    -
    -
    - -

    - -

    -Definition at line 62 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS32   unsigned long
    -
    -
    - -

    - -

    -Definition at line 61 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS40   unsigned long long
    -
    -
    - -

    - -

    -Definition at line 63 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS48   unsigned long long
    -
    -
    - -

    - -

    -Definition at line 64 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS56   unsigned long long
    -
    -
    - -

    - -

    -Definition at line 65 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS64   unsigned long long
    -
    -
    - -

    - -

    -Definition at line 66 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    #define UNS8   unsigned char
    -
    -
    - -

    - -

    -Definition at line 59 of file applicfg.h. -

    -

    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef void* CAN_HANDLE
    -
    -
    - -

    - -

    -Definition at line 129 of file applicfg.h. -

    -

    - -

    -
    - - - - -
    typedef void* CAN_PORT
    -
    -
    - -

    - -

    -Definition at line 131 of file applicfg.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2applicfg_8h__dep__incl.dot --- a/doc/doxygen/html/win32_2applicfg_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/applicfg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__xeno_8c.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__win32_8cpp.html"]; - Node1 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/src/timer.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html"]; - Node1 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/include/can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node6 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/include/can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node7 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node8 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/include/objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node9 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/include/lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node10 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/nmtSlave.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8h.html"]; - Node8 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node12 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node13 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node14 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/applicfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$hcs12_2applicfg_8h.html"]; - Node6 -> Node16 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="/home/epimerde/documents/tc11/CanFestival-3/include/hcs12/candriver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$candriver_8h.html"]; - Node1 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2applicfg_8h__dep__incl.md5 --- a/doc/doxygen/html/win32_2applicfg_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -82d137e88271506e574a4170e0d21b9a \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2applicfg_8h__incl.dot --- a/doc/doxygen/html/win32_2applicfg_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/applicfg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2applicfg_8h__incl.md5 --- a/doc/doxygen/html/win32_2applicfg_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -90454797aca9d5f4088abdcec8813ba7 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h-source.html --- a/doc/doxygen/html/win32_2canfestival_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack.
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 Win32 Port Leonid Tochinski
    -00006 
    -00007 See COPYING file for copyrights details.
    -00008 
    -00009 This library is free software; you can redistribute it and/or
    -00010 modify it under the terms of the GNU Lesser General Public
    -00011 License as published by the Free Software Foundation; either
    -00012 version 2.1 of the License, or (at your option) any later version.
    -00013 
    -00014 This library is distributed in the hope that it will be useful,
    -00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00017 Lesser General Public License for more details.
    -00018 
    -00019 You should have received a copy of the GNU Lesser General Public
    -00020 License along with this library; if not, write to the Free Software
    -00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00022 */
    -00023 #ifndef CANFESTIVAL_H_
    -00024 #define CANFESTIVAL_H_
    -00025 
    -00026 #include "timerscfg.h"
    -00027 #include "can_driver.h"
    -00028 #include "data.h"
    -00029 
    -00030 #include <windows.h>
    -00031 typedef HINSTANCE LIB_HANDLE;
    -00032 
    -00033 UNS8 UnLoadCanDriver(LIB_HANDLE handle);
    -00034 LIB_HANDLE LoadCanDriver(char* driver_name);
    -00035 UNS8 canSend(CAN_PORT port, Message *m);
    -00036 CAN_PORT canOpen(s_BOARD *board, CO_Data * d);
    -00037 int canClose(CO_Data * d);
    -00038 
    -00039 #endif /*CANFESTIVAL_H_*/
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h.html --- a/doc/doxygen/html/win32_2canfestival_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h File Reference

    #include "timerscfg.h"
    -#include "can_driver.h"
    -#include "data.h"
    -#include <windows.h>
    - -

    -Go to the source code of this file. - - - - - - - - - - - - - - - -

    Typedefs

    typedef HINSTANCE LIB_HANDLE

    Functions

    UNS8 UnLoadCanDriver (LIB_HANDLE handle)
    LIB_HANDLE LoadCanDriver (char *driver_name)
    UNS8 canSend (CAN_PORT port, Message *m)
    CAN_PORT canOpen (s_BOARD *board, CO_Data *d)
    int canClose (CO_Data *d)
    -


    Typedef Documentation

    - -
    -
    - - - - -
    typedef HINSTANCE LIB_HANDLE
    -
    -
    - -

    - -

    -Definition at line 31 of file canfestival.h. -

    -

    -


    Function Documentation

    - -

    - -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS8 canSend (CAN_PORT  port,
    Message m 
    )
    -
    -
    - -

    - -

    -Definition at line 120 of file unix.c. -

    -References canSend(), DLL_CALL, EnterMutex(), driver_data::inst, LeaveMutex(), driver_procs::m_canSend, s_driver_procs, and UNS8. -

    -

    - -

    -
    - - - - - - - - - -
    LIB_HANDLE LoadCanDriver (char *  driver_name  ) 
    -
    -
    - -

    - -

    -Definition at line 84 of file unix.c. -

    -References canClose(), canOpen(), canReceive(), canSend(), DLSYM, driver_procs::load_canfestival_driver(), and s_driver_procs. -

    -

    - -

    -
    - - - - - - - - - -
    UNS8 UnLoadCanDriver (LIB_HANDLE  handle  ) 
    -
    -
    - -

    - -

    -Definition at line 71 of file unix.c. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h_02957f72a9b951603adb98a142bd447b_cgraph.dot --- a/doc/doxygen/html/win32_2canfestival_8h_02957f72a9b951603adb98a142bd447b_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canClose",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canClose",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#02957f72a9b951603adb98a142bd447b"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="WaitReceiveTaskEnd",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#4b2486891ee01e06e2deead4cf963727"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h_02957f72a9b951603adb98a142bd447b_cgraph.md5 --- a/doc/doxygen/html/win32_2canfestival_8h_02957f72a9b951603adb98a142bd447b_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -35fe252130621084a15a1fd85a6e88a2 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h_7476146ad15948a22e7f80a00c89c40a_cgraph.dot --- a/doc/doxygen/html/win32_2canfestival_8h_7476146ad15948a22e7f80a00c89c40a_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canOpen",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canOpen",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#7476146ad15948a22e7f80a00c89c40a"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canReceiveLoop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#45ceca3727c2fb7ac93958a215efb827"]; - Node3 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canDispatch",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#3f8975650604cc23582f19a43fd4e518"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="proceedNMTstateChange",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#97d175ea168c149c99b01dcde0989743"]; - Node5 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="setState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5"]; - Node6 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="decompo_dcf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="_writeNetworkDict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html#3c07605ffe3ea197aa36e583ef87a20a"]; - Node8 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="getSDOfreeLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#58d1f9691977617601beb9e5b4123252"]; - Node8 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="getSDOlineOnUse",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#bb0c376b048ab2c6e0524b135b62376f"]; - Node8 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="initSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b9c873a15f55b29112b5527a6cc6898d"]; - Node8 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="resetSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#42d33be015d4c4c83c73f1f0e588f481"]; - Node12 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="sendSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#c6b5d7d1439d537da992a96644a1ca5d"]; - Node13 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node6 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="switchCommunicationState",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03"]; - Node15 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="heartbeatInit",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21"]; - Node16 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node17 [label="ConsumerHearbeatAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198"]; - Node16 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node18 [label="SetAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#11c2616d78f06ed9144ef662f757b128"]; - Node15 -> Node19 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node19 [label="heartbeatStop",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7"]; - Node19 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node20 [label="DelAlarm",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html#991b3cfaac2f201b14d5530f75985c21"]; - Node15 -> Node21 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node21 [label="resetSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b"]; - Node21 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node22 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node22 [label="slaveSendBootUp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5"]; - Node22 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node23 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 [label="startSYNC",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a"]; - Node23 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node23 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node24 [label="stopSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164"]; - Node24 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node24 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node25 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 [label="proceedNODE_GUARD",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html#b3248945e06e8b05518beddf665f174d"]; - Node25 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 -> Node20 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node25 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node26 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node26 [label="proceedPDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2"]; - Node26 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node27 [label="CopyBits",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#e468510c9f77f502207d961d26389918"]; - Node26 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node28 [label="getODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac"]; - Node26 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node29 [label="PDOmGR",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html#298b8291fa35cca22264cf8a70bf138a"]; - Node26 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node30 [label="setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0"]; - Node30 -> Node31 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node31 [label="_setODentry",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#72f69950be4a1352fc78648c71454820"]; - Node31 -> Node32 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node32 [label="accessDictionaryError",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8c.html#75d39b2dadcdb48f7321c6f3766aad26"]; - Node4 -> Node33 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 [label="proceedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2a93a7c780472b1d8666d89aa270f661"]; - Node33 -> Node34 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 [label="failedSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2019db2a4d17e6d29c055cbae173e2b9"]; - Node34 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node34 -> Node35 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node35 [label="sendSDOabort",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#b26c3f2fb63d81055809d6ccaa785b7c"]; - Node35 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node36 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node36 [label="getSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#acceb714c6e457e98deb9ba164ba2a2f"]; - Node33 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node37 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node37 [label="lineToSDO",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#ad6eb8be03b832ebba4dfb87aaba4065"]; - Node33 -> Node38 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node38 [label="objdictToSDOline",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#29427a80fd1aeabff30bf0602fbc220f"]; - Node38 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node39 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node39 [label="SDOlineToObjdict",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#2eb5309dca3a7363da5e5e7230b85d58"]; - Node39 -> Node30 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node40 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node40 [label="SDOtoLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#18b6f7e9c9441640a88ffef1e8720694"]; - Node33 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node33 -> Node41 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node41 [label="setSDOlineRestBytes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html#601a837ecb5f21bf4c66b058c5ae7810"]; - Node4 -> Node42 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 [label="proceedSYNC",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1"]; - Node42 -> Node27 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 -> Node28 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node42 -> Node29 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 -> Node43 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node43 [label="canReceive",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html#c608a4ba478a809fd963a342a24226fd"]; - Node3 -> Node44 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node44 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node3 -> Node45 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node45 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; - Node1 -> Node46 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node46 [label="CreateReceiveTask",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#a3a7df911baa20b01c4374a9677a154a"]; - Node1 -> Node44 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node45 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h_7476146ad15948a22e7f80a00c89c40a_cgraph.md5 --- a/doc/doxygen/html/win32_2canfestival_8h_7476146ad15948a22e7f80a00c89c40a_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -074a1322ddf916727acca759411ff204 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h_8d1909a09c50c750e4d8626595acd9f6_cgraph.dot --- a/doc/doxygen/html/win32_2canfestival_8h_8d1909a09c50c750e4d8626595acd9f6_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="canSend",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="EnterMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="LeaveMutex",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h_8d1909a09c50c750e4d8626595acd9f6_cgraph.md5 --- a/doc/doxygen/html/win32_2canfestival_8h_8d1909a09c50c750e4d8626595acd9f6_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -93ed833591460258cc22c95d1e28e20c \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h__dep__incl.dot --- a/doc/doxygen/html/win32_2canfestival_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html"]; - Node1 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/src/lifegrd.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8c.html"]; - Node1 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtMaster.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8c.html"]; - Node1 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/src/nmtSlave.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtSlave_8c.html"]; - Node1 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/src/pdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8c.html"]; - Node1 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html"]; - Node1 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sync.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8c.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h__dep__incl.md5 --- a/doc/doxygen/html/win32_2canfestival_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ae9e579757c0b914d555cd86822cd305 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h__incl.dot --- a/doc/doxygen/html/win32_2canfestival_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2timerscfg_8h.html"]; - Node2 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="can_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__driver_8h.html"]; - Node4 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="applicfg.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$win32_2applicfg_8h.html"]; - Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="can.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can_8h.html"]; - Node6 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="data.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node7 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="def.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$def_8h.html"]; - Node7 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="objdictdef.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objdictdef_8h.html"]; - Node7 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="objacces.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$objacces_8h.html"]; - Node10 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="sdo.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node11 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="pdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pdo_8h.html"]; - Node12 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="states.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$states_8h.html"]; - Node13 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="lifegrd.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$lifegrd_8h.html"]; - Node14 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="sync.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sync_8h.html"]; - Node7 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node16 [label="nmtMaster.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$nmtMaster_8h.html"]; - Node16 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h__incl.md5 --- a/doc/doxygen/html/win32_2canfestival_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -afb52a2efab66e06b225412b13bc3a69 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h_a6eed61fc15f41f772d4645d7a5edeb5_cgraph.dot --- a/doc/doxygen/html/win32_2canfestival_8h_a6eed61fc15f41f772d4645d7a5edeb5_cgraph.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="LoadCanDriver",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="canClose",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#02957f72a9b951603adb98a142bd447b"]; - Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="canOpen",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html#7476146ad15948a22e7f80a00c89c40a"]; - Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="canReceive",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html#c608a4ba478a809fd963a342a24226fd"]; - Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="canSend",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977"]; - Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="driver_procs::load_canfestival_driver",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$classdriver__procs.html#719fa10d86bcd9b7a1ab7bea3dec1d03"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2canfestival_8h_a6eed61fc15f41f772d4645d7a5edeb5_cgraph.md5 --- a/doc/doxygen/html/win32_2canfestival_8h_a6eed61fc15f41f772d4645d7a5edeb5_cgraph.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6863873492f8fe2ce99c7dac7841800b \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2config_8h-source.html --- a/doc/doxygen/html/win32_2config_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/win32/config.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/win32/config.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack.
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 See COPYING file for copyrights details.
    -00006 
    -00007 This library is free software; you can redistribute it and/or
    -00008 modify it under the terms of the GNU Lesser General Public
    -00009 License as published by the Free Software Foundation; either
    -00010 version 2.1 of the License, or (at your option) any later version.
    -00011 
    -00012 This library is distributed in the hope that it will be useful,
    -00013 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00015 Lesser General Public License for more details.
    -00016 
    -00017 You should have received a copy of the GNU Lesser General Public
    -00018 License along with this library; if not, write to the Free Software
    -00019 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00020 */
    -00021 
    -00022 #ifndef _CONFIG_H_
    -00023 #define _CONFIG_H_
    -00024 
    -00025 #define MAX_CAN_BUS_ID 1
    -00026 #define SDO_MAX_LENGTH_TRANSFERT 32
    -00027 #define SDO_MAX_SIMULTANEOUS_TRANSFERTS 4
    -00028 #define NMT_MAX_NODE_ID 128
    -00029 #define SDO_TIMEOUT_MS 3000
    -00030 #define MAX_NB_TIMER 32
    -00031 // CANOPEN_BIG_ENDIAN is not defined
    -00032 
    -00033 #define US_TO_TIMEVAL_FACTOR 1
    -00034 
    -00035 #define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(repeat)\
    -00036 repeat repeat repeat repeat
    -00037 #define REPEAT_NMT_MAX_NODE_ID_TIMES(repeat)\
    -00038 repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat
    -00039 
    -00040 #endif /* _CONFIG_H_ */
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2config_8h.html --- a/doc/doxygen/html/win32_2config_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,212 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/win32/config.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/win32/config.h File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - -

    Defines

    #define MAX_CAN_BUS_ID   1
    #define SDO_MAX_LENGTH_TRANSFERT   32
    #define SDO_MAX_SIMULTANEOUS_TRANSFERTS   4
    #define NMT_MAX_NODE_ID   128
    #define SDO_TIMEOUT_MS   3000
    #define MAX_NB_TIMER   32
    #define US_TO_TIMEVAL_FACTOR   1
    #define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(repeat)   repeat repeat repeat repeat
    #define REPEAT_NMT_MAX_NODE_ID_TIMES(repeat)   repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat
    -


    Define Documentation

    - -
    -
    - - - - -
    #define MAX_CAN_BUS_ID   1
    -
    -
    - -

    - -

    -Definition at line 25 of file config.h. -

    -

    - -

    -
    - - - - -
    #define MAX_NB_TIMER   32
    -
    -
    - -

    - -

    -Definition at line 30 of file config.h. -

    -

    - -

    -
    - - - - -
    #define NMT_MAX_NODE_ID   128
    -
    -
    - -

    - -

    -Definition at line 28 of file config.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define REPEAT_NMT_MAX_NODE_ID_TIMES (repeat   )    repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat
    -
    -
    - -

    - -

    -Definition at line 37 of file config.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES (repeat   )    repeat repeat repeat repeat
    -
    -
    - -

    - -

    -Definition at line 35 of file config.h. -

    -

    - -

    -
    - - - - -
    #define SDO_MAX_LENGTH_TRANSFERT   32
    -
    -
    - -

    - -

    -Definition at line 26 of file config.h. -

    -

    - -

    -
    - - - - -
    #define SDO_MAX_SIMULTANEOUS_TRANSFERTS   4
    -
    -
    - -

    - -

    -Definition at line 27 of file config.h. -

    -

    - -

    -
    - - - - -
    #define SDO_TIMEOUT_MS   3000
    -
    -
    - -

    - -

    -Definition at line 29 of file config.h. -

    -

    - -

    -
    - - - - -
    #define US_TO_TIMEVAL_FACTOR   1
    -
    -
    - -

    - -

    -Definition at line 33 of file config.h. -

    -

    -


    Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2config_8h__dep__incl.dot --- a/doc/doxygen/html/win32_2config_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/config.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/can_socket/can_socket.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$can__socket_8c.html"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2config_8h__dep__incl.md5 --- a/doc/doxygen/html/win32_2config_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ef25159216690c93fa4dddc3fff12501 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2timerscfg_8h-source.html --- a/doc/doxygen/html/win32_2timerscfg_8h-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/win32/timerscfg.h Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/win32/timerscfg.h

    Go to the documentation of this file.
    00001 /*
    -00002 This file is part of CanFestival, a library implementing CanOpen Stack.
    -00003 
    -00004 Copyright (C): Edouard TISSERANT and Francis DUPIN
    -00005 Win32 port by Leonid Tochinski
    -00006 
    -00007 See COPYING file for copyrights details.
    -00008 
    -00009 This library is free software; you can redistribute it and/or
    -00010 modify it under the terms of the GNU Lesser General Public
    -00011 License as published by the Free Software Foundation; either
    -00012 version 2.1 of the License, or (at your option) any later version.
    -00013 
    -00014 This library is distributed in the hope that it will be useful,
    -00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00017 Lesser General Public License for more details.
    -00018 
    -00019 You should have received a copy of the GNU Lesser General Public
    -00020 License along with this library; if not, write to the Free Software
    -00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00022 */
    -00023 
    -00024 #ifndef __TIMERSCFG_H__
    -00025 #define __TIMERSCFG_H__
    -00026 
    -00027 #include <windows.h>
    -00028 
    -00029 // Time unit : us
    -00030 // Time resolution : 64bit (~584942 years)
    -00031 #define TIMEVAL unsigned long long
    -00032 #define TIMEVAL_MAX ~(TIMEVAL)0
    -00033 #define MS_TO_TIMEVAL(ms) ms*1000
    -00034 #define US_TO_TIMEVAL(us) us
    -00035 
    -00036 #define TASK_HANDLE HANDLE
    -00037 
    -00038 #endif
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2timerscfg_8h.html --- a/doc/doxygen/html/win32_2timerscfg_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/include/win32/timerscfg.h File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/include/win32/timerscfg.h File Reference

    #include <windows.h>
    - -

    -Go to the source code of this file. - - - - - - - - - - - - -

    Defines

    #define TIMEVAL   unsigned long long
    #define TIMEVAL_MAX   ~(TIMEVAL)0
    #define MS_TO_TIMEVAL(ms)   ms*1000
    #define US_TO_TIMEVAL(us)   us
    #define TASK_HANDLE   HANDLE
    -


    Define Documentation

    - -
    -
    - - - - - - - - - -
    #define MS_TO_TIMEVAL (ms   )    ms*1000
    -
    -
    - -

    - -

    -Definition at line 33 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TASK_HANDLE   HANDLE
    -
    -
    - -

    - -

    -Definition at line 36 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TIMEVAL   unsigned long long
    -
    -
    - -

    - -

    -Definition at line 31 of file timerscfg.h. -

    -

    - -

    -
    - - - - -
    #define TIMEVAL_MAX   ~(TIMEVAL)0
    -
    -
    - -

    - -

    -Definition at line 32 of file timerscfg.h. -

    -

    - -

    -
    - - - - - - - - - -
    #define US_TO_TIMEVAL (us   )    us
    -
    -
    - -

    - -

    -Definition at line 34 of file timerscfg.h. -

    -

    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2timerscfg_8h__dep__incl.dot --- a/doc/doxygen/html/win32_2timerscfg_8h__dep__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timer.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8h.html"]; - Node2 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node3 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_unix/timers_unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__unix_8c.html"]; - Node2 -> Node4 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node4 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/timers_xeno/timers_xeno.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__xeno_8c.html"]; - Node2 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node5 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/drivers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$drivers__win32_8cpp.html"]; - Node2 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node6 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/win32/timers_win32.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__win32_8cpp.html"]; - Node2 -> Node7 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node7 [label="/home/epimerde/documents/tc11/CanFestival-3/src/timer.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timer_8c.html"]; - Node2 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node8 [label="/home/epimerde/documents/tc11/CanFestival-3/include/sdo.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8h.html"]; - Node8 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node9 [label="/home/epimerde/documents/tc11/CanFestival-3/src/dcf.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dcf_8c.html"]; - Node8 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node10 [label="/home/epimerde/documents/tc11/CanFestival-3/src/sdo.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sdo_8c.html"]; - Node8 -> Node11 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 [label="/home/epimerde/documents/tc11/CanFestival-3/include/data.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$data_8h.html"]; - Node11 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node12 [label="/home/epimerde/documents/tc11/CanFestival-3/drivers/unix/unix.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_8c.html"]; - Node11 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node8 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node11 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node13 [label="/home/epimerde/documents/tc11/CanFestival-3/include/unix/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unix_2canfestival_8h.html"]; - Node11 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/canfestival.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$win32_2canfestival_8h.html"]; - Node14 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node14 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 [label="/home/epimerde/documents/tc11/CanFestival-3/include/timers_driver.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$timers__driver_8h.html"]; - Node15 -> Node12 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node5 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node6 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node15 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node15 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node13 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node1 -> Node14 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2timerscfg_8h__dep__incl.md5 --- a/doc/doxygen/html/win32_2timerscfg_8h__dep__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -ba0d88cbe50054f23de06631eb845178 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2timerscfg_8h__incl.dot --- a/doc/doxygen/html/win32_2timerscfg_8h__incl.dot Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10]; - node [fontname="FreeSans.ttf",fontsize=10,shape=record]; - rankdir=LR; - Node1 [label="/home/epimerde/documents/tc11/CanFestival-3/include/win32/timerscfg.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"]; - Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"]; - Node2 [label="windows.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; -} diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32_2timerscfg_8h__incl.md5 --- a/doc/doxygen/html/win32_2timerscfg_8h__incl.md5 Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d8907e6f2a0d75225eb0b4ed1d8bdc00 \ No newline at end of file diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32test_8c.html --- a/doc/doxygen/html/win32test_8c.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,682 +0,0 @@ - - -CanFestival: examples/win32test/win32test.c File Reference - - - - - - -

    examples/win32test/win32test.c File Reference

    #include "win32test.h"
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Functions

    UNS32 win32test_valueRangeTest (UNS8 typeValue, void *value)
    const indextablewin32test_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)

    Variables

    UNS8 win32test_bDeviceNodeId = 0x01
    const UNS8 win32test_iam_a_slave = 0
    TIMER_HANDLE win32test_heartBeatTimers [1]
    UNS32 win32test_obj1000 = 0x12D
    subindex win32test_Index1000 []
    UNS8 win32test_obj1001 = 0x0
    subindex win32test_Index1001 []
    UNS32 win32test_obj1005 = 0x0
    ODCallback_t win32test_Index1005_callbacks []
    subindex win32test_Index1005 []
    UNS32 win32test_obj1006 = 0x0
    UNS8 win32test_highestSubIndex_obj1016 = 0
    UNS32 win32test_obj1016 [] = {0}
    UNS16 win32test_obj1017 = 0x0
    UNS8 win32test_highestSubIndex_obj1018 = 4
    UNS32 win32test_obj1018_Vendor_ID = 0x0
    UNS32 win32test_obj1018_Product_Code = 0x0
    UNS32 win32test_obj1018_Revision_Number = 0x0
    UNS32 win32test_obj1018_Serial_Number = 0x0
    subindex win32test_Index1018 []
    UNS8 win32test_highestSubIndex_obj1280 = 3
    UNS32 win32test_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x0
    UNS32 win32test_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x0
    UNS32 win32test_obj1280_Node_ID_of_the_SDO_Server = 0x0
    subindex win32test_Index1280 []
    const indextable win32test_objdict []
    UNS8 win32test_count_sync [1] = {0,}
    quick_index win32test_firstIndex
    quick_index win32test_lastIndex
    UNS16 win32test_ObjdictSize = sizeof(win32test_objdict)/sizeof(win32test_objdict[0])
    CO_Data win32test_Data = CANOPEN_NODE_DATA_INITIALIZER(win32test)
    -

    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    const indextable* win32test_scanIndexOD (UNS16  wIndex,
    UNS32 *  errorCode,
    ODCallback_t **  callbacks 
    )
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS32 win32test_valueRangeTest (UNS8  typeValue,
    void *  value 
    )
    -
    -
    - -

    - -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    UNS8 win32test_bDeviceNodeId = 0x01
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 win32test_count_sync[1] = {0,}
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    CO_Data win32test_Data = CANOPEN_NODE_DATA_INITIALIZER(win32test)
    -
    -
    - -

    - -

    -

    - -

    - -
    - -

    -Initial value:

     {
    -  0, 
    -  4, 
    -  0, 
    -  0, 
    -  0, 
    -  0 
    -}
    -
    -
    -

    - -

    -
    - - - - -
    TIMER_HANDLE win32test_heartBeatTimers[1]
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 win32test_highestSubIndex_obj1016 = 0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 win32test_highestSubIndex_obj1018 = 4
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 win32test_highestSubIndex_obj1280 = 3
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    const UNS8 win32test_iam_a_slave = 0
    -
    -
    - -

    - -

    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1000 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RO, uint8, sizeof (UNS8), (void*)&win32test_obj1001 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RW, uint32, sizeof (UNS32), (void*)&win32test_obj1005 }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       NULL,
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

     
    -                     {
    -                       { RO, uint8, sizeof (UNS8), (void*)&win32test_highestSubIndex_obj1018 },
    -                       { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Vendor_ID },
    -                       { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Product_Code },
    -                       { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Revision_Number },
    -                       { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Serial_Number }
    -                     }
    -
    -
    -

    - -

    - -
    - -

    -Initial value:

    -
    -

    - -

    - -
    - -

    -Initial value:

     {
    -  0, 
    -  4, 
    -  0, 
    -  0, 
    -  0, 
    -  0 
    -}
    -
    -
    -

    - -

    -
    - - - - -
    UNS32 win32test_obj1000 = 0x12D
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS8 win32test_obj1001 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 win32test_obj1005 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 win32test_obj1006 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 win32test_obj1016[] = {0}
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS16 win32test_obj1017 = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 win32test_obj1018_Product_Code = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 win32test_obj1018_Revision_Number = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 win32test_obj1018_Serial_Number = 0x0
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - -
    UNS32 win32test_obj1018_Vendor_ID = 0x0
    -
    -
    - -

    - -

    -

    - -

    - -
    - -

    - -

    -

    - -

    - -
    - -

    - -

    -

    - -

    - -
    - -

    - -

    -

    - -

    -
    - - - - -
    const indextable win32test_objdict[]
    -
    -
    - -

    -Initial value:

     
    -{
    -  { (subindex*)win32test_Index1000,sizeof(win32test_Index1000)/sizeof(win32test_Index1000[0]), 0x1000},
    -  { (subindex*)win32test_Index1001,sizeof(win32test_Index1001)/sizeof(win32test_Index1001[0]), 0x1001},
    -  { (subindex*)win32test_Index1005,sizeof(win32test_Index1005)/sizeof(win32test_Index1005[0]), 0x1005},
    -  { (subindex*)win32test_Index1018,sizeof(win32test_Index1018)/sizeof(win32test_Index1018[0]), 0x1018},
    -  { (subindex*)win32test_Index1280,sizeof(win32test_Index1280)/sizeof(win32test_Index1280[0]), 0x1280},
    -}
    -
    -
    -

    - -

    -
    - - - - -
    UNS16 win32test_ObjdictSize = sizeof(win32test_objdict)/sizeof(win32test_objdict[0])
    -
    -
    - -

    - -

    -

    -


    Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/win32test_8h.html --- a/doc/doxygen/html/win32test_8h.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,293 +0,0 @@ - - -CanFestival: examples/win32test/win32test.h File Reference - - - - - - -

    examples/win32test/win32test.h File Reference

    #include "data.h"
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Functions

    UNS32 win32test_valueRangeTest (UNS8 typeValue, void *value)
    const indextablewin32test_scanIndexOD (UNS16 wIndex, UNS32 *errorCode, ODCallback_t **callbacks)
    void win32test_heartbeatError (UNS8)
    UNS8 win32test_canSend (Message *)
    void win32test_initialisation (void)
    void win32test_preOperational (void)
    void win32test_operational (void)
    void win32test_stopped (void)
    void win32test_post_sync (void)
    void win32test_post_TPDO (void)

    Variables

    CO_Data win32test_Data
    -

    Function Documentation

    - -
    -
    - - - - - - - - - -
    UNS8 win32test_canSend (Message  ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void win32test_heartbeatError (UNS8   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void win32test_initialisation (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void win32test_operational (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void win32test_post_sync (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void win32test_post_TPDO (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void win32test_preOperational (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    const indextable* win32test_scanIndexOD (UNS16  wIndex,
    UNS32 *  errorCode,
    ODCallback_t **  callbacks 
    )
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - -
    void win32test_stopped (void   ) 
    -
    -
    - -

    - -

    -

    - -

    -
    - - - - - - - - - - - - - - - - - - -
    UNS32 win32test_valueRangeTest (UNS8  typeValue,
    void *  value 
    )
    -
    -
    - -

    - -

    -

    -


    Variable Documentation

    - -
    -
    - - - - -
    CO_Data win32test_Data
    -
    -
    - -

    - -

    -

    -


    Generated on Mon Jun 4 15:50:45 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/xml__in_8py-source.html --- a/doc/doxygen/html/xml__in_8py-source.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,477 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/xml_in.py Source File - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/xml_in.py

    Go to the documentation of this file.
    00001 #!/usr/bin/env python
    -00002 # -*- coding: utf-8 -*-
    -00003 
    -00004 #This file is part of CanFestival, a library implementing CanOpen Stack. 
    -00005 #
    -00006 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
    -00007 #
    -00008 #See COPYING file for copyrights details.
    -00009 #
    -00010 #This library is free software; you can redistribute it and/or
    -00011 #modify it under the terms of the GNU Lesser General Public
    -00012 #License as published by the Free Software Foundation; either
    -00013 #version 2.1 of the License, or (at your option) any later version.
    -00014 #
    -00015 #This library is distributed in the hope that it will be useful,
    -00016 #but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -00018 #Lesser General Public License for more details.
    -00019 #
    -00020 #You should have received a copy of the GNU Lesser General Public
    -00021 #License along with this library; if not, write to the Free Software
    -00022 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -00023 
    -00024 from xml.parsers import expat
    -00025 
    -00026 import node
    -00027 from node import *
    -00028 
    -00029 maxObjects = 8
    -00030 
    -00031 currentPDOIndex = 0
    -00032 currentBitsMapped = 0
    -00033 currentMaxObjects = 0
    -00034 currentNbMappedObjects = 0
    -00035 
    -00036 nextPdoIndex = {"rx":0x1400,"tx":0x1800}
    -00037 
    -00038 valid_elements = ["node","heartbeat_consumers","sdo_clients","pdo","mapped_object",
    -00039     "pdo_param","pdo_receive","pdo_transmit","mapped_variable","mapped_table",
    -00040     "mapped_string_variable","mapped_string_table"]
    -00041 
    -00042 #-------------------------------------------------------------------------------
    -00043 #                       Callback method of parse
    -00044 #-------------------------------------------------------------------------------
    -00045 
    -00046 def StartElement(name, attrs):
    -00047     if name in valid_elements:
    -00048         if name == "node":
    -00049             startNode(attrs)
    -00050         elif name == "heartbeat_consumers":
    -00051             startHeartBeatConsumers(attrs)
    -00052         elif name == "sdo_clients":
    -00053             startSdoClients(attrs)
    -00054         elif name in ["pdo_param","pdo_receive","pdo_transmit"]:
    -00055             raise ValueError, """!!! The XML grammar has changed.
    -00056 Please, open your xml file, delete the tags pdo_param, pdo_receive and pdo_transmit.
    -00057 Use instead the tag pdo for each pdo to create, and (optional) use the tag mapped_object (menu pdo/map and object ...)."""
    -00058         elif name == "pdo":
    -00059             startPdo(attrs)
    -00060         elif name == "mapped_object":
    -00061             startMappedObject(attrs)
    -00062         elif name == "mapped_variable":
    -00063             startMappedVariable(attrs)
    -00064         elif name == "mapped_table":
    -00065             startMappedTable(attrs)
    -00066         elif name == "mapped_string_variable":
    -00067             startMappedVariable(attrs)
    -00068         elif name == "mapped_string_table":
    -00069             startMappedTable(attrs)
    -00070 
    -00071 def EndElement(name):
    -00072     if name in valid_elements:
    -00073        if name == "node":
    -00074            stopNode()
    -00075 
    -00076 def CharacterData(data):
    -00077     pass
    -00078 
    -00079 #-------------------------------------------------------------------------------
    -00080 #                          Creation of Node
    -00081 #-------------------------------------------------------------------------------
    -00082 
    -00083 def startNode(attrs):
    -00084     name = attrs["name"]
    -00085     Node.SetNodeName(name)
    -00086     
    -00087     if "node_id" in attrs and len(attrs["node_id"]) > 0:
    -00088         node_id = eval(attrs["node_id"])
    -00089     else:
    -00090         node_id = 0x01  # We define here a default node_id. 
    -00091     Node.SetNodeID(node_id)
    -00092     
    -00093     typeNode = attrs["type_node"]
    -00094     Node.SetNodeType(typeNode)
    -00095     
    -00096     if "device_type_1000" in attrs:
    -00097         device_type = eval(attrs["device_type_1000"])
    -00098     else:
    -00099         device_type = 0
    -00100     Node.AddEntry(0x1000, 0, device_type)
    -00101     Node.AddEntry(0x1001, 0, 0)
    -00102     Node.AddEntry(0x1005, 0, 0x00000080)
    -00103     Node.AddEntry(0x1006, 0, 0)
    -00104     Node.AddEntry(0x1007, 0, 0)
    -00105 
    -00106     if "manufacturer_device_name_1008" in attrs:
    -00107         manufacturer_device_name = attrs["manufacturer_device_name_1008"]
    -00108     else:
    -00109         manufacturer_device_name = ""
    -00110     Node.AddEntry(0x1008, 0, manufacturer_device_name)
    -00111     
    -00112     if "manufacturer_hardware_version_1009" in attrs:
    -00113         manufacturer_hardware_version = attrs["manufacturer_hardware_version_1009"]
    -00114     else:
    -00115         manufacturer_hardware_version = "__DATE__"
    -00116     Node.AddEntry(0x1009, 0, manufacturer_hardware_version)
    -00117 
    -00118     if "manufacturer_software_version_100A" in attrs:
    -00119         manufacturer_software_version = attrs["manufacturer_software_version_100A"]
    -00120     else:
    -00121         manufacturer_software_version = 0
    -00122     Node.AddEntry(0x100A, 0,  manufacturer_software_version)
    -00123 
    -00124     if "vendor_id_1018" in attrs:
    -00125         vendor_id = eval(attrs["vendor_id_1018"])
    -00126     else:
    -00127         vendor_id = 0
    -00128     if "product_code_1018" in attrs:
    -00129         product_code = eval(attrs["product_code_1018"])
    -00130     else:
    -00131         product_code = 0
    -00132     if "revision_number_1018" in attrs:
    -00133         revision_number = eval(attrs["revision_number_1018"])
    -00134     else:
    -00135         revision_number = 0
    -00136     if "serial_number_1018" in attrs:
    -00137         serial_number = eval(attrs["serial_number_1018"])
    -00138     else:
    -00139         serial_number = 0
    -00140     Node.AddEntry(0x1018, 1, vendor_id)
    -00141     Node.AddEntry(0x1018, 2, product_code)
    -00142     Node.AddEntry(0x1018, 3, revision_number)
    -00143     Node.AddEntry(0x1018, 4, serial_number)
    -00144 
    -00145 def stopNode():
    -00146     heartBeatProducer()
    -00147     sdoServer()
    -00148 
    -00149 #-------------------------------------------------------------------------------
    -00150 #                      Creation of PDO in Object Dictionary
    -00151 #-------------------------------------------------------------------------------
    -00152 
    -00153 def startPdo(attrs):
    -00154     global currentPdoIndex
    -00155     global currentMaxObjects
    -00156     global currentNbMappedObjects
    -00157     global currentBitsMapped
    -00158     global maxObjects
    -00159     
    -00160     cobId = 0
    -00161     transmissionType = 253 # Default is on request. Why not ?
    -00162 
    -00163     # Find the type of the PDO and search the index of the last added
    -00164     type = attrs["type_rx_tx"]
    -00165     index = nextPdoIndex[type]
    -00166     
    -00167     # If the index of the PDO is define, verify that it has a good index
    -00168     if "index_communication_parameter" in attrs:
    -00169         index = eval(attrs["index_communication_parameter"])
    -00170     if type == "rx" and not 0x1400 <= index <= 0x15FF:
    -00171         raise ValueError, """!!! Abort because Index PDO receive : 0x%04X not valid.
    -00172 Valid index is 0x1400 ... 0x15FF"""%index
    -00173     if type == "tx" and not 0x1800 <= index <= 0x19FF:
    -00174         raise ValueError, """!!! Abort because Index PDO transmit : 0x%04X not valid.
    -00175 Valid index is 0x1800 ... 0x19FF"""%index
    -00176     
    -00177     # Extract the PDO communication parameters
    -00178     if "cob_id" == attrs:
    -00179         cobId = eval(attrs["cob_id"])
    -00180     if "max_objects_in_pdo" == attrs:
    -00181         maxObjects = eval(attrs["max_objects_in_pdo"])
    -00182     if "transmission_type" in attrs:
    -00183         transmissionType = eval(attrs["transmission_type"])
    -00184 
    -00185     if Node.IsEntry(index):
    -00186         raise ValueError, """!!! Abort because the PDO at index : 0x%04X have been already defined."""%index
    -00187 
    -00188     # Communication parameters
    -00189     Node.AddEntry(index, 1, cobId)
    -00190     Node.AddEntry(index, 2, transmissionType)
    -00191     
    -00192     # Mapping parameters
    -00193     mapping_index = index + 0x200
    -00194     for i in xrange(1, maxObjects + 1):
    -00195         Node.AddEntry(mapping_index, i, 0x0)
    -00196 
    -00197     currentPdoIndex = index
    -00198     currentMaxObjects = maxObjects
    -00199     currentBitsMapped = 0
    -00200     currentNbMappedObjects = 0
    -00201     
    -00202     nextPdoIndex[type] = index + 1
    -00203 
    -00204 def startMappedObject(attrs):
    -00205     global currentPdoIndex
    -00206     global currentMaxObjects
    -00207     global currentNbMappedObjects
    -00208     global currentBitsMapped
    -00209     
    -00210     index = currentPdoIndex
    -00211     mapping_index = index + 0x200
    -00212     
    -00213     indexObject = eval(attrs["index"])
    -00214     subIndexObject = eval(attrs["sub_index"])
    -00215     sizeInBitsObject = eval(attrs["size_in_bits"])
    -00216 
    -00217     if currentMaxObjects == 0:
    -00218         raise ValueError, """!!! Abort because of a bogue for mapped object (defined at index 0x%04X, subIndex 0x%025X)
    -00219 in PDO. index : 0x%04X is undefined."""%(indexObject,subindexObject,mapping_index)
    -00220     if currentNbMappedObjects >= currentMaxObjects:
    -00221         raise ValueError, """!!! Abort mapping object (defined at index 0x%04X, subIndex 0x%02X)
    -00222 in PDO index 0x%04X. max objects (%d) reached."""%(IndexObject,subIndexObject,mapping_index,pdo[mapping_index]["maxObjects"])
    -00223     if currentBitsMapped + sizeInBitsObject > 64:
    -00224         raise ValueError, """!!! Abort mapping object (defined at index 0x%04X, subIndex 0x%02X)
    -00225 in PDO index 0x%04X. No room to put %d bits in the PDO."""%(IndexObject,subIndexObject,mapping_index,sizeInBitsObject)
    -00226 
    -00227     value = eval("0x%04X%02X%02X"%(indexObject,subIndexObject,sizeInBitsObject))
    -00228     Node.SetEntry(mapping_index, currentNbMappedObjects + 1, value)
    -00229     
    -00230     currentNbMappedObjects += 1
    -00231     currentBitsMapped += sizeInBitsObject
    -00232 
    -00233 #-------------------------------------------------------------------------------
    -00234 #                    Creation of mapped variable and table 
    -00235 #-------------------------------------------------------------------------------
    -00236 
    -00237 def startMappedVariable(attrs):
    -00238     name = attrs["name"]
    -00239     index = eval(attrs["index"])
    -00240     subIndex = eval(attrs["sub_index"])
    -00241     
    -00242     if "size_in_bits" in attrs:
    -00243         size = eval(attrs["size_in_bits"]) # Numeric variable
    -00244         if "type" in attrs:
    -00245             type = attrs["type"]
    -00246             if (type == "UNS"):
    -00247                 type = "UNSIGNED"
    -00248         else: # Default type
    -00249             type = "UNSIGNED"
    -00250         typename = "%s%d"%(type,size)
    -00251 
    -00252         type_index = Manager.GetTypeIndex(typename, False)
    -00253         if type_index == None:
    -00254             raise ValueError, """!!! ERROR : For variable "%s" at index 0x%04X, subindex 0x%02X : Unrecognized type : %s"""%(name,index,subIndex,typename)
    -00255         
    -00256         # Begin ValueRange support
    -00257         if "min_value" in attrs or "max_value" in attrs:
    -00258             if "min_value" in attrs and "max_value" in attrs:
    -00259                 minValue = eval(attrs["min_value"])
    -00260                 maxValue = eval(attrs["max_value"])
    -00261                 if (minValue > maxValue):
    -00262                     raise ValueError, """!!! ERROR : For variable "%s" at index 0x%04X, subindex 0x%02X : error in value-range : min > max"""%(name,index,subIndex)
    -00263             else:
    -00264                 raise ValueError, """!!! ERROR : For variable "%s" at index 0x%04X, subindex 0x%02X : You have defined only a min or a max value. \nIf you define one, you must define both."""%(name,index,subIndex)
    -00265         
    -00266             type_index = findRangeType(type_index, minValue, maxValue)
    -00267             if type_index == None:
    -00268                 raise ValueError, """!!! Sorry, too many different value range have been defined"""
    -00269         # End ValueRange support    
    -00270 
    -00271     if "size_in_byte" in attrs:
    -00272         size = eval(attrs["size_in_byte"]) # String variable
    -00273         type_index = findStringType(Manager.GetTypeIndex("VISIBLE_STRING", False), size)
    -00274         if type_index == None:
    -00275             raise ValueError, """!!! Sorry, too many different string length have been defined"""
    -00276           
    -00277     if "access" in attrs:
    -00278         access = attrs["access"].lower()
    -00279     else: 
    -00280         access = "rw" # default value
    -00281  
    -00282     if index < 0x2000 or index > 0xBFFF:
    -00283         raise ValueError, """!!! ERROR : For variable "%s" at index 0x%04X, subindex 0x%02X : Variable can't be defined using this index-subindex."""%(name,index,subIndex)
    -00284 
    -00285     if subIndex == 0:
    -00286         Node.AddMappingEntry(index, name = name, struct = 1)
    -00287     elif subIndex == 1:
    -00288         Node.AddMappingEntry(index, struct = 3)
    -00289         Node.AddMappingEntry(index, 0, values = {"name" : "Number of Entries", "type" : 0x02, "access" : "ro", "pdo" : False})    
    -00290     result = Node.AddMappingEntry(index, subIndex, values = {"name" : name, "type" : type_index, "access" : access, "pdo" : True})
    -00291     
    -00292     if result:
    -00293         Node.AddEntry(index, subIndex, 0)
    -00294     else:
    -00295         raise ValueError, """!!! ERROR : For variable "%s" at index 0x%04X, subindex 0x%02X : Unable to map"""%(name,index,subIndex)
    -00296 
    -00297 def startMappedTable(attrs):
    -00298     name = attrs["name"]
    -00299     number_elements = eval(attrs["number_elements"])
    -00300     index = eval(attrs["index"])
    -00301 
    -00302     if "size_in_bits" in attrs:
    -00303         size = eval(attrs["size_in_bits"]) # Numeric variable
    -00304         if "type" in attrs:
    -00305             type = attrs["type"]
    -00306             if (type == "UNS"):
    -00307                 type = "UNSIGNED"
    -00308         else: # Default type
    -00309             type = "UNSIGNED"
    -00310         typename = "%s%d"%(type,size)
    -00311 
    -00312         type_index = Manager.GetTypeIndex(typename, False)
    -00313         if type_index == None:
    -00314             raise ValueError, """!!! ERROR : For table \"%s\" at index 0x%04X : Unrecognized type : %s"""%(name,index,typename)
    -00315         
    -00316         # Begin ValueRange support
    -00317         if "min_value" in attrs or "max_value" in attrs:
    -00318             if "min_value" in attrs and "max_value" in attrs:
    -00319                 minValue = eval(attrs["min_value"])
    -00320                 maxValue = eval(attrs["max_value"])
    -00321                 if (minValue > maxValue):
    -00322                     raise ValueError, """!!! ERROR : For table \"%s\" at index 0x%04X : error in value-range : min > max"""%(name,index)
    -00323             else:
    -00324                 raise ValueError, """!!! ERROR : For table \"%s\" at index 0x%04X : You have defined only a min or a max value. \nIf you define one, you must define both."""%(name,index)
    -00325         
    -00326             type_index = findRangeType(type_index, minValue, maxValue)
    -00327             if type_index == None:
    -00328                 raise ValueError, """!!! Sorry, too many different value range have been defined"""
    -00329         # End ValueRange support
    -00330 
    -00331     if "size_in_byte" in attrs:
    -00332         size = eval(attrs["size_in_byte"]) # String variable
    -00333         type_index = findStringType(Manager.GetTypeIndex("VISIBLE_STRING", False), size)
    -00334         if type_index == None:
    -00335             raise ValueError, """!!! Sorry, too many different string length have been defined"""
    -00336               
    -00337     if "access" in attrs:
    -00338         access = attrs["access"].lower()
    -00339     else:
    -00340         access = "rw" # default value    
    -00341 
    -00342     if index < 0x2000 or index > 0xBFFF:
    -00343         raise ValueError, """!!! ERROR : For table \"%s\" at index 0x%04X : Variable can't be defined using this index-subindex."""%(name,index)
    -00344 
    -00345     result = Node.AddMappingEntry(index, name = name, struct = 7)
    -00346     if not result:
    -00347         raise ValueError, """!!! ERROR : For table \"%s\" at index 0x%04X : Unable to map because a variable or a table is using this index"""%(name,index)
    -00348     Node.AddMappingEntry(index, 0, values = {"name" : "Number of Entries", "type" : 0x02, "access" : "ro", "pdo" : False})
    -00349     Node.AddMappingEntry(index, 1, values = {"name" : name, "type" : type_index, "access" : access, "pdo" : True, "nbmax" : number_elements})
    -00350     
    -00351     for subIndex in xrange(1,number_elements+1):
    -00352         Node.AddEntry(index, subIndex, 0)
    -00353 
    -00354 def findRangeType(type, minValue, maxValue):
    -00355     index = 0xA0
    -00356     while index < 0x100 and Node.IsEntry(index):
    -00357         current_type = Node.GetEntry(index, 1)
    -00358         if current_type == type:
    -00359             current_minValue = Node.GetEntry(index, 2)
    -00360             current_maxValue = Node.GetEntry(index, 3)
    -00361             if current_minValue == minValue and current_maxValue == maxValue:
    -00362                 return index
    -00363         index += 1
    -00364     if index < 0x100:
    -00365         infos = Manager.GetEntryInfos(type, False)
    -00366         name = "%s[%d-%d]"%(infos["name"], minValue, maxValue)
    -00367         Node.AddMappingEntry(index, name = name, struct = 3, size = infos["size"], default = infos["default"])
    -00368         Node.AddMappingEntry(index, 0, values = {"name" : "Number of Entries", "type" : 0x02, "access" : "ro", "pdo" : False})
    -00369         Node.AddMappingEntry(index, 1, values = {"name" : "Type", "type" : 0x02, "access" : "ro", "pdo" : False})
    -00370         Node.AddMappingEntry(index, 2, values = {"name" : "Minimum Value", "type" : type, "access" : "ro", "pdo" : False})
    -00371         Node.AddMappingEntry(index, 3, values = {"name" : "Maximum Value", "type" : type, "access" : "ro", "pdo" : False})
    -00372         Node.AddEntry(index, 1, type)
    -00373         Node.AddEntry(index, 2, minValue)
    -00374         Node.AddEntry(index, 3, maxValue)
    -00375         return index
    -00376     return None
    -00377 
    -00378 def findStringType(type, length):
    -00379     index = 0xA0
    -00380     while index < 0x100 and Node.IsEntry(index):
    -00381         current_type = Node.GetEntry(index, 1)
    -00382         if current_type == type:
    -00383             current_length = Node.GetEntry(index, 2)
    -00384             if current_length == length:
    -00385                 return index
    -00386         index += 1
    -00387     if index < 0x100:
    -00388         infos = Manager.GetEntryInfos(type, False)
    -00389         name = "%s%d"%(Manager.GetTypeName(type), length)
    -00390         Node.AddMappingEntry(index, name = name, struct = 3, size = infos["size"], default = infos["default"])
    -00391         Node.AddMappingEntry(index, 0, values = {"name" : "Number of Entries", "type" : 0x02, "access" : "ro", "pdo" : False})
    -00392         Node.AddMappingEntry(index, 1, values = {"name" : "Type", "type" : 0x02, "access" : "ro", "pdo" : False})
    -00393         Node.AddMappingEntry(index, 2, values = {"name" : "Length", "type" : 0x02, "access" : "ro", "pdo" : False})
    -00394         Node.AddEntry(index, 1, type)
    -00395         Node.AddEntry(index, 2, length)
    -00396         return index
    -00397     return None
    -00398 
    -00399 #-------------------------------------------------------------------------------
    -00400 #                   Creation HeartBeat Producer & Consumers
    -00401 #-------------------------------------------------------------------------------
    -00402 
    -00403 def heartBeatProducer():
    -00404     Node.AddEntry(0x1017, 0, 0)
    -00405     
    -00406 def startHeartBeatConsumers(attrs):
    -00407     nombre = eval(attrs["nombre"])
    -00408     for i in xrange(nombre):
    -00409         Node.AddEntry(0x1016, i + 1, 0)             
    -00410 
    -00411 #-------------------------------------------------------------------------------
    -00412 #                       Creation of SDO Server & Clients
    -00413 #-------------------------------------------------------------------------------
    -00414 
    -00415 def sdoServer():
    -00416     Node.AddEntry(0x1200, 1, 0x600 + Node.GetNodeID())
    -00417     Node.AddEntry(0x1200, 2, 0x580 + Node.GetNodeID())
    -00418     
    -00419 def startSdoClients(attrs):
    -00420     nombre = eval(attrs["nombre"])
    -00421     for i in xrange(nombre):
    -00422         Node.AddEntry(0x1280 + i, 1, 0x600)
    -00423         Node.AddEntry(0x1280 + i, 2, 0x580)
    -00424         Node.AddEntry(0x1280 + i, 3, 0)
    -00425     
    -00426 #-------------------------------------------------------------------------------
    -00427 #                           Parse file with Saxe
    -00428 #-------------------------------------------------------------------------------
    -00429 
    -00430 def ParseFile(filepath):
    -00431     xmlfile = open(filepath,"r")
    -00432     Parser = expat.ParserCreate()
    -00433     Parser.StartElementHandler = StartElement
    -00434     Parser.EndElementHandler = EndElement
    -00435     Parser.CharacterDataHandler = CharacterData
    -00436     ParserStatus = Parser.ParseFile(xmlfile)
    -00437     xmlfile.close()    
    -00438 
    -00439 def GenerateNode(filepath, manager):
    -00440     global Node
    -00441     global Manager
    -00442     Manager = manager
    -00443     Node = node.Node()
    -00444     ParseFile(filepath)
    -00445     return Node
    -00446 
    -00447 #-------------------------------------------------------------------------------
    -00448 #                             Main Function
    -00449 #-------------------------------------------------------------------------------
    -00450 
    -00451 if __name__ == '__main__':
    -00452     ParseFile("test.xml")
    -00453 
    -

    Generated on Mon Jun 4 16:29:06 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/doxygen/html/xml__in_8py.html --- a/doc/doxygen/html/xml__in_8py.html Tue Jun 05 17:34:33 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ - - -CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/xml_in.py File Reference - - - - - - -

    /home/epimerde/documents/tc11/CanFestival-3/objdictgen/xml_in.py File Reference

    -

    -Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Namespaces

    namespace  xml_in

    Functions

    def xml_in::StartElement
    def xml_in::EndElement
    def xml_in::CharacterData
    def xml_in::startNode
    def xml_in::stopNode
    def xml_in::startPdo
    def xml_in::startMappedObject
    def xml_in::startMappedVariable
    def xml_in::startMappedTable
    def xml_in::findRangeType
    def xml_in::findStringType
    def xml_in::heartBeatProducer
    def xml_in::startHeartBeatConsumers
    def xml_in::sdoServer
    def xml_in::startSdoClients
    def xml_in::ParseFile
    def xml_in::GenerateNode
    -


    Generated on Mon Jun 4 16:29:08 2007 for CanFestival by  - -doxygen 1.5.1
    - - diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/Makefile Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,34 @@ +#! gmake + +# +# Copyright (C) 2006 Nicolas GRANDEMANGE +# +# This file is part of canfestival, a library implementing the canopen +# stack +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + + +manual: + cd en && \ + pdflatex manual.tex && \ + pdflatex manual.tex && \ + cp manual.pdf ../../../objdictgen/doc/manual_en.pdf && \ + rm manual.aux manual.log manual.out manual.toc && \ + rm -rf html && \ + mkdir html && \ + latex2html -dir html manual.tex && \ + xpdf manual.pdf diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/100000000000006D000000A31EC8CB54.png Binary file doc/manual/en/html/100000000000006D000000A31EC8CB54.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000000000000AA0000006014F74635.png Binary file doc/manual/en/html/10000000000000AA0000006014F74635.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000000000000AB000000C88F594413.png Binary file doc/manual/en/html/10000000000000AB000000C88F594413.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000000000000AC000000C9C3F53FA6.png Binary file doc/manual/en/html/10000000000000AC000000C9C3F53FA6.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000000000000B6000000DF1EDD1E73.png Binary file doc/manual/en/html/10000000000000B6000000DF1EDD1E73.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/100000000000022C000000DEDAD2140C.png Binary file doc/manual/en/html/100000000000022C000000DEDAD2140C.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/1000000000000396000000FFC42573DA.png Binary file doc/manual/en/html/1000000000000396000000FFC42573DA.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000000B7000000C66AF89CD5.png Binary file doc/manual/en/html/10000201000000B7000000C66AF89CD5.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000001010000011DA724D25C.png Binary file doc/manual/en/html/10000201000001010000011DA724D25C.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/100002010000013A0000004A96B0C1FF.png Binary file doc/manual/en/html/100002010000013A0000004A96B0C1FF.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000001C4000000DD129D4661.png Binary file doc/manual/en/html/10000201000001C4000000DD129D4661.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000001C40000010766961D7F.png Binary file doc/manual/en/html/10000201000001C40000010766961D7F.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000001CB0000015F4FC09B68.png Binary file doc/manual/en/html/10000201000001CB0000015F4FC09B68.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000001FC000001E5D65E8766.png Binary file doc/manual/en/html/10000201000001FC000001E5D65E8766.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/1000020100000258000000832C6FFAB4.png Binary file doc/manual/en/html/1000020100000258000000832C6FFAB4.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000002DE000001D82D89C224.png Binary file doc/manual/en/html/10000201000002DE000001D82D89C224.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000002F30000020B23ED7F67.png Binary file doc/manual/en/html/10000201000002F30000020B23ED7F67.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000003440000025ACC3FD2F1.png Binary file doc/manual/en/html/10000201000003440000025ACC3FD2F1.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000003CA0000016604E6A5EF.png Binary file doc/manual/en/html/10000201000003CA0000016604E6A5EF.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000003F9000002CF880931E7.png Binary file doc/manual/en/html/10000201000003F9000002CF880931E7.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/10000201000003F9000002CF8B0CDAEA.png Binary file doc/manual/en/html/10000201000003F9000002CF8B0CDAEA.png has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/WARNINGS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/WARNINGS Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,16 @@ +No implementation found for style `fontenc' +No implementation found for style `calc' +No implementation found for style `hyperref' +No implementation found for style `graphicx' + +redefining command \ + +previous meaning of \ will be lost + +? brace missing for \newedcommand + +? brace missing for \ + +? brace missing for \setlength + +counter page not defined diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/index.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,348 @@ + + + + + +Documentation + + + + + + + + + + + + + + + + + +
    + +
    CanFestival3. Version 3.0 +
    +The CANOpen stack manual +
    +

    + + +

    +ContentsTable of contents +


    + + + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/labels.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/labels.pl Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,13 @@ +# LaTeX2HTML 2002-2-1 (1.71) +# Associate labels original text with physical files. + + +1; + + +# LaTeX2HTML 2002-2-1 (1.71) +# labels from external_latex_labels array. + + +1; + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/manual.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/manual.css Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,40 @@ +/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */ +.MATH { font-family: "Century Schoolbook", serif; } +.MATH I { font-family: "Century Schoolbook", serif; font-style: italic } +.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold } + +/* implement both fixed-size and relative sizes */ +SMALL.XTINY { font-size : xx-small } +SMALL.TINY { font-size : x-small } +SMALL.SCRIPTSIZE { font-size : smaller } +SMALL.FOOTNOTESIZE { font-size : small } +SMALL.SMALL { } +BIG.LARGE { } +BIG.XLARGE { font-size : large } +BIG.XXLARGE { font-size : x-large } +BIG.HUGE { font-size : larger } +BIG.XHUGE { font-size : xx-large } + +/* heading styles */ +H1 { } +H2 { } +H3 { } +H4 { } +H5 { } + +/* mathematics styles */ +DIV.displaymath { } /* math displays */ +TD.eqno { } /* equation-number cells */ + + +/* document-specific styles come next */ +DIV.navigation { } +SPAN.bfseries { } +DIV.center { } +SPAN.upshape { } +SPAN.mdseries { } +SPAN.alph { } +SPAN.arabic { } +SPAN.textbf { font-weight: bold } +SPAN.roman { } +#hue725 { color: #000000; } diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/manual.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/manual.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,348 @@ + + + + + +Documentation + + + + + + + + + + + + + + + + + +
    + +
    CanFestival3. Version 3.0 +
    +The CANOpen stack manual +
    +

    + + +

    +ContentsTable of contents +


    + + + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node1.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node1.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,181 @@ + + + + + +Contents + + + + + + + + + + + + + + + + + + + + +
    + +

    +Contents +

    + + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node10.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node10.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,88 @@ + + + + + +How to start + + + + + + + + + + + + + + + + + + + + + +

    +How to start +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node100.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node100.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,71 @@ + + + + + +Elektronikladen HCS12 T-board + + + + + + + + + + + + + + + + + + + + + +

    +Elektronikladen HCS12 T-board +

    +http://www.elektronikladen.de/en_hcs12tb.htmlhttp://www.elektronikladen.de/en_hcs12tb.html + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node101.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node101.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,71 @@ + + + + + +Gnu gcc compiler for HC12 + + + + + + + + + + + + + + + + + + + + + +

    +Gnu gcc compiler for HC12 +

    +http://m68hc11.serveftp.org/m68hc11_port.phphttp://m68hc11.serveftp.org/m68hc11_port.php + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node102.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node102.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,71 @@ + + + + + +Motorola documentation on HC12 + + + + + + + + + + + + + + + + + + + + + +

    +Motorola documentation on HC12 +

    +http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC9S12DP256http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC9S12DP256 + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node103.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node103.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,71 @@ + + + + + +Lauterbach debugger for HC12 + + + + + + + + + + + + + + + + + + + + + +

    +Lauterbach debugger for HC12 +

    +http://www.lauterbach.com/http://www.lauterbach.com + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node104.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node104.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,70 @@ + + + + + +Python language + + + + + + + + + + + + + + + + + + + + +

    +Python language +

    +http://www.python.org/http://www.python.org + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node105.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node105.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,83 @@ + + + + + +About the project + + + + + + + + + + + + + + + + + + + + + +

    +About the project +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node106.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node106.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,162 @@ + + + + + +Contributors + + + + + + + + + + + + + + + + + + + + + +

    +Contributors +

    +
    +Image 1000020100000258000000832C6FFAB4 + +
    + +

    +Unité mixte de recherche INRETS-LCPC + +

    +sur les Interractions Véhicule-Infrastructure-Conducteur + +

    +14, route de la minière + +

    +78000 Versailles + +

    +FRANCE + +

    +Tel : +33 1 40 43 29 01 + +

    +http://www.inrets.fr/ur/livichttp://www.inrets.fr/ur/livic + +

    +Contributors : Francis DUPIN + +

    +Camille BOSSARD + +

    +Laurent ROMIEUX + +

    + +

    +
    + +

    +

    +Image 100002010000013A0000004A96B0C1FF + +
    + +

    +LOLITECH + +

    +204, rue du Haut du Pin + +

    +88470 Saint-Michel sur Meurthe + +

    +FRANCE + +

    +Tel : +33 3 29 52 95 67 + +

    +http://www.lolitech.fr/http://www.lolitech.fr + +

    +Contributors : Edouard TISSERANT (Original author) + +

    +Laurent BESSARD + +

    + +

    +
    + +

    +Many thanks to the other contributors for their great work: + +

    +Raphael ZULLIGER + +

    +David DUMINY (sté A6R) + +

    +Zakaria BELAMRI + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node107.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node107.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,76 @@ + + + + + +Getting support + + + + + + + + + + + + + + + + + + + + + +

    +Getting support +

    +Send your feedback and bug reports to +mailto:canfestival-devel@lists.sourceforge.netcanfestival-devel@lists.sourceforge.net. + +

    +For commercial support, and specific integration and +developments, please ask LOLITECH (see contributors). + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node108.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node108.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,81 @@ + + + + + +Contributing + + + + + + + + + + + + + + + + + + + + + +

    +Contributing +

    +You are free to contribute your specific interfaces back to the project. +This way, you can hope to get support from CanFestival users community. + +

    +Please send your patch to +mailto:canfestival-devel@lists.sourceforge.netcanfestival-devel@lists.sourceforge.net. + +

    +Feel free to create some new predefined DS-4xx profiles (*.prf) in +objdictgen/config, as much as possible respectful to the official +specifications. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node109.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node109.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,132 @@ + + + + + +License + + + + + + + + + + + + + + + + + + + + +

    +License +

    +All the project is licensed with LGPL. This mean you can link +CanFestival with any code without being obliged to publish it. + +

    +#This file is part of CanFestival, a library implementing CanOpen +Stack.
    +#
    +#Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD +
    +#
    +#See COPYING file for copyrights details.
    +#
    +#This library is free software; you can redistribute it and/or
    +#modify it under the terms of the GNU Lesser General Public
    +#License as published by the Free Software Foundation; either
    +#version 2.1 of the License, or (at your option) any later version. +
    +#
    +#This library is distributed in the hope that it will be useful, +
    +#but WITHOUT ANY WARRANTY; without even the implied warranty of +
    +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. the GNU +
    +#Lesser General Public License for more details.
    +#
    +#You should have received a copy of the GNU Lesser General Public +
    +#License along with this library; if not, write to the Free Software +
    +#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +2111-1307
    + +

    + +

    +
    + +

    + +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node11.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node11.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +Host requirements + + + + + + + + + + + + + + + + + + + + + +

    +Host requirements +

    +What you need on your development workstation. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node110.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node110.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,78 @@ + + + + + +About this document ... + + + + + + + + + + + + + + + + + + + +

    +About this document ... +

    + Documentation

    +This document was generated using the +LaTeX2HTML translator Version 2002-2-1 (1.71) +

    +Copyright © 1993, 1994, 1995, 1996, +Nikos Drakos, +Computer Based Learning Unit, University of Leeds. +
    +Copyright © 1997, 1998, 1999, +Ross Moore, +Mathematics Department, Macquarie University, Sydney. +

    +The command line arguments were:
    + latex2html -dir html manual.tex +

    +The translation was initiated by epimerde on 2007-06-05 +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node12.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node12.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,80 @@ + + + + + +Object Dictionary Editor GUI + + + + + + + + + + + + + + + + + + + + + +

    +Object Dictionary Editor GUI +

    + +
      +
    1. Python, with +
    2. +
    3. wxPyhon modules installed (at least version 2.6.3). +
    4. +
    5. Gnosis xml tools. (Optional can also be installed locally to the +project automatically will the help of a Makefile. Please see +a91UsingDictionaryEditorGUIoutline9.1) Using Dictionary +Editor GUI ) +
    6. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node13.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node13.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +and Unix-likes + + + + + + + + + + + + + + + + + + + + + +

    +and Unix-likes +

    + +
      +
    1. Linux, FreeBSD, Cygwin or any Unix environment with GNU toolchain. +
    2. +
    3. The GNU C compiler (gcc) or any other ANSI-C compiler for your +target platform. +
    4. +
    5. Xpdf, and the official 301_v04000201.pdf file in order to get GUI +context sensitive help. Download the ds301 at +http://www.can-cia.org/downloads/ciaspecifications/?1390http://www.can-cia.org/downloads/ciaspecifications/?1390. +
    6. +
    7. GNU Make +
    8. +
    9. Bash and sed +
    10. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node14.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node14.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,76 @@ + + + + + +Windows (for native win32 target) + + + + + + + + + + + + + + + + + + + + +

    +Windows (for native win32 target) +

    + +
      +
    1. Visual Studio Express 2005 or worst. +
    2. +
    3. Microsoft platform SDK (requires Genuine Advantage) +
    4. +
    5. Cygwin (for configuration only) +
    6. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node15.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node15.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,82 @@ + + + + + +How to get CanFestival + + + + + + + + + + + + + + + + + + + + +

    +How to get CanFestival +

    +Please always use CVS, this is the best way to get the most reactive +support from the developer community : + +

    +cvs -d:pserver:anonymous@lolitech.dyndns.org:/canfestival +login +
    +(type return, without entering a password) + +

    +Then, enter :
    +cvs -z3 -d:pserver:anonymous@lolitech.dyndns.org:/canfestival co +-P CanFestival-3 + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node16.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node16.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,83 @@ + + + + + +Understanding Canfestival + + + + + + + + + + + + + + + + + + + + + +

    +Understanding Canfestival +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node17.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node17.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,135 @@ + + + + + +CanFestival Project tree layout + + + + + + + + + + + + + + + + + + + + + +

    +CanFestival Project tree layout +

    +Simplified directory structure. + +

    +./src ANSI-C source of CANOpen stack + +

    +include Exportables Header files + +

    +./drivers Interfaces to specific platforms/HW + +

    +./drivers/unix Linux and Cygwin OS interface + +

    +./drivers/win32 Native Win32 OS interface + +

    +./drivers/timers_xeno Xenomai timers/threads (Linux only) + +

    +./drivers/timers_unix Posix timers/threads (Linux, Cygwin) + +

    +./drivers/can_peak_linux PeakSystem CAN library interface + +

    +./drivers/can_peak_win32 PeakSystem PCAN-Light interface + +

    +./drivers/can_uvccm_win32 Acacetuss RS232 +``CAN-uVCCM'' interface + +

    +./drivers/can_virtual Fake CAN network (Linux, Cygwin) + +

    +./drivers/hcs12 HCS12 full target interface + +

    +./examples Examples + +

    +./examples/TestMasterSlave 2 nodes, NMT SYNC SDO PDO, win32+unix + +

    +./examples/TestMasterMicroMod 1 node, control Peak I/O Module, unix + +

    +./examples/gene_SYNC_HCS12 Just send periodic SYNC on HCS12 + +

    +./examples/win32test Ask some DS301 infos to a node (win32) + +

    +./objdictgen Object Dictionary editor GUI + +

    +./objdictgen/config Pre-defined OD profiles + +

    +./objdictgen/examples Some examples/test OD + +

    +./doc Project and CanOpen doc + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node18.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node18.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +Implement CanFestival in your application + + + + + + + + + + + + + + + + + + + + + +

    +Implement CanFestival in your application +

    + +

    +

    +Image 10000201000003F9000002CF880931E7 + +
    + +

    + +

    +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node19.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node19.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,101 @@ + + + + + +CanFestival CAN interfaces + + + + + + + + + + + + + + + + + + + + + +

    +CanFestival CAN interfaces +

    +Because most CAN controllers and drivers implement FIFOs, CanFestival +consider sending message as a non bloking operation. + +

    +In order to prevent reentrent calls to the stack, messages reception is +implemented differently on µC and OS.: + +

    + +

      +
    1. µC must provide interuption masking for timer and can +receive IT +
      +
      +Image 10000201000003CA0000016604E6A5EF + +
      +
    2. +
    3. OS must provide a receive thread, a timer thread and a mutex. CAN +reception is a bloking operation. +
      +
      +Image 10000201000003F9000002CF8B0CDAEA + +
      +
    4. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node2.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node2.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,83 @@ + + + + + +Introduction + + + + + + + + + + + + + + + + + + + + + +

    +Introduction +

    +This document describe the CANOpen layer.CanFestival is an OpenSource +(LGPL) CANOpen framework. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node20.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node20.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,144 @@ + + + + + +CanFestival events scheduling + + + + + + + + + + + + + + + + + + + + +

    +CanFestival events scheduling +

    +A CanOpen node must be able to take delayed actions. + +

    +As exemples, periodic sync emission, heartbeat production or SDO timeout +need to set some alarms that will be called later and do the job. + +

    +µC generaly do not have enough free timers to handle all the +CanOpen needs directly. Moreover, CanFestival internal data may be +corrupt by reentrant calls. + +

    +CanFestival implement a micro-scheduler (timer.c). It uses only one +timer to mimic many timers. It manage an alarm table, and call alarms +at desired time. + +

    +

    +Image 100000000000022C000000DEDAD2140C + +
    + +

    +Scheduler can handle short clock value ranges limitation found on some +µC. As an example, value range for a 16bit clock counter with +4µs tick is crossed within 0.26 seconds... Long alarms must be +segmented. + +

    +Chronogram illustrate a long alarm (A) and a short periodic alarm (B), +with a A value > clock range > B value. +Values t0...t8 are successive setTimer call parameter values. t1 +illustrates an intermediate call to TimeDispatch, caused by a delay +longer than clock range. Because of long alarm segmentation, at the end +of t1, TimeDispatch call will not trig any alarm callback. + +

    +

    +Image 1000000000000396000000FFC42573DA + +
    + +

    + +

    + +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node21.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node21.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,101 @@ + + + + + +Linux Target + + + + + + + + + + + + + + + + + + + + + +

    +Linux Target +

    +Linux target is default configure target. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node22.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node22.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,106 @@ + + + + + +Linux Compilation and installation + + + + + + + + + + + + + + + + + + + + + +

    +Linux Compilation and installation +

    +Call ./configure -help to see all available compile time options. + +

    +After invoking ./configure with your platform specific switches, just +type make. + +

    +./configure [options] + +

    +make + +

    +make install + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node23.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node23.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,85 @@ + + + + + +Standard Linux node + + + + + + + + + + + + + + + + + + + + + +

    +Standard Linux node +

    +Configure switch: + +

    + -timers=unix + +

    +To do a CANopen node running on PC-Linux, you need : + +

    + +

      +
    1. A working linux distribution +
    2. +
    3. One or more Peak system PC CAN interface and the last Peak Linux +driver installed. +
    4. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node24.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node24.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,85 @@ + + + + + +Real-Time Linux node + + + + + + + + + + + + + + + + + + + + + +

    +Real-Time Linux node +

    +Configure switch: + +

    + -timers=xeno + +

    +To do a CANopen node running on PC-Linux, you need : + +

    + +

      +
    1. A working Linux distribution patched with XENOMAI 2.1 or greater. +
    2. +
    3. One or more Peak system PC CAN interface and the last Peak Real +Time Linux driver installed. +
    4. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node25.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node25.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,85 @@ + + + + + +CAN devices + + + + + + + + + + + + + + + + + + + + +

    +CAN devices +

    +Curently supported CAN devices and corresponding configure switch: + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node26.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node26.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,83 @@ + + + + + +Peak systems + + + + + + + + + + + + + + + + + + + + + +

    +Peak systems +

    +Configure switch: + +

    +-can=peak_linux + +

    +PeakSystems CAN interface is automatically chosen as default CAN +interface if libpcan is present in the system. + +

    +Please download driver at +http://www.peak-system.com/linuxhttp://www.peak-system.com/linux +and follow instructions in order to install driver on your system. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node27.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node27.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,74 @@ + + + + + +Socket-Can (http://socketcan.berlios.de) + + + + + + + + + + + + + + + + + + + + + +

    +Socket-Can (http://socketcan.berlios.de) +

    +Configure switch: + +

    +-can=socket + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node28.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node28.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,74 @@ + + + + + +LinCan + + + + + + + + + + + + + + + + + + + + + +

    +LinCan +

    +Configure switch: + +

    +-can=lincan + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node29.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node29.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +Virtual CAN interfaces (for test/debug) + + + + + + + + + + + + + + + + + + + + +

    +Virtual CAN interfaces (for test/debug) +

    +Configure switch: + +

    +-can=virtual + +

    +Virtual CAN interface use Unix pipes to emulate a virtual CAN network. +Each message issued from a node is repeat to all other nodes. Currently +only works with nodes running in the same process, and does not support +work with Xenomai. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node3.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node3.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,80 @@ + + + + + +The CanFestival project + + + + + + + + + + + + + + + + + + + + + +

    +The CanFestival project +

    +This project, initiated by Edouard TISSERANT in 2001, as grown thanks to +Francis DUPIN and other contributors. + +

    +Today, CanFestival focuses on providing an ANSI-C platform independent +CANOpen stack that can be implemented as master or slave nodes on PCs, +Real-time IPCs, and Microcontrollers. + +

    +CanFestival is a project supported by Lolitech. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node30.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node30.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,87 @@ + + + + + +Testing your CanFestival installation + + + + + + + + + + + + + + + + + + + + +

    +Testing your CanFestival installation +

    +Sample provided in /example/TestMasterSlave is installed into your +system during installation. + +

    +TestMasterSlave + +

    +Default can driver library is libcanfestival_can_virtual.so., which +will simply pass CAN messages through Unix pipes between Master and +Slave. + +

    +You may also want to specify different can interface and define some CAN +ports. An other example using Peaks dual PCMCIA +(configure and install with -can=peak) : + +

    +TestMasterSlave -l libcanfestival_can_peak.so -s 40 -m 41 + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node31.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node31.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,111 @@ + + + + + +Windows Targets + + + + + + + + + + + + + + + + + + + + + +

    +Windows Targets +

    +CanFestival can be compiled and run on Windows platform. It is possible +to use both Cygwin and win32 native runtime environment. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node32.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node32.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,73 @@ + + + + + +Object Dictionary Editor GUI installation. + + + + + + + + + + + + + + + + + + + + + +

    +Object Dictionary Editor GUI installation. +

    +Please refer to +a821UsingDictionaryEditorGUIoutline8.2.1)Using Dictionary +Editor GUI + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node33.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node33.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +CYGWIN + + + + + + + + + + + + + + + + + + + + + +

    +CYGWIN +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node34.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node34.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,97 @@ + + + + + +Requirements + + + + + + + + + + + + + + + + + + + + + +

    +Requirements +

    +Cygwin have to be installed with those packages : + +

    + +

      +
    1. gcc +
    2. +
    3. unzip +
    4. +
    5. wget +
    6. +
    7. make +
    8. +
    +Currently, the only supported CAN devices are PeakSystems ones, with +PcanLight driver and library. + +

    +Please download driver at +http://www.peak-system.com/themen/download_gb.htmlhttp://www.peak-system.com/themen/download_gb.html + - follow instructions in order to install driver on your system. + +

    +Install Cygwin as required, and the driver for your Peak CAN device. + +

    +Open a Cygwin terminal, and follow those instructions: + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node35.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node35.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,78 @@ + + + + + +Cygwin configuration and compilation + + + + + + + + + + + + + + + + + + + + +

    +Cygwin configuration and compilation +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node36.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node36.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,131 @@ + + + + + +A single node with PcanLight and Peak CAN-USB adapter + + + + + + + + + + + + + + + + + + + + + +

    +A single node with PcanLight and Peak CAN-USB adapter +

    +Download the PCAN-Light Zip file for your HW ( URL from download page +): + +

    +wget http://www.peak-system.com/files/usb.zip + +

    +Extract its content into your cygwin home (it will create a ``Disk'' +directory): + +

    +unzip usb.zip + +

    +Configure CanFestival3 providing path to the desired PcanLight +implementation: + +

    +cd CanFestival-3 + +

    +export PCAN_INCLUDE=~/Disk/PCAN-Light/Api/ + +

    +export PCAN_HEADER=Pcan_usb.h + +

    +export PCAN_LIB=~/Disk/PCAN-Light/Lib/Visual\ +C++/Pcan_usb.lib + +

    +./configure --can=peak_win32 + +

    +make + +

    +In order to test, you have to use another CanFestival node, connect with +a CAN cable. + +

    +cp ~/Disk/PCAN-Light/Pcan_usb.dll . + +

    +./examples/TestMasterSlave/TestMasterSlave \ + +

    + -l drivers/can_peak_win32/cygcan_peak_win32.dll +\ + +

    + -S 500K -M none + +

    +Then, on the other node : + +

    +./TestMasterSlave -l my_driver.so -S none -M 500K + +

    +Now messages are beeing exchanged between master and slave node. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node37.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node37.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,118 @@ + + + + + +Two nodes with PcanLight and Peak dual PCMCIA-CAN adapter + + + + + + + + + + + + + + + + + + + + +

    +Two nodes with PcanLight and Peak dual PCMCIA-CAN adapter +

    +Download the PCAN-Light Zip file for your HW ( URL from download page +): + +

    +wget http://www.peak-system.com/files/pccard.zip + +

    +Extract its content into your cygwin home (it will create a ``Disk'' +directory): + +

    +unzip pccard.zip + +

    +The configure CanFestival3 providing path to the desired PcanLight +implementation: + +

    +export PCAN_INCLUDE=~/Disk/PCAN-Light/Api/ +
    +export PCAN_HEADER=Pcan_pcc.h +
    +export PCAN_LIB=~/Disk/PCAN-Light/Lib/Visual\ +C++/Pcan_pcc.lib +
    +export PCAN2_HEADER=Pcan_2pcc. +
    +export PCAN2_LIB=~/Disk/PCAN-Light/Lib/Visual\ +C++/Pcan_2pcc.lib
    + +

    +In order to test, just connect together both CAN ports of the PCMCIA +card. Dont forget 120ohms terminator. + +

    +cp ~/Disk/PCAN-Light/Pcan_pcc.dll . + +

    +cp ~/Disk/PCAN-Light/Pcan_2pcc.dll . + +

    +./examples/TestMasterSlave/TestMasterSlave \ + +

    + -l drivers/can_peak_win32/cygcan_peak_win32.dll + +

    +Messages are then exchanged between master and slave node, both inside +TestMasterSlaves process. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node38.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node38.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,87 @@ + + + + + +Visual Studio C++ + + + + + + + + + + + + + + + + + + + + +

    +Visual Studio C++ +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node39.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node39.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,78 @@ + + + + + +Requirements + + + + + + + + + + + + + + + + + + + + + +

    +Requirements +

    +Minimal Cygwin installation is required at configuration time in order +to create specific header files (config.h and cancfg.h). Once this +files created, cygwin is not necessary any more. + +

    +Project and solution files have been created and tested with Visual +Studio Express 2005. Be sure to have installed Microsoft Platform SDK, +as recommended at the end of Visual Studio installation. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node4.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node4.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,96 @@ + + + + + +What is CANopen + + + + + + + + + + + + + + + + + + + + +

    +What is CANopen +

    +CANopen is a CAN based high level protocol. It defines some protocols to +: + +

    + +

      +
    1. Configure a CAN network. +
    2. +
    3. Transmit data to a specific node or in broadcast. +
    4. +
    5. Administrate the network. For example detecting a not responding +node. +
    6. +
    +The documentation can be found in the Can in automation website : + +

    +http://www.can-cia.de/canopenhttp://www.can-cia.de/canopen + +

    +The most important document about CANopen is the normative CiA Draft +Standard 301, version 4.02. You can now download with no cost the +specification in Can in automation website. + +

    +To continue reading this document, let us assume that you have read some +papers introducing CANopen. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node40.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node40.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,75 @@ + + + + + +Configuration with cygwin + + + + + + + + + + + + + + + + + + + + + +

    +Configuration with cygwin +

    +Follow instructions given at +a422Cygwinconfigurationandcompilationoutline4.2.2)Cygwin +configuration and compilation, but do neither call make nor do tests, +just do configuration steps. This will create headers files accordingly +to your configuration parameters, and the desired CAN hardware. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node41.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node41.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,85 @@ + + + + + +Compilation with Visual Studio + + + + + + + + + + + + + + + + + + + + + +

    +Compilation with Visual Studio +

    +You can either load independents ``*.vcproj'' project files along your +own projects in your own solution or load the provided +``CanFestival-3.vc8.sln'' solution files directly. + +

    +Build CanFestival-3 project first. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node42.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node42.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,73 @@ + + + + + +PcanLight and the can_peak_win32 project. + + + + + + + + + + + + + + + + + + + + +

    +PcanLight and the can_peak_win32 project. +

    +Chosen Pcan_xxx.lib and eventually Pcan_2xxx.lib files must be added +to can_peak_win32 +
    +project before build of the DLL. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node43.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node43.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,74 @@ + + + + + +Testing + + + + + + + + + + + + + + + + + + + + +

    +Testing +

    +Copy eventually needed dlls (ie : Pcan_Nxxx.lib) into Release or Debug +directory, and run the test program: + +

    +TestMasterSlave.exe -l can_peak_win32.dll + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node44.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node44.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,132 @@ + + + + + +Motorola HCS12 + + + + + + + + + + + + + + + + + + + + + +

    +Motorola HCS12 +

    +The examples have been tested on a MC9S12DG255 mounted on a +Elektronikladen HCS12 T-board. + +

    +Beware that there are a few differences in the MSCAN module of the +68HC12 and HCS12 microcontroller. For a HC12, you must adapt the driver +that we provide for HCS12. + +

    +For the difference MSCAN HC12/HCS12, see the Motorola application note +AN2011/D. + +

    +Configure switch: + +

    + -target=hcs12 + +

    +To do a CANopen node running on a microncontroller Motorola MC9S12DP256, +you need : + +

    + +

      +
    1. The compiler GNU gcc for HC11, HC12, HCS12 : m6811-elf.
      +Download the release 3.1 at : + +
      +hrefhttp://m68hc11.serveftp.org/m68hc11_pkg_rpm.phphttp://m68hc11.serveftp.org/m68hc11_pkg_rpm.php + +

      +

    2. +
    3. A board with this chip. We are using the T-board from +Electronikladden. +
    4. +
    5. At least about 40 kBytes of program memory. +
    6. +
    7. A tool to flash the memory. (We are using the hight cost +Lauterbach debugger). +
    8. +
    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node45.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node45.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,86 @@ + + + + + +Running a HCS12 node + + + + + + + + + + + + + + + + + + + + +

    +Running a HCS12 node +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node46.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node46.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,71 @@ + + + + + +Compiling Canfestival: + + + + + + + + + + + + + + + + + + + + + +

    +Compiling Canfestival: +

    +./configure -target=hcs12 + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node47.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node47.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,74 @@ + + + + + +Compiling and building an example + + + + + + + + + + + + + + + + + + + + + +

    +Compiling and building an example +

    +Enter in the folder of an HCS12 example, + +

    +make all + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node48.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node48.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,73 @@ + + + + + +Flashing the memory : + + + + + + + + + + + + + + + + + + + + + +

    +Flashing the memory : +

    +Use your prefered loader ! If you are using a debugger Lauterbach, you +can load the bash file : trace32_flash_programmer.cmm. It loads +directly the elf file. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node49.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node49.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,74 @@ + + + + + +Connecting to a serial RS232 console : + + + + + + + + + + + + + + + + + + + + + +

    +Connecting to a serial RS232 console : +

    +Connect the portS(TxD0) of the HCS12 to a console configured at 19200 +bauds 8N1, via a Max232 chip to adapt the electricals levels. On Linux, +you can use minicom. Connecting to a console is usefull to read the +messages, but not required. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node5.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node5.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +CanFestival Features + + + + + + + + + + + + + + + + + + + + + +

    +CanFestival Features +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node50.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node50.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,72 @@ + + + + + +Connecting to the CAN network : + + + + + + + + + + + + + + + + + + + + + +

    +Connecting to the CAN network : +

    +Connect the port CAN0 (pin PM0, PM1) to the network via a CAN +controller. On our board, the CAN controler is a PCA82C250 chip. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node51.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node51.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,70 @@ + + + + + +starting the node : + + + + + + + + + + + + + + + + + + + + +

    +starting the node : +

    +Press the reset of your HCS12 board. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node52.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node52.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,85 @@ + + + + + +Example and test program: + + + + + + + + + + + + + + + + + + + + + +

    +Example and test program: +

    +The ``examples'' directory contains some test program you can use as +example for your own developments. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node53.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node53.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,642 @@ + + + + + +TestMasterSlave + + + + + + + + + + + + + + + + + + + + + +

    +TestMasterSlave +

    +************************************************************** + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* simple example for PC. It does implement 2 CanOpen +
    +
    &sstarf#star;
    + +

    +* in the same process. A master and a slave. Both +
    +
    *
    + +

    +* together, exchanging periodically NMT, SYNC, &sstarf#star; + +

    +* and PDO. Master configure heartbeat producer time +
    +
    *
    + +

    +* @1000 ms for slave node-id 0x02 by concise DCF. + +
    +
    +
    +
    *
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +Usage: + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* +
    ./TestMasterSlave OPTIONS] + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +OPTIONS: + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* +
    +
    -l : Can library +[libcanfestival_can_virtual.so] + +
    +
    *
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    : + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +
    -s : bus name [0] + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +
    -S : 1M,500K,250K,125K,100K,50K,20K,10K,none(disable) &sstarf#star;
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    : + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* +
    +
    -m : bus name [1] + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +
    -M : 1M,500K,250K,125K,100K,50K,20K,10K,none(disable) &sstarf#star;
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +************************************************************** + +

    + +

    +
    + +

    +Notes for Concise DCF : + +

    + +

    +
    + +

    + In this example, Master configure producer time at 1000 ms +for slave node-id 0x02 by concise DCF according DS-302 profile. + +

    + + +

    + Index 0x1F22 , sub-index 0x00 of the master OD, correspond to the +number of entries. This equal to the maximum possible nodeId (127). +Each sub-index points to the Node-ID of the device, to which the +configuration belongs. + +

    + +

    +
    + +

    + To add more parameters configurations to the slave, the value at +sub-index 0x02 must be a binary stream (little-endian) following +this structure : + +

    + + +

    +[ nb of entries / index parameter 1 / sub-index parameter 1 size +data parameter 1 data parameter 1 / index parameter n / ...] + +

    + +
    +
    +
    (UNS32) +
    +
    +
    +
    +
    +
    (UNS16) (UNS8) + +
    +
    +
    +
    +
    +UNS32) +
    +DOMAIN)
    + +

    + + +

    + So the binary value stream to configure heartbeat producer time must be +: + +

    + +

    +
    + +

    + 0100000017100002000000e803 + +

    + +

    +
    + +

    +The slave node is configured just before the Master entering in +Pre_operational state. + +

    + +

    + +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node54.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node54.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,77 @@ + + + + + +gene_SYNC_HCS12 : + + + + + + + + + + + + + + + + + + + + + +

    +gene_SYNC_HCS12 : +

    +This is a simple CanOpen node that only send cyclic SYNC message. It +demonstrate implementation on HCS12 based board. + +

    + +

    +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node55.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node55.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,678 @@ + + + + + +TestMasterMicroMod + + + + + + + + + + + + + + + + + + + + +

    +TestMasterMicroMod +

    +************************************************************** + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* simple example for PC. + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* CanOpen master that control a MicroMod module: + +
    +
    +
    +
    &sstarf#star;
    + +

    +* #417#>- setup module TPDO 1 transmit type + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* #418#>- setup module RPDO 1 transmit type + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* #419#>- setup module hearbeatbeat period + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* #420#>- disable others TPDOs + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* #421#>- set state to operational + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* #422#>- send periodic SYNC + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* #423#>- send periodic RPDO 1 to Micromod (digital output) +
    +
    +
    *
    + +

    +* #424#>- listen Micromods TPDO 1 (digital input) + +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* #426#>- Mapping RPDO 1 bit per bit (digital input) + +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +Usage: + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* +
    ./TestMasterMicroMod OPTIONS] + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +OPTIONS: + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* +
    +
    -l : Can library +[libcanfestival_can_virtual.so] + +
    +
    *
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    : + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +
    -i : Slave Node id format [0x01 , 0x7F] + +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    : + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    *
    + +

    +* +
    +
    -m : bus name [1] + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* +
    +
    -M : 1M,500K,250K,125K,100K,50K,20K,10K + +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +* + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    &sstarf#star;
    + +

    +************************************************************** + +

    + +

    + +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node56.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node56.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,118 @@ + + + + + +Developing a new node + + + + + + + + + + + + + + + + + + + + + +

    +Developing a new node +

    +Using provided examples as a base for your new node is generally a good +idea. You can also use the provided *.od files as a base for your node +object dictionary. + +

    +Creating a new CanOpen node implies to define the Object Dictionary of +this node. For that, developer have to provide a C file. This C file +contains the definition of all dictionary entries, and some kind of +index table that helps the stack to access some entries directly. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node57.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node57.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,99 @@ + + + + + +Using Dictionary Editor GUI + + + + + + + + + + + + + + + + + + + + + +

    +Using Dictionary Editor GUI +

    +The Object Dictionary Editor is a WxPython based GUI that is used to +create the C file needed to create a new CanOpen node. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node58.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node58.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +Installation and usage on Linux + + + + + + + + + + + + + + + + + + + + + +

    +Installation and usage on Linux +

    +You first have to download and install Gnosis XML modules. This is +automated by a Makefile rule. + +

    +cd objdictgen + +

    +make + +

    +Now start the editor. + +

    +python objdictedit.py [od files...] + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node59.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node59.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,102 @@ + + + + + +Installation and usage on Windows + + + + + + + + + + + + + + + + + + + + + +

    +Installation and usage on Windows +

    +Install Python (at least version 2.4) and wxPython (at least version +2.6.3.2). + +

    +Cygwin users can install Gnosis XML utils the same as Linux use. Just +call make. + +

    +cd objdictgen + +

    +make + +

    +Others will have to download and intall Gnosis XML by hand : + +

    +Gnosis Utils: + +

    +http://freshmeat.net/projects/gnosisxml/ + +

    +http://www.gnosis.cx/download/Gnosis_Utils.More/Gnosis_Utils-1.2.1.win32-py24.exe + +

    +Get latest version. + +

    +Download CanFestival archive and uncompress it. Use windows file +explorer to go into CanFestival3\objdicgten, and +double-click on objdictedit.py. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node6.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node6.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +Tools + + + + + + + + + + + + + + + + + + + + + +

    +Tools +

    +The CANopen library is coming with some tools : + +

    + +

      +
    1. Object Dictionary editor GUI. WxPython Model-View-Controler +based GUI, that help a lot in generating object dictionary source code +for each node. +
    2. +
    3. A configure script, that let you chose compile time options such +as target CPU/HOST, CAN and TIMER drivers. +
      +This script have not been generated with autoconf, it have been made +keeping micro-controller target in mind. +
    4. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node60.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node60.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,82 @@ + + + + + +About + + + + + + + + + + + + + + + + + + + + + +

    +About +

    +The Object Dictionary editor GUI is a python application that use the +Model-View-Controller design pattern. It depends on WxPython to +display view on any supported platform. + +

    +

    +Image 10000201000001FC000001E5D65E8766 + +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node61.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node61.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,112 @@ + + + + + +Main view + + + + + + + + + + + + + + + + + + + + + +

    +Main view +

    +Top list let you choose dictionary section, bottom left list is the +selected index in that dictionary, and bottom right list are edited +sub-indexes. + +

    +

    +Image 10000201000001FC000001E5D65E8766 + +
    + +

    +

    +Image 10000000000000B6000000DF1EDD1E73 + +
    +
    +Image 10000000000000AC000000C9C3F53FA6 + +
    +
    +Image 100000000000006D000000A31EC8CB54 + +
    +
    +Image 10000000000000AA0000006014F74635 + +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node62.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node62.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,81 @@ + + + + + +New node + + + + + + + + + + + + + + + + + + + + + +

    +New node +

    +Edit your node name, ID and type. Choose your inherited specific +profile. + +

    +

    +Image 10000201000001CB0000015F4FC09B68 + +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node63.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node63.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,80 @@ + + + + + +Node info + + + + + + + + + + + + + + + + + + + + + +

    +Node info +

    +Edit your node name, ID and type. + +

    +

    +Image 10000201000001010000011DA724D25C + +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node64.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node64.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,90 @@ + + + + + +Profile editor + + + + + + + + + + + + + + + + + + + + + +

    +Profile editor +

    +Chose the used profile to edit. +
    +
    +Image 10000000000000AB000000C88F594413 + +
    + +

    +Pick up optional chosen profile entries. +
    +

    +Image 10000201000002DE000001D82D89C224 + +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node65.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node65.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +User types + + + + + + + + + + + + + + + + + + + + + +

    +User types +

    +Use User Types to implement value boundaries, and string lentgth +
    +
    +Image 10000201000001C40000010766961D7F + +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node66.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node66.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,80 @@ + + + + + +Mapped variable + + + + + + + + + + + + + + + + + + + + + +

    +Mapped variable +

    +Add your own specific dictionary entries and associated mapped +variables. +
    +
    +Image 10000201000001C4000000DD129D4661 + +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node67.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node67.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,93 @@ + + + + + +Integrated help + + + + + + + + + + + + + + + + + + + + +

    +Integrated help +

    +Using F1 key, you can get context sensitive help. +
    +
    +Image 10000201000002F30000020B23ED7F67 + +
    + +

    +In order to do that, official 301_v04000201.pdf file must be placed +into doc/ directory, and xpdf must be present on your system. + +

    +F2 key open HTML CanFestival help. +
    +

    +Image 10000201000003440000025ACC3FD2F1 + +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node68.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node68.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,82 @@ + + + + + +Generating the object Dictionary + + + + + + + + + + + + + + + + + + + + +

    +Generating the object Dictionary +

    +Once object dictionary has been edited and saved, you have to generate +object dictionary C code for your CanFestival node. + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node69.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node69.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +With GUI + + + + + + + + + + + + + + + + + + + + + +

    +With GUI +

    +Menu entry ``File/Build Dictionary''. + +

    +

    +Image 10000201000000B7000000C66AF89CD5 + +
    + +

    +Choose C file to create or overwrite. Header file will be also created +with the same prefix as C file. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node7.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node7.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +Standard conformance + + + + + + + + + + + + + + + + + + + + +

    +Standard conformance +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node70.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node70.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,72 @@ + + + + + +With command line + + + + + + + + + + + + + + + + + + + + +

    +With command line +

    +Usage of objdictgen.py : +
    +python objdictgen.py XMLFilePath CfilePath
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node71.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node71.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,143 @@ + + + + + +FAQ + + + + + + + + + + + + + + + + + + + + + +

    +FAQ +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node72.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node72.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,81 @@ + + + + + +General + + + + + + + + + + + + + + + + + + + + + +

    +General +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node73.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node73.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,76 @@ + + + + + +Does the code compiles on Windows ? + + + + + + + + + + + + + + + + + + + + + +

    +Does the code compiles on Windows ? +

    +Yes, with both Cygwin and Visual Studio C++. + +

    +Because CANopen layer is coded with C, put a compilation option /TC or +/TP if you plan to mix C++ files. See the MSDN documentation about +that. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node74.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node74.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,84 @@ + + + + + +How to fit the library to an other microcontrôler ? + + + + + + + + + + + + + + + + + + + + + +

    +How to fit the library to an other microcontrôler ? +

    +First, be sure that you have at least 40K bytes of program memory, and +about 2k of RAM. + +

    +You have to create target specific interface to HW resources. Take model +on bundled interfaces provided in drivers/ and create your own +interface. You also have to update Makefile.in files for target +specific cflags and options. Chose -targer= configure switch to +compile your specific interface. + +

    +You are welcome to contribute-back your own interfaces ! Other +Canfestival users will use it and provide feedback, tests and +enhancements. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node75.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node75.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,76 @@ + + + + + +Is CanFestival3 conform to DS301 v.4.02 ? + + + + + + + + + + + + + + + + + + + + +

    +Is CanFestival3 conform to DS301 v.4.02 ? +

    +Thanks to Philippe Foureys (IUT of Valence), a slave node have been +tested with the National Instrument CanOpen Conformance Test. It passed +the test with success. + +

    +Some very small unconformity have been found in very unusual situations, +for example in the SDO code response to wrong messages. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node76.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node76.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +LINUX + + + + + + + + + + + + + + + + + + + + + +

    +LINUX +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node77.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node77.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,72 @@ + + + + + +How to use a Peaksystem CAN board ? + + + + + + + + + + + + + + + + + + + + + +

    +How to use a Peaksystem CAN board ? +

    +Just install peak driver and then compile and install Canfestival. Peak +driver is detected at compile time. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node78.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node78.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,78 @@ + + + + + +How to use an unsupported CAN board ? + + + + + + + + + + + + + + + + + + + + +

    +How to use an unsupported CAN board ? +

    +You have to install the specific driver on your system, with necessary +libs and headers. + +

    +Use can_peak.c/h or can_virtual.c/h as an example, and adapt it to +your driver API. + +

    +Execute configure script and choose -can=mydriver + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node79.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node79.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,106 @@ + + + + + +Win32 + + + + + + + + + + + + + + + + + + + + + +

    +Win32 +

    +Compatibility: + +

    + +

      +
    1. Code was compiled MS VisualStudio 2003.NET and VisualStudio +2005.NET for WindowsXP ANSI and UNICODE configurations and for +WindowsCE 5.0. +
    2. +
    3. Some preliminary testing was done, but not enough to be used in +mission critical projects. +
    4. +
    +Additional Features: + +

    + +

      +
    1. Non-integral integers support implementation UNS24, UNS40, UNS48 +etc. +
    2. +
    3. When enable debug output with DEBUG_WAR_CONSOLE_ON or +DEBUG_ERR_CONSOLE_ON, you can navigate in CanFestival source code by +double clicking at diagnostic lines in VisualStudio.NET 200X Debug +Output Window. +
    4. +
    +Custom size integral types such as INTEGER24, UNS40, INTEGER56 etc. have +been defined as 64 bits integers. You will need to replace sizeof(TYPE) +operators to sizeof_TYPE definitions in generated code, i.e. replace +sizeof(UNS40) with sizeof_UNS40. + +

    + +

    +
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node8.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node8.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +Multi-Platform + + + + + + + + + + + + + + + + + + + + + +

    +Multi-Platform +

    + +
      +
    1. Library source code is C-ANSI. +
    2. +
    3. Driver and examples coding conventions merely depend on target +specific contributor/compiler. +
    4. +
    5. Unix compatible interfaces and examples should compile and run on +any Unix system (tested on GNU/Linux and GNU/FreeBSD). +
    6. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node80.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node80.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,119 @@ + + + + + +HCS12 + + + + + + + + + + + + + + + + + + + + +

    +HCS12 +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node81.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node81.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,71 @@ + + + + + +Which board are you using ? + + + + + + + + + + + + + + + + + + + + + +

    +Which board are you using ? +

    +A T-board from elektronikladen with a MC9S12DP256 or MC9S12DG256. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node82.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node82.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,107 @@ + + + + + +Does the code compile with an other compiler than GNU gcc +? + + + + + + + + + + + + + + + + + + + + + +

    +Does the code compile with an other compiler than GNU gcc +? +

    +It is known to work with Metrowerks CodeWarrior. Here are some tips from +Philippe Foureys. : + +

    +


    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node83.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node83.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +Interrupt functions + + + + + + + + + + + + + + + + + + + + + +

    +Interrupt functions +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node84.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node84.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,77 @@ + + + + + +Code for GCC: + + + + + + + + + + + + + + + + + + + + + +
    +Code for GCC: +
    + // prototype +
    +void __attribute__((interrupt))timer3Hdl(void): +
    + // function +
    +void __attribute__((interrupt))timer3Hdl(void){...}
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node85.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node85.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,82 @@ + + + + + +Code for CodeWarrior + + + + + + + + + + + + + + + + + + + + +
    +Code for CodeWarrior +
    + // protoype +
    +void interrupt timer3Hdl(void); +
    + // function +
    +pragma CODE_SEG__NEAR_SEG_NON_BANKED +
    +void interrupt timer3Hdl(void) +
    + {...} +
    +pragma CODE_SEG_DEFAULT
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node86.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node86.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +Interrupt lock, unlock + + + + + + + + + + + + + + + + + + + + + +

    +Interrupt lock, unlock +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node87.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node87.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,93 @@ + + + + + +Code for GCC + + + + + + + + + + + + + + + + + + + + + +
    +Code for GCC +
    + void unlock (void) +
    + { +
    + +
    +__asm__ +__volatile__(cli); +
    + } +
    +void lock (void) +
    + { +
    +short mask; +
    + +
    +__asm__ +__volatile__(tpa\n\tsei:=d(mask)); +
    + }
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node88.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node88.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,96 @@ + + + + + +Code for CodeWarrior + + + + + + + + + + + + + + + + + + + + +
    +Code for CodeWarrior +
    +void unlock (void) +
    + { +
    + +
    +__asm(cli); +
    + } +
    +void lock (void) +
    + { +
    +short mask; +
    + +
    +__asm +
    + { +
    + :tsei:=d(mask); +
    + } +
    + }
    + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node89.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node89.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,78 @@ + + + + + +Initialize function + + + + + + + + + + + + + + + + + + + + +

    +Initialize function +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node9.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node9.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,117 @@ + + + + + +CanOpen conformance + + + + + + + + + + + + + + + + + + + + +

    +CanOpen conformance +

    DS-301 + +

    + +

      +
    1. Should conform to DS301. V.4.02 13 february 2002. +
    2. +
    3. Master and Slave functionality implemented. +
    4. +
    5. Sending SYNC implemented. +
    6. +
    7. 1 SDO server per node. (update: more than one possible. To be more +tested) +
    8. +
    9. Unlimited SDO client. +
    10. +
    11. SDO transmission mode : normal, expedited download and upload. +
    12. +
    13. Unlimited PDO receive. +
    14. +
    15. Unlimited PDO transmit. +
    16. +
    17. Object Data type implemented : 8, 16, 32 bits values, and fixed +length strings. +
    18. +
    19. Slave state full implemented. +
    20. +
    21. NMT to change slaves state implemented. +
    22. +
    23. PDO transmission mode : on request, every reception of 0 to n +SYNC, on event. +
    24. +
    25. NMT Heartbeat implemented : A node can be either heartbeat +producer or receiver. +
    26. +
    27. NMT NodeGuard implemented : Not fully implemented. +
    28. +
    29. TIME (time Stamp) : Not implemented. +
    30. +
    31. EMCY (emergency objects) : Not implemented. +
    32. +
    33. PDO Mapping bit per bit implemented. +
    34. +
    DS-302 + +

    + +

      +
    1. Concise : implemented. +
    2. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node90.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node90.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,269 @@ + + + + + +Code for GCC + + + + + + + + + + + + + + + + + + + + + +
    +Code for GCC +
    +void initCanHCS12 (void) +
    + { +
    +newline + /Init the HCS12 microcontroler for CanOpen
    +12(); +
    + +
    // Init the HCS12 driver +
    +canBusInit bi0 = { +
    + +
    , +
    * no low power +
    +
    +
    +
    +
    +
    +
    +
    */ +
    + +
    , +
    * no time stamp + +
    +
    +
    +
    +
    +
    +
    &sstarf#star;/ +
    + +
    , +
    * enable MSCAN + +
    +
    +
    +
    +
    +
    +
    +
    */ +
    + +
    , +
    * clock source : oscillator (In fact, it is not used) + +
    */ +
    + +
    , +
    * no loop back + +
    +
    +
    +
    +
    +
    +
    +
    */ +
    + +
    , +
    * no listen only + +
    +
    +
    +
    +
    +
    +
    */ +
    + +
    , +
    * no low pass filter for wk up */ +
    +_Baudrates[CAN_BAUDRATE_250K], +
    + +
    +
    { +
    + +
    +
    +x00, +
    * Filter on 16 bits. +
    + +
    +
    +
    +
    +
    +
    +
    +
    +Motorola Block Guide V02.14 fig +4-3 */ +
    + +
    +
    +x00, 0xFF, /* filter 0 hight accept all msg + +
    +
    &sstarf#star;/ +
    + +
    +
    +x00, 0xFF, /* filter 0 low accept all msg + +
    +
    +
    &sstarf#star;/ +
    + +
    +
    +x00, 0xFF, /* filter 1 hight filter all of +&sstarf#star;/ +
    + +
    +
    +x00, 0xFF, /* filter 1 low filter all of + +
    &sstarf#star;/ +
    + +
    +
    +x00, 0xFF, /* filter 2 hight filter most of +*/ +
    + +
    +
    +x00, 0xFF, /* filter 2 low filter most of + +
    */ +
    + +
    +
    +x00, 0xFF, /* filter 3 hight filter most of +*/ +
    + +
    +
    +x00, 0xFF, /* filter 3 low filter most of + +
    */ +
    + +
    +
    } +
    + +
    };
    + +

    + +

    + +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node91.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node91.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,307 @@ + + + + + +Code for CodeWarrior + + + + + + + + + + + + + + + + + + + + +
    +Code for CodeWarrior +
    +void initCanHCS12 (void) +
    + { +
    +newline + /Init the HCS12 microcontroler for CanOpen
    +12(); +
    + +
    // Init the HCS12 driver +
    +canBusInit bi0 = { +
    + +
    , +
    * no low power +
    +
    +
    +
    +
    +
    +
    +
    */ +
    + +
    , +
    * no time stamp + +
    +
    +
    +
    +
    +
    +
    &sstarf#star;/ +
    + +
    , +
    * enable MSCAN + +
    +
    +
    +
    +
    +
    +
    +
    */ +
    + +
    , +
    * clock source : oscillator (In fact, it is not used) + +
    */ +
    + +
    , +
    * no loop back + +
    +
    +
    +
    +
    +
    +
    +
    */ +
    + +
    , +
    * no listen only + +
    +
    +
    +
    +
    +
    +
    */ +
    + +
    , +
    * no low pass filter for wk up */ +
    + +
    +
    { +
    + +
    +
    +1, /* clksrc */ +
    + +
    +
    +3, /* brp +
    &sstarf#star;/ +
    + +
    +
    +0, /* sjw +
    &sstarf#star;/ +
    + +
    +
    +0, /* samp +
    */ +
    + +
    +
    +1, /* tseg2 &sstarf#star;/ +
    + +
    +
    +12,/* tseg1 &sstarf#star;/ +
    + +
    +
    }, +
    + +
    +
    { +
    + +
    +
    +x00, +
    * Filter on 16 bits. +
    + +
    +
    +
    +
    +
    +
    +
    +
    +See Motorola Block Guide V02.14 fig +4-3 */ +
    + +
    +
    +x00, 0xFF, /* filter 0 hight accept all msg + +
    +
    &sstarf#star;/ +
    + +
    +
    +x00, 0xFF, /* filter 0 low accept all msg + +
    +
    +
    &sstarf#star;/ +
    + +
    +
    +x00, 0xFF, /* filter 1 hight filter all of +&sstarf#star;/ +
    + +
    +
    +x00, 0xFF, /* filter 1 low filter all of + +
    &sstarf#star;/ +
    + +
    +
    +x00, 0xFF, /* filter 2 hight filter most of +*/ +
    + +
    +
    +x00, 0xFF, /* filter 2 low filter most of + +
    */ +
    + +
    +
    +x00, 0xFF, /* filter 3 hight filter most of +*/ +
    + +
    +
    +x00, 0xFF, /* filter 3 low filter most of + +
    */ +
    + +
    +
    } +
    + +
    };
    + +

    + +

    + +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node92.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node92.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +Who to use warnings and errors messages ? + + + + + + + + + + + + + + + + + + + + + +

    +Who to use warnings and errors messages ? +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node93.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node93.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,219 @@ + + + + + +Warnings messages + + + + + + + + + + + + + + + + + + + + + +

    +Warnings messages +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    DEBUG_WAR_CONSOLE _ONDEBUG _CANPrintMsg-WarTo-Console

    + +

    +

    Printing long message on console Printing short message on console. (number and value only)Sending number and value in a PDO., only if the node is a +slave, in operational state.
           
    DEFDEF1

    + +

    +

    + +

    +

    yes

    + +

    +

    DEFDEF0

    + +

    +

    yes

    + +

    +

    + +

    +

    DEFUNDEF1

    + +

    +

    + +

    +

    + +

    +

    + +

    +

    DEFUNDEF0

    + +

    +

    + +

    +

    + +

    +

    + +

    +

    UNDEFXX

    + +

    +

    + +

    +

    + +

    +

    + +

    +

    + +

    + +

    +
    + +

    + +

    + +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node94.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node94.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,231 @@ + + + + + +Errors messages + + + + + + + + + + + + + + + + + + + + +

    +Errors messages +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    DEBUG_ERR_CONSOLE _ONDEBUG _CANPDO _ERROR PrintMsg-ErrTo-Console

    + +

    +

    Printing long message on consolePrinting short message on console. (number and value only)Sending number and value in a PDO., only if the node is a +slave, in operational state.
            
    DEFDEFX1

    + +

    +

    + +

    +

    yesyes
    DEFDEFX0

    + +

    +

    yes

    + +

    +

    yes
    DEFUNDEFX1

    + +

    +

    + +

    +

    + +

    +

    yes
    DEFUNDEFX0

    + +

    +

    + +

    +

    + +

    +

    yes
    UNDEFXDEFX

    + +

    +

    + +

    +

    + +

    +

    yes
    UNDEFXUNDEFX

    + +

    +

    + +

    +

    + +

    +

    + +

    +

    + +

    + +

    +
    + +

    + +

    + +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node95.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node95.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,72 @@ + + + + + +Does the code works in banked memory ? + + + + + + + + + + + + + + + + + + + + + +

    +Does the code works in banked memory ? +

    +No. Today it seems that the port of gcc is bogged for using the banked +memory. So, unfortunately, we are limited to 48 Kbytes of memory code. + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node96.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node96.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,79 @@ + + + + + +What GCC version are you using ? + + + + + + + + + + + + + + + + + + + + +

    +What GCC version are you using ? +

    +We are using the stable RPM release 2.2 : + +

    + +

      +
    1. GNU Gcc 3.0.4. Build 20030501 +
    2. +
    3. Newlib 1.10.0 Build 20030421 +
    4. +
    5. GNU Binutils 2.12.1 Build 20030427 +
    6. +
    +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node97.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node97.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,91 @@ + + + + + +Documentation resources + + + + + + + + + + + + + + + + + + + + + +

    +Documentation resources +

    +

    + +Subsections + + + +

    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node98.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node98.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,74 @@ + + + + + +CIA : Can in Automation + + + + + + + + + + + + + + + + + + + + + +

    +CIA : Can in Automation +

    +Many documentation on CANopen. + +

    +http://www.can-cia.de/http://www.can-cia.de + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/html/node99.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/html/node99.html Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,71 @@ + + + + + +Resources and training in CANopen + + + + + + + + + + + + + + + + + + + + + +

    +Resources and training in CANopen +

    +http://www.esacademy.com/http://www.esacademy.com + +

    +


    +
    +epimerde +2007-06-05 +
    + + diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/manual.odt Binary file doc/manual/en/manual.odt has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 doc/manual/en/manual.pdf Binary file doc/manual/en/manual.pdf has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 objdictgen/bug_report_Tue_Jun__5_15-25-23_2007.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/objdictgen/bug_report_Tue_Jun__5_15-25-23_2007.txt Tue Jun 05 18:43:21 2007 +0200 @@ -0,0 +1,50 @@ +app-title: +python + +app-version: +$Revision$ + +cwd: +/home/epimerde/documents/tc11/CanFestival-3/examples/TestMasterMicroMod + +date: +Tue Jun 5 15:25:23 2007 + +e-type: + + +e-value: +2 + +locals: + ignore: True + self: + +platform: +Linux-2.6.20-16-generic-i686-with-debian-4.0 + +python-version: +2.5.1 + +self: + UndoBuffers: {1: } + NodeIndex: 2 + CurrentNode: + FileNames: {1: 'Unnamed1'} + FilePaths: {1: ''} + ScriptDirectory: '/home/epimerde/documents/tc11/CanFestival-3/objdictgen' + LastNewIndex: 1 + +traceback: + File "./objdictedit.py", line 464, in OnCloseFrame + self.Manager.CloseCurrent(True) + File "/home/epimerde/documents/tc11/CanFestival-3/objdictgen/nodemanager.py", line 296, in CloseCurrent + if self.UndoBuffers[self.NodeIndex].IsCurrentSaved() or ignore: +: 2 + +wx-platform: +__WXGTK__ + +wx-version: +2.6.3.2 + diff -r 2cb34a4ac65a -r 6b5a4c21e061 objdictgen/doc/manual_en.pdf Binary file objdictgen/doc/manual_en.pdf has changed diff -r 2cb34a4ac65a -r 6b5a4c21e061 src/dcf.c --- a/src/dcf.c Tue Jun 05 17:34:33 2007 +0200 +++ b/src/dcf.c Tue Jun 05 18:43:21 2007 +0200 @@ -22,6 +22,7 @@ USA */ + /** ** @file dcf.c ** @author Edouard TISSERANT and Francis DUPIN