commit
98e3b41f5a
@ -109,7 +109,8 @@ void CatSetFreq(byte fromType)
|
|||||||
//#define BCD_LEN 9
|
//#define BCD_LEN 9
|
||||||
//PROTOCOL : 0x03
|
//PROTOCOL : 0x03
|
||||||
//Computer <-(frequency)-> TRCV CAT_BUFF
|
//Computer <-(frequency)-> TRCV CAT_BUFF
|
||||||
void CatGetFreqMode(unsigned long freq, byte fromType)
|
//void CatGetFreqMode(unsigned long freq, byte fromType)
|
||||||
|
void CatGetFreqMode(unsigned long freq) //for remove warning messages
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
byte tmpValue;
|
byte tmpValue;
|
||||||
@ -149,15 +150,21 @@ void CatGetFreqMode(unsigned long freq, byte fromType)
|
|||||||
SendCatData(5);
|
SendCatData(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CatSetSplit(boolean isSplit, byte fromType)
|
//void CatSetSplit(boolean isSplit, byte fromType)
|
||||||
|
void CatSetSplit(boolean isSplit) //for remove warning messages
|
||||||
{
|
{
|
||||||
|
if (isSplit)
|
||||||
|
splitOn = 1;
|
||||||
|
else
|
||||||
|
splitOn = 0;
|
||||||
|
|
||||||
Serial.write(ACK);
|
Serial.write(ACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CatSetPTT(boolean isPTTOn, byte fromType)
|
void CatSetPTT(boolean isPTTOn, byte fromType)
|
||||||
{
|
{
|
||||||
if (fromType == 2 || fromType == 3) {
|
//
|
||||||
|
if ((!inTx) && (fromType == 2 || fromType == 3)) {
|
||||||
Serial.write(ACK);
|
Serial.write(ACK);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -193,7 +200,7 @@ void CatSetPTT(boolean isPTTOn, byte fromType)
|
|||||||
void CatVFOToggle(boolean isSendACK, byte fromType)
|
void CatVFOToggle(boolean isSendACK, byte fromType)
|
||||||
{
|
{
|
||||||
if (fromType != 2 && fromType != 3) {
|
if (fromType != 2 && fromType != 3) {
|
||||||
menuVfoToggle(1, 0);
|
menuVfoToggle(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isSendACK)
|
if (isSendACK)
|
||||||
@ -232,7 +239,8 @@ void CatSetMode(byte tmpMode, byte fromType)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Read EEProm by uBITX Manager Software
|
//Read EEProm by uBITX Manager Software
|
||||||
void ReadEEPRom(byte fromType)
|
//void ReadEEPRom(byte fromType)
|
||||||
|
void ReadEEPRom() //for remove warnings.
|
||||||
{
|
{
|
||||||
//5BYTES
|
//5BYTES
|
||||||
//CAT_BUFF[0] [1] [2] [3] [4] //4 COMMAND
|
//CAT_BUFF[0] [1] [2] [3] [4] //4 COMMAND
|
||||||
@ -255,7 +263,8 @@ void ReadEEPRom(byte fromType)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Write just proecess 1byes
|
//Write just proecess 1byes
|
||||||
void WriteEEPRom(byte fromType)
|
//void WriteEEPRom(byte fromType)
|
||||||
|
void WriteEEPRom(void) //for remove warning
|
||||||
{
|
{
|
||||||
//5BYTES
|
//5BYTES
|
||||||
uint16_t eepromStartIndex = CAT_BUFF[0] + CAT_BUFF[1] * 256;
|
uint16_t eepromStartIndex = CAT_BUFF[0] + CAT_BUFF[1] * 256;
|
||||||
@ -275,7 +284,8 @@ void WriteEEPRom(byte fromType)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReadEEPRom_FT817(byte fromType)
|
//void ReadEEPRom_FT817(byte fromType)
|
||||||
|
void ReadEEPRom_FT817(void) //for remove warnings
|
||||||
{
|
{
|
||||||
byte temp0 = CAT_BUFF[0];
|
byte temp0 = CAT_BUFF[0];
|
||||||
byte temp1 = CAT_BUFF[1];
|
byte temp1 = CAT_BUFF[1];
|
||||||
@ -601,7 +611,8 @@ void WriteEEPRom_FT817(byte fromType)
|
|||||||
Serial.write(ACK);
|
Serial.write(ACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CatRxStatus(byte fromType)
|
//void CatRxStatus(byte fromType)
|
||||||
|
void CatRxStatus(void) //for remove warning
|
||||||
{
|
{
|
||||||
byte sMeterValue = 1;
|
byte sMeterValue = 1;
|
||||||
|
|
||||||
@ -621,7 +632,8 @@ void CatRxStatus(byte fromType)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CatTxStatus(byte fromType)
|
//void CatTxStatus(byte fromType)
|
||||||
|
void CatTxStatus(void) //for remove warning
|
||||||
{
|
{
|
||||||
boolean isHighSWR = false;
|
boolean isHighSWR = false;
|
||||||
boolean isSplitOn = false;
|
boolean isSplitOn = false;
|
||||||
@ -722,11 +734,11 @@ void Check_Cat(byte fromType)
|
|||||||
|
|
||||||
case 0x02 : //Split On
|
case 0x02 : //Split On
|
||||||
case 0x82: //Split Off
|
case 0x82: //Split Off
|
||||||
CatSetSplit(CAT_BUFF[4] == 0x02, fromType);
|
CatSetSplit(CAT_BUFF[4] == 0x02);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x03 : //Read Frequency and mode
|
case 0x03 : //Read Frequency and mode
|
||||||
CatGetFreqMode(frequency, fromType);
|
CatGetFreqMode(frequency);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x07 : //Set Operating Mode
|
case 0x07 : //Set Operating Mode
|
||||||
@ -743,24 +755,24 @@ void Check_Cat(byte fromType)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xDB: //Read uBITX EEPROM Data
|
case 0xDB: //Read uBITX EEPROM Data
|
||||||
ReadEEPRom(fromType); //Call by uBITX Manager Program
|
ReadEEPRom(); //Call by uBITX Manager Program
|
||||||
break;
|
break;
|
||||||
case 0xBB: //Read FT-817 EEPROM Data (for comfirtable)
|
case 0xBB: //Read FT-817 EEPROM Data (for comfirtable)
|
||||||
ReadEEPRom_FT817(fromType);
|
ReadEEPRom_FT817();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xDC: //Write uBITX EEPROM Data
|
case 0xDC: //Write uBITX EEPROM Data
|
||||||
WriteEEPRom(fromType); //Call by uBITX Manager Program
|
WriteEEPRom(); //Call by uBITX Manager Program
|
||||||
break;
|
break;
|
||||||
case 0xBC: //Write FT-817 EEPROM Data (for comfirtable)
|
case 0xBC: //Write FT-817 EEPROM Data (for comfirtable)
|
||||||
WriteEEPRom_FT817(fromType);
|
WriteEEPRom_FT817(fromType);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xE7 : //Read RX Status
|
case 0xE7 : //Read RX Status
|
||||||
CatRxStatus(fromType);
|
CatRxStatus();
|
||||||
break;
|
break;
|
||||||
case 0xF7: //Read TX Status
|
case 0xF7: //Read TX Status
|
||||||
CatTxStatus(fromType);
|
CatTxStatus();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/*
|
/*
|
||||||
|
@ -156,10 +156,10 @@ int count = 0; //to generally count ticks, loops, etc
|
|||||||
#define VFO_B_MODE 257
|
#define VFO_B_MODE 257
|
||||||
#define CW_DELAY 258
|
#define CW_DELAY 258
|
||||||
#define CW_START 259
|
#define CW_START 259
|
||||||
#define HAM_BAND_COUNT 260 //
|
#define HAM_BAND_COUNT 260 //
|
||||||
#define TX_TUNE_TYPE 261 //
|
#define TX_TUNE_TYPE 261 //
|
||||||
#define HAM_BAND_RANGE 262 //FROM (2BYTE) TO (2BYTE) * 10 = 40byte
|
#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_FREQS 302 //40, 1 BAND = 4Byte most bit is mode
|
||||||
#define TUNING_STEP 342 //TUNING STEP * 6 (index 1 + STEPS 5) //1STEP :
|
#define TUNING_STEP 342 //TUNING STEP * 6 (index 1 + STEPS 5) //1STEP :
|
||||||
|
|
||||||
|
|
||||||
@ -696,7 +696,6 @@ byte lastMovedirection = 0; //0 : stop, 1 : cw, 2 : ccw
|
|||||||
void doTuningWithThresHold(){
|
void doTuningWithThresHold(){
|
||||||
int s = 0;
|
int s = 0;
|
||||||
unsigned long prev_freq;
|
unsigned long prev_freq;
|
||||||
long incdecValue = 0;
|
|
||||||
|
|
||||||
if ((vfoActive == VFO_A && ((isDialLock & 0x01) == 0x01)) ||
|
if ((vfoActive == VFO_A && ((isDialLock & 0x01) == 0x01)) ||
|
||||||
(vfoActive == VFO_B && ((isDialLock & 0x02) == 0x02)))
|
(vfoActive == VFO_B && ((isDialLock & 0x02) == 0x02)))
|
||||||
@ -908,13 +907,13 @@ void initSettings(){
|
|||||||
if ((3 < tuneTXType && tuneTXType < 100) || 103 < tuneTXType || useHamBandCount < 1 || findedValidValueCount < 5)
|
if ((3 < tuneTXType && tuneTXType < 100) || 103 < tuneTXType || useHamBandCount < 1 || findedValidValueCount < 5)
|
||||||
{
|
{
|
||||||
tuneTXType = 2;
|
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.
|
//This part is made temporary for people who have difficulty setting up, so can remove it when you run out of memory.
|
||||||
useHamBandCount = 10;
|
useHamBandCount = 10;
|
||||||
hamBandRange[0][0] = 1810; hamBandRange[0][1] = 2000;
|
hamBandRange[0][0] = 1810; hamBandRange[0][1] = 2000;
|
||||||
hamBandRange[1][0] = 3500; hamBandRange[1][1] = 3800;
|
hamBandRange[1][0] = 3500; hamBandRange[1][1] = 3800;
|
||||||
hamBandRange[2][0] = 5351; hamBandRange[2][1] = 5367;
|
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[4][0] = 10100; hamBandRange[4][1] = 10150;
|
||||||
hamBandRange[5][0] = 14000; hamBandRange[5][1] = 14350;
|
hamBandRange[5][0] = 14000; hamBandRange[5][1] = 14350;
|
||||||
hamBandRange[6][0] = 18068; hamBandRange[6][1] = 18168;
|
hamBandRange[6][0] = 18068; hamBandRange[6][1] = 18168;
|
||||||
@ -1086,7 +1085,7 @@ void setup()
|
|||||||
|
|
||||||
//Serial.begin(9600);
|
//Serial.begin(9600);
|
||||||
lcd.begin(16, 2);
|
lcd.begin(16, 2);
|
||||||
printLineF(1, F("CECBT v0.35"));
|
printLineF(1, F("CECBT v1.01"));
|
||||||
|
|
||||||
Init_Cat(38400, SERIAL_8N1);
|
Init_Cat(38400, SERIAL_8N1);
|
||||||
initMeter(); //not used in this build
|
initMeter(); //not used in this build
|
||||||
@ -1140,6 +1139,7 @@ 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)
|
if (vfoActive == VFO_A)
|
||||||
{
|
{
|
||||||
vfoA = frequency;
|
vfoA = frequency;
|
||||||
@ -1152,6 +1152,8 @@ void checkAutoSaveFreqMode()
|
|||||||
vfoB_mode = modeToByte();
|
vfoB_mode = modeToByte();
|
||||||
storeFrequencyAndMode(2);
|
storeFrequencyAndMode(2);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
FrequencyToVFO(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -213,16 +213,18 @@ void updateLine2Buffer(char isDirectCall)
|
|||||||
//meterType : 0 = S.Meter, 1 : P.Meter
|
//meterType : 0 = S.Meter, 1 : P.Meter
|
||||||
void DisplayMeter(byte meterType, byte meterValue, char drawPosition)
|
void DisplayMeter(byte meterType, byte meterValue, char drawPosition)
|
||||||
{
|
{
|
||||||
drawMeter(meterValue); //call original source code
|
if (meterType == 0 || meterType == 1 || meterType == 2)
|
||||||
int lineNumber = 0;
|
{
|
||||||
if ((displayOption1 & 0x01) == 0x01)
|
drawMeter(meterValue); //call original source code
|
||||||
lineNumber = 1;
|
int lineNumber = 0;
|
||||||
|
if ((displayOption1 & 0x01) == 0x01)
|
||||||
|
lineNumber = 1;
|
||||||
|
|
||||||
|
lcd.setCursor(drawPosition, lineNumber);
|
||||||
|
|
||||||
lcd.setCursor(drawPosition, lineNumber);
|
for (int i = 0; i < 6; i++) //meter 5 + +db 1 = 6
|
||||||
|
lcd.write(lcdMeter[i]);
|
||||||
for (int i = 0; i < 6; i++) //meter 5 + +db 1 = 6
|
}
|
||||||
lcd.write(lcdMeter[i]);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
byte testValue = 0;
|
byte testValue = 0;
|
||||||
|
@ -90,13 +90,13 @@ void cwKeyUp(){
|
|||||||
#define PDLSWAP 0x08 // 0 for normal, 1 for swap
|
#define PDLSWAP 0x08 // 0 for normal, 1 for swap
|
||||||
#define IAMBICB 0x10 // 0 for Iambic A, 1 for Iambic B
|
#define IAMBICB 0x10 // 0 for Iambic A, 1 for Iambic B
|
||||||
enum KSTYPE {IDLE, CHK_DIT, CHK_DAH, KEYED_PREP, KEYED, INTER_ELEMENT };
|
enum KSTYPE {IDLE, CHK_DIT, CHK_DAH, KEYED_PREP, KEYED, INTER_ELEMENT };
|
||||||
static long ktimer;
|
static unsigned long ktimer;
|
||||||
unsigned char keyerState = IDLE;
|
unsigned char keyerState = IDLE;
|
||||||
|
|
||||||
//Below is a test to reduce the keying error. do not delete lines
|
//Below is a test to reduce the keying error. do not delete lines
|
||||||
//create by KD8CEC for compatible with new CW Logic
|
//create by KD8CEC for compatible with new CW Logic
|
||||||
char update_PaddleLatch(byte isUpdateKeyState) {
|
char update_PaddleLatch(byte isUpdateKeyState) {
|
||||||
unsigned char tmpKeyerControl;
|
unsigned char tmpKeyerControl = 0;
|
||||||
int paddle = analogRead(ANALOG_KEYER);
|
int paddle = analogRead(ANALOG_KEYER);
|
||||||
|
|
||||||
if (paddle >= cwAdcDashFrom && paddle <= cwAdcDashTo)
|
if (paddle >= cwAdcDashFrom && paddle <= cwAdcDashTo)
|
||||||
@ -126,9 +126,7 @@ char update_PaddleLatch(byte isUpdateKeyState) {
|
|||||||
// modified by KD8CEC
|
// modified by KD8CEC
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
void cwKeyer(void){
|
void cwKeyer(void){
|
||||||
byte paddle;
|
|
||||||
lastPaddle = 0;
|
lastPaddle = 0;
|
||||||
int dot,dash;
|
|
||||||
bool continue_loop = true;
|
bool continue_loop = true;
|
||||||
unsigned tmpKeyControl = 0;
|
unsigned tmpKeyControl = 0;
|
||||||
|
|
||||||
@ -206,7 +204,7 @@ void cwKeyer(void){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
Check_Cat(3);
|
Check_Cat(2);
|
||||||
} //end of while
|
} //end of while
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -64,7 +64,7 @@ void menuBand(int btn){
|
|||||||
btnPressCount = 0;
|
btnPressCount = 0;
|
||||||
if (tuneTXType > 0) { //Just toggle 0 <-> 2, if tuneTXType is 100, 100 -> 0 -> 2
|
if (tuneTXType > 0) { //Just toggle 0 <-> 2, if tuneTXType is 100, 100 -> 0 -> 2
|
||||||
tuneTXType = 0;
|
tuneTXType = 0;
|
||||||
printLineF2(F("Full range mode"));
|
printLineF2(F("General mode"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tuneTXType = 2;
|
tuneTXType = 2;
|
||||||
@ -289,18 +289,13 @@ void menuSelectMode(int btn){
|
|||||||
|
|
||||||
beforeMode = selectModeType;
|
beforeMode = selectModeType;
|
||||||
|
|
||||||
while(!btnDown() && digitalRead(PTT) == HIGH){
|
while(!btnDown()){
|
||||||
//Display Mode Name
|
//Display Mode Name
|
||||||
printLineF1(F("LSB USB CWL CWU"));
|
memset(c, 0, sizeof(c));
|
||||||
if (selectModeType == 0)
|
strcpy(c, " LSB USB CWL CWU");
|
||||||
printLineF1(F("LSB"));
|
c[selectModeType * 4] = '>';
|
||||||
else if (selectModeType == 1)
|
printLine1(c);
|
||||||
printLineF1(F("USB"));
|
|
||||||
else if (selectModeType == 2)
|
|
||||||
printLineF1(F("CWL"));
|
|
||||||
else if (selectModeType == 3)
|
|
||||||
printLineF1(F("CWU"));
|
|
||||||
|
|
||||||
knob = enc_read();
|
knob = enc_read();
|
||||||
|
|
||||||
if (knob != 0)
|
if (knob != 0)
|
||||||
@ -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) {
|
if (beforeMode != selectModeType) {
|
||||||
@ -362,16 +358,15 @@ void menuCHMemory(int btn, byte isMemoryToVfo){
|
|||||||
int knob = 0;
|
int knob = 0;
|
||||||
int selectChannel = 0;
|
int selectChannel = 0;
|
||||||
byte isDisplayInfo = 1;
|
byte isDisplayInfo = 1;
|
||||||
byte isCancel = 0;
|
|
||||||
int moveStep = 0;
|
int moveStep = 0;
|
||||||
unsigned long resultFreq, tmpFreq = 0;
|
unsigned long resultFreq, tmpFreq = 0;
|
||||||
byte loadMode = 0;
|
byte loadMode = 0;
|
||||||
|
|
||||||
if (!btn){
|
if (!btn){
|
||||||
if (isMemoryToVfo == 1)
|
if (isMemoryToVfo == 1)
|
||||||
printLine2("Channel To VFO?");
|
printLineF2(F("Channel To VFO?"));
|
||||||
else
|
else
|
||||||
printLine2("VFO To Channel?");
|
printLineF2(F("VFO To Channel?"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
delay_background(500, 0);
|
delay_background(500, 0);
|
||||||
@ -472,7 +467,7 @@ void menuCHMemory(int btn, byte isMemoryToVfo){
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Save current Frequency to Channel (selectChannel)
|
//Save current Frequency to Channel (selectChannel)
|
||||||
EEPROM.put(CHANNEL_FREQ + 4 * selectChannel, (frequency & 0x1FFFFFFF) | (modeToByte() << 29) );
|
EEPROM.put(CHANNEL_FREQ + 4 * selectChannel, (frequency & 0x1FFFFFFF) | (((unsigned long)modeToByte()) << 29) );
|
||||||
printLine2("Saved Frequency");
|
printLine2("Saved Frequency");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -491,7 +486,7 @@ void menuSetupKeyType(int btn){
|
|||||||
printLineF2(F("Change Key Type?"));
|
printLineF2(F("Change Key Type?"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printLineF2(F("Press to set Key"));
|
//printLineF2(F("Press to set Key")); //for reduce usable flash memory
|
||||||
delay_background(500, 0);
|
delay_background(500, 0);
|
||||||
selectedKeyType = cwKeyType;
|
selectedKeyType = cwKeyType;
|
||||||
|
|
||||||
@ -539,10 +534,7 @@ void menuSetupKeyType(int btn){
|
|||||||
else
|
else
|
||||||
keyerControl |= IAMBICB;
|
keyerControl |= IAMBICB;
|
||||||
}
|
}
|
||||||
|
|
||||||
//delay_background(2000, 0);
|
|
||||||
//printLine2ClearAndUpdate();
|
|
||||||
//menuOn = 0;
|
|
||||||
menuClearExit(1000);
|
menuClearExit(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -573,18 +565,11 @@ void menuADCMonitor(int btn){
|
|||||||
adcPinA0 = analogRead(A0); //A0(BLACK, EncoderA)
|
adcPinA0 = analogRead(A0); //A0(BLACK, EncoderA)
|
||||||
adcPinA1 = analogRead(A1); //A1(BROWN, EncoderB)
|
adcPinA1 = analogRead(A1); //A1(BROWN, EncoderB)
|
||||||
adcPinA2 = analogRead(A2); //A2(RED, Function Key)
|
adcPinA2 = analogRead(A2); //A2(RED, Function Key)
|
||||||
adcPinA3 = analogRead(A3); //A3(ORANGE, CW Key)
|
adcPinA3 = analogRead(A3); //A3(PTT)
|
||||||
adcPinA6 = analogRead(A6); //A6(BLUE, Ptt)
|
adcPinA6 = analogRead(A6); //A6(KEYER)
|
||||||
adcPinA7 = analogRead(A7); //A7(VIOLET, Spare)
|
adcPinA7 = analogRead(A7); //A7(VIOLET, Spare)
|
||||||
|
|
||||||
/*
|
if (adcPinA3 < 50) {
|
||||||
sprintf(c, "%4d %4d %4d", adcPinA0, adcPinA1, adcPinA2);
|
|
||||||
printLine1(c);
|
|
||||||
sprintf(c, "%4d %4d %4d", adcPinA3, adcPinA6, adcPinA7);
|
|
||||||
printLine2(c);
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (adcPinA6 < 10) {
|
|
||||||
if (pressKeyTime == 0)
|
if (pressKeyTime == 0)
|
||||||
pressKeyTime = millis();
|
pressKeyTime = millis();
|
||||||
else if (pressKeyTime < (millis() - 3000))
|
else if (pressKeyTime < (millis() - 3000))
|
||||||
@ -623,13 +608,11 @@ void menuADCMonitor(int btn){
|
|||||||
delay_background(200, 0);
|
delay_background(200, 0);
|
||||||
} //end of while
|
} //end of while
|
||||||
|
|
||||||
//printLine2ClearAndUpdate();
|
|
||||||
//menuOn = 0;
|
|
||||||
menuClearExit(0);
|
menuClearExit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//VFO Toggle and save VFO Information, modified by KD8CEC
|
//VFO Toggle and save VFO Information, modified by KD8CEC
|
||||||
void menuVfoToggle(int btn, char isUseDelayTime)
|
void menuVfoToggle(int btn)
|
||||||
{
|
{
|
||||||
if (!btn){
|
if (!btn){
|
||||||
if (vfoActive == VFO_A)
|
if (vfoActive == VFO_A)
|
||||||
@ -649,7 +632,6 @@ void menuVfoToggle(int btn, char isUseDelayTime)
|
|||||||
frequency = vfoA;
|
frequency = vfoA;
|
||||||
saveCheckFreq = frequency;
|
saveCheckFreq = frequency;
|
||||||
byteToMode(vfoA_mode, 0);
|
byteToMode(vfoA_mode, 0);
|
||||||
//printLineF2(F("Selected VFO A"));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//vfoA = frequency;
|
//vfoA = frequency;
|
||||||
@ -665,16 +647,11 @@ void menuVfoToggle(int btn, char isUseDelayTime)
|
|||||||
|
|
||||||
ritDisable();
|
ritDisable();
|
||||||
setFrequency(frequency);
|
setFrequency(frequency);
|
||||||
|
|
||||||
//if (isUseDelayTime == 1) //Found Issue in wsjt-x Linux 32bit
|
|
||||||
// delay_background(500, 0);
|
|
||||||
|
|
||||||
//printLine2ClearAndUpdate();
|
|
||||||
//menuOn = 0;
|
|
||||||
menuClearExit(0);
|
menuClearExit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//modified for reduce used flash memory by KD8CEC
|
||||||
void menuRitToggle(int btn){
|
void menuRitToggle(int btn){
|
||||||
if (!btn){
|
if (!btn){
|
||||||
if (ritOn == 1)
|
if (ritOn == 1)
|
||||||
@ -692,9 +669,7 @@ void menuRitToggle(int btn){
|
|||||||
printLineF2(F("RIT is OFF"));
|
printLineF2(F("RIT is OFF"));
|
||||||
ritDisable();
|
ritDisable();
|
||||||
}
|
}
|
||||||
//delay_background(500, 0);
|
|
||||||
//printLine2ClearAndUpdate();
|
|
||||||
//menuOn = 0;
|
|
||||||
menuClearExit(500);
|
menuClearExit(500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -764,14 +739,18 @@ void menuSetup(int btn){
|
|||||||
else
|
else
|
||||||
printLineF2(F("Setup Off?"));
|
printLineF2(F("Setup Off?"));
|
||||||
}else {
|
}else {
|
||||||
|
modeCalibrate = ! modeCalibrate;
|
||||||
|
/*
|
||||||
if (!modeCalibrate){
|
if (!modeCalibrate){
|
||||||
modeCalibrate = true;
|
modeCalibrate = true;
|
||||||
printLineF2(F("Setup:On"));
|
//printLineF2(F("Setup:On"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
modeCalibrate = false;
|
modeCalibrate = false;
|
||||||
printLineF2(F("Setup:Off"));
|
//printLineF2(F("Setup:Off"));
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
//delay_background(2000, 0);
|
//delay_background(2000, 0);
|
||||||
//printLine2Clear();
|
//printLine2Clear();
|
||||||
//menuOn = 0;
|
//menuOn = 0;
|
||||||
@ -802,14 +781,14 @@ void menuCWSpeed(int btn){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
printLineF1(F("Press to set WPm"));
|
printLineF1(F("Press to set WPM"));
|
||||||
strcpy(b, "WPM:");
|
strcpy(b, "WPM:");
|
||||||
itoa(wpm,c, 10);
|
itoa(wpm,c, 10);
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
printLine2(b);
|
printLine2(b);
|
||||||
delay_background(300, 0);
|
delay_background(300, 0);
|
||||||
|
|
||||||
while(!btnDown() && digitalRead(PTT) == HIGH){
|
while(!btnDown()){
|
||||||
|
|
||||||
knob = enc_read();
|
knob = enc_read();
|
||||||
if (knob != 0){
|
if (knob != 0){
|
||||||
@ -873,8 +852,7 @@ void menuSetupCwDelay(int btn){
|
|||||||
int tmpCWDelay = cwDelayTime * 10;
|
int tmpCWDelay = cwDelayTime * 10;
|
||||||
|
|
||||||
if (!btn){
|
if (!btn){
|
||||||
strcpy(b, "CW TX->RX Delay");
|
printLineF2(F("CW TX->RX Delay"));
|
||||||
printLine2(b);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -885,7 +863,7 @@ void menuSetupCwDelay(int btn){
|
|||||||
printLine2(b);
|
printLine2(b);
|
||||||
delay_background(300, 0);
|
delay_background(300, 0);
|
||||||
|
|
||||||
while(!btnDown() && digitalRead(PTT) == HIGH){
|
while(!btnDown()){
|
||||||
knob = enc_read();
|
knob = enc_read();
|
||||||
if (knob != 0){
|
if (knob != 0){
|
||||||
if (tmpCWDelay > 3 && knob < 0)
|
if (tmpCWDelay > 3 && knob < 0)
|
||||||
@ -919,34 +897,47 @@ void menuSetupCwDelay(int btn){
|
|||||||
|
|
||||||
//CW Time delay by KD8CEC
|
//CW Time delay by KD8CEC
|
||||||
void menuSetupTXCWInterval(int btn){
|
void menuSetupTXCWInterval(int btn){
|
||||||
|
char needDisplayInformation = 1;
|
||||||
int knob = 0;
|
int knob = 0;
|
||||||
int tmpTXCWInterval = delayBeforeCWStartTime * 2;
|
int tmpTXCWInterval = delayBeforeCWStartTime * 2;
|
||||||
|
|
||||||
if (!btn){
|
if (!btn){
|
||||||
strcpy(b, "CW Start Delay");
|
printLineF2(F("CW Start Delay"));
|
||||||
printLine2(b);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
printLineF1(F("Press, set Delay"));
|
printLineF1(F("Press, set Delay"));
|
||||||
|
/*
|
||||||
strcpy(b, "Start Delay:");
|
strcpy(b, "Start Delay:");
|
||||||
itoa(tmpTXCWInterval,c, 10);
|
itoa(tmpTXCWInterval,c, 10);
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
printLine2(b);
|
printLine2(b);
|
||||||
|
*/
|
||||||
delay_background(300, 0);
|
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();
|
knob = enc_read();
|
||||||
if (knob != 0){
|
if (knob != 0){
|
||||||
if (tmpTXCWInterval > 0 && knob < 0)
|
if (tmpTXCWInterval > 0 && knob < 0)
|
||||||
tmpTXCWInterval -= 2;
|
tmpTXCWInterval -= 2;
|
||||||
if (tmpTXCWInterval < 500 && knob > 0)
|
if (tmpTXCWInterval < 500 && knob > 0)
|
||||||
tmpTXCWInterval += 2;
|
tmpTXCWInterval += 2;
|
||||||
|
/*
|
||||||
strcpy(b, "Start Delay:");
|
strcpy(b, "Start Delay:");
|
||||||
itoa(tmpTXCWInterval,c, 10);
|
itoa(tmpTXCWInterval,c, 10);
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
printLine2(b);
|
printLine2(b);
|
||||||
|
*/
|
||||||
|
needDisplayInformation = 1;
|
||||||
}
|
}
|
||||||
//abort if this button is down
|
//abort if this button is down
|
||||||
if (btnDown())
|
if (btnDown())
|
||||||
@ -1281,8 +1272,6 @@ void menuSetupCwTone(int btn){
|
|||||||
itoa(sideTone, b, 10);
|
itoa(sideTone, b, 10);
|
||||||
printLine2(b);
|
printLine2(b);
|
||||||
|
|
||||||
//delay(100);
|
|
||||||
//Check_Cat(0); //To prevent disconnections
|
|
||||||
delay_background(100, 0);
|
delay_background(100, 0);
|
||||||
}
|
}
|
||||||
noTone(CW_TONE);
|
noTone(CW_TONE);
|
||||||
@ -1308,20 +1297,23 @@ void setDialLock(byte tmpLock, byte fromMode) {
|
|||||||
isDialLock &= ~(vfoActive == VFO_A ? 0x01 : 0x02);
|
isDialLock &= ~(vfoActive == VFO_A ? 0x01 : 0x02);
|
||||||
|
|
||||||
if (fromMode == 2 || fromMode == 3) return;
|
if (fromMode == 2 || fromMode == 3) return;
|
||||||
|
|
||||||
|
//for reduce using flash memory
|
||||||
|
/*
|
||||||
if (tmpLock == 1)
|
if (tmpLock == 1)
|
||||||
printLineF2(F("Dial Lock ON"));
|
printLineF2(F("Dial Lock ON"));
|
||||||
else
|
else
|
||||||
printLineF2(F("Dial Lock OFF"));
|
printLineF2(F("Dial Lock OFF"));
|
||||||
|
*/
|
||||||
|
|
||||||
delay_background(1000, 0);
|
delay_background(1000, 0);
|
||||||
printLine2ClearAndUpdate();
|
printLine2ClearAndUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int btnDownTimeCount;
|
byte btnDownTimeCount;
|
||||||
|
|
||||||
#define PRESS_ADJUST_TUNE 1000
|
#define PRESS_ADJUST_TUNE 20 //1000msec 20 * 50 = 1000milisec
|
||||||
#define PRESS_LOCK_CONTROL 2000
|
#define PRESS_LOCK_CONTROL 40 //2000msec 40 * 50 = 2000milisec
|
||||||
|
|
||||||
//Modified by KD8CEC
|
//Modified by KD8CEC
|
||||||
void doMenu(){
|
void doMenu(){
|
||||||
@ -1335,14 +1327,12 @@ void doMenu(){
|
|||||||
|
|
||||||
//Appened Lines by KD8CEC for Adjust Tune step and Set Dial lock
|
//Appened Lines by KD8CEC for Adjust Tune step and Set Dial lock
|
||||||
while(btnDown()){
|
while(btnDown()){
|
||||||
//delay(50);
|
|
||||||
//Check_Cat(0); //To prevent disconnections
|
|
||||||
delay_background(50, 0);
|
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?"));
|
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)
|
if (vfoActive == VFO_A)
|
||||||
setDialLock((isDialLock & 0x01) == 0x01 ? 0 : 1, 0); //Reverse Dial lock
|
setDialLock((isDialLock & 0x01) == 0x01 ? 0 : 1, 0); //Reverse Dial lock
|
||||||
else
|
else
|
||||||
@ -1353,12 +1343,12 @@ void doMenu(){
|
|||||||
delay(50); //debounce
|
delay(50); //debounce
|
||||||
|
|
||||||
//ADJUST TUNE STEP
|
//ADJUST TUNE STEP
|
||||||
if (btnDownTimeCount > (PRESS_ADJUST_TUNE / 50))
|
if (btnDownTimeCount > PRESS_ADJUST_TUNE)
|
||||||
{
|
{
|
||||||
printLineF1(F("Press to set step"));
|
printLineF1(F("Press to set step"));
|
||||||
isNeedDisplay = 1; //check to need display for display current value
|
isNeedDisplay = 1; //check to need display for display current value
|
||||||
|
|
||||||
while (digitalRead(PTT) == HIGH && !btnDown())
|
while (!btnDown())
|
||||||
{
|
{
|
||||||
//Check_Cat(0); //To prevent disconnections
|
//Check_Cat(0); //To prevent disconnections
|
||||||
//delay(50); //debounce
|
//delay(50); //debounce
|
||||||
@ -1422,7 +1412,7 @@ void doMenu(){
|
|||||||
else if (select < 10)
|
else if (select < 10)
|
||||||
menuBand(btnState);
|
menuBand(btnState);
|
||||||
else if (select < 20)
|
else if (select < 20)
|
||||||
menuVfoToggle(btnState, 1);
|
menuVfoToggle(btnState);
|
||||||
else if (select < 30)
|
else if (select < 30)
|
||||||
menuSelectMode(btnState);
|
menuSelectMode(btnState);
|
||||||
else if (select < 40)
|
else if (select < 40)
|
||||||
|
@ -99,8 +99,6 @@ void initMeter(){
|
|||||||
//0 ~ 25 : 30 over : + 10
|
//0 ~ 25 : 30 over : + 10
|
||||||
void drawMeter(int needle) {
|
void drawMeter(int needle) {
|
||||||
//5Char + O over
|
//5Char + O over
|
||||||
int drawCharLength = needle / 5;
|
|
||||||
int drawCharLengthLast = needle % 5;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < 5; i++) {
|
for (i = 0; i < 5; i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user