rllib  1
rlcannode.h
Go to the documentation of this file.
00001 /***************************************************************************
00002                           cannode.h  -  description
00003                              -------------------
00004     begin                : Tue March 03 2004
00005     copyright            : (C) 2004 by Rainer Lehrig
00006     email                : lehrig@t-online.de
00007     authors              : Marc Br�tigam, Christian Wilmes
00008  ***************************************************************************/
00009 
00010 /***************************************************************************
00011  *                                                                         *
00012  *   This library is free software; you can redistribute it and/or modify  *
00013  *   it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE as        *
00014  *   published by the Free Software Foundation                             *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef NODE
00019 #define NODE
00020 
00021 #include "rldefine.h"
00022 #include <iostream>
00023     using std::cin;
00024     using std::cout;
00025 #include <qptrvector.h>
00026 #include <qdir.h>
00027 #include <qstring.h>
00028 #include <qstringlist.h>
00029 
00030 #include "rlcanopenstructs.h"
00031 #include "rlcanopentypes.h"
00032 #include "rlinifile.h"
00033 
00034 #ifndef TOOL
00035 #define TOOL
00036 //#include "ToolBox.cpp"
00037 #endif
00038 
00039 #include "objdir.h"       /* Include file for EDS file manager */
00040 
00041 #include "cif_user.h"     /* Include file for device driver API */
00042 #include "rcs_user.h"     /* Include file for RCS definition    */
00043 #include "asc_user.h"     /* Include file for ASCII protocols   */
00044 #include "nvr_user.h"     /* Include file for 3964R protocol    */
00045 #include "COM_USER.H"
00046 
00048 class rlCanNode 
00049 {
00050   public:
00051   rlCanNode ();
00052   
00056   rlCanNode (int boardnr, int nodeid, RCS_MESSAGETELEGRAM_10& _telegramm);
00057   
00059   ~rlCanNode();
00060   
00062   int objecttype(int objindex, int subindex);
00063   
00065   void showConfiguration();
00066   
00068   int getNodeID();
00069   
00071   int getBoardID();
00072   
00074   int getPdoCount();
00075   
00077   int getReceivePdoCount();
00078   
00080   int getTransmitPdoCount();
00081   
00084   bool hasMapping();
00085   
00087   //QPtrVector<rlCanPDO> transmit_pdoList;
00088   
00090   //QPtrVector<rlCanPDO> receive_pdoList;
00091   
00092   // RECEIVE_LIST  = 0
00093   // TRANSMIT_LIST = 1
00094   QPtrVector<rlCanPDO> pdoList[2];   
00095   
00096   private:
00098   int nodeID;
00099   
00101   int boardID;
00102   
00106   rlIniFile* getEDS(const char* _productstr);
00107   
00110   rlIniFile* ini;  
00111   
00114   ObjDir* objdir;  
00115   
00118   void readConfigurationMessage(RCS_MESSAGETELEGRAM_10& _message);
00119   
00121   unsigned short usIdentNumber;    
00122   
00124   unsigned char usVendorIdent;     
00125   
00127   QString abVendorName;
00128   QString abDeviceName;
00129   QString abDescription;
00130   QString edslocation;
00131   unsigned char pdocount;
00132   unsigned char bMasterAddress;
00133   unsigned char bSettings; 
00134 };
00135 
00136 #endif
00137