Skip to main content

Fixed bugs found in uBITX -

I am an embedded programmer, but I first tried arduino. Arduino knew only that it was used for learning purposes. However, it is based on C and it seems to have considerable applicability. In particular, a concise structure makes it easy to write code.

I found some error, but easy fixed because of very small bug.

1.CW Side Tone Configuration - Error
  https://www.youtube.com/edit?o=U&video_id=1EPPknBQNLY

 There is no response when PTT is pressed after CW side tone is set. but this is very simple problem, i fixed code and send information to administrator of uBITX source code


before fixed code

while (digitalRead(PTT) == LOW || !btnDown())
{
knob = enc_read();
if (knob > 0 && sideTone < 2000)
sideTone += 10;
else if (knob < 0 && sideTone > 100 )
sideTone -= 10;
else
continue; //don't update the frequency or the display
tone(CW_TONE, sideTone);
itoa(sideTone, b, 10);
printLine2(b);
delay(100);
}
noTone(CW_TONE);
//save the setting
if (digitalRead(PTT) == LOW){
printLine2("Sidetone set! ");
EEPROM.put(CW_SIDETONE, usbCarrier);
delay(2000);
}
else
sideTone = prev_sideTone;

when loop condition is digitalRead(PTT) = LOW but save setting condition is if  (digitalRead(PTT) == LOW)

fixed =>


while (digitalRead(PTT) == HIGH && !btnDown())
{
knob = enc_read();

2.Alignment and point position problem when displaying frequency




Less than 1Mhz




Original code

if (frequency < 10000000l){
c[6] = ' ';
c[7] = b[0];
strcat(c, ".");
strncat(c, &b[1], 3);
strcat(c, ".");
strncat(c, &b[4], 3);
}
else {
strncat(c, b, 2);
strcat(c, ".");
strncat(c, &b[2], 3);
strcat(c, ".");
strncat(c, &b[5], 3);
}
if (inTx)
strcat(c, " TX");
printLine(1, c);



Fixed code


for (int i = 15; i >= 6; i--) {
if (tmpFreq > 0) {
if (i == 12 || i == 8) c[i] = '.';
else {
c[i] = tmpFreq % 10 + 0x30;
tmpFreq /= 10;
}
}
else
c[i] = ' ';
}
if (inTx)
strcat(c, " TX");
printLine(1, c);







with bug fixes, memory usage was also reduced.


3.Frequency Limit Error
  defined variable frequency has unsigned long type
  when frequency is decrease by dial(Knob), if frequency is less then 0, frequency is overflow

Error when changing frequency in uBITX(Before fixed)
https://www.youtube.com/watch?v=3UR6ajH4dLQ



Fixed bug
https://youtu.be/Njqci2RGvQk



4.And fixed more bugs...


source code is https://github.com/phdlee/ubitx
Compiled firmware and an easy way to upgrade are coming soon.
You do not have to worry because you can go back to the original firmware at any time.


DE KD8CEC / Ph.D Ian lee
73





Comments

Popular posts from this blog

Release CEC Firmware v1.200 for uBITX All version(include V2, V3, V4, V5)

Release CEC Firmware v1.200 for uBITX All Version (include v2, v3, v4, v5) I did the firmware work for v5 when uBITX V5 was released, but I release it now.
I received the feedback from a thankful beta tester and tested it myself by converting my uBITX v3 to v5 but I was not sure.

I ordered the uBITX V5 and delivered the correct uBITX V5, so I made a little more fine-tuning.
If you use V2, V3, V4, you do not need to update this firmware.

uBITX with Nextion LCD (CEC Firmware) - Installation and Introduction

uBITX with Nextion LCD (CEC Firmware) - Installation and Introduction uBITX CEC Firmware supports various LCD since Version 1.08 (16x02 Parallel, 20x04 Parallel, 16x02  I2C, 20x04 I2C, 16x02 Dual LCD with I2C).
Supports Nextion LCD (Graphic LCD) from Version 1.09, Version 1.09x is primarily aimed at Nextion LCD support. Also 1.09x will continue to be Beta version. If you want a stable version, please use 1.08 or 1.1 version to be released in the future.

Release EU1KY AA Firmware CEC Version 1.01 and 1.0a

Release EU1KY AA Firmware CEC Version 1.01 and 1.0a
It is the stabilized final version of EU1KY AA. Updates starting with Version 0.1 continue to add features. Please refer to the link below for added features.

I have separated the Version to 1.01 and 1.0A for users who want to use AA only for instrumentation purposes.

*  If you want to use all the features added up to Version 0.71, please use Version 1.0A.
*  If you want to use it only for instrument use, please use Version 1.01



Version V1.0A


Version V1.01



1.Download Firmware Version 1.01 and 1.0a
https://github.com/phdlee/antennaanalyzer/releases
Version 1.01 (Version with only antenna analyzer function) https://github.com/phdlee/antennaanalyzer/releases/download/v1.01/AA_CEC_V1.01.zip
Version 1.0A (Version with all features added up to Version 0.71) https://github.com/phdlee/antennaanalyzer/releases/download/v1.01/AA_CEC_V1.0A.zip
ConvertRXP (Converters for using AA measurement data in other tools such as Matlab) https://github.com/phd…