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.");