/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