tool/cmd_domain.cpp
changeset 1142 59be91dfcbe1
parent 1141 7ffbca63fc72
child 1143 09ee878d7214
--- a/tool/cmd_domain.cpp	Thu Jul 24 08:15:44 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*****************************************************************************
- *
- * $Id$
- *
- ****************************************************************************/
-
-#include <iostream>
-#include <iomanip>
-using namespace std;
-
-#include "globals.h"
-
-/*****************************************************************************/
-
-const char *help_domains =
-    "[OPTIONS]\n"
-    "\n"
-    "Show information about the application's configured domains.\n"
-    "\n"
-    "Without the --verbose option, the domains are displayed one-per-line.\n"
-    "Example:\n"
-    "\n"
-    "Domain0: LogBaseAddr 0x00000000, Size   6, WorkingCounter 0/1\n"
-    "\n"
-    "The domain's base address for the logical datagram (LRD/LWR/LRW)\n"
-    "is displayed followed by the domain's process data size in byte.\n"
-    "The last values are the current datagram working counter sum and\n"
-    "the expected working counter sum. If the values are equal, all\n"
-    "Pdos are exchanged.\n"
-    "\n"
-    "If the --verbose option is given, the participating slave\n"
-    "configurations/FMMUs and the current process data are additionally\n"
-    "displayed:\n"
-    "\n"
-    "Domain1: LogBaseAddr 0x00000006, Size   6, WorkingCounter 0/1\n"
-    "  SlaveConfig 1001:0, SM3 ( Input), LogAddr 0x00000006, Size 6\n"
-    "    00 00 00 00 00 00\n"
-    "\n"
-    "The process data are displayed as hexadecimal bytes.\n"
-    "\n"
-    "Command-specific options:\n"
-    "  --domain   -d <index> Positive numerical domain index, or 'all'\n"
-    "                        for all domains (default).\n"
-    "  --verbose  -v         Show FMMUs and process data additionally.\n"
-    "\n"
-    "Numerical values can be specified either with decimal (no prefix),\n"
-    "octal (prefix '0') or hexadecimal (prefix '0x') base.\n";
-
-/****************************************************************************/
-
-void showDomain(unsigned int);
-
-/****************************************************************************/
-
-void command_domains(void)
-{
-    masterDev.open(MasterDevice::Read);
-
-    if (domainIndex == -1) {
-        unsigned int i;
-        ec_ioctl_master_t master;
-
-        masterDev.getMaster(&master);
-
-        for (i = 0; i < master.domain_count; i++) {
-            showDomain(i);
-        }
-    } else {
-        showDomain(domainIndex);
-    }
-}
-
-/****************************************************************************/
-
-void showDomain(unsigned int domainIndex)
-{
-    ec_ioctl_domain_t domain;
-    unsigned char *processData;
-    ec_ioctl_domain_data_t data;
-    unsigned int i, j;
-    ec_ioctl_domain_fmmu_t fmmu;
-    unsigned int dataOffset;
-    
-    masterDev.getDomain(&domain, domainIndex);
-
-	cout << "Domain" << dec << domainIndex << ":"
-		<< " LogBaseAddr 0x"
-		<< hex << setfill('0')
-        << setw(8) << domain.logical_base_address
-		<< ", Size " << dec << setfill(' ')
-        << setw(3) << domain.data_size
-		<< ", WorkingCounter "
-		<< domain.working_counter << "/"
-        << domain.expected_working_counter << endl;
-
-    if (!domain.data_size || verbosity != Verbose)
-        return;
-
-    processData = new unsigned char[domain.data_size];
-
-    try {
-        masterDev.getData(&data, domainIndex, domain.data_size, processData);
-    } catch (MasterDeviceException &e) {
-        delete [] processData;
-        throw e;
-    }
-
-    for (i = 0; i < domain.fmmu_count; i++) {
-        masterDev.getFmmu(&fmmu, domainIndex, i);
-
-        cout << "  SlaveConfig "
-            << dec << fmmu.slave_config_alias
-            << ":" << fmmu.slave_config_position
-            << ", SM" << (unsigned int) fmmu.sync_index << " ("
-            << setfill(' ') << setw(6)
-            << (fmmu.dir == EC_DIR_INPUT ? "Input" : "Output")
-            << "), LogAddr 0x"
-            << hex << setfill('0')
-            << setw(8) << fmmu.logical_address
-            << ", Size " << dec << fmmu.data_size << endl;
-
-        dataOffset = fmmu.logical_address - domain.logical_base_address;
-        if (dataOffset + fmmu.data_size > domain.data_size) {
-            stringstream err;
-            delete [] processData;
-            err << "Fmmu information corrupted!";
-            throw CommandException(err);
-        }
-
-        cout << "    " << hex << setfill('0');
-        for (j = 0; j < fmmu.data_size; j++) {
-            if (j && !(j % BreakAfterBytes))
-                cout << endl << "    ";
-            cout << setw(2)
-                << (unsigned int) *(processData + dataOffset + j) << " ";
-        }
-        cout << endl;
-    }
-
-    delete [] processData;
-}
-
-/*****************************************************************************/