diff --git a/README.md b/README.md index 5fc01db..38fc97b 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,12 @@ -#IMPORTANT INFORMATION ----------------------------------------------------------------------------- -- Now Release Version 1.061 on my blog (http://www.hamskey.com) -- You can download and compiled hex file and uBITX Manager application on my blog (http://www.hamskey.com) - #NOTICE ---------------------------------------------------------------------------- -I received uBITX a month ago and found that many features are required, and began coding with the idea of implementing minimal functionality as a general hf transceiver rather than an experimental device. - -Most of the basic functions of the HF transceiver I thought were implemented. -The minimum basic specification for uBITX to operate as a radio, I think it is finished. -So I will release the 0.27 version and if I do not see the bug anymore, I will try to change the version name to 1.0. -Now uBITX is an HF radio and will be able to join you in your happy hams life. -Based on this source, you can use it by adding functions. +- Now Release Version 1.08 on my blog (http://www.hamskey.com) +- You can download and compiled hex file and uBITX Manager application on release section (https://github.com/phdlee/ubitx/releases) +- For more information, see my blog (http://www.hamskey.com) http://www.hamskey.com -DE KD8CEC +Ian KD8CEC kd8cec@gmail.com #uBITX @@ -26,15 +17,28 @@ The copyright information of the original is below. KD8CEC ---------------------------------------------------------------------------- Prepared or finished tasks for the next version - - Reduce Program size - - uBITX with RTL-SDR + - Nextion LCD + - Add TTS module + - Remote control on another MCU - Direct control for Student ---------------------------------------------------------------------------- ## REVISION RECORD -1.07 (Working...) - - Please do not download it yet. The code will continue to change for the time being. - - BetaVersion for Reduce program size +1.08 + - Receive performance is improved compared to the original firmware or version 1.061 + - ATT function has been added to reduce RF gain (Shift 45Mhz IF) + - Added the ability to connect SDR. (Low cost RTL-SDR available) + - Added a protocol to ADC Monitoring in CAT communications + - Various LCD support, 16x02 Parallel LCD - It is the LCD equipped with uBITX, 16x02 I2C LCD, 20x04 Parallel LCD, 20x04 I2C LCD, 16x02 I2C Dual LCD + - Added Extended Switch Support + - Support S Meter + - Added S-Meter setting assistant to uBITX Manager + - Add recovery mode (such as Factory Reset) + - There have been many other improvements and fixes. More information is available on the blog. (http://www.hamskey.com) + +1.07 (Beta) + - include 1.071 beta, 1.073 beta, 1.075 beta + - Features implemented in the beta version have been applied to Version 1.08 above. 1.061 - Added WSPR diff --git a/VersionInfo.txt b/VersionInfo.txt index 4ab4930..d3f0eae 100644 --- a/VersionInfo.txt +++ b/VersionInfo.txt @@ -10,7 +10,7 @@ I am getting a lot of hints from the group. Ian KD8CEC kd8cec@gmail.com ================================================================== -Files modified in Version1.075 Beta +Files modified in Version1.08 Beta 1.Delted Files. diff --git a/ubitx_20/ubitx.h b/ubitx_20/ubitx.h index f60095d..18d7be4 100644 --- a/ubitx_20/ubitx.h +++ b/ubitx_20/ubitx.h @@ -24,26 +24,26 @@ //============================================================================== //Depending on the type of LCD mounted on the uBITX, uncomment one of the options below. //You must select only one. -#define UBITX_DISPLAY_LCD1602P //LCD mounted on unmodified uBITX -//#define UBITX_DISPLAY_LCD1602I //I2C type 16 x 02 LCD -//#define UBITX_DISPLAY_LCD1602I_DUAL -//#define UBITX_DISPLAY_LCD2004P //24 x 04 LCD (Parallel) +#define UBITX_DISPLAY_LCD1602P //LCD mounted on unmodified uBITX (Parallel) +//#define UBITX_DISPLAY_LCD1602I //I2C type 16 x 02 LCD +//#define UBITX_DISPLAY_LCD1602I_DUAL //I2C type 16 x02 LCD Dual +//#define UBITX_DISPLAY_LCD2004P //24 x 04 LCD (Parallel) //#define UBITX_DISPLAY_LCD2004I //I2C type 24 x 04 LCD #define I2C_LCD_MASTER_ADDRESS_DEFAULT 0x3F //0x27 //DEFAULT, if Set I2C Address by uBITX Manager, read from EEProm #define I2C_LCD_SECOND_ADDRESS_DEFAULT 0x27 //0x27 //only using Dual LCD Mode -#define EXTEND_KEY_GROUP1 //MODE, BAND(-), BAND(+), STEP -//#define EXTEND_KEY_GROUP2 //Numeric (0~9), Point(.), Enter //Not supported in Version 1.0x +#define EXTEND_KEY_GROUP1 //MODE, BAND(-), BAND(+), STEP +//#define EXTEND_KEY_GROUP2 //Numeric (0~9), Point(.), Enter //Not supported in Version 1.0x //#define ENABLE_FACTORYALIGN -#define FACTORY_RECOVERY_BOOTUP //Whether to enter Factory Recovery mode by pressing FKey and turning on power -#define ENABLE_ADCMONITOR //Starting with Version 1.07, you can read ADC values directly from uBITX Manager. So this function is not necessary. +#define FACTORY_RECOVERY_BOOTUP //Whether to enter Factory Recovery mode by pressing FKey and turning on power +#define ENABLE_ADCMONITOR //Starting with Version 1.07, you can read ADC values directly from uBITX Manager. So this function is not necessary. -extern byte I2C_LCD_MASTER_ADDRESS; //0x27 //if Set I2C Address by uBITX Manager, read from EEProm -extern byte I2C_LCD_SECOND_ADDRESS; //only using Dual LCD Mode +extern byte I2C_LCD_MASTER_ADDRESS; //0x27 //if Set I2C Address by uBITX Manager, read from EEProm +extern byte I2C_LCD_SECOND_ADDRESS; //only using Dual LCD Mode -#define SMeterLatency 3 //1 is 0.25 sec +#define SMeterLatency 3 //1 is 0.25 sec #ifdef UBITX_DISPLAY_LCD1602I #define USE_I2C_LCD @@ -90,7 +90,6 @@ extern byte I2C_LCD_SECOND_ADDRESS; //only using Dual LCD Mode #define ANALOG_SPARE (A7) #define ANALOG_SMETER (A7) //by KD8CEC - /** * The second set of 16 pins on the Raduino's bottom connector are have the three clock outputs and the digital lines to control the rig. * This assignment is as follows : @@ -150,10 +149,10 @@ extern byte I2C_LCD_SECOND_ADDRESS; //only using Dual LCD Mode extern unsigned long frequency; extern byte WsprMSGCount; extern byte sMeterLevels[9]; -extern int currentSMeter; //ADC Value for S.Meter -extern byte scaledSMeter; //Calculated S.Meter Level +extern int currentSMeter; //ADC Value for S.Meter +extern byte scaledSMeter; //Calculated S.Meter Level -extern byte KeyValues[16][3]; //Set : Start Value, End Value, Key Type, 16 Set (3 * 16 = 48) +extern byte KeyValues[16][3]; //Set : Start Value, End Value, Key Type, 16 Set (3 * 16 = 48) extern void printLine1(const char *c); extern void printLine2(const char *c); diff --git a/ubitx_20/ubitx_20.ino b/ubitx_20/ubitx_20.ino index 216d34c..025fd9f 100644 --- a/ubitx_20/ubitx_20.ino +++ b/ubitx_20/ubitx_20.ino @@ -6,7 +6,7 @@ // So I put + in the sense that it was improved one by one based on Original Firmware. // This firmware has been gradually changed based on the original firmware created by Farhan, Jack, Jerry and others. -#define FIRMWARE_VERSION_INFO F("+v1.075") +#define FIRMWARE_VERSION_INFO F("+v1.080") #define FIRMWARE_VERSION_NUM 0x03 //1st Complete Project : 1 (Version 1.061), 2st Project : 2 /** diff --git a/ubitx_20/ubitx_lcd_1602.ino b/ubitx_20/ubitx_lcd_1602.ino index a6c1c3a..67ca38c 100644 --- a/ubitx_20/ubitx_lcd_1602.ino +++ b/ubitx_20/ubitx_lcd_1602.ino @@ -1,10 +1,7 @@ /************************************************************************* KD8CEC's uBITX Display Routine for LCD1602 Parrel 1.This is the display code for the default LCD mounted in uBITX. - 2.Display related functions of uBITX. Some functions moved from uBITX_Ui. - 3.uBITX Idle time Processing - Functions that run at times that do not affect TX, CW, and CAT - It is called in 1/10 time unit. + 2.Some functions moved from uBITX_Ui. ----------------------------------------------------------------------------- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/ubitx_20/ubitx_lcd_1602Dual.ino b/ubitx_20/ubitx_lcd_1602Dual.ino index 478f031..211b3ef 100644 --- a/ubitx_20/ubitx_lcd_1602Dual.ino +++ b/ubitx_20/ubitx_lcd_1602Dual.ino @@ -1,10 +1,7 @@ /************************************************************************* - KD8CEC's uBITX Display Routine for LCD1602 Dual LCD by KD8CEC - 1.This is the display code for the default LCD mounted in uBITX. - 2.Display related functions of uBITX. Some functions moved from uBITX_Ui. - 3.uBITX Idle time Processing - Functions that run at times that do not affect TX, CW, and CAT - It is called in 1/10 time unit. + KD8CEC's uBITX Display Routine for LCD1602 Dual LCD + 1.This is the display code for the 16x02 Dual LCD + 2.Some functions moved from uBITX_Ui. ----------------------------------------------------------------------------- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/ubitx_20/ubitx_lcd_2004.ino b/ubitx_20/ubitx_lcd_2004.ino index 5a0aa0d..2a5a2da 100644 --- a/ubitx_20/ubitx_lcd_2004.ino +++ b/ubitx_20/ubitx_lcd_2004.ino @@ -1,10 +1,7 @@ /************************************************************************* - KD8CEC's uBITX Display Routine for LCD2004 Parrel - 1.This is the display code for the default LCD mounted in uBITX. - 2.Display related functions of uBITX. Some functions moved from uBITX_Ui. - 3.uBITX Idle time Processing - Functions that run at times that do not affect TX, CW, and CAT - It is called in 1/10 time unit. + KD8CEC's uBITX Display Routine for LCD2004 Parrel & I2C + 1.This is the display code for the 20x04 LCD + 2.Some functions moved from uBITX_Ui. ----------------------------------------------------------------------------- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/ubitx_20/ubitx_menu.ino b/ubitx_20/ubitx_menu.ino index 79f4ad7..42bf7c0 100644 --- a/ubitx_20/ubitx_menu.ino +++ b/ubitx_20/ubitx_menu.ino @@ -271,8 +271,10 @@ void menuCHMemory(int btn, byte isMemoryToVfo){ if (isMemoryToVfo == 1) { if (resultFreq > 3000 && resultFreq < 60000000) - setFrequency(resultFreq); - byteToMode(loadMode, 1); + { + byteToMode(loadMode, 1); + setFrequency(resultFreq); + } } else { diff --git a/ubitx_20/ubitx_ui.ino b/ubitx_20/ubitx_ui.ino index cf52eb0..aa3bae9 100644 --- a/ubitx_20/ubitx_ui.ino +++ b/ubitx_20/ubitx_ui.ino @@ -199,7 +199,7 @@ int getBtnStatus(void){ readButtonValue = readButtonValue / 4; //return FKEY_VFOCHANGE; for (int i = 0; i < 16; i++) - if (KeyValues[i][0] <= readButtonValue && KeyValues[i][1] >= readButtonValue) + if (KeyValues[i][2] != 0 && KeyValues[i][0] <= readButtonValue && KeyValues[i][1] >= readButtonValue) return KeyValues[i][2]; //return i; }