# HG changeset patch # User František Kučera # Date 1748776458 -7200 # Node ID 4ed672cecc2528aa0b8b979b13ab2cfefc1d2fb8 # Parent 358a601bfe81d2d307ee52f0c7bba96f872eafb4 rename 'version' field to 'model' diff -r 358a601bfe81 -r 4ed672cecc25 DJMFix.cpp --- a/DJMFix.cpp Sun May 11 00:30:03 2025 +0200 +++ b/DJMFix.cpp Sun Jun 01 13:14:18 2025 +0200 @@ -63,14 +63,14 @@ Bytes hash1; Bytes hash2; - uint8_t version = 0x17; + uint8_t model = 0x17; void run() { while (!stopped) { logger->log(L::FINE, "DJMFixImpl::run()"); if (sendKeepAlive) send({ 0xf0, 0x00, 0x40, 0x05, - 0x00, 0x00, 0x00, version, + 0x00, 0x00, 0x00, model, 0x00, 0x50, 0x01, 0xf7 }); std::this_thread::sleep_for(chro::milliseconds(keepAliveInterval)); @@ -179,11 +179,11 @@ logger->log(L::FINE, "DJMFixImpl::setDeviceName(" + name + ")"); std::regex djm250pattern("Pioneer DJ Corporation DJM-250MK2.*"); - std::regex djm450pattern(".*450.*"); // TODO: correct pattern + std::regex djm450pattern("Pioneer DJ Corporation DJM-450.*"); if (std::regex_match(name, djm250pattern)) { // DJM-250MK2: - version = 0x17; + model = 0x17; seed3 = { 0x59, 0xb5, 0x4b, 0xfe, 0xe4, 0x4a, 0x5a, 0xc8, 0xe4, 0xc5 @@ -192,7 +192,7 @@ } else if (std::regex_match(name, djm450pattern)) { // DJM-450: // DJM-450 - not tested yet: - version = 0x13; + model = 0x13; seed0 = {0x8c, 0x5b, 0x3f, 0x5d}; seed3 = { 0x08, 0xef, 0x3f, 0x2f, 0x1e, @@ -201,7 +201,7 @@ logger->log(L::FINE, "Switched to DJM-450 mode"); } else { // DJM-V10: - version = 0x34; + model = 0x34; seed3 = { 0x70, 0x01, 0x4d, 0x05, 0xbe, 0xf2, 0xe4, 0xde, 0x60, 0xd6 @@ -236,7 +236,7 @@ if (msgIn.type == MessageType::D11_GREETING && !greetingReceived) { logger->log(L::INFO, "Received greeting message."); - Message msgOut(MessageType::H12_SEED1, version,{ + Message msgOut(MessageType::H12_SEED1, model,{ {FieldType::F01, name1}, {FieldType::F02, name2}, {FieldType::F03, denormalize(seed1)} @@ -265,7 +265,7 @@ logger->log(L::INFO, "Verification of hash1 was successful."); hash2 = toBytes(fnv32hash(concat(seed2, xOR(seed0, seed2)))); - Message msgOut(MessageType::H14_HASH2, version,{ + Message msgOut(MessageType::H14_HASH2, model,{ {FieldType::F01, name1}, {FieldType::F02, name2}, {FieldType::F04, denormalize(hash2)}, @@ -304,14 +304,14 @@ send({ 0xf0, 0x00, 0x40, 0x05, - 0x00, 0x00, 0x00, version, + 0x00, 0x00, 0x00, model, 0x00, 0x50, 0x01, 0xf7 }); // TODO: check whether this second message is neccessary for V10: send({ 0xf0, 0x00, 0x40, 0x05, - 0x00, 0x00, 0x00, version, + 0x00, 0x00, 0x00, model, 0x00, 0x03, 0x01, 0xf7 }); logger->log(L::INFO, "Sent greeting message."); diff -r 358a601bfe81 -r 4ed672cecc25 Message.cpp --- a/Message.cpp Sun May 11 00:30:03 2025 +0200 +++ b/Message.cpp Sun Jun 01 13:14:18 2025 +0200 @@ -23,8 +23,8 @@ std::string Message::toString() const { std::stringstream s; s << ""; for (const auto& field : fields) { s << ""; diff -r 358a601bfe81 -r 4ed672cecc25 Message.h --- a/Message.h Sun May 11 00:30:03 2025 +0200 +++ b/Message.h Sun Jun 01 13:14:18 2025 +0200 @@ -71,12 +71,12 @@ class Message { public: MessageType type; - /** 0x17 for DJM-250MK2 and 0x34 for V10 (maybe not a version) */ - uint8_t version; + /** 0x17 for DJM-250MK2 and 0x34 for V10 */ + uint8_t model; std::vector fields; - Message(MessageType type, uint8_t version, std::vector fields) : - type(type), version(version), fields(fields) { + Message(MessageType type, uint8_t model, std::vector fields) : + type(type), model(model), fields(fields) { } virtual ~Message() = default; diff -r 358a601bfe81 -r 4ed672cecc25 MessageCodec.cpp --- a/MessageCodec.cpp Sun May 11 00:30:03 2025 +0200 +++ b/MessageCodec.cpp Sun Jun 01 13:14:18 2025 +0200 @@ -35,9 +35,9 @@ || data[3] != 0x05) throw ERR("wrong message Manufacturer MIDI SysEx ID"); - if (data.size() < 8) throw ERR("missing message version"); + if (data.size() < 8) throw ERR("missing model"); - uint8_t msgVersion = data[7]; + uint8_t model = data[7]; if (data.size() < 10) throw ERR("missing message type"); @@ -77,7 +77,7 @@ start += fieldSize; } - return Message(msgType, msgVersion, fields); + return Message(msgType, model, fields); } std::vector MessageCodec::encode(Message msg) { @@ -95,7 +95,7 @@ data.push_back(0x00); data.push_back(0x00); - data.push_back(msg.version); + data.push_back(msg.model); data.push_back(0x00); data.push_back((uint8_t) msg.type);