Compare commits

...

84 Commits

Author SHA1 Message Date
Rob French 295c49969f Updated the README.md with a KC4UPR note. I will now be creating a kc4upr branch. 2020-10-28 13:50:39 -05:00
phdlee 262ef3947a
Merge pull request #46 from phdlee/version1.20
changed version number for nextion lcd protocol
2019-04-06 16:38:44 +09:00
phdlee a4d9f6e6c5 changed version number for nextion lcd protocol 2019-04-06 16:35:46 +09:00
phdlee 395dd42459
Update README.md 2019-04-02 23:20:04 +09:00
phdlee f25bf57556
Update README.md 2019-04-02 23:18:54 +09:00
phdlee 171f889f4a
Merge pull request #45 from phdlee/version1.20
Version1.20
2019-04-02 23:16:03 +09:00
phdlee 05de66a038 uBITX V5 suppoort and SDR Frequency Change 2019-04-02 23:09:18 +09:00
phdlee 2c075d5236 for uBITX v5 2019-02-15 19:32:07 +09:00
phdlee 37fcc5975a
Merge pull request #44 from phdlee/version1.11
Added Custom LPF Control
2018-09-22 19:14:22 +09:00
phdlee c34e798313
Update README.md 2018-09-11 18:09:22 +09:00
phdlee df2c493700
Merge pull request #43 from phdlee/version1.1
Add Custom LPF Filter and Changed Version Number
2018-09-07 23:39:25 +09:00
phdlee 948267bb39
Merge pull request #40 from phdlee/version1.098
Version1.098
2018-08-10 16:08:13 +09:00
phdlee c6b020fa70
Update README.md 2018-05-23 18:32:55 +09:00
phdlee 2e8c97f19b
Update README.md 2018-05-23 18:32:01 +09:00
phdlee 337320b433
Merge pull request #37 from phdlee/version1.080
add comment
2018-05-23 16:00:25 +09:00
phdlee b172527d00
Merge pull request #36 from phdlee/version1.080
Version1.080
2018-05-23 15:46:01 +09:00
phdlee 27092d23e0
Merge pull request #35 from phdlee/version1.080
Version1.080
2018-05-23 15:09:43 +09:00
phdlee 2de1c873a1
Merge pull request #34 from phdlee/version1.075
Version1.075
2018-05-09 16:55:47 +09:00
phdlee 4d97ac2283
Merge pull request #33 from phdlee/version1.074
Version1.074
2018-05-09 16:54:51 +09:00
phdlee 75d952718b
Merge pull request #32 from phdlee/version1.073
reduce compiller warning
2018-05-06 22:34:15 +09:00
phdlee 5c40718bec
Merge pull request #31 from phdlee/version1.073
Version1.073
2018-04-24 17:33:58 +09:00
phdlee 3b4bdafacc
Merge pull request #30 from phdlee/version1.072
Version1.072
2018-04-23 21:43:56 +09:00
phdlee 82d9682ee9
Merge branch 'master' into version1.072 2018-04-23 21:43:50 +09:00
phdlee 289ae1bd77
Merge pull request #29 from phdlee/version1.071
Improve receive perforamnce for USB, CWU, custom uBITX
2018-04-18 20:25:32 +09:00
phdlee 86797181cf
Merge pull request #28 from RichNeese/master
Tuning step change
2018-04-18 08:32:53 +09:00
Richard Neese 11b6fbc1f4 Tuning step change
changed tuning steps to 10/50/100/500/1000
2018-04-16 21:56:20 -04:00
phdlee 0996870154
Merge pull request #27 from phdlee/version1.07
Version1.07
2018-04-07 21:33:30 +09:00
phdlee 9c4b694ce2
Update README.md 2018-04-05 10:19:38 +09:00
phdlee 5afcdf2583
Update README.md 2018-04-04 20:22:42 +09:00
phdlee 075f585a1e
Update README.md 2018-03-29 22:31:36 +09:00
phdlee d0c04df9d8
Merge pull request #26 from phdlee/version1.06
Version1.06
2018-03-25 03:22:29 +09:00
phdlee 4e9437a735
Merge pull request #25 from phdlee/version1.06
Change Version Name
2018-03-24 21:34:17 +09:00
phdlee 384c3c41b2
Merge pull request #24 from phdlee/version1.05
Version1.05
2018-03-21 14:21:28 +09:00
phdlee a21dbe2fa5
Update README.md 2018-03-05 13:03:05 +09:00
phdlee 9faa8bb44c
Merge pull request #23 from phdlee/version1.04
Optimized from Version1.03
2018-03-05 12:56:55 +09:00
phdlee d926b15e3d
Merge pull request #22 from phdlee/version1.03
Version1.03
2018-03-05 12:55:41 +09:00
phdlee c911d26163
Merge pull request #21 from phdlee/version1.02
Version1.02
2018-02-14 12:11:38 +09:00
phdlee 98e3b41f5a
Merge pull request #20 from phdlee/version1.0
Version1.0
2018-02-14 12:10:38 +09:00
phdlee 277666f82f
Konstantinos (SV1ONW) shared the usage of uBITX Manager on Linux.
Konstantinos (SV1ONW) shared the usage of uBITX Manager on Linux.
2018-02-10 18:34:21 +09:00
phdlee e532dccce7
Update README.md 2018-02-10 15:10:55 +09:00
phdlee 04949cdb93
Update README.md 2018-02-10 13:41:12 +09:00
phdlee bbdd0947d3
Update README.md 2018-02-10 13:31:51 +09:00
phdlee a374297d49
Update README.md 2018-02-09 13:42:36 +09:00
phdlee c1d81d9d5b
Update README.md 2018-02-08 01:15:39 +09:00
phdlee d69588d999
Merge pull request #19 from phdlee/version0.35
Version0.35
2018-02-05 16:48:56 +09:00
phdlee e915c21412
Merge pull request #18 from phdlee/version0.34
Version0.34
2018-02-03 17:17:43 +09:00
phdlee 55cfeeb924
Update README.md 2018-01-31 12:13:44 +09:00
phdlee c8879e0e59
Update README.md 2018-01-31 12:12:58 +09:00
phdlee 4f5ac283b7
Merge pull request #17 from phdlee/version0.33
Version0.33
2018-01-31 10:47:20 +09:00
phdlee 3058d52551
Merge pull request #16 from phdlee/version0.32
Version0.32
2018-01-30 12:20:18 +09:00
phdlee 04699ba074
Merge pull request #15 from phdlee/version0.31
Fixed Bug CW Key Range
Append Feature : Display Line Toggle, (Between line1 and line2)
 Append function : for other users / using s.meter, p.meter ... (when idle time execute function)
