Compare commits
5 Commits
version1.0
...
version1.0
Author | SHA1 | Date | |
---|---|---|---|
|
bf68dd6c26 | ||
|
4a6909f361 | ||
|
e0f9148972 | ||
|
81333e7af4 | ||
|
ed767f2e34 |
@@ -176,6 +176,10 @@ int count = 0; //to generally count ticks, loops, etc
|
|||||||
#define CW_ADC_BOTH_FROM 356 //CW ADC Range BOTH from (Lower 8 bit)
|
#define CW_ADC_BOTH_FROM 356 //CW ADC Range BOTH from (Lower 8 bit)
|
||||||
#define CW_ADC_BOTH_TO 357 //CW ADC Range BOTH to (Lower 8 bit)
|
#define CW_ADC_BOTH_TO 357 //CW ADC Range BOTH to (Lower 8 bit)
|
||||||
#define CW_KEY_TYPE 358
|
#define CW_KEY_TYPE 358
|
||||||
|
#define CW_DISPLAY_SHIFT 359 //Transmits on CWL, CWU Mode, LCD Frequency shifts Sidetone Frequency.
|
||||||
|
//(7:Enable / Disable //0: enable, 1:disable, (default is applied shift)
|
||||||
|
//6 : 0 : Adjust Pulus, 1 : Adjust Minus
|
||||||
|
//0~5: Adjust Value : * 10 = Adjust Value (0~300)
|
||||||
|
|
||||||
#define DISPLAY_OPTION1 361 //Display Option1
|
#define DISPLAY_OPTION1 361 //Display Option1
|
||||||
#define DISPLAY_OPTION2 362 //Display Option2
|
#define DISPLAY_OPTION2 362 //Display Option2
|
||||||
@@ -285,6 +289,9 @@ bool Iambic_Key = true;
|
|||||||
#define IAMBICB 0x10 // 0 for Iambic A, 1 for Iambic B
|
#define IAMBICB 0x10 // 0 for Iambic A, 1 for Iambic B
|
||||||
unsigned char keyerControl = IAMBICB;
|
unsigned char keyerControl = IAMBICB;
|
||||||
|
|
||||||
|
byte isShiftDisplayCWFreq = 1; //Display Frequency
|
||||||
|
int shiftDisplayAdjustVal = 0; //
|
||||||
|
|
||||||
//Variables for auto cw mode
|
//Variables for auto cw mode
|
||||||
byte isCWAutoMode = 0; //0 : none, 1 : CW_AutoMode_Menu_Selection, 2 : CW_AutoMode Sending
|
byte isCWAutoMode = 0; //0 : none, 1 : CW_AutoMode_Menu_Selection, 2 : CW_AutoMode Sending
|
||||||
byte cwAutoTextCount = 0; //cwAutoText Count
|
byte cwAutoTextCount = 0; //cwAutoText Count
|
||||||
@@ -749,9 +756,11 @@ void doRIT(){
|
|||||||
unsigned long old_freq = frequency;
|
unsigned long old_freq = frequency;
|
||||||
|
|
||||||
if (knob < 0)
|
if (knob < 0)
|
||||||
frequency -= 100l;
|
frequency -= (arTuneStep[tuneStepIndex -1]); //
|
||||||
|
//frequency -= 100l;
|
||||||
else if (knob > 0)
|
else if (knob > 0)
|
||||||
frequency += 100;
|
frequency += (arTuneStep[tuneStepIndex -1]); //
|
||||||
|
//frequency += 100;
|
||||||
|
|
||||||
if (old_freq != frequency){
|
if (old_freq != frequency){
|
||||||
setFrequency(frequency);
|
setFrequency(frequency);
|
||||||
@@ -961,6 +970,22 @@ void initSettings(){
|
|||||||
cwAdcBothFrom = EEPROM.read(CW_ADC_BOTH_FROM) | ((tmpMostBits & 0x30) << 4);
|
cwAdcBothFrom = EEPROM.read(CW_ADC_BOTH_FROM) | ((tmpMostBits & 0x30) << 4);
|
||||||
cwAdcBothTo = EEPROM.read(CW_ADC_BOTH_TO) | ((tmpMostBits & 0xC0) << 2);
|
cwAdcBothTo = EEPROM.read(CW_ADC_BOTH_TO) | ((tmpMostBits & 0xC0) << 2);
|
||||||
|
|
||||||
|
//Display Type for CW mode
|
||||||
|
isShiftDisplayCWFreq = EEPROM.read(CW_DISPLAY_SHIFT);
|
||||||
|
|
||||||
|
//Adjust CW Mode Freq
|
||||||
|
shiftDisplayAdjustVal = (isShiftDisplayCWFreq & 0x3F) * 10;
|
||||||
|
|
||||||
|
//check Minus
|
||||||
|
if ((isShiftDisplayCWFreq & 0x40) == 0x40)
|
||||||
|
shiftDisplayAdjustVal = shiftDisplayAdjustVal * -1;
|
||||||
|
|
||||||
|
//Shift Display Check (Default : 0)
|
||||||
|
if ((isShiftDisplayCWFreq & 0x80) == 0) //Enabled
|
||||||
|
isShiftDisplayCWFreq = 1;
|
||||||
|
else //Disabled
|
||||||
|
isShiftDisplayCWFreq = 0;
|
||||||
|
|
||||||
//default Value (for original hardware)
|
//default Value (for original hardware)
|
||||||
if (cwAdcSTFrom >= cwAdcSTTo)
|
if (cwAdcSTFrom >= cwAdcSTTo)
|
||||||
{
|
{
|
||||||
@@ -1085,7 +1110,7 @@ void setup()
|
|||||||
|
|
||||||
//Serial.begin(9600);
|
//Serial.begin(9600);
|
||||||
lcd.begin(16, 2);
|
lcd.begin(16, 2);
|
||||||
printLineF(1, F("CECBT v1.01"));
|
printLineF(1, F("CECBT v1.03"));
|
||||||
|
|
||||||
Init_Cat(38400, SERIAL_8N1);
|
Init_Cat(38400, SERIAL_8N1);
|
||||||
initMeter(); //not used in this build
|
initMeter(); //not used in this build
|
||||||
@@ -1116,11 +1141,6 @@ void setup()
|
|||||||
factory_alignment();
|
factory_alignment();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//for debug
|
|
||||||
int dbgCnt = 0;
|
|
||||||
byte flasher = 0;
|
|
||||||
|
|
||||||
//Auto save Frequency and Mode with Protected eeprom life by KD8CEC
|
//Auto save Frequency and Mode with Protected eeprom life by KD8CEC
|
||||||
void checkAutoSaveFreqMode()
|
void checkAutoSaveFreqMode()
|
||||||
{
|
{
|
||||||
@@ -1139,21 +1159,8 @@ void checkAutoSaveFreqMode()
|
|||||||
//check time for Frequency auto save
|
//check time for Frequency auto save
|
||||||
if (millis() - saveCheckTime > saveIntervalSec * 1000)
|
if (millis() - saveCheckTime > saveIntervalSec * 1000)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
if (vfoActive == VFO_A)
|
|
||||||
{
|
|
||||||
vfoA = frequency;
|
|
||||||
vfoA_mode = modeToByte();
|
|
||||||
storeFrequencyAndMode(1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vfoB = frequency;
|
|
||||||
vfoB_mode = modeToByte();
|
|
||||||
storeFrequencyAndMode(2);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
FrequencyToVFO(1);
|
FrequencyToVFO(1);
|
||||||
|
saveCheckTime = 0; //for reduce cpu use rate
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1180,11 +1187,11 @@ void loop(){
|
|||||||
|
|
||||||
if (isCWAutoMode == 0 && beforeIdle_ProcessTime < millis() - 250) {
|
if (isCWAutoMode == 0 && beforeIdle_ProcessTime < millis() - 250) {
|
||||||
idle_process();
|
idle_process();
|
||||||
|
checkAutoSaveFreqMode(); //move here form out scope for reduce cpu use rate
|
||||||
beforeIdle_ProcessTime = millis();
|
beforeIdle_ProcessTime = millis();
|
||||||
}
|
}
|
||||||
} //end of check TX Status
|
} //end of check TX Status
|
||||||
|
|
||||||
//we check CAT after the encoder as it might put the radio into TX
|
//we check CAT after the encoder as it might put the radio into TX
|
||||||
Check_Cat(inTx? 1 : 0);
|
Check_Cat(inTx? 1 : 0);
|
||||||
checkAutoSaveFreqMode();
|
|
||||||
}
|
}
|
||||||
|
@@ -172,6 +172,9 @@ void cwKeyer(void){
|
|||||||
keyerControl &= ~(DIT_L + DAH_L); // clear both paddle latch bits
|
keyerControl &= ~(DIT_L + DAH_L); // clear both paddle latch bits
|
||||||
keyerState = KEYED; // next state
|
keyerState = KEYED; // next state
|
||||||
if (!inTx){
|
if (!inTx){
|
||||||
|
//DelayTime Option
|
||||||
|
delay_background(delayBeforeCWStartTime * 2, 2);
|
||||||
|
|
||||||
keyDown = 0;
|
keyDown = 0;
|
||||||
cwTimeout = millis() + cwDelayTime * 10; //+ CW_TIMEOUT;
|
cwTimeout = millis() + cwDelayTime * 10; //+ CW_TIMEOUT;
|
||||||
startTx(TX_CW, 1);
|
startTx(TX_CW, 1);
|
||||||
@@ -212,6 +215,9 @@ void cwKeyer(void){
|
|||||||
if (update_PaddleLatch(0) == DIT_L) {
|
if (update_PaddleLatch(0) == DIT_L) {
|
||||||
// if we are here, it is only because the key is pressed
|
// if we are here, it is only because the key is pressed
|
||||||
if (!inTx){
|
if (!inTx){
|
||||||
|
//DelayTime Option
|
||||||
|
delay_background(delayBeforeCWStartTime * 2, 2);
|
||||||
|
|
||||||
keyDown = 0;
|
keyDown = 0;
|
||||||
cwTimeout = millis() + cwDelayTime * 10; //+ CW_TIMEOUT;
|
cwTimeout = millis() + cwDelayTime * 10; //+ CW_TIMEOUT;
|
||||||
startTx(TX_CW, 1);
|
startTx(TX_CW, 1);
|
||||||
@@ -229,13 +235,14 @@ void cwKeyer(void){
|
|||||||
keyDown = 0;
|
keyDown = 0;
|
||||||
stopTx();
|
stopTx();
|
||||||
}
|
}
|
||||||
if (!cwTimeout)
|
//if (!cwTimeout) //removed by KD8CEC
|
||||||
return;
|
// return;
|
||||||
// got back to the beginning of the loop, if no further activity happens on straight key
|
// got back to the beginning of the loop, if no further activity happens on straight key
|
||||||
// we will time out, and return out of this routine
|
// we will time out, and return out of this routine
|
||||||
//delay(5);
|
//delay(5);
|
||||||
delay_background(5, 3);
|
//delay_background(5, 3); //removed by KD8CEC
|
||||||
continue;
|
//continue; //removed by KD8CEC
|
||||||
|
return; //Tx stop control by Main Loop
|
||||||
}
|
}
|
||||||
|
|
||||||
Check_Cat(2);
|
Check_Cat(2);
|
||||||
|
@@ -1149,9 +1149,9 @@ void menuSetupCarrier(int btn){
|
|||||||
knob = enc_read();
|
knob = enc_read();
|
||||||
|
|
||||||
if (knob > 0)
|
if (knob > 0)
|
||||||
usbCarrier -= 50;
|
usbCarrier -= 5;
|
||||||
else if (knob < 0)
|
else if (knob < 0)
|
||||||
usbCarrier += 50;
|
usbCarrier += 5;
|
||||||
else
|
else
|
||||||
continue; //don't update the frequency or the display
|
continue; //don't update the frequency or the display
|
||||||
|
|
||||||
@@ -1345,7 +1345,7 @@ void doMenu(){
|
|||||||
//ADJUST TUNE STEP
|
//ADJUST TUNE STEP
|
||||||
if (btnDownTimeCount > PRESS_ADJUST_TUNE)
|
if (btnDownTimeCount > PRESS_ADJUST_TUNE)
|
||||||
{
|
{
|
||||||
printLineF1(F("Press to set step"));
|
printLineF1(F("Press to set"));
|
||||||
isNeedDisplay = 1; //check to need display for display current value
|
isNeedDisplay = 1; //check to need display for display current value
|
||||||
|
|
||||||
while (!btnDown())
|
while (!btnDown())
|
||||||
@@ -1382,7 +1382,7 @@ void doMenu(){
|
|||||||
}
|
}
|
||||||
} //end of while
|
} //end of while
|
||||||
|
|
||||||
printLineF2(F("Changed Step!"));
|
//printLineF2(F("Changed Step!")); //remarked for reduce program memory by KD8CEC
|
||||||
//SAVE EEPROM
|
//SAVE EEPROM
|
||||||
EEPROM.put(TUNING_STEP, tuneStepIndex);
|
EEPROM.put(TUNING_STEP, tuneStepIndex);
|
||||||
delay_background(500, 0);
|
delay_background(500, 0);
|
||||||
|
@@ -281,6 +281,15 @@ void updateDisplay() {
|
|||||||
strcat(c, "B:");
|
strcat(c, "B:");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Fixed by Mitani Massaru (JE4SMQ)
|
||||||
|
if (isShiftDisplayCWFreq == 1)
|
||||||
|
{
|
||||||
|
if (cwMode == 1) //CWL
|
||||||
|
tmpFreq = tmpFreq - sideTone + shiftDisplayAdjustVal;
|
||||||
|
else if (cwMode == 2) //CWU
|
||||||
|
tmpFreq = tmpFreq + sideTone + shiftDisplayAdjustVal;
|
||||||
|
}
|
||||||
|
|
||||||
//display frequency
|
//display frequency
|
||||||
for (int i = 15; i >= 6; i--) {
|
for (int i = 15; i >= 6; i--) {
|
||||||
if (tmpFreq > 0) {
|
if (tmpFreq > 0) {
|
||||||
|
Reference in New Issue
Block a user