Skip to content

Conversation

@omaganap
Copy link

PR Description

  • Please replace this comment with a summary of your changes, and add any context
    necessary to understand them. List any dependencies required for this change.
  • To check the checkboxes below, insert a 'x' between square brackets (without
    any space), or simply check them after publishing the PR.
  • If you changes include a breaking change, please specify dependent PRs in the
    description and try to push all related PRs simultaneously.

PR Type

  • Bug fix (a change that fixes an issue)
  • New feature (a change that adds new functionality)
  • Breaking change (a change that affects other repos or cause CIs to fail)

PR Checklist

  • I have conducted a self-review of my own code changes
  • I have compiled my changes, including the documentation
  • I have tested the changes on the relevant hardware
  • I have updated the documentation outside this repo accordingly
  • I have provided links for the relevant upstream lore

@gastmaier
Copy link
Collaborator

gastmaier commented Jan 21, 2026

please use git --fixup, those commits are autosquashed(1) during the ci/cd
it is a small trick to not require force pushing so much, and still making checkpatch happy

(1) https://andrewlock.net/smoother-rebases-with-auto-squashing-git-commits/

@omaganap omaganap force-pushed the staging/xlnx/main-next-ad9084-dev-ffh branch 7 times, most recently from f704c69 to 4b38cfa Compare January 22, 2026 19:20
Setting up a "trigger master" so the hardware can handle NCO profile switching automatically. This means we can do frequency hopping on a timer instead of manually toggling GPIOs or registers every time.
Key changes:

-Added FFH_TRIG_PERIOD to sysfs. You can now set a hop period in $F_s$ cycles. If you write 0, it defaults to 2000 cycles to keep things sane.
-Added cnco_trig_by_tmaster() and fnco_trig_by_tmaster(). These kick in automatically when you set the mode to TRIG_AUTO.
-The apollo API won't let us update NCO frequencies one by one. I’ve switched to a vector-based approach where we cache frequencies in an array and push the whole batch at once using apollo_cnco_init_profile_load_func().
-Added a timestamp reset before the auto-trigger starts so you don’t get a random hop right at the beginning.
-Moved ad9088_read_gpio_hop_array() to the end of the file and added forward declarations to clean up the flow.

The trigger master defaults to 2000 Fs cycles if userspace writes 0, providing
a reasonable default for automated frequency hopping sequences.

Tested with CNCO and FNCO profile switching in TRIG_AUTO mode.

Signed-off-by: Oscar Magana Pantoja <Oscar.MaganaPantoja@analog.com>
@gastmaier
Copy link
Collaborator

Closing and reopening to regen merge commit

@gastmaier gastmaier closed this Jan 26, 2026
@gastmaier gastmaier reopened this Jan 26, 2026
@gastmaier gastmaier closed this Jan 27, 2026
@gastmaier gastmaier reopened this Jan 27, 2026
@gastmaier gastmaier closed this Jan 28, 2026
@gastmaier gastmaier reopened this Jan 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants