write eeprom cycle test and reconvery
This commit is contained in:
parent
3b4aaa664c
commit
a7684284d2
@ -156,10 +156,10 @@ int count = 0; //to generally count ticks, loops, etc
|
||||
#define VFO_B_MODE 257
|
||||
#define CW_DELAY 258
|
||||
#define CW_START 259
|
||||
#define HAM_BAND_COUNT 260 //
|
||||
#define TX_TUNE_TYPE 261 //
|
||||
#define HAM_BAND_RANGE 262 //FROM (2BYTE) TO (2BYTE) * 10 = 40byte
|
||||
#define HAM_BAND_FREQS 302 //40, 1 BAND = 4Byte most bit is mode
|
||||
#define HAM_BAND_COUNT 260 //
|
||||
#define TX_TUNE_TYPE 261 //
|
||||
#define HAM_BAND_RANGE 262 //FROM (2BYTE) TO (2BYTE) * 10 = 40byte
|
||||
#define HAM_BAND_FREQS 302 //40, 1 BAND = 4Byte most bit is mode
|
||||
#define TUNING_STEP 342 //TUNING STEP * 6 (index 1 + STEPS 5) //1STEP :
|
||||
|
||||
|
||||
@ -907,13 +907,13 @@ void initSettings(){
|
||||
if ((3 < tuneTXType && tuneTXType < 100) || 103 < tuneTXType || useHamBandCount < 1 || findedValidValueCount < 5)
|
||||
{
|
||||
tuneTXType = 2;
|
||||
//if empty band Information, auto insert default region 1 frequency range
|
||||
//if empty band Information, auto insert default region 2 frequency range
|
||||
//This part is made temporary for people who have difficulty setting up, so can remove it when you run out of memory.
|
||||
useHamBandCount = 10;
|
||||
hamBandRange[0][0] = 1810; hamBandRange[0][1] = 2000;
|
||||
hamBandRange[1][0] = 3500; hamBandRange[1][1] = 3800;
|
||||
hamBandRange[2][0] = 5351; hamBandRange[2][1] = 5367;
|
||||
hamBandRange[3][0] = 7000; hamBandRange[3][1] = 7300; //region 1
|
||||
hamBandRange[3][0] = 7000; hamBandRange[3][1] = 7300; //region 2
|
||||
hamBandRange[4][0] = 10100; hamBandRange[4][1] = 10150;
|
||||
hamBandRange[5][0] = 14000; hamBandRange[5][1] = 14350;
|
||||
hamBandRange[6][0] = 18068; hamBandRange[6][1] = 18168;
|
||||
@ -1085,7 +1085,7 @@ void setup()
|
||||
|
||||
//Serial.begin(9600);
|
||||
lcd.begin(16, 2);
|
||||
printLineF(1, F("CECBT v0.35"));
|
||||
printLineF(1, F("CECBT v1.00"));
|
||||
|
||||
Init_Cat(38400, SERIAL_8N1);
|
||||
initMeter(); //not used in this build
|
||||
@ -1139,6 +1139,7 @@ void checkAutoSaveFreqMode()
|
||||
//check time for Frequency auto save
|
||||
if (millis() - saveCheckTime > saveIntervalSec * 1000)
|
||||
{
|
||||
/*
|
||||
if (vfoActive == VFO_A)
|
||||
{
|
||||
vfoA = frequency;
|
||||
@ -1151,6 +1152,8 @@ void checkAutoSaveFreqMode()
|
||||
vfoB_mode = modeToByte();
|
||||
storeFrequencyAndMode(2);
|
||||
}
|
||||
*/
|
||||
FrequencyToVFO(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ void menuBand(int btn){
|
||||
btnPressCount = 0;
|
||||
if (tuneTXType > 0) { //Just toggle 0 <-> 2, if tuneTXType is 100, 100 -> 0 -> 2
|
||||
tuneTXType = 0;
|
||||
printLineF2(F("Full range mode"));
|
||||
printLineF2(F("General mode"));
|
||||
}
|
||||
else {
|
||||
tuneTXType = 2;
|
||||
@ -289,17 +289,12 @@ void menuSelectMode(int btn){
|
||||
|
||||
beforeMode = selectModeType;
|
||||
|
||||
while(!btnDown() && digitalRead(PTT) == HIGH){
|
||||
while(!btnDown()){
|
||||
//Display Mode Name
|
||||
printLineF1(F("LSB USB CWL CWU"));
|
||||
if (selectModeType == 0)
|
||||
printLineF1(F("LSB"));
|
||||
else if (selectModeType == 1)
|
||||
printLineF1(F("USB"));
|
||||
else if (selectModeType == 2)
|
||||
printLineF1(F("CWL"));
|
||||
else if (selectModeType == 3)
|
||||
printLineF1(F("CWU"));
|
||||
memset(c, 0, sizeof(c));
|
||||
strcpy(c, " LSB USB CWL CWU");
|
||||
c[selectModeType * 4] = '>';
|
||||
printLine1(c);
|
||||
|
||||
knob = enc_read();
|
||||
|
||||
@ -320,7 +315,8 @@ void menuSelectMode(int btn){
|
||||
}
|
||||
}
|
||||
|
||||
Check_Cat(0); //To prevent disconnections
|
||||
//Check_Cat(0); //To prevent disconnections
|
||||
delay_background(50, 0);
|
||||
}
|
||||
|
||||
if (beforeMode != selectModeType) {
|
||||
@ -368,9 +364,9 @@ void menuCHMemory(int btn, byte isMemoryToVfo){
|
||||
|
||||
if (!btn){
|
||||
if (isMemoryToVfo == 1)
|
||||
printLine2("Channel To VFO?");
|
||||
printLineF2(F("Channel To VFO?"));
|
||||
else
|
||||
printLine2("VFO To Channel?");
|
||||
printLineF2(F("VFO To Channel?"));
|
||||
}
|
||||
else {
|
||||
delay_background(500, 0);
|
||||
@ -490,7 +486,7 @@ void menuSetupKeyType(int btn){
|
||||
printLineF2(F("Change Key Type?"));
|
||||
}
|
||||
else {
|
||||
printLineF2(F("Press to set Key"));
|
||||
//printLineF2(F("Press to set Key")); //for reduce usable flash memory
|
||||
delay_background(500, 0);
|
||||
selectedKeyType = cwKeyType;
|
||||
|
||||
@ -539,9 +535,6 @@ void menuSetupKeyType(int btn){
|
||||
keyerControl |= IAMBICB;
|
||||
}
|
||||
|
||||
//delay_background(2000, 0);
|
||||
//printLine2ClearAndUpdate();
|
||||
//menuOn = 0;
|
||||
menuClearExit(1000);
|
||||
}
|
||||
}
|
||||
@ -572,18 +565,11 @@ void menuADCMonitor(int btn){
|
||||
adcPinA0 = analogRead(A0); //A0(BLACK, EncoderA)
|
||||
adcPinA1 = analogRead(A1); //A1(BROWN, EncoderB)
|
||||
adcPinA2 = analogRead(A2); //A2(RED, Function Key)
|
||||
adcPinA3 = analogRead(A3); //A3(ORANGE, CW Key)
|
||||
adcPinA6 = analogRead(A6); //A6(BLUE, Ptt)
|
||||
adcPinA3 = analogRead(A3); //A3(PTT)
|
||||
adcPinA6 = analogRead(A6); //A6(KEYER)
|
||||
adcPinA7 = analogRead(A7); //A7(VIOLET, Spare)
|
||||
|
||||
/*
|
||||
sprintf(c, "%4d %4d %4d", adcPinA0, adcPinA1, adcPinA2);
|
||||
printLine1(c);
|
||||
sprintf(c, "%4d %4d %4d", adcPinA3, adcPinA6, adcPinA7);
|
||||
printLine2(c);
|
||||
*/
|
||||
|
||||
if (adcPinA6 < 10) {
|
||||
if (adcPinA3 < 50) {
|
||||
if (pressKeyTime == 0)
|
||||
pressKeyTime = millis();
|
||||
else if (pressKeyTime < (millis() - 3000))
|
||||
@ -622,8 +608,6 @@ void menuADCMonitor(int btn){
|
||||
delay_background(200, 0);
|
||||
} //end of while
|
||||
|
||||
//printLine2ClearAndUpdate();
|
||||
//menuOn = 0;
|
||||
menuClearExit(0);
|
||||
}
|
||||
|
||||
@ -648,7 +632,6 @@ void menuVfoToggle(int btn)
|
||||
frequency = vfoA;
|
||||
saveCheckFreq = frequency;
|
||||
byteToMode(vfoA_mode, 0);
|
||||
//printLineF2(F("Selected VFO A"));
|
||||
}
|
||||
else {
|
||||
//vfoA = frequency;
|
||||
@ -664,16 +647,11 @@ void menuVfoToggle(int btn)
|
||||
|
||||
ritDisable();
|
||||
setFrequency(frequency);
|
||||
|
||||
//if (isUseDelayTime == 1) //Found Issue in wsjt-x Linux 32bit
|
||||
// delay_background(500, 0);
|
||||
|
||||
//printLine2ClearAndUpdate();
|
||||
//menuOn = 0;
|
||||
menuClearExit(0);
|
||||
}
|
||||
}
|
||||
|
||||
//modified for reduce used flash memory by KD8CEC
|
||||
void menuRitToggle(int btn){
|
||||
if (!btn){
|
||||
if (ritOn == 1)
|
||||
@ -691,9 +669,7 @@ void menuRitToggle(int btn){
|
||||
printLineF2(F("RIT is OFF"));
|
||||
ritDisable();
|
||||
}
|
||||
//delay_background(500, 0);
|
||||
//printLine2ClearAndUpdate();
|
||||
//menuOn = 0;
|
||||
|
||||
menuClearExit(500);
|
||||
}
|
||||
}
|
||||
@ -763,14 +739,18 @@ void menuSetup(int btn){
|
||||
else
|
||||
printLineF2(F("Setup Off?"));
|
||||
}else {
|
||||
modeCalibrate = ! modeCalibrate;
|
||||
/*
|
||||
if (!modeCalibrate){
|
||||
modeCalibrate = true;
|
||||
printLineF2(F("Setup:On"));
|
||||
//printLineF2(F("Setup:On"));
|
||||
}
|
||||
else {
|
||||
modeCalibrate = false;
|
||||
printLineF2(F("Setup:Off"));
|
||||
//printLineF2(F("Setup:Off"));
|
||||
}
|
||||
*/
|
||||
|
||||
//delay_background(2000, 0);
|
||||
//printLine2Clear();
|
||||
//menuOn = 0;
|
||||
@ -801,14 +781,14 @@ void menuCWSpeed(int btn){
|
||||
return;
|
||||
}
|
||||
|
||||
printLineF1(F("Press to set WPm"));
|
||||
printLineF1(F("Press to set WPM"));
|
||||
strcpy(b, "WPM:");
|
||||
itoa(wpm,c, 10);
|
||||
strcat(b, c);
|
||||
printLine2(b);
|
||||
delay_background(300, 0);
|
||||
|
||||
while(!btnDown() && digitalRead(PTT) == HIGH){
|
||||
while(!btnDown()){
|
||||
|
||||
knob = enc_read();
|
||||
if (knob != 0){
|
||||
@ -872,8 +852,7 @@ void menuSetupCwDelay(int btn){
|
||||
int tmpCWDelay = cwDelayTime * 10;
|
||||
|
||||
if (!btn){
|
||||
strcpy(b, "CW TX->RX Delay");
|
||||
printLine2(b);
|
||||
printLineF2(F("CW TX->RX Delay"));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -884,7 +863,7 @@ void menuSetupCwDelay(int btn){
|
||||
printLine2(b);
|
||||
delay_background(300, 0);
|
||||
|
||||
while(!btnDown() && digitalRead(PTT) == HIGH){
|
||||
while(!btnDown()){
|
||||
knob = enc_read();
|
||||
if (knob != 0){
|
||||
if (tmpCWDelay > 3 && knob < 0)
|
||||
@ -918,34 +897,47 @@ void menuSetupCwDelay(int btn){
|
||||
|
||||
//CW Time delay by KD8CEC
|
||||
void menuSetupTXCWInterval(int btn){
|
||||
char needDisplayInformation = 1;
|
||||
int knob = 0;
|
||||
int tmpTXCWInterval = delayBeforeCWStartTime * 2;
|
||||
|
||||
if (!btn){
|
||||
strcpy(b, "CW Start Delay");
|
||||
printLine2(b);
|
||||
printLineF2(F("CW Start Delay"));
|
||||
return;
|
||||
}
|
||||
|
||||
printLineF1(F("Press, set Delay"));
|
||||
/*
|
||||
strcpy(b, "Start Delay:");
|
||||
itoa(tmpTXCWInterval,c, 10);
|
||||
strcat(b, c);
|
||||
printLine2(b);
|
||||
*/
|
||||
delay_background(300, 0);
|
||||
|
||||
while(!btnDown() && digitalRead(PTT) == HIGH){
|
||||
while(!btnDown()){
|
||||
|
||||
if (needDisplayInformation == 1) {
|
||||
strcpy(b, "Start Delay:");
|
||||
itoa(tmpTXCWInterval,c, 10);
|
||||
strcat(b, c);
|
||||
printLine2(b);
|
||||
needDisplayInformation = 0;
|
||||
}
|
||||
|
||||
knob = enc_read();
|
||||
if (knob != 0){
|
||||
if (tmpTXCWInterval > 0 && knob < 0)
|
||||
tmpTXCWInterval -= 2;
|
||||
if (tmpTXCWInterval < 500 && knob > 0)
|
||||
tmpTXCWInterval += 2;
|
||||
|
||||
/*
|
||||
strcpy(b, "Start Delay:");
|
||||
itoa(tmpTXCWInterval,c, 10);
|
||||
strcat(b, c);
|
||||
printLine2(b);
|
||||
*/
|
||||
needDisplayInformation = 1;
|
||||
}
|
||||
//abort if this button is down
|
||||
if (btnDown())
|
||||
@ -1280,8 +1272,6 @@ void menuSetupCwTone(int btn){
|
||||
itoa(sideTone, b, 10);
|
||||
printLine2(b);
|
||||
|
||||
//delay(100);
|
||||
//Check_Cat(0); //To prevent disconnections
|
||||
delay_background(100, 0);
|
||||
}
|
||||
noTone(CW_TONE);
|
||||
@ -1308,19 +1298,22 @@ void setDialLock(byte tmpLock, byte fromMode) {
|
||||
|
||||
if (fromMode == 2 || fromMode == 3) return;
|
||||
|
||||
//for reduce using flash memory
|
||||
/*
|
||||
if (tmpLock == 1)
|
||||
printLineF2(F("Dial Lock ON"));
|
||||
else
|
||||
printLineF2(F("Dial Lock OFF"));
|
||||
*/
|
||||
|
||||
delay_background(1000, 0);
|
||||
printLine2ClearAndUpdate();
|
||||
}
|
||||
|
||||
unsigned int btnDownTimeCount;
|
||||
byte btnDownTimeCount;
|
||||
|
||||
#define PRESS_ADJUST_TUNE 1000
|
||||
#define PRESS_LOCK_CONTROL 2000
|
||||
#define PRESS_ADJUST_TUNE 20 //1000msec 20 * 50 = 1000milisec
|
||||
#define PRESS_LOCK_CONTROL 40 //2000msec 40 * 50 = 2000milisec
|
||||
|
||||
//Modified by KD8CEC
|
||||
void doMenu(){
|
||||
@ -1334,14 +1327,12 @@ void doMenu(){
|
||||
|
||||
//Appened Lines by KD8CEC for Adjust Tune step and Set Dial lock
|
||||
while(btnDown()){
|
||||
//delay(50);
|
||||
//Check_Cat(0); //To prevent disconnections
|
||||
delay_background(50, 0);
|
||||
|
||||
if (btnDownTimeCount++ == (PRESS_ADJUST_TUNE / 50)) { //Set Tune Step
|
||||
if (btnDownTimeCount++ == (PRESS_ADJUST_TUNE)) { //Set Tune Step
|
||||
printLineF2(F("Set Tune Step?"));
|
||||
}
|
||||
else if (btnDownTimeCount > (PRESS_LOCK_CONTROL / 50)) { //check long time Down Button -> 2.5 Second => Lock
|
||||
else if (btnDownTimeCount > (PRESS_LOCK_CONTROL)) { //check long time Down Button -> 2.5 Second => Lock
|
||||
if (vfoActive == VFO_A)
|
||||
setDialLock((isDialLock & 0x01) == 0x01 ? 0 : 1, 0); //Reverse Dial lock
|
||||
else
|
||||
@ -1352,12 +1343,12 @@ void doMenu(){
|
||||
delay(50); //debounce
|
||||
|
||||
//ADJUST TUNE STEP
|
||||
if (btnDownTimeCount > (PRESS_ADJUST_TUNE / 50))
|
||||
if (btnDownTimeCount > PRESS_ADJUST_TUNE)
|
||||
{
|
||||
printLineF1(F("Press to set step"));
|
||||
isNeedDisplay = 1; //check to need display for display current value
|
||||
|
||||
while (digitalRead(PTT) == HIGH && !btnDown())
|
||||
while (!btnDown())
|
||||
{
|
||||
//Check_Cat(0); //To prevent disconnections
|
||||
//delay(50); //debounce
|
||||
|
Loading…
Reference in New Issue
Block a user