How to use uBITX CEC Firmware Source
CEC Firmware is based on unmodified uBITX.
Starting with the 1.7x version, we started to support various LCDs, and 1.9 supports Nextion LCD.
Signal Meter was supported in version 1.8, Starting with Version 1.9, I2C Type Signal Meter Sensor (Standalone Signal Analyzer) is supported.
These compile options are described in 'ubitx.h'. This post explains how to configure ubitx.h.
1. Download source code
https://github.com/phdlee/ubitx
Click the 'Clone or download' Button
Click the 'Download ZIP' Button
Extract downloaded file.
The source code must be under the ubitx_20 folder. (Folder name is important)
Double click the 'ubitx_20.ino' File
Select the ubitx.h tab as shown below.
Most of the source code options are in the ubitx.h file.
2. Select LCD Type
You must uncomment only one of the 6 lines below.
//#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 UBITX_DISPLAY_NEXTION //NEXTION LCD
For example, if your uBITX is using the included LCD, you can select it as follows.
#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 UBITX_DISPLAY_NEXTION //NEXTION LCD
As another example, if you are using Nextion LCD or TJC LCD, modify the code as shown below. The size of the LCD does not matter.
//#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 UBITX_DISPLAY_NEXTION //NEXTION LCD
3.Select 'Signal Meter Sensor'
If you are sensing a signal using uBITX's A7 (spare i / o), you should comment it out as shown below.
//#define USE_I2CSMETER
http://www.hamskey.com/2018/05/creating-simple-s-meter-sensor-for-ubitx.html
http://www.hamskey.com/2018/06/creating-simple-s-meter-sensor-for.html
http://www.hamskey.com/2018/05/setting-smeter-to-ubitx-with-cec.html
If you are using the Standalone Signal Analyzer(I2C Type Signal Sensor), uncomment it as shown below.
#define USE_I2CSMETER
http://www.hamskey.com/2018/07/standalone-signal-analyzer-i2c-type.html
http://www.hamskey.com/2018/07/standalone-signal-analyzer-i2c-type_29.html
http://www.hamskey.com/2018/08/standalone-signal-analyzer-i2c-type.html
Below is the update time to display Signal Meter.
#define SMeterLatency 3 //1 is 0.25 sec
The default setting is updated every 0.75 seconds.
4. Options for Developer
Currently, only about 1 to 3% of the program space is left.
I created an option for developers who want to modify the program.
You can remove features you do not need.
The commented number on the right is the approximate amount of space used.
//Enable all features
#define FN_BAND 1 //592
#define FN_VFO_TOGGLE 1 //78
#define FN_MODE 1 //20
#define FN_RIT 1 //58
#define FN_SPLIT 1 //62
#define FN_IFSHIFT 1 //238
#define FN_ATT 1 //128
#define FN_CW_SPEED 1 //152
#define FN_VFOTOMEM 1 //254
#define FN_MEMTOVFO 1 //188
#define FN_MEMORYKEYER 1 //156
#define FN_WSPR 1 //1044
#define FN_SDRMODE 1 //68
#define FN_CALIBRATION 1 //666
#define FN_CARRIER 1 //382
#define FN_CWCARRIER 1 //346
#define FN_CWTONE 1 //148
#define FN_CWDELAY 1 //98
#define FN_TXCWDELAY 1 //94
#define FN_KEYTYPE 1 //168
#define FN_ADCMONITOR 1 //516
#define FN_TXONOFF 1 //58
If you disable the function by setting the value to 0 as shown below, it will not appear in Text Mode. You can control most of the functions in the GUI, so there is no problem in use. With the following options you can get 12% of the program space.
#define FN_BAND 0 //592
#define FN_VFO_TOGGLE 0 //78
#define FN_MODE 0 //20
#define FN_RIT 0 //58
#define FN_SPLIT 0 //62
#define FN_IFSHIFT 0 //238
#define FN_ATT 0 //128
#define FN_CW_SPEED 0 //152
#define FN_VFOTOMEM 0 //254
#define FN_MEMTOVFO 0 //188
#define FN_MEMORYKEYER 1 //156
#define FN_WSPR 1 //1044
#define FN_SDRMODE 0 //68
#define FN_CALIBRATION 1 //666
#define FN_CARRIER 1 //382
#define FN_CWCARRIER 1 //346
#define FN_CWTONE 0 //148
#define FN_CWDELAY 0 //98
#define FN_TXCWDELAY 0 //94
#define FN_KEYTYPE 0 //168
#define FN_ADCMONITOR 0 //516
#define FN_TXONOFF 0 //58
Congratulations Ian. Your creative work has taken uBitx to a next level. -- KM6BR
ReplyDeleteThank you for your kind words
DeleteIan KD8CEC
Hi Ian,
ReplyDeleteI want to adapt your code for a Single Conversion SSB project like the Bitx20/40, Could you suggest what changes I would like to make in your code for this..
Charudatt, Sorry for late reply.
DeleteI don't know Bitx20 source code yet.
but, My guess is that you can use it only by modifying the frequency control part.
Ian
This comment has been removed by the author.
ReplyDeleteHi Ian,
ReplyDeleteI am regular visitor of Your blog and enjoying the improvements of uBITX that You made and share. Great!
I need one change in code - if possible. My plan is use uBITX + XVRT for satellites. You know that there are strong change of frequency due the Doppler effect. Usual RIGs are allowing to tune in TX mode, uBITX no (currently v.1.073 firmware).
So if it is possible, please allow tunning in TX mode or add a setting in menu that allows that. Thanks a lot!
OM0AAO
DeleteIs not the reply too late?
I'm sorry to be late for your wonderful offer. I quit the beta version today.
If you can test it, I'll modify the code and send it to you by e-mail. Please let me know your email address.
Thanks again for the cool suggestion.
Ian KD8CEC
Hi Ian,
Deletethat will be great! Please send in to om0aao(at)cq.sk . TNX!
What is a TJC display? What is "Standalone Signal Analyzer"? Maybe a comment beside some of these for those that don't know. It's easy to leave out stuff if you work with it too much. I saw the standalone signal analyzer somewhere on your site. I'll have to dig around again. Just thought it might help others if they see that and don't know what it means. Great job. I'm still putting my uBitx together and gathering up what I need for this part.
ReplyDeleteMichael
DeleteI agree with your opinion. Due to too many posts, it seems that you can not find important information.
I am going to end the beta version today. I will include a post with important information.
(TJC LCD is a trade name, and "Standalone Signal Analyzer" info = http://www.hamskey.com/2018/07/standalone-signal-analyzer-i2c-type.html
http://www.hamskey.com/2018/07/standalone-signal-analyzer-i2c-type_29.html
http://www.hamskey.com/2018/08/standalone-signal-analyzer-i2c-type.html
)
Thanks
Ian, KD8CEC
This comment has been removed by the author.
ReplyDeleteI will suggest a guide for dummies. For example, I got the MBTIX V4 and a 2.8 screen to add to it. What do I need to load to the Raduino, what to the LCD, what else? A place with all what is needed grouped with steps by steps in sequential order.
ReplyDelete