Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix wavesynth program transfer via SPI (m-labs/pdq#20) #24

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jonaskeller
Copy link

This is my suggestion for fixing the behavior of PDQ.program() for the SPI version as discussed in #20.

The method is split between a host (program_host()) and a kernel (program_kernel()) method. The output of the former is a list of channels and a list of bytes objects, which are both stored in class variables and returned for manual handling. The latter writes the latest output by default for convenience, but can also be passed other previously stored data for flexibility.

The program() method of the base class is overridden by a kernel method which calls program_host() as an RPC.

The write_mem method now takes bytes objects instead of list[int16], and read_mem manipulates a bytearray object rather than a list[int16].

Finally, I've adjusted the example in examples/pdq_spi.py accordingly and added an example for the different options to write wavesynth programs, examples/pdq_spi_waveform_writing.py

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.

1 participant