2018-01-29 18:44:05 +09:00
phdlee aa61281c38
Merge pull request #14 from phdlee/version0.296
rename version to 0.30
2018-01-27 18:39:22 +09:00
phdlee 261215b1ad
Merge pull request #13 from phdlee/version0.296
Version0.296 => Version 0.30
2018-01-27 18:36:07 +09:00
phdlee 1a2f5b4fde
Update README.md 2018-01-27 18:33:51 +09:00
phdlee 8203427808
Merge pull request #12 from phdlee/version0.296
Add Comment
2018-01-26 18:25:48 +09:00
phdlee 4e15f2150c
Update README.md 2018-01-25 23:39:33 +09:00
phdlee 82a5fd7df9
Merge pull request #11 from phdlee/version0.296
Version0.296
2018-01-25 23:33:04 +09:00
phdlee 386a0b2d46
Update README.md 2018-01-25 22:33:20 +09:00
phdlee c6401af7d1
Merge pull request #10 from phdlee/version0.29
Version0.29
2018-01-25 22:26:19 +09:00
phdlee b153a305d6
Merge branch 'master' into version0.29 2018-01-25 22:25:35 +09:00
phdlee e61e45d3dd
Update README.md 2018-01-22 18:26:22 +09:00
phdlee a1f941f965
Update README.md 2018-01-22 18:25:41 +09:00
phdlee d1e72b3bd5
Update README.md 2018-01-22 18:24:29 +09:00
phdlee 032e7f919f
Update README.md 2018-01-22 18:21:55 +09:00
phdlee b6bc264332
Update README.md 2018-01-22 18:11:15 +09:00
phdlee b1cc5eb98a
Update README.md 2018-01-22 02:11:35 +09:00
phdlee 2fe1662d67
Merge pull request #8 from qiwenmin/master
Fixed most compilation warnings and a delay issue
2018-01-20 21:24:15 +09:00
phdlee ebbc5aae5e
Merge pull request #9 from phdlee/version0.28
change delaytimes via cat
2018-01-18 11:47:21 +09:00
Qi Wenmin 209cd3a49c Fixed most compilation warnings and a delay issue
* Fixed most compilation warnings (Compiler warning level: All)
* Fixed a delay issue in enc_read function.
2018-01-17 14:42:15 +08:00
phdlee 95e5c1dfe5
Update README.md 2018-01-14 14:53:28 +09:00
phdlee 45a8479061
Update README.md 2018-01-14 14:52:58 +09:00
phdlee a6ad381c24
Update README.md 2018-01-14 14:52:22 +09:00
phdlee bcf80f851d
Update README.md 2018-01-14 14:51:46 +09:00
phdlee 16304efacd
Update README.md 2018-01-14 14:51:23 +09:00
phdlee 968024ab73
Merge pull request #7 from phdlee/beta0.26
Beta0.26
2018-01-14 14:19:53 +09:00
phdlee 3e60728727
Update README.md 2018-01-13 22:27:23 +09:00
phdlee 9781ef086b
Update README.md 2018-01-13 10:58:47 +09:00
phdlee f27f504ea4
Merge pull request #6 from phdlee/beta0.26
Beta0.26
2018-01-12 20:19:09 +09:00
phdlee 2b08a76fbf
Update README.md 2018-01-12 10:16:59 +09:00
phdlee 90655e03b8
Update README.md
add status of project
2018-01-12 09:51:58 +09:00
phdlee 8551ff1b68
Update README.md 2018-01-11 17:40:00 +09:00
phdlee 5ce94e8e49
Merge pull request #5 from qiwenmin/master
Fix the delay condition bug when overflow
2018-01-10 13:51:59 +09:00
Qi Wenmin 7ef9c29fa8 Fix the delay condition bug when overflow
The original expression will cause bug when overflow.
2018-01-10 12:00:53 +08:00
phdlee fda398046e
Merge pull request #4 from phdlee/beta0.25
beta 0.25 commit
2018-01-10 11:39:15 +09:00
9 changed files with 298 additions and 67 deletions

