diff --git a/tool/CommandRegWrite.cpp b/tool/CommandRegWrite.cpp index 4c8710b6bcd2d7cabd3d626e4352701b4fd30257..31484ca3f8118f647d01022cd6f94a5fdf2ba35e 100644 --- a/tool/CommandRegWrite.cpp +++ b/tool/CommandRegWrite.cpp @@ -146,6 +146,10 @@ void CommandRegWrite::execute(MasterDevice &m, const StringVector &args) int32_t val; strValue >> val; *(int32_t *) data.data = cpu_to_le32(val); + } else if (dataType->name == "int64") { + int64_t val; + strValue >> val; + *(int64_t *) data.data = cpu_to_le64(val); } else if (dataType->name == "uint8") { uint16_t val; // uint8_t is interpreted as char strValue >> val; @@ -160,6 +164,10 @@ void CommandRegWrite::execute(MasterDevice &m, const StringVector &args) uint32_t val; strValue >> val; *(uint32_t *) data.data = cpu_to_le32(val); + } else if (dataType->name == "uint64") { + uint64_t val; + strValue >> val; + *(uint64_t *) data.data = cpu_to_le64(val); } else if (dataType->name == "string" || dataType->name == "octet_string") { data.length = strValue.str().size();