Successful communication between Raduino and IOP. Digi modes working.
Have a high-pitched whine in RX audio, however (IOP problem, not Raduino).
This commit is contained in:
@@ -131,9 +131,9 @@ byte modeToByte(){
|
||||
if (cwMode == 0)
|
||||
{
|
||||
if (isUSB)
|
||||
return 3;
|
||||
return 3 + (digiMode > 0 ? 3 + digiMode : 0);
|
||||
else
|
||||
return 2;
|
||||
return 2 + (digiMode > 0 ? 3 + digiMode : 0);
|
||||
}
|
||||
else if (cwMode == 1)
|
||||
{
|
||||
@@ -149,20 +149,56 @@ byte modeToByte(){
|
||||
//autoSetModebyFreq : 0
|
||||
//autoSetModebyFreq : 1, if (modValue is not set, set mode by frequency)
|
||||
void byteToMode(byte modeValue, byte autoSetModebyFreq){
|
||||
if (modeValue == 4)
|
||||
cwMode = 1;
|
||||
else if (modeValue == 5)
|
||||
cwMode = 2;
|
||||
else
|
||||
{
|
||||
isUSB = false;
|
||||
cwMode = 0;
|
||||
digiMode = 0;
|
||||
|
||||
if (autoSetModebyFreq == 1 && (modeValue == 0)) {
|
||||
isUSB = (frequency > 10000000l) ? true : false;
|
||||
} else {
|
||||
switch(modeValue) {
|
||||
// LSB by default, so we can skip this case
|
||||
//case 2: // LSB
|
||||
//break;
|
||||
|
||||
case 3: // USB
|
||||
isUSB = true;
|
||||
break;
|
||||
|
||||
case 4: // CWL
|
||||
cwMode = 1;
|
||||
break;
|
||||
|
||||
case 5: // CWU
|
||||
cwMode = 2;
|
||||
break;
|
||||
|
||||
case 6: // DGL
|
||||
digiMode = 1;
|
||||
break;
|
||||
|
||||
case 7: // DGU
|
||||
isUSB = true;
|
||||
digiMode = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* if (modeValue == 4) {
|
||||
cwMode = 1; digiMode = 0;
|
||||
} else if (modeValue == 5) {
|
||||
cwMode = 2; digiMode = 0;
|
||||
} else {
|
||||
cwMode = 0;
|
||||
if (modeValue == 3)
|
||||
isUSB = 1;
|
||||
if (modeValue == 3) {
|
||||
isUSB = 1; digiMode = 0;
|
||||
} else if (modeValue == 6) {
|
||||
isUSB =
|
||||
}
|
||||
else if (autoSetModebyFreq == 1 && (modeValue == 0))
|
||||
isUSB = (frequency > 10000000l) ? true : false;
|
||||
else
|
||||
isUSB = 0;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
@@ -651,12 +687,19 @@ int getValueByKnob(int valueType, int targetValue, int minKnobValue, int maxKnob
|
||||
moveDetectStep = 0;
|
||||
}
|
||||
|
||||
strcpy(b, displayTitle);
|
||||
|
||||
if (valueType == 11) //Mode Select
|
||||
{
|
||||
b[targetValue * 4] = '>';
|
||||
}
|
||||
int tmpCol = targetValue * 4;
|
||||
if (tmpCol >= 16) {
|
||||
tmpCol -= 16;
|
||||
strcpy(b, &displayTitle[16]);
|
||||
} else {
|
||||
strcpy(b, displayTitle);
|
||||
}
|
||||
b[tmpCol] = '>';
|
||||
} else {
|
||||
strcpy(b, displayTitle);
|
||||
|
||||
/*
|
||||
else if (valueType == 4) //CW Key Type Select
|
||||
{
|
||||
@@ -668,8 +711,6 @@ int getValueByKnob(int valueType, int targetValue, int minKnobValue, int maxKnob
|
||||
strcat(b, "IAMBICB");
|
||||
}
|
||||
*/
|
||||
else
|
||||
{
|
||||
strcat(b, ":");
|
||||
itoa(targetValue,c, 10);
|
||||
strcat(b, c);
|
||||
@@ -932,36 +973,55 @@ void menuSelectMode(int btn){
|
||||
}
|
||||
else
|
||||
{
|
||||
//LSB, USB, CWL, CWU
|
||||
if (cwMode == 0 && isUSB == 0)
|
||||
//LSB, USB, CWL, CWU, DGL, DGU
|
||||
if (cwMode == 0) {
|
||||
if (isUSB == 0) {
|
||||
selectModeType = 0; // LSB
|
||||
} else {
|
||||
selectModeType = 1; // USB
|
||||
}
|
||||
// modify if digital mode is set
|
||||
if (digiMode > 0) {
|
||||
selectModeType += (3 + digiMode);
|
||||
}
|
||||
} else if (cwMode == 1) {
|
||||
selectModeType = 2; // CWL
|
||||
} else {
|
||||
selectModeType = 3; // CWU
|
||||
}
|
||||
/*if (cwMode == 0 && isUSB == 0)
|
||||
selectModeType = 0;
|
||||
else if (cwMode == 0 && isUSB == 1)
|
||||
selectModeType = 1;
|
||||
else if (cwMode == 1)
|
||||
selectModeType = 2;
|
||||
else
|
||||
selectModeType = 3;
|
||||
selectModeType = 3;*/
|
||||
|
||||
beforeMode = selectModeType;
|
||||
selectModeType = getValueByKnob(11, selectModeType, 0, 3, 1, " LSB USB CWL CWU", 4); //3 : Select Mode, targetValue, minKnobValue, maxKnobValue, stepSize
|
||||
selectModeType = getValueByKnob(11, selectModeType, 0, 5, 1, " LSB USB CWL CWU DGL DGU ", 4); //3 : Select Mode, targetValue, minKnobValue, maxKnobValue, stepSize
|
||||
|
||||
if (beforeMode != selectModeType)
|
||||
{
|
||||
//printLineF1(F("Changed Mode"));
|
||||
if (selectModeType == 0) {
|
||||
cwMode = 0; isUSB = 0;
|
||||
cwMode = 0; isUSB = 0; digiMode = 0;
|
||||
}
|
||||
else if (selectModeType == 1) {
|
||||
cwMode = 0; isUSB = 1;
|
||||
cwMode = 0; isUSB = 1; digiMode = 0;
|
||||
}
|
||||
else if (selectModeType == 2) {
|
||||
cwMode = 1;
|
||||
cwMode = 1; digiMode = 0;
|
||||
}
|
||||
else if (selectModeType == 3) {
|
||||
cwMode = 2;
|
||||
cwMode = 2; digiMode = 0;
|
||||
} else if (selectModeType == 4) {
|
||||
cwMode = 0; isUSB = 0; digiMode = 1;
|
||||
} else if (selectModeType == 5) {
|
||||
cwMode = 0; isUSB = 1; digiMode = 1;
|
||||
}
|
||||
// KC4UPR: sending mode to IOP
|
||||
iopSendMode(cwMode, isUSB);
|
||||
iopSendMode(cwMode, isUSB, digiMode);
|
||||
|
||||
FrequencyToVFO(1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user