From 054595e14bd17b0dc9ff56bfbbbadb65e19a562f Mon Sep 17 00:00:00 2001 From: Phil Taylor Date: Sun, 28 Apr 2024 20:43:50 +0100 Subject: [PATCH] Memory fixes and add load progress --- memories.cpp | 2 ++ rigcommander.cpp | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/memories.cpp b/memories.cpp index 79318c7..0674d93 100644 --- a/memories.cpp +++ b/memories.cpp @@ -927,6 +927,7 @@ void memories::on_group_currentIndexChanged(int index) queue->add(priorityImmediate,queueItem(funcMemoryContents,QVariant::fromValue(lastMemoryRequested))); } } + ui->loadingMemories->setText(QString("Loading Memory %0/%1 (this may take a while!)").arg(lastMemoryRequested&0xffff,3,10,QLatin1Char('0')).arg(rigCaps->memories,3,10,QLatin1Char('0'))); } void memories::on_vfoMode_clicked() @@ -949,6 +950,7 @@ void memories::on_memoryMode_clicked() void memories::receiveMemory(memoryType mem) { + ui->loadingMemories->setText(QString("Loading Memory %0/%1 (this may take a while!)").arg(lastMemoryRequested&0xffff,3,10,QLatin1Char('0')).arg(rigCaps->memories,3,10,QLatin1Char('0'))); // First, do we need to request the next memory? if ((lastMemoryRequested & 0xffff) < groupMemories) { diff --git a/rigcommander.cpp b/rigcommander.cpp index 39b8ae1..312744b 100644 --- a/rigcommander.cpp +++ b/rigcommander.cpp @@ -2163,22 +2163,22 @@ bool rigCommander::parseMemory(QVector* memParser, memoryType* mem->frequencyB.Hz = parseFreqDataToInt(data); break; case 'g': - mem->mode=data[0]; + mem->mode=bcdHexToUChar(data[0]); break; case 'G': - mem->modeB=data[0]; + mem->modeB=bcdHexToUChar(data[0]); break; case 'h': - mem->filter=data[0]; + mem->filter=bcdHexToUChar(data[0]); break; case 'H': - mem->filterB=data[0]; + mem->filterB=bcdHexToUChar(data[0]); break; case 'i': // single datamode - mem->datamode=data[0]; + mem->datamode=bcdHexToUChar(data[0]); break; case 'I': // single datamode - mem->datamodeB=data[0]; + mem->datamodeB=bcdHexToUChar(data[0]); break; case 'j': // combined duplex and tonemode mem->duplex=duplexMode_t(quint8(data[0] >> 4 & 0x0f)); @@ -2668,22 +2668,22 @@ void rigCommander::receiveCommand(funcs func, QVariant value, uchar receiver) payload.append(makeFreqPayload(mem.frequencyB)); break; case 'g': - payload.append(mem.mode); + payload.append(bcdEncodeChar(mem.mode)); break; case 'G': - payload.append(mem.modeB); + payload.append(bcdEncodeChar(mem.modeB)); break; case 'h': - payload.append(mem.filter); + payload.append(bcdEncodeChar(mem.filter)); break; case 'H': - payload.append(mem.filterB); + payload.append(bcdEncodeChar(mem.filterB)); break; case 'i': // single datamode - payload.append(mem.datamode); + payload.append(bcdEncodeChar(mem.datamode)); break; case 'I': - payload.append(mem.datamodeB); + payload.append(bcdEncodeChar(mem.datamodeB)); break; case 'j': // combined duplex and tonemode payload.append((mem.duplex << 4) | mem.tonemode);