We should consider changing the Pico <--> AD9959 comms link to use the QSPI interface. This should reduce programming time for all commands by a factor of 4.
Primary hurdle is that the RP2040/RP2350 dedicated SPI hardware does not support the protocol so a PIO needs to be dedicated to the effort. I can't quite remember now, but I think it has to be a whole core do to instruction limits (ie I don't think we can use the extra state machines we have right now). The RP2350 has 3 PIO cores, so that solves the problem trivially, though confirming we can be more efficient in out use of PIO for the RP2040 would be warranted.
Note: pretty sure the QSPI implementation on the Pico exists somewhere, so we'd just need to copy paste. Testing and validation will be the hard part.
We should consider changing the Pico <--> AD9959 comms link to use the QSPI interface. This should reduce programming time for all commands by a factor of 4.
Primary hurdle is that the RP2040/RP2350 dedicated SPI hardware does not support the protocol so a PIO needs to be dedicated to the effort. I can't quite remember now, but I think it has to be a whole core do to instruction limits (ie I don't think we can use the extra state machines we have right now). The RP2350 has 3 PIO cores, so that solves the problem trivially, though confirming we can be more efficient in out use of PIO for the RP2040 would be warranted.
Note: pretty sure the QSPI implementation on the Pico exists somewhere, so we'd just need to copy paste. Testing and validation will be the hard part.