tools/main.cpp
changeset 936 30fddfce8db6
parent 935 b954e9d91ea5
child 938 5b936e8e39fa
equal deleted inserted replaced
935:b954e9d91ea5 936:30fddfce8db6
    14 
    14 
    15 /*****************************************************************************/
    15 /*****************************************************************************/
    16 
    16 
    17 #define DEFAULT_MASTER 0
    17 #define DEFAULT_MASTER 0
    18 #define DEFAULT_COMMAND "slaves"
    18 #define DEFAULT_COMMAND "slaves"
    19 #define DEFAULT_SLAVESPEC ""
    19 #define DEFAULT_SLAVEPOSITION -1
    20 
    20 
    21 static unsigned int masterIndex = DEFAULT_MASTER;
    21 static unsigned int masterIndex = DEFAULT_MASTER;
    22 static int slavePosition = -1;
    22 static int slavePosition = DEFAULT_SLAVEPOSITION;
    23 static string command = DEFAULT_COMMAND;
    23 static string command = DEFAULT_COMMAND;
    24 
    24 
    25 /*****************************************************************************/
    25 /*****************************************************************************/
    26 
    26 
    27 void printUsage()
    27 void printUsage()
    32         << "  list (ls, slaves)  List all slaves (former 'lsec')." << endl
    32         << "  list (ls, slaves)  List all slaves (former 'lsec')." << endl
    33         << "  pdos               List Pdo mapping of given slaves." << endl
    33         << "  pdos               List Pdo mapping of given slaves." << endl
    34 		<< "Global options:" << endl
    34 		<< "Global options:" << endl
    35         << "  --master  -m <master>  Index of the master to use. Default: "
    35         << "  --master  -m <master>  Index of the master to use. Default: "
    36 		<< DEFAULT_MASTER	<< endl
    36 		<< DEFAULT_MASTER	<< endl
    37         << "  --slave   -s <slave>   Numerical ring position. Default: All "
    37         << "  --slave   -s <slave>   Positive numerical ring position,"
    38         "slaves." << endl
    38         << endl
       
    39         << "                         or 'all' for all slaves. Default: 'all'."
       
    40         << endl
    39         << "  --help    -h           Show this help." << endl;
    41         << "  --help    -h           Show this help." << endl;
    40 }
    42 }
    41 
    43 
    42 /*****************************************************************************/
    44 /*****************************************************************************/
    43 
    45 
    67                 }
    69                 }
    68 				masterIndex = number;
    70 				masterIndex = number;
    69                 break;
    71                 break;
    70 
    72 
    71             case 's':
    73             case 's':
    72                 number = strtoul(optarg, &remainder, 0);
    74                 if (!strcmp(optarg, "all")) {
    73                 if (remainder == optarg || *remainder
    75                     slavePosition = -1;
    74                         || number < 0 || number > 0xFFFF) {
    76                 } else {
    75                     cerr << "Invalid slave position " << optarg << "!" << endl;
    77                     number = strtoul(optarg, &remainder, 0);
    76                     printUsage();
    78                     if (remainder == optarg || *remainder
    77                     exit(1);
    79                             || number < 0 || number > 0xFFFF) {
       
    80                         cerr << "Invalid slave position "
       
    81                             << optarg << "!" << endl;
       
    82                         printUsage();
       
    83                         exit(1);
       
    84                     }
       
    85                     slavePosition = number;
    78                 }
    86                 }
    79 				slavePosition = number;
       
    80                 break;
    87                 break;
    81 
    88 
    82             case 'h':
    89             case 'h':
    83             case '?':
    90             case '?':
    84                 printUsage();
    91                 printUsage();