KEITHSDR
KEITHSDR copied to clipboard
Add Tx Functionality.
UI framework supports RX and TX but any TX functions are stubbed out and incomplete. Surely some new TX related functions will be required. Up to now I only had RX hardware. Now have a NT7V RX/TX board to start TX dev.
Added PTT with debounce logic. PTT in and out gpio pins are assigned in the RadioConfig.h file. Calls the existing Xmit() function to toggle TX. The Active VFO (A or B will change to Red in TX. In Split B is the active TX VFO. Need to add the audio portion next.
Added in some basic audio blocks with RX TX audio processing path switches. The TX audio blocks are not correct for TX use yet, just placeholders.
Getting TX audio out of the QSD/QSE board now. Modulation is not likely right yet (and no mode controls are applied yet) but I can hear my tones and see it on an o'scope.
After several TX cycles the CPU is locking up and rebooting. have to track that one down.
After the last few days major changes with moving user data and enabling multiple FFTs, the TX lockup seems to be gone now. Still need to test the TX modulation and put an PA and filter board on the output.
Finally revisited the TX functionality. Made several changes and it is now working for USB and LSB modes. Press ATU for TwoTone Test. There is about 600Hz of audio in the opposite sideband that needs to get suppressed. Using an old dynamic hand mic. On the V2 4.3" PCB motherboard, using GPIO pin 0 for PTT_Input and is debounced in the code and working well. Can also press the XMIT button, turn on ATU next to it if you want tones and have no mic connected yet.
Lots more work to do for better sideband suppression and other modes. Using the RS-HFIQ for example can plug a straight key into the paddles jack, ground the ring for PTT and get a CW carrier. The carrier vs display are not correct.
With the updates to the OpenAudio_Libary, Arduino IDE 2.0.2 and TeensyDuino 1.57, and a different dev computer, I reapplied the 48Khz audio lib tweaks and now USB Audio In and Out are working well. Making FT8 contacts for days. No more CPU hangs. I still get a few cases where the TX-RX transition is missed causing a missed FT-8 RX cycle. The next TX event everything is back to normal. USB Audio connects WSJT-X on a PC to the Teensy SDR. Using OmniRig V1 for CAT control. #define DEBUG is disabled to permit the CAT control. Windows audio device properties report as 48KHz as desired.
The remaining problems are now
- occasional missed TX->RX events
- TX bandpass filter needs to be shifted lower. Bottom edge of passband is around 700Hz at best.
CAT command changed from OmniRig to emulate the Kenwood/Elecraft K3 protocol. Works with WSJT-X which uses Hamlib. Transmit now works proper and CESSB compression was recently added. 150Hz is the lower filter with 2.7Khz the TX bandwidth.