I’m running a custom algorithm on the ADAU1797A and want to build a tuning tool that updates parameters at runtime.
Setup
-
Hardware: ADAU1797A, Aardvark adapter on SPI (J1).
-
Firmware: I created a dedicated memory region in the linker script so the tuning data lives at a fixed address. I can read/write this region fine with the debugger.
Issue
-
Using the Aardvark + Total Phase Control Center to read that address over SPI returns all zeros.
What I’ve tried
-
Per the ADAU1797A docs, the serial control port defaults to I²C. To switch to SPI, I issued the required three writes (and also tried toggling SS) to enable SPI.
-
I configured SPI per Analog Devices’ guidance here:
https://ez.analog.com/dsp/sigmadsp/w/documents/5187/which-spi-mode-is-used-by-sigmadsp-devices -
Repeated the above steps directly in Control Center. Still only zeros on reads.
Request
Could someone share a minimal example of performing SPI reads from the ADAU1797A using an Aardvark, ideally in C# (Aardvark API) or a Control Center batch script? A snippet that:
-
switches the ADAU1797A from I²C to SPI,
-
performs a register/memory read (including the correct address format and R/W bit handling),
-
shows expected SPI mode, clock polarity/phase, bit order, and chip-select behavior
…would be hugely appreciated.