February 16, 2021

It’s been a long time since the last update, largely due to having to prep our house for sale. But in spite of time spent painting, refinishing floors and replacing cabinets and fixtures, there has been steady software “refactoring” for the ADAU1701 code. As noted in other posts, my engineering background is more hardware and systems than software, and all of the initial code to control the ADAU1701 started out as as assembly language, written for the 68HC08 series microprocessors. Some of these devices only had 256 bytes of RAM to work with, which doesn’t support modern programming practices of modularity, decoupling and code reuse. I had “translated” this assembly code into Arduino C and although it worked, it was difficult to maintain and not something I could share with others.

The code that I was using these past years relied heavily on globally defined structures and enumerations and look-up tables, and refactoring this code into logically layered library calls proved to be much more difficult and time consuming than I expected. But much of this code is now working, and the code is far more maintainable and is “shareable”. I’ll be writing much more about this in the articles, and post updates as this effort is finalized.

I’ve also got a number of new DSP hardware projects lined up, but I’ve been putting them off until this code update is done. This software redesign has been a much bigger challenge than I expected, but I’m at the point where I’m coasting downhill rather than climbing. The house refurbishment is still going to take up most of my time, but even with those chores, I should be able to make more frequent updates on these pages.