The audio stream from the PC is ignored completely during Receive.?
During transmit, silence is sent to the PC.?
There are various latencies in everything.?
1. Audio samples from the PC (during transmit) and to the PC (during receive) are handled in blocks. During transmit the audio arrives from the PC in packets every 1ms. QDX handles blocks of 32 samples at a time, 1500 times per second. If more than one block is available at the time, multiple blocks will be handled.?
2. CAT command response. This depends on baud rate if you are using a real serial port. Faster being quicker of course. If you are using USB Virtual COM for CAT, remember USB packets are sent at 1ms intervals. Furthermore CAT processing is handled at a lower priority than other task threads such as the SDR.?
Due to all this it will take a variable amount of time for a CAT command to arrive and to be processed. But I'd say you are generally thinking in terms of approximately 2 or 3ms.?
If you were using VOX things would be quicker because the transition to transmit would occur when audio from the PC is detected, without needing to wait for handling of the CAT command.?
-------- Original message -------- From: "Adam via groups.io" <qrp-labs@...> Date: Fri, Oct 7, 2022, 5:48 AM To: [email protected] Subject: [QRPLabs] QDX's sound card and full duplex
Hi,
Just a quick question, because it's hard for me to test at the moment.
Does the sound card emulated by the QDX's STM32 support full duplex mode? Is it possible to simultaneously output a tone to it and read samples from it?
If yes, what will be read from the sound card in TX mode, when the QDX is transmitting? Silence?
Of course it doesn't make much sense, because samples written would be ignored in RX mode, and there won't be anything meaningful to read from the QDX in TX mode, but it starts to make sense if we want to switch between RX and TX with the hardware serial port, at the same time using the PC to set the exact TX frequency (by continuously sending the tone to the QDX to be used when switched to TX and ignored in RX) and monitor the band.
A side question. QDX switches to TX after we send the proper CAT command ("TX;") to the serial port. This switching, as everything else in this universe, takes some time. Is this time predictable and can we expect it to be reasonably constant (to start the envelope not too early and not too late, without monitoring the TX signal from the MCU)? Or maybe we should add an additional delay before starting the envelope to wait for the synthesizer to stabilize?
Yes, I'm still exploring the possibilities to design the CW mod (and it would be even better if QDX turned out to switch quickly enough to support QSK) :)