Added 'ethercat version' command.

This commit is contained in:
Florian Pose 2008-07-28 14:06:03 +00:00
parent f82214e66e
commit 98beafca60
5 changed files with 82 additions and 8 deletions

6
TODO
View File

@ -14,10 +14,7 @@ Version 1.4.0:
* Get original driver for r8169.
* Race in jiffies frame timeout?
* ethercat tool:
- Data type abbreviations.
- Add a -n (numeric) switch.
- Check for options, remove global variables.
- Add 'etherlab version'.
Future issues:
@ -36,6 +33,9 @@ Future issues:
* Interface/buffers for asynchronous domain IO.
* Make scanning and configuration run parallel (each).
* File access over EtherCAT (FoE).
* ethercat tool:
- Data type abbreviations.
- Add a -n (numeric) switch.
Smaller issues:

39
tool/CommandVersion.cpp Normal file
View File

@ -0,0 +1,39 @@
/*****************************************************************************
*
* $Id$
*
****************************************************************************/
#include <iostream>
using namespace std;
#include "CommandVersion.h"
/*****************************************************************************/
CommandVersion::CommandVersion():
Command("version", "Show version information.")
{
}
/****************************************************************************/
string CommandVersion::helpString() const
{
stringstream str;
str << getName() << " [OPTIONS]" << endl
<< endl
<< getBriefDescription() << endl;
return str.str();
}
/****************************************************************************/
void CommandVersion::execute(MasterDevice &m, const StringVector &args)
{
cout << "IgH EtherCAT master " << EC_MASTER_VERSION << endl;
}
/*****************************************************************************/

26
tool/CommandVersion.h Normal file
View File

@ -0,0 +1,26 @@
/*****************************************************************************
*
* $Id$
*
****************************************************************************/
#ifndef __COMMANDVERSION_H__
#define __COMMANDVERSION_H__
#include "Command.h"
/****************************************************************************/
class CommandVersion:
public Command
{
public:
CommandVersion();
string helpString() const;
void execute(MasterDevice &, const StringVector &);
};
/****************************************************************************/
#endif

View File

@ -37,9 +37,9 @@ bin_PROGRAMS = ethercat
ethercat_SOURCES = \
MasterDevice.cpp MasterDevice.h \
Command.cpp \
CommandAlias.cpp \
CommandConfig.cpp \
Command.cpp \
CommandData.cpp \
CommandDebug.cpp \
CommandDomains.cpp \
@ -52,11 +52,18 @@ ethercat_SOURCES = \
CommandSlaves.cpp \
CommandStates.cpp \
CommandUpload.cpp \
CommandVersion.cpp \
CommandXml.cpp \
coe_datatypes.cpp \
sii_crc.cpp \
main.cpp
ethercat_CXXFLAGS = -I../master -Wall
REV = `if test -s $(srcdir)/../svnrevision; then \
cat $(srcdir)/../svnrevision; \
else \
svnversion $(srcdir)/.. 2>/dev/null || echo "unknown"; \
fi`
ethercat_CXXFLAGS = -I../master -Wall -DSVNREV=$(REV)
#------------------------------------------------------------------------------

View File

@ -16,15 +16,16 @@ using namespace std;
#include "CommandData.h"
#include "CommandDebug.h"
#include "CommandDomains.h"
#include "CommandDownload.h"
#include "CommandMaster.h"
#include "CommandPdos.h"
#include "CommandSdos.h"
#include "CommandDownload.h"
#include "CommandUpload.h"
#include "CommandSlaves.h"
#include "CommandSiiRead.h"
#include "CommandSiiWrite.h"
#include "CommandSlaves.h"
#include "CommandStates.h"
#include "CommandUpload.h"
#include "CommandVersion.h"
#include "CommandXml.h"
/*****************************************************************************/
@ -268,6 +269,7 @@ int main(int argc, char **argv)
commandList.push_back(new CommandSlaves());
commandList.push_back(new CommandStates());
commandList.push_back(new CommandUpload());
commandList.push_back(new CommandVersion());
commandList.push_back(new CommandXml());
getOptions(argc, argv);