I'm not the expert here but from everything I know about this issue, I
don't think it's possible just because the X410 apparently does not support
timed tuning... Here's the code excerpt from a commit where tx_waveforms
was specifically modified to exclude the X410 from timed tuning
(
https://github.com/EttusResearch/uhd/commit/4289cc1eefaaee7a90ccd7e04ee88ab275c72217
)

// use timed tuning for more that one channel on all devices except X410
    // X410 does not yet support timed tuning
    const bool timed_tuning = usrp->get_mboard_name() != "x410"
                              and channel_nums.size() > 1;
    const float cmd_time_offset = 0.1;

    if (timed_tuning) {
        const uhd::time_spec_t now      = usrp->get_time_now();
        const uhd::time_spec_t cmd_time = now +
uhd::time_spec_t(cmd_time_offset);
        usrp->set_command_time(cmd_time);
    }

    for (std::size_t channel : channel_nums) {
        uhd::tune_request_t tune_request(freq, lo_offset);
        if (vm.count("int-n"))
            tune_request.args = uhd::device_addr_t("mode_n=integer");
        usrp->set_tx_freq(tune_request, channel);
    }

It looks like the X410 will iteratively tune each channel, which is why
you're getting random phases run to run.

On Thu, Mar 27, 2025 at 3:33 PM Mann, John - 0662 - MITLL <ma...@ll.mit.edu>
wrote:

> Does anyone know if there is a way to get predictable phase offsets from
> an X410?  I am finding that from run-to-run, the 4 channels in an X410 have
> completely random phase offsets from each other.  I didn’t necessarily
> expect the phase offsets to be zero, but was hoping they would at least be
> consistent.
>
>
>
> John
>
>
>
> *From:* Chris Rogers <c1337rog...@gmail.com>
> *Sent:* Thursday, March 27, 2025 1:51 PM
> *To:* Marcus D. Leech <patchvonbr...@gmail.com>
> *Cc:* usrp-users@lists.ettus.com
> *Subject:* [EXT] [USRP-users] Re: X440 Phase Coherent but not Phase
> Aligned
>
>
>
> Hi Heath and Marcus, I was actually "R&D's plate" for this one. We worked
> through it and found the issue. The root cause is the startup sequence in
> almost every example UHD script is a bit out of order and had to be
> reorganized
>
> ZjQcmQRYFpfptBannerStart
>
> *This Message Is From an External Sender *
>
> This message came from outside the Laboratory.
>
> ZjQcmQRYFpfptBannerEnd
>
> Hi Heath and Marcus,
>
>
>
> I was actually "R&D's plate" for this one. We worked through it and found
> the issue. The root cause is the startup sequence in almost every example
> UHD script is a bit out of order and had to be reorganized in terms of
> clock setup and synchronized channel tuning. This problem is fixed in UHD
> 4.7+ if you look at the "tx_waveforms.cpp" example code... For your
> application, just make sure to follow the same startup sequence.
>
>
>
> Hope this helps,
>
> Chris
>
>
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to