tool/CommandCrc.cpp
branchstable-1.5
changeset 2674 3be68a020748
parent 2672 b9cda70ec8b0
equal deleted inserted replaced
2673:459758a800b3 2674:3be68a020748
    56         << endl
    56         << endl
    57         << "PHY - Physical Interface Error Counter 0x301, 0x303, 0x305, 0x307"
    57         << "PHY - Physical Interface Error Counter 0x301, 0x303, 0x305, 0x307"
    58         << endl
    58         << endl
    59         << "FWD - Forwarded RX Error Counter       0x308, 0x309, 0x30a, 0x30b"
    59         << "FWD - Forwarded RX Error Counter       0x308, 0x309, 0x30a, 0x30b"
    60         << endl
    60         << endl
    61         << "LNK - Lost Link Counter                0x310, 0x311, 0x312, 0x313"
    61         << "NXT - Next slave" << endl
    62         << endl
       
    63         << endl;
    62         << endl;
    64 
    63 
    65     return str.str();
    64     return str.str();
    66 }
    65 }
    67 
    66 
   128     }
   127     }
   129     cout << endl;
   128     cout << endl;
   130 
   129 
   131     cout << "   |";
   130     cout << "   |";
   132     for (unsigned int port = 0; port < EC_MAX_PORTS; port++) {
   131     for (unsigned int port = 0; port < EC_MAX_PORTS; port++) {
   133         cout << "CRC PHY FWD LNK|";
   132         cout << "CRC PHY FWD NXT|";
   134     }
   133     }
   135     cout << endl;
   134     cout << endl;
   136 
   135 
   137     for (unsigned int i = 0; i < master.slave_count; i++) {
   136     for (unsigned int i = 0; i < master.slave_count; i++) {
       
   137 
       
   138         ec_ioctl_slave_t slave;
       
   139         m.getSlave(&slave, i);
   138 
   140 
   139         io.slave_position = i;
   141         io.slave_position = i;
   140         try {
   142         try {
   141             m.readReg(&io);
   143             m.readReg(&io);
   142         } catch (MasterDeviceException &e) {
   144         } catch (MasterDeviceException &e) {
   143             throw e;
   145             throw e;
   144         }
   146         }
   145 
   147 
   146         cout << setw(3) << i << "|";
   148         cout << setw(3) << i << "|";
   147         for (int port = 0; port < 4; port++) {
   149         for (int port = 0; port < 4; port++) {
       
   150             if (slave.ports[port].link.loop_closed) {
       
   151                 cout << "               |";
       
   152                 continue;
       
   153             }
       
   154 
   148             cout << setw(3) << (unsigned int) io.data[ 0 + port * 2]; // CRC
   155             cout << setw(3) << (unsigned int) io.data[ 0 + port * 2]; // CRC
   149             cout << setw(4) << (unsigned int) io.data[ 1 + port * 2]; // PHY
   156             cout << setw(4) << (unsigned int) io.data[ 1 + port * 2]; // PHY
   150             cout << setw(4) << (unsigned int) io.data[ 8 + port]; // FWD
   157             cout << setw(4) << (unsigned int) io.data[ 8 + port]; // FWD
   151             cout << setw(4) << (unsigned int) io.data[16 + port]; // LNK
   158             if (slave.ports[port].next_slave == i - 1) {
       
   159                 cout << "   ↑";
       
   160             }
       
   161             else if (slave.ports[port].next_slave == i + 1) {
       
   162                 cout << "   ↓";
       
   163             }
       
   164             else if (slave.ports[port].next_slave != 0xffff) {
       
   165                 cout << setw(4) << slave.ports[port].next_slave;
       
   166             }
       
   167             else {
       
   168                 cout << "    ";
       
   169             }
       
   170 
   152             cout << "|";
   171             cout << "|";
   153         }
   172         }
   154 
   173 
   155         ec_ioctl_slave_t slave;
       
   156         m.getSlave(&slave, i);
       
   157         std::string slaveName(slave.name);
   174         std::string slaveName(slave.name);
   158         slaveName = slaveName.substr(0, 11);
   175         slaveName = slaveName.substr(0, 11);
   159         cout << slaveName << endl;
   176         cout << slaveName << endl;
   160     }
   177     }
   161 }
   178 }