175
README.md
View File

@ -1,31 +1,21 @@
#IMPORTANT INFORMATION
#KC4UPR'S NOTE
----------------------------------------------------------------------------
- Beta 0.26 and Beta 0.261, Beta 0.262, Beta 0.27 is complete test
- You can download and use it.
This is a fork of the KD8CEC firmware that will be specific to my uBITX V5
installation. My intent is to remove unnecessary code, as well as make some
GPIO changes based on my use of the Nextion LCD. Specifically, I'd like to
eliminate the use of analog I/O for reading the CW keys, and possibly enable
control of accessories such as filters using the extra GPIO pins that are
now available.
#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.
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.
- Now Release Version 1.20 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
@ -36,16 +26,143 @@ 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)
need replace Si5351 Library (increase risk and need more beta tester)
W3PM sent me his wonderful source - using BITX, GPS
- Add TTS module
- Direct control for Student
----------------------------------------------------------------------------
## REVISION RECORD
1.20
- Support uBITX V5
- Change to SDR Frequency (Remove just RTL-SDR's error Frequency (2390Hz))
1.12
- Support Custom LPF Control
- Other Minor Bugs
1.1
- Support Nextion LCD, TJC LCD
- Read & Backup uBITX, ADC Monitoring, ATT, IF-Shift and more on Nextion LCD (TJC LCD)
- Factory Reset (Both Character LCD and Nextion LCD are applicable)
- Support Signal Meter using ADC (A7 Port)
- Supoort I2C Signal Meter
- Spectrum
- Band Scan
- Memory Control on Nextion LCD (TJC LCD)
- Speed Change CW-Option on Nextion LCD
- Fixed Band Change Bug (Both Character LCD and Nextion LCD are applicable)
- uBITX Manager removed the Encode and Decode buttons. The procedure has become a bit easier.
- I2C Device Scan on uBITX Manager ( Both Character LCD and Nextion LCD are applicable)
- Si5351 I2C Address can be changed
- Recovery using QR-Code Data from Server
- Nextion LCD and TJC LCD can display Spectrum and CW Decode (using Stand alone S-Meter)
- Other Minor Bugs
1.09 (Beta)
- include 1.094 beta, 1.095 beta, 1.097 beta
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
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.05
- include 1.05W, 1.051, 1.051W
- for WSPR Beta Test Version
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)
- reduce (working)
1.01
- Fixed Cat problem with (IAMBIC A or B Selected)
1.0
- 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.
- 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.
- 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
0.27
(First alpha test version, This will be renamed to the major version 1.0)
- Dual VFO Dial Lock (vfoA Dial lock)

