From 7ef9c29fa87f9e07b51ff8319218eb664eb174e7 Mon Sep 17 00:00:00 2001 From: Qi Wenmin Date: Wed, 10 Jan 2018 12:00:53 +0800 Subject: [PATCH 01/34] Fix the delay condition bug when overflow The original expression will cause bug when overflow. --- ubitx_20/ubitx_20.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubitx_20/ubitx_20.ino b/ubitx_20/ubitx_20.ino index 9c0760b..369739a 100644 --- a/ubitx_20/ubitx_20.ino +++ b/ubitx_20/ubitx_20.ino @@ -275,7 +275,7 @@ unsigned long delayBeforeTime = 0; byte delay_background(unsigned delayTime, byte fromType){ //fromType : 4 autoCWKey -> Check Paddle delayBeforeTime = millis(); - while (millis() <= delayBeforeTime + delayTime) { + while (millis() - delayBeforeTime <= delayTime) { if (fromType == 4) { From 8551ff1b68606e0935eb604e2ab2bb936e01c710 Mon Sep 17 00:00:00 2001 From: phdlee Date: Thu, 11 Jan 2018 17:40:00 +0900 Subject: [PATCH 02/34] Update README.md --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 66b1ddd..cb6b0dd 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,21 @@ This project is based on https://github.com/afarhan/ubitx and all copyright is i The copyright information of the original is below. KD8CEC +---------------------------------------------------------------------------- +Prepared or finished tasks for the next version + - Prevent overflow bugs [from pullrequest, history check] : complete + - Hamlib bug (raspberry pi), It was perfect for the 0.224 version, but there was a problem for the 0.25 version. + Found by Beta Tester very thanks. + On Windows, ham deluxe, wsjt-x, jt65-hf, and fldigi were successfully run. Problem with Raspberry pi. + As a result of the analysis, when the serial port is initialized and used immediately, problems occur in Linux and Raspberry pi. -> Resolution (Complete) + + - No TX on non-ham band request - This may be a prohibited item depending on the country. + Plan to change for uBITX Manager for free countries - Icom, yaesu, kenwood are mostly jumper in circuit. + Only those who need to lock themselves, Other users remain unchanged + so, Available in most countries around the world. + - I have heard that Beta testers want DialLock to distinguish between VFOA and VFOB (Complete) + - Convenience of band movement added (ing) + ---------------------------------------------------------------------------- ## REVISION RECORD 0.25 From 90655e03b89c7f328a9b1a636986db134a199832 Mon Sep 17 00:00:00 2001 From: phdlee Date: Fri, 12 Jan 2018 09:51:58 +0900 Subject: [PATCH 03/34] Update README.md add status of project --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cb6b0dd..9b2b5eb 100644 --- a/README.md +++ b/README.md @@ -15,10 +15,17 @@ Prepared or finished tasks for the next version - No TX on non-ham band request - This may be a prohibited item depending on the country. Plan to change for uBITX Manager for free countries - Icom, yaesu, kenwood are mostly jumper in circuit. Only those who need to lock themselves, Other users remain unchanged - so, Available in most countries around the world. + so, Available in most countries around the world. (Complete) - I have heard that Beta testers want DialLock to distinguish between VFOA and VFOB (Complete) - - Convenience of band movement added (ing) + - Convenience of band movement added (ing - need idea...) + - User Interface on LCD -> Option by user (yet - need idea) + - Include WSPR Beacone function - (considerd about include functions or create other version) + complete experiment + need solve : Big code size (over 100%, then remove some functions for experment) + need replace Si5351 Library for multisynth (increase risk and need more beta tester) + W3PM sent me his wonderful source - using BITX, GPS + ---------------------------------------------------------------------------- ## REVISION RECORD 0.25 From 2b08a76fbfb983e4500c619733508beff86da228 Mon Sep 17 00:00:00 2001 From: phdlee Date: Fri, 12 Jan 2018 10:16:59 +0900 Subject: [PATCH 04/34] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b2b5eb..23db191 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Prepared or finished tasks for the next version - Include WSPR Beacone function - (considerd about include functions or create other version) complete experiment need solve : Big code size (over 100%, then remove some functions for experment) - need replace Si5351 Library for multisynth (increase risk and need more beta tester) + need replace Si5351 Library (increase risk and need more beta tester) W3PM sent me his wonderful source - using BITX, GPS ---------------------------------------------------------------------------- From 9781ef086b85177ae1794d368f09dcf11e30855d Mon Sep 17 00:00:00 2001 From: phdlee Date: Sat, 13 Jan 2018 10:58:47 +0900 Subject: [PATCH 05/34] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 23db191..fd065d2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +#IMPORTANT INFORMATION +Beta 0.26 is still in testing. +If you need the source, you can download the 0.25 version or the 0.26 release one day later. + #uBITX uBITX firmware, written for the Raduino/Arduino control of uBITX transceivers This project is based on https://github.com/afarhan/ubitx and all copyright is inherited. From 3e60728727c4c4e2321c62fc6859a8229fef2ab4 Mon Sep 17 00:00:00 2001 From: phdlee Date: Sat, 13 Jan 2018 22:27:23 +0900 Subject: [PATCH 06/34] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fd065d2..8409181 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,14 @@ Prepared or finished tasks for the next version Only those who need to lock themselves, Other users remain unchanged so, Available in most countries around the world. (Complete) - I have heard that Beta testers want DialLock to distinguish between VFOA and VFOB (Complete) - - Convenience of band movement added (ing - need idea...) + - Convenience of band movement added (Complete) - - User Interface on LCD -> Option by user (yet - need idea) - - Include WSPR Beacone function - (considerd about include functions or create other version) + - User Interface on LCD -> Option by user (not need) + - Include WSPR Beacone function - (implement other new repository) complete experiment need solve : Big code size (over 100%, then remove some functions for experment) need replace Si5351 Library (increase risk and need more beta tester) - W3PM sent me his wonderful source - using BITX, GPS + W3PM sent me his wonderful source - using BITX, GPS ---------------------------------------------------------------------------- ## REVISION RECORD From 16304efacd4231f9b298e1b53626ab42846506a2 Mon Sep 17 00:00:00 2001 From: phdlee Date: Sun, 14 Jan 2018 14:51:23 +0900 Subject: [PATCH 07/34] Update README.md --- README.md | 57 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 8409181..aef5bc1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,29 @@ #IMPORTANT INFORMATION -Beta 0.26 is still in testing. -If you need the source, you can download the 0.25 version or the 0.26 release one day later. +Beta 0.26 and Beta 0.261, Beta 0.262, Beta 0.27 is complete test +You can download and use it. + +#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. + +Such as +Diallock for uBITX's sensitive encoders +built in softare Memory keyer and cw options control for CW communication +Implementation of CAT communication protocol for Digital Communication (as FT8, JT65, etc) +Delay Options for external Linear. + +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. + +I am going to do a new project based on this source, linking with WSPR, WSJT-X and so on. +Of course, this repository is still running. If you have any bugs or ideas, please feel free to email me. + +http://www.hamskey.com + +DE KD8CEC +kd8cec@gmail.com #uBITX uBITX firmware, written for the Raduino/Arduino control of uBITX transceivers @@ -10,19 +33,7 @@ The copyright information of the original is below. KD8CEC ---------------------------------------------------------------------------- Prepared or finished tasks for the next version - - Prevent overflow bugs [from pullrequest, history check] : complete - - Hamlib bug (raspberry pi), It was perfect for the 0.224 version, but there was a problem for the 0.25 version. - Found by Beta Tester very thanks. - On Windows, ham deluxe, wsjt-x, jt65-hf, and fldigi were successfully run. Problem with Raspberry pi. - As a result of the analysis, when the serial port is initialized and used immediately, problems occur in Linux and Raspberry pi. -> Resolution (Complete) - - - No TX on non-ham band request - This may be a prohibited item depending on the country. - Plan to change for uBITX Manager for free countries - Icom, yaesu, kenwood are mostly jumper in circuit. - Only those who need to lock themselves, Other users remain unchanged - so, Available in most countries around the world. (Complete) - - I have heard that Beta testers want DialLock to distinguish between VFOA and VFOB (Complete) - - Convenience of band movement added (Complete) - + - Most of them are implemented and included in version 0.27. - User Interface on LCD -> Option by user (not need) - Include WSPR Beacone function - (implement other new repository) complete experiment @@ -32,6 +43,22 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD +0.27 + (First alpha test version, This will be renamed to the major version 1.0) + - Dual VFO Dial Lock (vfoA Dial lock) + - Support Ham band on uBITX + default Hamband is regeion1 but customize by uBITX Manager Software + - Advanced ham band options (Tx control) for use in all countries. You can adjust it yourself. + - Convenience of band movement + +0.26 + - only Beta tester released & source code share + - find a bug on none initial eeprom uBITX - Fixed (Check -> initialized & compatible original source code) + - change the version number 0.26 -> 0.27 + - Prevent overflow bugs + - bug with linux based Hamlib (raspberry pi), It was perfect for the 0.224 version, but there was a problem for the 0.25 version. + On Windows, ham deluxe, wsjt-x, jt65-hf, and fldigi were successfully run. Problem with Raspberry pi. + 0.25 - Beta Version Released http://www.hamskey.com/2018/01/release-beta-version-of-cat-support.html From bcf80f851db1a0dc5f21c84d10108c38ad7a8d8c Mon Sep 17 00:00:00 2001 From: phdlee Date: Sun, 14 Jan 2018 14:51:46 +0900 Subject: [PATCH 08/34] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index aef5bc1..84c1f69 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ #IMPORTANT INFORMATION -Beta 0.26 and Beta 0.261, Beta 0.262, Beta 0.27 is complete test -You can download and use it. +- Beta 0.26 and Beta 0.261, Beta 0.262, Beta 0.27 is complete test +- You can download and use it. #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. From a6ad381c24536db0c9c621df5b6f5b2de224d3d4 Mon Sep 17 00:00:00 2001 From: phdlee Date: Sun, 14 Jan 2018 14:52:22 +0900 Subject: [PATCH 09/34] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 84c1f69..ffa9825 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ #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. -Such as -Diallock for uBITX's sensitive encoders -built in softare Memory keyer and cw options control for CW communication -Implementation of CAT communication protocol for Digital Communication (as FT8, JT65, etc) -Delay Options for external Linear. + +- Diallock for uBITX's sensitive encoders +- built in softare Memory keyer and cw options control for CW communication +- Implementation of CAT communication protocol for Digital Communication (as FT8, JT65, etc) +- Delay Options for external Linear. 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. From 45a84790618315e81900e95e82b158033565d1fe Mon Sep 17 00:00:00 2001 From: phdlee Date: Sun, 14 Jan 2018 14:52:58 +0900 Subject: [PATCH 10/34] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ffa9825..22f906c 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,12 @@ #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. - +- fixed bugs... - Diallock for uBITX's sensitive encoders - built in softare Memory keyer and cw options control for CW communication - Implementation of CAT communication protocol for Digital Communication (as FT8, JT65, etc) - Delay Options for external Linear. +- and more... 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. From 95e5c1dfe5c19cd2b7fd708e081672c5434d6d70 Mon Sep 17 00:00:00 2001 From: phdlee Date: Sun, 14 Jan 2018 14:53:28 +0900 Subject: [PATCH 11/34] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 22f906c..79f9917 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ #IMPORTANT INFORMATION +---------------------------------------------------------------------------- - Beta 0.26 and Beta 0.261, Beta 0.262, Beta 0.27 is complete test - You can download and use it. #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. - fixed bugs... From 209cd3a49c6c33c2f5e2dbd52232833d51364205 Mon Sep 17 00:00:00 2001 From: Qi Wenmin Date: Wed, 17 Jan 2018 14:42:15 +0800 Subject: [PATCH 12/34] Fixed most compilation warnings and a delay issue * Fixed most compilation warnings (Compiler warning level: All) * Fixed a delay issue in enc_read function. --- ubitx_20/cat_libs.ino | 2 +- ubitx_20/cw_autokey.ino | 8 ++++++-- ubitx_20/ubitx_20.ino | 18 +++++------------- ubitx_20/ubitx_menu.ino | 21 +++++++++------------ ubitx_20/ubitx_si5351.ino | 2 +- ubitx_20/ubitx_ui.ino | 10 +++++----- 6 files changed, 27 insertions(+), 34 deletions(-) diff --git a/ubitx_20/cat_libs.ino b/ubitx_20/cat_libs.ino index 26c79d3..9c16a61 100644 --- a/ubitx_20/cat_libs.ino +++ b/ubitx_20/cat_libs.ino @@ -398,7 +398,7 @@ void ReadEEPRom_FT817(byte fromType) void WriteEEPRom_FT817(byte fromType) { - byte temp0 = CAT_BUFF[0]; + //byte temp0 = CAT_BUFF[0]; byte temp1 = CAT_BUFF[1]; CAT_BUFF[0] = 0; diff --git a/ubitx_20/cw_autokey.ino b/ubitx_20/cw_autokey.ino index 7c6cc75..3dfbb3b 100644 --- a/ubitx_20/cw_autokey.ino +++ b/ubitx_20/cw_autokey.ino @@ -208,10 +208,14 @@ void sendCWChar(char cwKeyChar) charLength = ((tmpChar >> 6) & 0x03) + 3; for (j = 0; j < charLength; j++) - sendBuff[j] = (tmpChar << j + 2) & 0x80; + sendBuff[j] = (tmpChar << (j + 2)) & 0x80; break; } + else + { + charLength = 0; + } } } @@ -257,7 +261,7 @@ unsigned long scrollDispayTime = 0; #define scrollSpeed 500 byte displayScrolStep = 0; -int controlAutoCW(){ +void controlAutoCW(){ int knob = 0; byte i; diff --git a/ubitx_20/ubitx_20.ino b/ubitx_20/ubitx_20.ino index 2507a30..5a2b8b6 100644 --- a/ubitx_20/ubitx_20.ino +++ b/ubitx_20/ubitx_20.ino @@ -211,7 +211,7 @@ unsigned long vfoA=7150000L, vfoB=14200000L, sideTone=800, usbCarrier; unsigned long vfoA_eeprom, vfoB_eeprom; //for protect eeprom life unsigned long frequency, ritRxFrequency, ritTxFrequency; //frequency is the current frequency on the dial -int cwSpeed = 100; //this is actuall the dot period in milliseconds +unsigned int cwSpeed = 100; //this is actuall the dot period in milliseconds extern int32_t calibration; //for store the mode in eeprom @@ -320,8 +320,8 @@ void setNextHamBandFreq(unsigned long f, char moveDirection) loadMode = (byte)(resultFreq >> 30); resultFreq = resultFreq & 0x3FFFFFFF; - if ((resultFreq / 1000) < hamBandRange[findedIndex][0] || (resultFreq / 1000) > hamBandRange[findedIndex][1]) - resultFreq = (unsigned long)(hamBandRange[findedIndex][0]) * 1000; + if ((resultFreq / 1000) < hamBandRange[(unsigned char)findedIndex][0] || (resultFreq / 1000) > hamBandRange[(unsigned char)findedIndex][1]) + resultFreq = (unsigned long)(hamBandRange[(unsigned char)findedIndex][0]) * 1000; setFrequency(resultFreq); byteWithFreqToMode(loadMode); @@ -422,8 +422,6 @@ void setTXFilters(unsigned long freq){ */ void setFrequency(unsigned long f){ - uint64_t osc_f; - //1 digits discarded f = (f / 50) * 50; @@ -448,8 +446,6 @@ void setFrequency(unsigned long f){ */ void startTx(byte txMode, byte isDisplayUpdate){ - unsigned long tx_freq = 0; - //Check Hamband only TX //Not found Hamband index by now frequency if (tuneTXType >= 100 && getIndexHambanBbyFreq(ritOn ? ritTxFrequency : frequency) == -1) { //no message @@ -545,8 +541,6 @@ void checkPTT(){ } void checkButton(){ - int i, t1, t2, knob, new_knob; - //only if the button is pressed if (!btnDown()) return; @@ -575,7 +569,7 @@ void checkButton(){ void doTuning(){ int s = 0; unsigned long prev_freq; - int incdecValue = 0; + long incdecValue = 0; if ((vfoActive == VFO_A && ((isDialLock & 0x01) == 0x01)) || (vfoActive == VFO_B && ((isDialLock & 0x02) == 0x02))) @@ -610,7 +604,7 @@ void doTuning(){ if (incdecValue > 0 && frequency + incdecValue > HIGHEST_FREQ_DIAL) frequency = HIGHEST_FREQ_DIAL; - else if (incdecValue < 0 && frequency < -incdecValue + LOWEST_FREQ_DIAL) //for compute and compare based integer type. + else if (incdecValue < 0 && frequency < (unsigned long)(-incdecValue + LOWEST_FREQ_DIAL)) //for compute and compare based integer type. frequency = LOWEST_FREQ_DIAL; else frequency += incdecValue; @@ -630,8 +624,6 @@ void doTuning(){ * RIT only steps back and forth by 100 hz at a time */ void doRIT(){ - unsigned long newFreq; - int knob = enc_read(); unsigned long old_freq = frequency; diff --git a/ubitx_20/ubitx_menu.ino b/ubitx_20/ubitx_menu.ino index 0437e41..f8c43fb 100644 --- a/ubitx_20/ubitx_menu.ino +++ b/ubitx_20/ubitx_menu.ino @@ -13,7 +13,7 @@ #define printLineF1(x) (printLineF(1, x)) #define printLineF2(x) (printLineF(0, x)) -int menuBand(int btn){ +void menuBand(int btn){ int knob = 0; int stepChangeCount = 0; byte btnPressCount = 0; @@ -301,7 +301,7 @@ void menuExit(int btn){ } } -int menuCWSpeed(int btn){ +void menuCWSpeed(int btn){ int knob = 0; int wpm; @@ -356,7 +356,7 @@ int menuCWSpeed(int btn){ menuOn = 0; } -int menuCWAutoKey(int btn){ +void menuCWAutoKey(int btn){ if (!btn){ printLineF2(F("CW AutoKey Mode?")); return; @@ -379,7 +379,7 @@ int menuCWAutoKey(int btn){ menuOn = 0; } -int menuSetupCwDelay(int btn){ +void menuSetupCwDelay(int btn){ int knob = 0; int tmpCWDelay = cwDelayTime * 10; @@ -427,7 +427,7 @@ int menuSetupCwDelay(int btn){ menuOn = 0; } -int menuSetupTXCWInterval(int btn){ +void menuSetupTXCWInterval(int btn){ int knob = 0; int tmpTXCWInterval = delayBeforeCWStartTime * 2; @@ -490,10 +490,8 @@ int menuSetupTXCWInterval(int btn){ extern int32_t calibration; extern uint32_t si5351bx_vcoa; -int factoryCalibration(int btn){ +void factoryCalibration(int btn){ int knob = 0; - int32_t prev_calibration; - //keep clear of any previous button press while (btnDown()) @@ -502,10 +500,9 @@ int factoryCalibration(int btn){ if (!btn){ printLineF2(F("Set Calibration?")); - return 0; + return; } - prev_calibration = calibration; calibration = 0; isUSB = true; @@ -560,13 +557,13 @@ int factoryCalibration(int btn){ delay(100); } -int menuSetupCalibration(int btn){ +void menuSetupCalibration(int btn){ int knob = 0; int32_t prev_calibration; if (!btn){ printLineF2(F("Set Calibration?")); - return 0; + return; } printLineF1(F("Set to Zero-beat,")); diff --git a/ubitx_20/ubitx_si5351.ino b/ubitx_20/ubitx_si5351.ino index a5d3ed4..b437ad9 100644 --- a/ubitx_20/ubitx_si5351.ino +++ b/ubitx_20/ubitx_si5351.ino @@ -62,7 +62,7 @@ void i2cWriten(uint8_t reg, uint8_t *vals, uint8_t vcnt) { // write array void si5351bx_init() { // Call once at power-up, start PLLA - uint8_t reg; uint32_t msxp1; + uint32_t msxp1; Wire.begin(); i2cWrite(149, 0); // SpreadSpectrum off i2cWrite(3, si5351bx_clken); // Disable all CLK output drivers diff --git a/ubitx_20/ubitx_ui.ino b/ubitx_20/ubitx_ui.ino index a4c4798..f309fcc 100644 --- a/ubitx_20/ubitx_ui.ino +++ b/ubitx_20/ubitx_ui.ino @@ -115,7 +115,7 @@ void drawMeter(int8_t needle){ */ // The generic routine to display one line on the LCD -void printLine(char linenmbr, char *c) { +void printLine(unsigned char linenmbr, const char *c) { if (strcmp(c, printBuff[linenmbr])) { // only refresh the display when there was a change lcd.setCursor(0, linenmbr); // place the cursor at the beginning of the selected line lcd.print(c); @@ -160,11 +160,11 @@ void printLineFromEEPRom(char linenmbr, char lcdColumn, byte eepromStartIndex, b } // short cut to print to the first line -void printLine1(char *c){ +void printLine1(const char *c){ printLine(1,c); } // short cut to print to the first line -void printLine2(char *c){ +void printLine2(const char *c){ printLine(0,c); } @@ -312,9 +312,9 @@ int enc_read(void) { byte newState; int enc_speed = 0; - long stop_by = millis() + 50; + unsigned long start_at = millis(); - while (millis() < stop_by) { // check if the previous state was stable + while (millis() - start_at < 50) { // check if the previous state was stable newState = enc_state(); // Get current state if (newState != enc_prev_state) From b1cc5eb98a9554db2b6fa328525e94d852fa7351 Mon Sep 17 00:00:00 2001 From: phdlee Date: Mon, 22 Jan 2018 02:11:35 +0900 Subject: [PATCH 13/34] Update README.md --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 79f9917..37ae25e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,10 @@ #IMPORTANT INFORMATION ---------------------------------------------------------------------------- -- Beta 0.26 and Beta 0.261, Beta 0.262, Beta 0.27 is complete test -- You can download and use it. +-Working on version 0.29 now. Download the source from the release section rather than the master branch version. + Master version is working now. + +- Beta 0.26 and Beta 0.261, Beta 0.262,0.27 is complete test, 0.28 is tested. +- You can download and use it (Release section). #NOTICE ---------------------------------------------------------------------------- From b6bc264332d9f2ffe30e7c647292897e098dd75a Mon Sep 17 00:00:00 2001 From: phdlee Date: Mon, 22 Jan 2018 18:11:15 +0900 Subject: [PATCH 14/34] Update README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 37ae25e..348fb1b 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,15 @@ - Beta 0.26 and Beta 0.261, Beta 0.262,0.27 is complete test, 0.28 is tested. - You can download and use it (Release section). +- Current work list (for Version 0.29) + 1.Testing CAT Control with Software using hamlib on Linux + 2.BFO setting based on current value - complete + 3.Select Tune Step - Testing + 4.Change Tune control type, Do not keep the original source - Complete + - Coded differently after clearing the original source + - Prevent malfunction by applying threshold + 5.stabilize and remove many warning messages - by Pullrequest and merge + #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. From 032e7f919fc68619b929d8ac0e7b18049ae46399 Mon Sep 17 00:00:00 2001 From: phdlee Date: Mon, 22 Jan 2018 18:21:55 +0900 Subject: [PATCH 15/34] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 348fb1b..37d06f3 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,10 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD +0.28 + - Fixed CAT problem with hamlib on Linux + - restore Protocol autorecovery logic + 0.27 (First alpha test version, This will be renamed to the major version 1.0) - Dual VFO Dial Lock (vfoA Dial lock) From d1e72b3bd579fb31a2dfbc75a3b5e11ac0d1acff Mon Sep 17 00:00:00 2001 From: phdlee Date: Mon, 22 Jan 2018 18:24:29 +0900 Subject: [PATCH 16/34] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 37d06f3..7136b22 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ - Coded differently after clearing the original source - Prevent malfunction by applying threshold 5.stabilize and remove many warning messages - by Pullrequest and merge + 6.Study on improvement method for cw keying - need idea + - set ADC Range value #NOTICE ---------------------------------------------------------------------------- From a1f941f965e160b6d2f21e8ce7d3e87e835456fb Mon Sep 17 00:00:00 2001 From: phdlee Date: Mon, 22 Jan 2018 18:25:41 +0900 Subject: [PATCH 17/34] Update README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 7136b22..a56a178 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,15 @@ - Beta 0.26 and Beta 0.261, Beta 0.262,0.27 is complete test, 0.28 is tested. - You can download and use it (Release section). -- Current work list (for Version 0.29) - 1.Testing CAT Control with Software using hamlib on Linux - 2.BFO setting based on current value - complete - 3.Select Tune Step - Testing - 4.Change Tune control type, Do not keep the original source - Complete +# Current work list (for Version 0.29) + -Testing CAT Control with Software using hamlib on Linux + -BFO setting based on current value - complete + -Select Tune Step - Testing + -Change Tune control type, Do not keep the original source - Complete - Coded differently after clearing the original source - Prevent malfunction by applying threshold - 5.stabilize and remove many warning messages - by Pullrequest and merge - 6.Study on improvement method for cw keying - need idea + -stabilize and remove many warning messages - by Pullrequest and merge + -Study on improvement method for cw keying - need idea - set ADC Range value #NOTICE From e61e45d3dd8eaf55a76dabeb66e4e842df00318c Mon Sep 17 00:00:00 2001 From: phdlee Date: Mon, 22 Jan 2018 18:26:22 +0900 Subject: [PATCH 18/34] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a56a178..a4e603a 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,14 @@ - You can download and use it (Release section). # Current work list (for Version 0.29) - -Testing CAT Control with Software using hamlib on Linux - -BFO setting based on current value - complete - -Select Tune Step - Testing - -Change Tune control type, Do not keep the original source - Complete + 1 Testing CAT Control with Software using hamlib on Linux + 2 BFO setting based on current value - complete + 3 Select Tune Step - Testing + 4 Change Tune control type, Do not keep the original source - Complete - Coded differently after clearing the original source - Prevent malfunction by applying threshold - -stabilize and remove many warning messages - by Pullrequest and merge - -Study on improvement method for cw keying - need idea + 5 stabilize and remove many warning messages - by Pullrequest and merge + 6 Study on improvement method for cw keying - need idea - set ADC Range value #NOTICE From 386a0b2d46fe64dfed44229f975ce7e37eb2f1fc Mon Sep 17 00:00:00 2001 From: phdlee Date: Thu, 25 Jan 2018 22:33:20 +0900 Subject: [PATCH 19/34] Update README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index a4e603a..41f4bd9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ #IMPORTANT INFORMATION ---------------------------------------------------------------------------- +- 0.29 Version Test only download. + replace keyer logic to Ron's code + Currently, it does not work with straight keys for testing purposes. + If you are using a straight key, please download it up in a few days. + -Working on version 0.29 now. Download the source from the release section rather than the master branch version. Master version is working now. From 4e15f2150cd4277d27ec7272a51d90f0e47421cd Mon Sep 17 00:00:00 2001 From: phdlee Date: Thu, 25 Jan 2018 23:39:33 +0900 Subject: [PATCH 20/34] Update README.md --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 41f4bd9..4f3072e 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,11 @@ #IMPORTANT INFORMATION ---------------------------------------------------------------------------- -- 0.29 Version Test only download. +- 0.296 Version Test only download. almost complete replace keyer logic to Ron's code - Currently, it does not work with straight keys for testing purposes. - If you are using a straight key, please download it up in a few days. + Currently, default key type is IAMBICB + If you are using a straight key or IAMBICB, you can change key type at setup menu. + default Band select is Ham Band mode, if you want common type, long press function key at band select menu --Working on version 0.29 now. Download the source from the release section rather than the master branch version. - Master version is working now. - - Beta 0.26 and Beta 0.261, Beta 0.262,0.27 is complete test, 0.28 is tested. - You can download and use it (Release section). From 1a2f5b4fdea0a00b0964e4d165973965e30bb504 Mon Sep 17 00:00:00 2001 From: phdlee Date: Sat, 27 Jan 2018 18:33:51 +0900 Subject: [PATCH 21/34] Update README.md --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 4f3072e..7ca4040 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,11 @@ #IMPORTANT INFORMATION ---------------------------------------------------------------------------- -- 0.296 Version Test only download. almost complete - replace keyer logic to Ron's code - Currently, default key type is IAMBICB - If you are using a straight key or IAMBICB, you can change key type at setup menu. - default Band select is Ham Band mode, if you want common type, long press function key at band select menu - +- 0.30 Version Test only download. almost complete - Beta 0.26 and Beta 0.261, Beta 0.262,0.27 is complete test, 0.28 is tested. - You can download and use it (Release section). -# Current work list (for Version 0.29) +# Current work list (for Version 0.31) 1 Testing CAT Control with Software using hamlib on Linux - 2 BFO setting based on current value - complete - 3 Select Tune Step - Testing - 4 Change Tune control type, Do not keep the original source - Complete - - Coded differently after clearing the original source - - Prevent malfunction by applying threshold - 5 stabilize and remove many warning messages - by Pullrequest and merge - 6 Study on improvement method for cw keying - need idea - - set ADC Range value #NOTICE ---------------------------------------------------------------------------- @@ -63,6 +50,20 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD +0.30 + - implemented the function to monitor the value of all analog inputs. This allows you to monitor the status of the CW keys connected to your uBITX. + - possible to set the ADC range for CW Keying. If no setting is made, it will have the same range as the original code. If you set the CW Keying ADC Values using uBITX Manager 0.3, you can reduce the key error. + - Added the function to select Straight Key, IAMBICA, IAMBICB key from the menu. + - default Band select is Ham Band mode, if you want common type, long press function key at band select menu, uBITX Manager can be used to modify frequencies to suit your country. + +0.29 + - Remove the use of initialization values in BFO settings - using crruent value, if factory reset + - Select Tune Step, default 0, 20, 50, 100, 200, Use the uBITX Manager to set the steps value you want. You can select Step by pressing and holding the Function Key (1sec ~ 2sec). + - Modify Dial Lock Function, Press the Function key for more than 3 seconds to toggle dial lock. + - created a new frequency tune method. remove original source codes, Threshold has been applied to reduce malfunction. checked the continuity of the user operating to make natural tune possible. + - stabilize and remove many warning messages - by Pullrequest and merge + - Changed cw keying method. removed the original code and applied Ron's code and Improved compatibility with original hardware and CAT commnication. It can be used without modification of hardware. + 0.28 - Fixed CAT problem with hamlib on Linux - restore Protocol autorecovery logic From c8879e0e596d0fb6273d7ee7331038e1ed88b5b8 Mon Sep 17 00:00:00 2001 From: phdlee Date: Wed, 31 Jan 2018 12:12:58 +0900 Subject: [PATCH 22/34] Update README.md --- README.md | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 7ca4040..4a3e96f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ #IMPORTANT INFORMATION ---------------------------------------------------------------------------- -- 0.30 Version Test only download. almost complete +- 0.33 Version Test only download. almost complete - Beta 0.26 and Beta 0.261, Beta 0.262,0.27 is complete test, 0.28 is tested. +- 0.31 is tested but has not critical bug - You can download and use it (Release section). # Current work list (for Version 0.31) @@ -11,13 +12,6 @@ ---------------------------------------------------------------------------- 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. -- fixed bugs... -- Diallock for uBITX's sensitive encoders -- built in softare Memory keyer and cw options control for CW communication -- Implementation of CAT communication protocol for Digital Communication (as FT8, JT65, etc) -- Delay Options for external Linear. -- and more... - 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. @@ -50,6 +44,23 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD +0.33 + - Added CWL, CWU Mode, (dont complete test yet) + - fixed VFO changed bug. + - Added Additional BFO for CWL, CWL + - Added IF Shift + - Change confirmation key PTT -> function key (not critical menus) + - Change CW Key Select type, (toggle -> select by dial) + +0.32 + - Added function Scroll Frequencty on upper line + - Added Example code for Draw meter and remarked (you can see and use this code in source codes) + - Added Split function, just toggle VFOs when TX/RX + +0.31 + - Fixed CW ADC Range error + - Display Message on Upper Line (anothor VFO Frequency, Tune Step, Selected Key Type) + 0.30 - implemented the function to monitor the value of all analog inputs. This allows you to monitor the status of the CW keys connected to your uBITX. - possible to set the ADC range for CW Keying. If no setting is made, it will have the same range as the original code. If you set the CW Keying ADC Values using uBITX Manager 0.3, you can reduce the key error. From 55cfeeb924b039c54dfeb6cbbb55a5a04b1c906e Mon Sep 17 00:00:00 2001 From: phdlee Date: Wed, 31 Jan 2018 12:13:44 +0900 Subject: [PATCH 23/34] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 4a3e96f..9074023 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,6 @@ - 0.31 is tested but has not critical bug - You can download and use it (Release section). -# Current work list (for Version 0.31) - 1 Testing CAT Control with Software using hamlib on Linux - #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. From c1d81d9d5bf715dd7626b28492fc45b850087efa Mon Sep 17 00:00:00 2001 From: phdlee Date: Thu, 8 Feb 2018 01:15:39 +0900 Subject: [PATCH 24/34] Update README.md --- README.md | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9074023..09924b2 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,7 @@ #IMPORTANT INFORMATION ---------------------------------------------------------------------------- -- 0.33 Version Test only download. almost complete -- Beta 0.26 and Beta 0.261, Beta 0.262,0.27 is complete test, 0.28 is tested. -- 0.31 is tested but has not critical bug -- You can download and use it (Release section). +- Now Release Version 1.0 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 ---------------------------------------------------------------------------- @@ -31,8 +29,6 @@ The copyright information of the original is below. KD8CEC ---------------------------------------------------------------------------- Prepared or finished tasks for the next version - - Most of them are implemented and included in version 0.27. - - User Interface on LCD -> Option by user (not need) - Include WSPR Beacone function - (implement other new repository) complete experiment need solve : Big code size (over 100%, then remove some functions for experment) @@ -41,6 +37,20 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD +1.0 + - todo : rename 0.30 to 1.0 + +0.35 + - vfo to channel bug fixed (not saved mode -> fixed, channel has frequency and mode) + - add Channel tag (ch.1 ~ 10) by uBITX Manager + - add VFO to Channel, Channel To VFO + +0.34 + - TX Status check in auto Keysend logic + - optimize codes + - change default tune step size, and fixed bug + - change IF shift step (1Hz -> 50Hz) + 0.33 - Added CWL, CWU Mode, (dont complete test yet) - fixed VFO changed bug. From a374297d49bbb66dd93ea38c355c91f1e30aacf4 Mon Sep 17 00:00:00 2001 From: phdlee Date: Fri, 9 Feb 2018 13:42:36 +0900 Subject: [PATCH 25/34] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 09924b2..0bdc85b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ #IMPORTANT INFORMATION ---------------------------------------------------------------------------- -- Now Release Version 1.0 on my blog (http://www.hamskey.com) +- A bug was found in version 1.0, When CW Keytype is set to IAMBCA and IAMBCB, there was a problem that switching to RX is not performed well when CAT communication is performed. If CW key type is straight, it works normally. This bug has been fixed and changed to version 1.01. +- Now Release Version 1.01 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 From bbdd0947d3c167017ab8751185c77503c28bc7ca Mon Sep 17 00:00:00 2001 From: phdlee Date: Sat, 10 Feb 2018 13:31:51 +0900 Subject: [PATCH 26/34] Update README.md --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bdc85b..a471f5c 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,14 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD +1.02 (working) + - Applied CW Start Delay to New CW Key logic + +1.01 + - Fixed Cat problem with (IAMBIC A or B Selected) + 1.0 - - todo : rename 0.30 to 1.0 + - rename 0.30 to 1.0 0.35 - vfo to channel bug fixed (not saved mode -> fixed, channel has frequency and mode) From 04949cdb93b520e2afd4a3a85a08b37be5d98eee Mon Sep 17 00:00:00 2001 From: phdlee Date: Sat, 10 Feb 2018 13:41:12 +0900 Subject: [PATCH 27/34] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a471f5c..5610f98 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD 1.02 (working) - - Applied CW Start Delay to New CW Key logic + - Applied CW Start Delay to New CW Key logic (This is my mistake when applying the new CW Key Logic.Since uBITX operations are not significantly affected, this does not create a separate Release, It will be reflected in the next release.) 1.01 - Fixed Cat problem with (IAMBIC A or B Selected) From e532dccce78d6fffee18e3a7ea8e81a85ed36e11 Mon Sep 17 00:00:00 2001 From: phdlee Date: Sat, 10 Feb 2018 15:10:55 +0900 Subject: [PATCH 28/34] Update README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5610f98..6129344 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,13 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD 1.02 (working) - - Applied CW Start Delay to New CW Key logic (This is my mistake when applying the new CW Key Logic.Since uBITX operations are not significantly affected, this does not create a separate Release, It will be reflected in the next release.) - + - Applied CW Start Delay to New CW Key logic (This is my mistake when applying the new CW Key Logic.Since uBITX operations are not significantly affected, this does not create a separate Release, It will be reflected in the next release.) - complete + - Modified CW Key Logic for Auto Key, (available AutoKey function by any cw keytype) - complete + - reduce cpu use usage (working) + - reduce (working) + 1.01 - Fixed Cat problem with (IAMBIC A or B Selected) - 1.0 - rename 0.30 to 1.0 From 277666f82fc08ec7eb56a1cd03c3579f861db196 Mon Sep 17 00:00:00 2001 From: phdlee Date: Sat, 10 Feb 2018 18:34:21 +0900 Subject: [PATCH 29/34] Konstantinos (SV1ONW) shared the usage of uBITX Manager on Linux. Konstantinos (SV1ONW) shared the usage of uBITX Manager on Linux. --- ubitxmanager ubuntu.odt | Bin 0 -> 24818 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ubitxmanager ubuntu.odt diff --git a/ubitxmanager ubuntu.odt b/ubitxmanager ubuntu.odt new file mode 100644 index 0000000000000000000000000000000000000000..514b20b609a69f92b351ff6dbd200683e6662c1c GIT binary patch literal 24818 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 Date: Mon, 5 Mar 2018 13:03:05 +0900 Subject: [PATCH 30/34] Update README.md --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6129344..de477e8 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,15 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD -1.02 (working) +1.04 + - Optimized from Version1.03 + - Reduce program size (97% -> 95%) + +1.03 + - Change eBFO Calibration Step (50 to 5) + - Change CW Frequency Display type + +1.02 - Applied CW Start Delay to New CW Key logic (This is my mistake when applying the new CW Key Logic.Since uBITX operations are not significantly affected, this does not create a separate Release, It will be reflected in the next release.) - complete - Modified CW Key Logic for Auto Key, (available AutoKey function by any cw keytype) - complete - reduce cpu use usage (working) From 075f585a1e08b3758d0f7c7eed75ea0950403584 Mon Sep 17 00:00:00 2001 From: phdlee Date: Thu, 29 Mar 2018 22:31:36 +0900 Subject: [PATCH 31/34] Update README.md --- README.md | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index de477e8..74dbeeb 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ #IMPORTANT INFORMATION ---------------------------------------------------------------------------- -- A bug was found in version 1.0, When CW Keytype is set to IAMBCA and IAMBCB, there was a problem that switching to RX is not performed well when CAT communication is performed. If CW key type is straight, it works normally. This bug has been fixed and changed to version 1.01. -- Now Release Version 1.01 on my blog (http://www.hamskey.com) +- 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 @@ -14,9 +13,6 @@ So I will release the 0.27 version and if I do not see the bug anymore, I will t 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. -I am going to do a new project based on this source, linking with WSPR, WSJT-X and so on. -Of course, this repository is still running. If you have any bugs or ideas, please feel free to email me. - http://www.hamskey.com DE KD8CEC @@ -30,14 +26,32 @@ The copyright information of the original is below. KD8CEC ---------------------------------------------------------------------------- Prepared or finished tasks for the next version - - Include WSPR Beacone function - (implement other new repository) - complete experiment - need solve : Big code size (over 100%, then remove some functions for experment) - need replace Si5351 Library (increase risk and need more beta tester) - W3PM sent me his wonderful source - using BITX, GPS - + - Reduce Program size + - uBITX with RTL-SDR + - Direct control for Student + ---------------------------------------------------------------------------- ## REVISION RECORD +1.061 + - Added WSPR + You only need uBITX to use WSPR. No external devices are required. + Added Si5351 module for WSPR + - Update uBITX Manager to Version 1.0 + - Reduce program size + for WSPR + for other Module + - Fixed IF Shift Bug + Disable IF Shift on TX + IF shift available in USB mode + Fixed cat routine in IF Shift setup +- Bugs fixed + cw start delay option + Auto key Bug + (found bug : LZ1LDO) + Message selection when Auto Key is used in RIT mode + (found bug : gerald) +- Improve CW Keying (start TX) + 1.04 - Optimized from Version1.03 - Reduce program size (97% -> 95%) From 5afcdf2583d2e1c4f8541bc8b1d721979c513c57 Mon Sep 17 00:00:00 2001 From: phdlee Date: Wed, 4 Apr 2018 20:22:42 +0900 Subject: [PATCH 32/34] Update README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 74dbeeb..2d4404f 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,9 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD +1.07 (Working) + - BetaVersion for Reduce program size + 1.061 - Added WSPR You only need uBITX to use WSPR. No external devices are required. @@ -52,6 +55,10 @@ Prepared or finished tasks for the next version (found bug : gerald) - Improve CW Keying (start TX) +1.05 + - include 1.05W, 1.051, 1.051W + - for WSPR Beta Test Version + 1.04 - Optimized from Version1.03 - Reduce program size (97% -> 95%) From 9c4b694ce22a2229438df87aa41e331af20e8144 Mon Sep 17 00:00:00 2001 From: phdlee Date: Thu, 5 Apr 2018 10:19:38 +0900 Subject: [PATCH 33/34] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d4404f..5fc01db 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,8 @@ Prepared or finished tasks for the next version ---------------------------------------------------------------------------- ## REVISION RECORD -1.07 (Working) +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.061 From 11b6fbc1f45c54aa6b9d9051829b5d920da0ac7f Mon Sep 17 00:00:00 2001 From: Richard Neese Date: Mon, 16 Apr 2018 21:56:20 -0400 Subject: [PATCH 34/34] Tuning step change changed tuning steps to 10/50/100/500/1000 --- ubitx_20/ubitx_20.ino | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ubitx_20/ubitx_20.ino b/ubitx_20/ubitx_20.ino index 13a871d..0ed66be 100644 --- a/ubitx_20/ubitx_20.ino +++ b/ubitx_20/ubitx_20.ino @@ -1,5 +1,5 @@ //Firmware Version -#define FIRMWARE_VERSION_INFO F("CE v1.070") +#define FIRMWARE_VERSION_INFO F("CE v1.071") #define FIRMWARE_VERSION_NUM 0x02 //1st Complete Project : 1 (Version 1.061), 2st Project : 2 //Depending on the type of LCD mounted on the uBITX, uncomment one of the options below. @@ -1008,10 +1008,10 @@ void initSettings(){ { //Default Setting arTuneStep[0] = 10; - arTuneStep[1] = 20; - arTuneStep[2] = 50; - arTuneStep[3] = 100; - arTuneStep[4] = 200; + arTuneStep[1] = 50; + arTuneStep[2] = 100; + arTuneStep[3] = 500; + arTuneStep[4] = 1000; } if (tuneStepIndex == 0) //New User