From d13013b56da10e39aa92706b98373a46d163bb48 Mon Sep 17 00:00:00 2001 From: David Date: Mon, 26 Jan 2026 16:37:27 -0600 Subject: [PATCH] Continue OO migration --- AVR Working Controller/AVR.cpp | 56 ++++++++++++------ ...aha RX-V2400_RS232C_CommandsForSW.pdf.xlsx | Bin 41527 -> 51987 bytes .../Yamaha RX-V2400_RS232C_Standard.pdf | Bin 179925 -> 183025 bytes 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/AVR Working Controller/AVR.cpp b/AVR Working Controller/AVR.cpp index 8c2c06f..ed70c6d 100644 --- a/AVR Working Controller/AVR.cpp +++ b/AVR Working Controller/AVR.cpp @@ -244,7 +244,7 @@ static int serialQueueCount = 0; // @param[in] len is the count of bytes in the message // @returns false if the queue (which is a fixed size) is full. // -bool ProcessSerialQueue(const uint8_t *p = NULL, uint16_t len = 0); +//bool ProcessSerialQueue(const uint8_t *p = NULL, uint16_t len = 0); // ProcessSerialReceive @@ -295,12 +295,12 @@ const UserCmd_T UserCommands[] = { { 'm', "Vol 1 UnMute", {"\x02" "07EA3" "\x03", 7} }, { 'O', "OSD Test Message", }, { 'T', "Tuning freq rqst", {"\x02" "22000" "\x03", 7} }, - { 'Y', "Main Vol rqst", {"\x02" "22001" "\x03", 7} }, + { 'Y', "Zone 1 Vol rqst", {"\x02" "22001" "\x03", 7} }, { 'y', "Zone 2 Vol rqst", {"\x02" "22002" "\x03", 7} }, - { 'U', "Input Name rqst", {"\x02" "22003" "\x03", 7} }, - { 'u', "Zone 2 Name rqst", {"\x02" "22004" "\x03", 7} }, - { 'I', "Zone 2 Vol rqst", {"\x02" "22005" "\x03", 7} }, - { 'i', "Zone 2 Name rqst", {"\x02" "22006" "\x03", 7} }, + { 'U', "Zone 1 Input rqst", {"\x02" "22003" "\x03", 7} }, + { 'u', "Zone 2 Input rqst", {"\x02" "22004" "\x03", 7} }, + { 'I', "Zone 3 Vol rqst", {"\x02" "22005" "\x03", 7} }, + { 'i', "Zone 3 Input rqst", {"\x02" "22006" "\x03", 7} }, //{ 'J', "Dual Mono - Main", {"\x02" "07E93" "\x03", 7} }, //{ 'K', "Dual Mono - Sub", {"\x02" "07E94" "\x03", 7} }, //{ 'L', "Dual Mono - All", {"\x02" "07E95" "\x03", 7} }, @@ -601,6 +601,7 @@ bool SerialSend(const uint8_t *p, uint16_t len) { return retVal; } +#if 0 bool ProcessSerialQueue(const uint8_t *p, uint16_t len) { bool retVal = false; // assume fail static bool freshData = false; @@ -629,7 +630,7 @@ bool ProcessSerialQueue(const uint8_t *p, uint16_t len) { } return retVal; } - +#endif void EmitSpinner() { static int x = 0; @@ -669,7 +670,7 @@ void EmitRuntimeHelp() { } } - +#if 0 // PCMessage // // Various responses need to be formatted and shown on screen @@ -700,7 +701,7 @@ static void PCMessage(const char *msg, int len, uint8_t **src, const char * (fnc Console_AdvanceToNextLineIfNotRoomFor(26); Console_Write(outBuf); } - +#endif #if 0 @@ -837,11 +838,11 @@ void ProcessKeyboard(void) { avr->Power(AVRInterface::AVROnOff_E::eOff); break; case 'O': - ProcessSerialQueue((const uint8_t *)"\x02" "21000" "\x03", 7); - ProcessSerialQueue((const uint8_t *)"\x02" "3Test" "\x03", 7); - ProcessSerialQueue((const uint8_t *)"\x02" "3 Mes" "\x03", 7); - ProcessSerialQueue((const uint8_t *)"\x02" "3sage" "\x03", 7); - ProcessSerialQueue((const uint8_t *)"\x02" "3 WOW" "\x03", 7); + avr->ProcessSerialQueue("\x02" "21000" "\x03", 7); + avr->ProcessSerialQueue("\x02" "3Test" "\x03", 7); + avr->ProcessSerialQueue("\x02" "3 Mes" "\x03", 7); + avr->ProcessSerialQueue("\x02" "3sage" "\x03", 7); + avr->ProcessSerialQueue("\x02" "3 WOW" "\x03", 7); break; case ':': GetAndSendCustomMessage(); @@ -888,6 +889,19 @@ void ProcessKeyboard(void) { return; } +void HexUppercase(char *p) { + const char *hex = "0123456789ABCDEF"; + while (*p) { + if (*p >= 'a' && *p <= 'f') + *p = *p - 'a' + 'A'; + if (NULL == strchr(hex, *p)) { + *p = '\0'; + return; + } + p++; + } +} + void GetAndSendCustomMessage() { char buf[20]; char msg[30]; @@ -895,9 +909,15 @@ void GetAndSendCustomMessage() { Console_ScrollBottomRegion(); Console_WriteAt(0, -2, "Enter Hex string to send: "); gets_s(buf, sizeof(buf)); - Console_ScrollBottomRegion(); - sprintf_s(msg, sizeof(msg), "\x02%s\x03", buf); - avr->ProcessSerialQueue(msg, strlen(msg)); + HexUppercase(buf); + if (strlen(buf) != 5) { + Console_WriteAt(0, -1, " Invalid. String must be exactly 5 HEX chars"); + Console_ScrollBottomRegion(); + } else { + Console_ScrollBottomRegion(); + sprintf_s(msg, sizeof(msg), "\x02%s\x03", buf); + avr->ProcessSerialQueue(msg, strlen(msg)); + } } @@ -1036,7 +1056,7 @@ int __cdecl main(int argc, char *argv[]) { //HandleMessage(anyRcvdMsg.message, anyRcvdMsg.len); } - ProcessSerialQueue(); + //ProcessSerialQueue(); ProcessWindowsMessage(); } while (!UserWantsToExitCanSniff); DetachSerialPort(); diff --git a/DataSheets/Yamaha RX-V2400_RS232C_CommandsForSW.pdf.xlsx b/DataSheets/Yamaha RX-V2400_RS232C_CommandsForSW.pdf.xlsx index de4b6443cf32a4a46a2ff8b28cd6353c4f0dea25..41c2dde5f5e6b2ae784360651f705e7a62f4a2ad 100644 GIT binary patch delta 19520 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 diff --git a/DataSheets/Yamaha RX-V2400_RS232C_Standard.pdf b/DataSheets/Yamaha RX-V2400_RS232C_Standard.pdf index 941acbca3e2b4a677344657a28da44f143ac6495..73e367a486460c00698d633591f509aa1560ca02 100644 GIT binary patch delta 9496 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 PH#sy73MC~)Peu(2U@5_c