View File

@ -70,7 +70,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
The latest version of this library can always be found at
http://arduiniana.org.
*/
#include <arduino.h>
#include <Arduino.h>
//================================================================
//Public Variable

View File

@ -22,6 +22,9 @@
//==============================================================================
// Compile Option
//==============================================================================
//Ubitx Board Version
#define UBITX_BOARD_VERSION 2 //v1 ~ v4 : 4, v5: 5
//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 (Parallel)
@ -36,7 +39,7 @@
#define I2C_LCD_SECOND_ADDRESS_DEFAULT 0x3F //0x27 //only using Dual LCD Mode
//Select betwen Analog S-Meter and DSP (I2C) Meter
//#define USE_I2CSMETER
#define USE_I2CSMETER
#define EXTEND_KEY_GROUP1 //MODE, BAND(-), BAND(+), STEP
//#define EXTEND_KEY_GROUP2 //Numeric (0~9), Point(.), Enter //Not supported in Version 1.0x
@ -330,5 +333,3 @@ extern void DisplayVersionInfo(const char* fwVersionInfo);
extern int GetI2CSmeterValue(int valueType); //ubitx_ui.ino
#endif //end of if header define

View File

@ -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.110")
#define FIRMWARE_VERSION_INFO F("+v1.200")
#define FIRMWARE_VERSION_NUM 0x04 //1st Complete Project : 1 (Version 1.061), 2st Project : 2, 1.08: 3, 1.09 : 4
/**
@ -72,10 +72,43 @@
// the second oscillator should ideally be at 57 MHz, however, the crystal filter's center frequency
// is shifted down a little due to the loading from the impedance matching L-networks on either sides
#define SECOND_OSC_USB (56995000l)
#define SECOND_OSC_LSB (32995000l)
//these are the two default USB and LSB frequencies. The best frequencies depend upon your individual taste and filter shape
#define INIT_USB_FREQ (11996500l)
#if UBITX_BOARD_VERSION == 5
//For Test //45005000
//#define SECOND_OSC_USB (56064200l)
//#define SECOND_OSC_LSB (33945800l)
/*
//For Test //4500000
#define SECOND_OSC_USB (56059200l)
#define SECOND_OSC_LSB (33940800l)
*/
/*
//For Test // V1.121 44991500(LSB), 44998500 (USB), abs : 7k
#define SECOND_OSC_USB (56057700l)
#define SECOND_OSC_LSB (33932300l)
*/
//==============================================================================================================================
//For Test // V1.200 V1.122 45002500 (LSB), 45002000 (USB) (Change Default BFO Frequency 11056xxx, adjust bfo and ifshift ), abs: 0.5k
//Best, Test 3 uBITX V5
//Last Value, If more data is collected, it can be changed to a better value.
#define SECOND_OSC_USB (56058700l)
#define SECOND_OSC_LSB (33945800l)
//Not used, Just comment (Default)
#define INIT_USB_FREQ (11056500l)
//-----------------------------------------------------------------------------------------------------------------------------
#else
#define SECOND_OSC_USB (56995000l)
#define SECOND_OSC_LSB (32995000l)
//these are the two default USB and LSB frequencies. The best frequencies depend upon your individual taste and filter shape
//Not used, Just comment (Default)
#define INIT_USB_FREQ (11996500l)
#endif
// limits the tuning and working range of the ubitx between 3 MHz and 30 MHz
#define LOWEST_FREQ (3000000l)
#define HIGHEST_FREQ (30000000l)
@ -345,26 +378,51 @@ void setTXFilters(unsigned long freq){
}
} //end of for
#else
if (freq > 21000000L){ // the default filter is with 35 MHz cut-off
digitalWrite(TX_LPF_A, 0);
digitalWrite(TX_LPF_B, 0);
digitalWrite(TX_LPF_C, 0);
}
else if (freq >= 14000000L){ //thrown the KT1 relay on, the 30 MHz LPF is bypassed and the 14-18 MHz LPF is allowd to go through
digitalWrite(TX_LPF_A, 1);
digitalWrite(TX_LPF_B, 0);
digitalWrite(TX_LPF_C, 0);
}
else if (freq > 7000000L){
digitalWrite(TX_LPF_A, 1);
digitalWrite(TX_LPF_B, 1);
digitalWrite(TX_LPF_C, 0);
}
else {
digitalWrite(TX_LPF_A, 1);
digitalWrite(TX_LPF_B, 1);
digitalWrite(TX_LPF_C, 1);
}
#if UBITX_BOARD_VERSION == 5
if (freq > 21000000L){ // the default filter is with 35 MHz cut-off
digitalWrite(TX_LPF_A, 0);
digitalWrite(TX_LPF_B, 0);
digitalWrite(TX_LPF_C, 0);
}
else if (freq >= 14000000L){ //thrown the KT1 relay on, the 30 MHz LPF is bypassed and the 14-18 MHz LPF is allowd to go through
digitalWrite(TX_LPF_A, 1);
digitalWrite(TX_LPF_B, 0);
digitalWrite(TX_LPF_C, 0);
}
else if (freq > 7000000L){
digitalWrite(TX_LPF_A, 0);
digitalWrite(TX_LPF_B, 1);
digitalWrite(TX_LPF_C, 0);
}
else {
digitalWrite(TX_LPF_A, 0);
digitalWrite(TX_LPF_B, 0);
digitalWrite(TX_LPF_C, 1);
}
#else
if (freq > 21000000L){ // the default filter is with 35 MHz cut-off
digitalWrite(TX_LPF_A, 0);
digitalWrite(TX_LPF_B, 0);
digitalWrite(TX_LPF_C, 0);
}
else if (freq >= 14000000L){ //thrown the KT1 relay on, the 30 MHz LPF is bypassed and the 14-18 MHz LPF is allowd to go through
digitalWrite(TX_LPF_A, 1);
digitalWrite(TX_LPF_B, 0);
digitalWrite(TX_LPF_C, 0);
}
else if (freq > 7000000L){
digitalWrite(TX_LPF_A, 1);
digitalWrite(TX_LPF_B, 1);
digitalWrite(TX_LPF_C, 0);
}
else {
digitalWrite(TX_LPF_A, 1);
digitalWrite(TX_LPF_B, 1);
digitalWrite(TX_LPF_C, 1);
}
#endif
#endif
}
@ -445,13 +503,23 @@ void setFrequency(unsigned long f){
moveFrequency = (f % 1000000);
}
#if UBITX_BOARD_VERSION == 5
si5351bx_setfreq(2, 45002000 + if1AdjustValue + f);
si5351bx_setfreq(1, 45002000
+ if1AdjustValue
+ SDR_Center_Freq
//+ ((advancedFreqOption1 & 0x04) == 0x00 ? 0 : (f % 10000000))
+ moveFrequency);
// + 2390); //RTL-SDR Frequency Error, Do not add another SDR because the error is different. V1.3
#else
si5351bx_setfreq(2, 44991500 + if1AdjustValue + f);
si5351bx_setfreq(1, 44991500
+ if1AdjustValue
+ SDR_Center_Freq
//+ ((advancedFreqOption1 & 0x04) == 0x00 ? 0 : (f % 10000000))
+ moveFrequency
+ 2390);
+ moveFrequency );
//+ 2390); Do not add another SDR because the error is different. V1.3
#endif
}
else
{
@ -1159,12 +1227,22 @@ void initSettings(){
if (vfoB_mode < 2)
vfoB_mode = 3;
#if UBITX_BOARD_VERSION == 5
//original code with modified by kd8cec
if (usbCarrier > 11060000l || usbCarrier < 11048000l)
usbCarrier = 11052000l;
if (cwmCarrier > 11060000l || cwmCarrier < 11048000l)
cwmCarrier = 11052000l;
#else
//original code with modified by kd8cec
if (usbCarrier > 12010000l || usbCarrier < 11990000l)
usbCarrier = 11997000l;
if (cwmCarrier > 12010000l || cwmCarrier < 11990000l)
cwmCarrier = 11997000l;
#endif
if (vfoA > 35000000l || 3500000l > vfoA) {
vfoA = 7150000l;

View File

@ -1,3 +1,4 @@
#include "ubitx.h"
/**
* This procedure is only for those who have a signal generator/transceiver tuned to exactly 7.150 and a dummy load
@ -27,14 +28,25 @@ void factory_alignment(){
printLine2("#2 BFO");
delay(1000);
#if UBITX_BOARD_VERSION == 5
usbCarrier = 11053000l;
menuSetupCarrier(1);
if (usbCarrier == 11053000l){
printLine2("Setup Aborted");
return;
}
#else
usbCarrier = 11994999l;
menuSetupCarrier(1);
if (usbCarrier == 11994999l){
printLine2("Setup Aborted");
return;
}
#endif
printLine2("#3:Test 3.5MHz");
cwMode = 0;
@ -88,4 +100,3 @@ void factory_alignment(){
updateDisplay();
}

View File

@ -1041,7 +1041,7 @@ void SendUbitxData(void)
EEPROM.get(EXTERNAL_DEVICE_OPT1, nextionDisplayOption);
SendCommandUL(CMD_DISP_OPTION2, nextionDisplayOption);
SendCommandStr(CMD_VERSION, (char *)("+v1.110")); //Version
SendCommandStr(CMD_VERSION, (char *)("+v1.200")); //Version
SendEEPromData(CMD_CALLSIGN, 0, userCallsignLength -1, 0);
/*

View File

@ -1662,6 +1662,15 @@ void menuSetupCarrier(int btn){
delay_background(1000, 0);
//usbCarrier = 11995000l; //Remarked by KD8CEC, Suggest from many user, if entry routine factoryrest
/*
//for uBITX V5.0, but not used by KD8CEC, if you want default value of carrier on Calibration, delete remark symbols
#if UBITX_BOARD_VERSION == 5
usbCarrier = 11053000l;
#else
usbCarrier = 11995000l;
#endif
*/
si5351bx_setfreq(0, usbCarrier);
printCarrierFreq(usbCarrier);
@ -1705,4 +1714,3 @@ void menuSetupCarrier(int btn){
//menuOn = 0;
menuClearExit(0);
}

View File

@ -13,6 +13,7 @@
* The output clock channel that controls the frequency is connected to the PLL-B.
* The WSPR protocol is generated by changing the clock of the PLL-B.
************************************************************************************/
#include "ubitx.h"
// ************* SI5315 routines - tks Jerry Gaffke, KE7ER ***********************
// An minimalist standalone set of Si5351 routines.
@ -58,7 +59,13 @@ uint8_t SI5351BX_ADDR; // I2C address of Si5351 (variable f
// User program may have reason to poke new values into these 3 RAM variables
uint32_t si5351bx_vcoa = (SI5351BX_XTAL*SI5351BX_MSA); // 25mhzXtal calibrate
uint8_t si5351bx_rdiv = 0; // 0-7, CLK pin sees fout/(2**rdiv)
#if UBITX_BOARD_VERSION == 5
uint8_t si5351bx_drive[3] = {3, 3, 3}; // 0=2ma 1=4ma 2=6ma 3=8ma for CLK 0,1,2
#else
uint8_t si5351bx_drive[3] = {1, 1, 1}; // 0=2ma 1=4ma 2=6ma 3=8ma for CLK 0,1,2
#endif
uint8_t si5351bx_clken = 0xFF; // Private, all CLK output drivers off
int32_t calibration = 0;
@ -92,6 +99,18 @@ void si5351bx_init() { // Call once at power-up, start PLLA
i2cWriten(26, si5351Val, 8); // Write to 8 PLLA msynth regs
i2cWrite(177, 0x20); // Reset PLLA (0x80 resets PLLB)
#if UBITX_BOARD_VERSION == 5
//why? TODO : CHECK by KD8CEC
//initializing the ppl2 as well
i2cWriten(34, si5351Val, 8); // Write to 8 PLLA msynth regs
i2cWrite(177, 0xa0); // Reset PLLA & PPLB (0x80 resets PLLB)
#else
//
#endif
}
void si5351bx_setfreq(uint8_t clknum, uint32_t fout) { // Set a CLK to fout Hz
@ -169,6 +188,3 @@ void TXSubFreq(unsigned long P2)
i2cWrite(40, (P2 & 65280) >> 8);
i2cWrite(41, P2 & 255);
}

BIN
ubitxmanager ubuntu.odt Normal file

Binary file not shown.