tool/CommandUpload.cpp
changeset 1393 979a7b26036d
parent 1363 11c0b2caa253
child 1804 742607c464c4
equal deleted inserted replaced
1392:8fcc1d0987c1 1393:979a7b26036d
    83 
    83 
    84 void CommandUpload::execute(MasterDevice &m, const StringVector &args)
    84 void CommandUpload::execute(MasterDevice &m, const StringVector &args)
    85 {
    85 {
    86     SlaveList slaves;
    86     SlaveList slaves;
    87     stringstream err, strIndex, strSubIndex;
    87     stringstream err, strIndex, strSubIndex;
    88     int sval;
       
    89     ec_ioctl_slave_sdo_upload_t data;
    88     ec_ioctl_slave_sdo_upload_t data;
       
    89     const DataType *dataType = NULL;
    90     unsigned int uval;
    90     unsigned int uval;
    91     const DataType *dataType = NULL;
       
    92 
    91 
    93     if (args.size() != 2) {
    92     if (args.size() != 2) {
    94         err << "'" << getName() << "' takes two arguments!";
    93         err << "'" << getName() << "' takes two arguments!";
    95         throwInvalidUsageException(err);
    94         throwInvalidUsageException(err);
    96     }
    95     }
   176     }
   175     }
   177 
   176 
   178     cout << setfill('0');
   177     cout << setfill('0');
   179     switch (dataType->coeCode) {
   178     switch (dataType->coeCode) {
   180         case 0x0002: // int8
   179         case 0x0002: // int8
   181             sval = *(int8_t *) data.target;
   180             {
   182             cout << sval << " 0x" << hex << setw(2) << sval << endl;
   181                 int val = (int) *data.target;
       
   182                 cout << "0x" << hex << setw(2) << val
       
   183                     << " " << dec << val << endl;
       
   184             }
   183             break;
   185             break;
   184         case 0x0003: // int16
   186         case 0x0003: // int16
   185             sval = le16_to_cpup(data.target);
   187             {
   186             cout << sval << " 0x" << hex << setw(4) << sval << endl;
   188                 int16_t val = le16_to_cpup(data.target);
       
   189                 cout << "0x" << hex << setw(4) << val
       
   190                     << " " << dec << val << endl;
       
   191             }
   187             break;
   192             break;
   188         case 0x0004: // int32
   193         case 0x0004: // int32
   189             sval = le32_to_cpup(data.target);
   194             {
   190             cout << sval << " 0x" << hex << setw(8) << sval << endl;
   195                 int32_t val = le32_to_cpup(data.target);
       
   196                 cout << "0x" << hex << setw(8) << val
       
   197                     << " " << dec << val << endl;
       
   198             }
   191             break;
   199             break;
   192         case 0x0005: // uint8
   200         case 0x0005: // uint8
   193             uval = (unsigned int) *(uint8_t *) data.target;
   201             {
   194             cout << uval << " 0x" << hex << setw(2) << uval << endl;
   202                 unsigned int val = (unsigned int) *data.target;
       
   203                 cout << "0x" << hex << setw(2) << val
       
   204                     << " " << dec << val << endl;
       
   205             }
   195             break;
   206             break;
   196         case 0x0006: // uint16
   207         case 0x0006: // uint16
   197             uval = le16_to_cpup(data.target);
   208             {
   198             cout << uval << " 0x" << hex << setw(4) << uval << endl;
   209                 uint16_t val = le16_to_cpup(data.target);
       
   210                 cout << "0x" << hex << setw(4) << val
       
   211                     << " " << dec << val << endl;
       
   212             }
   199             break;
   213             break;
   200         case 0x0007: // uint32
   214         case 0x0007: // uint32
   201             uval = le32_to_cpup(data.target);
   215             {
   202             cout << uval << " 0x" << hex << setw(8) << uval << endl;
   216                 uint32_t val = le32_to_cpup(data.target);
       
   217                 cout << "0x" << hex << setw(8) << val
       
   218                     << " " << dec << val << endl;
       
   219             }
   203             break;
   220             break;
   204         case 0x0009: // string
   221         case 0x0009: // string
   205             cout << string((const char *) data.target, data.data_size)
   222             cout << string((const char *) data.target, data.data_size)
   206                 << endl;
   223                 << endl;
   207             break;
   224             break;