tool/CommandRegWrite.cpp
changeset 1395 e9fe40c458cc
parent 1389 5b392b22a2da
child 1431 70e891465da1
equal deleted inserted replaced
1394:e77728ddf0f9 1395:e9fe40c458cc
   144 				*(int16_t *) data.data = cpu_to_le16(val);
   144 				*(int16_t *) data.data = cpu_to_le16(val);
   145 			} else if (dataType->name == "int32") {
   145 			} else if (dataType->name == "int32") {
   146 				int32_t val;
   146 				int32_t val;
   147 				strValue >> val;
   147 				strValue >> val;
   148 				*(int32_t *) data.data = cpu_to_le32(val);
   148 				*(int32_t *) data.data = cpu_to_le32(val);
       
   149 			} else if (dataType->name == "int64") {
       
   150 				int64_t val;
       
   151 				strValue >> val;
       
   152 				*(int64_t *) data.data = cpu_to_le64(val);
   149 			} else if (dataType->name == "uint8") {
   153 			} else if (dataType->name == "uint8") {
   150 				uint16_t val; // uint8_t is interpreted as char
   154 				uint16_t val; // uint8_t is interpreted as char
   151 				strValue >> val;
   155 				strValue >> val;
   152 				if (val > 0xff)
   156 				if (val > 0xff)
   153 					throw ios::failure("Value out of range");
   157 					throw ios::failure("Value out of range");
   158 				*(uint16_t *) data.data = cpu_to_le16(val);
   162 				*(uint16_t *) data.data = cpu_to_le16(val);
   159 			} else if (dataType->name == "uint32") {
   163 			} else if (dataType->name == "uint32") {
   160 				uint32_t val;
   164 				uint32_t val;
   161 				strValue >> val;
   165 				strValue >> val;
   162 				*(uint32_t *) data.data = cpu_to_le32(val);
   166 				*(uint32_t *) data.data = cpu_to_le32(val);
       
   167 			} else if (dataType->name == "uint64") {
       
   168 				uint64_t val;
       
   169 				strValue >> val;
       
   170 				*(uint64_t *) data.data = cpu_to_le64(val);
   163 			} else if (dataType->name == "string" ||
   171 			} else if (dataType->name == "string" ||
   164 					dataType->name == "octet_string") {
   172 					dataType->name == "octet_string") {
   165 				data.length = strValue.str().size();
   173 				data.length = strValue.str().size();
   166 				if (!data.length) {
   174 				if (!data.length) {
   167 					err << "Zero-size string now allowed!";
   175 					err << "Zero-size string now allowed!";