applet.control.si5351a_ng: Advanced clockgen control applet including FPGA-timed sequencing and sweeps.#1158
applet.control.si5351a_ng: Advanced clockgen control applet including FPGA-timed sequencing and sweeps.#1158i-infra wants to merge 2 commits into
Conversation
|
That is a lot of code! I gave it a very cursory glance and I don't see any glaring issues, so in principle I would be for having this. As I mentioned earlier my code review time is a bit limited right now, but should be better in a week. We do need to discuss a few things though:
By the way, are Glasgow applets something you expect to be writing more of? While I haven't been able to spend a lot of time looking at the code (yet), my initial impression is very positive, and I find the ability to work with an unfamiliar codebase on this level pretty remarkable. |
|
I'll follow up with a full reply, tests, and docs soon! Mostly just wanted to get this code off my laptop 😅
Absolutely! Been following the project for quite some time, ordered 2x in 2020, and been using almost daily in recent weeks and months. It's a super useful tool and I have thoroughly enjoyed pushing the limits of the platform & using it for weird things (like prototyping radio transmitters :)) Cheers! |
I've done this too! My roommate once said something about 125 MHz and I was like "I bet I can play Diggy Diggy Hole on his radio by modulating a carrier using the existing audio-dac applet and an FPGA PLL". Worked great!
Excellent! In that case I would like to invite you to be a part of the maintenance team once your orientation is complete and you have a good understanding of what makes an applet well-maintainable. I think you're already pretty close and we desperately need more people here. |
|
I've sent you an invitation to the org. (Having write access to the repo is also necessary for CODEOWNERS to be able to ping you, but my offer covers more than that formality.) |
Trying to think of other i2c output-only devices where having precisely sequenced writes could be of use. Off the top of my head:
These three output-only devices might be enough to justify factoring it out into its own applet, or merging upstream into the i2c controller applet. Expanding the applet to support bi-directional R/W sequences via an on-FPGA state machine / DSL to support higher-chronological-precision sensor reads feels like an intimidating prospect, and not necessarily much bang for buck (right now). Will try and get tests.py and at the very least the .rst boilerplate landed soon, understanding that your bandwidth is limited for the immediate future with UK settlement implementation details. BTW very happy to hear you've landed somewhere relatively safe & comfortable! I read your increase in commit velocity on this project as a good sign of your general health and well-being. And flattered by your offer of |
Let's not do it at the time being then; the effort (and ongoing overhead) doesn't seem worth the cause.
No, my life is still a nightmare. This project is a nice escape, sometimes. (And having stable housing means I am physically capable of maintaining electronics.)
It could be compensated, we just need to work out the details. It would have to come out of my own pocket (I receive nothing from sales of revC devices, and revD campaign hasn't started yet), and some people find that getting a low (compared to e.g. commercial work in Silicon Valley) rate devalues their work compared to getting nothing material, but it's something that can be arranged. I do know that this project will require dedicated full-time maintainers at some not-too-distant point if it is to continue at the trajectory that I have planned for it.
IRC is preferred, Matrix is acceptable, Discord as a last resort. If you have it working, please go ahead and DM me on IRC whenever. |
The existing
control-si535xapplet was missing quite a few features that I needed, so I built this applet referencing pavelmc's Si5351mcu to support setting frequency directly, and more importantly, support hardware-timed frequency transitions (for smooth sweeps, etc), and -This also supports a 'sequence' mode, which accepts (via stdin) a list of CSV frequency,duration pairs, for use with my digimoder.py, turning glasgow + si5351a (+ recommended GPS receiver w PPS output or frequency reference) into a sort of software-defined radio transmitter for digital signaling modes on bands up to the 2m band.
It's a relatively expansive applet, but I have been making considerable use out of it recently, and made successful contacts on a variety of bands.