ΣSigmaStudio Ask AI Русский Log in

Can the ADAU core write values to EEPROM? How can I write the Toggle Counter value?

SigmaDSP & SigmaStudio bnemo Mar 23, 2025 00:00 2 replies Original on forum ↗
Thread Summary

Thread Summary

The user is trying to write and read back an index value for selecting equalizer curves via 'index selectable filters' in ADAU1401 without an external controller. The support engineer provided a solution using Interface Read and Write modules, with a reference project. The user reported that the index always resets to 1 after self-boot, and provided a project file for further review.
AI Generated Content
Subscribe
bnemo Question
Mar 23, 2025 00:00

Hello,

I use a button to increment the index in the 'toggle counter', and this index selects the equalizer curve via 'index selectable filters'.
Everything works as expected, but I don’t know how to write the index value and read it back after the DSP is restarted.

Is it possible to write this index value to EEPROM without using an external controller? I am concerned that the ADAU core itself cannot write to EEPROM.

Thank you.
Best regards.

hardware

index selectable filter

toogle counter

eeprom

Harishgowtham Reply
Mar 24, 2025 00:00

Hello bnemo,

There is interface read and write modules to do this.

Below are the wiki page details on how those blocks work.

Interface Write [Analog Devices Wiki]

Interface Read(ADAU145x) [Analog Devices Wiki]

I don't know which DSP you are using, there are some issues if you are using ADAU146x DLLs and self-booting, then there are some slight changes you should do, Here is the info for that.

I have also attached a project for your reference below. please change the GPIO settings accordingly.

Give it a try and see if it works for you.

pushbutton_filter_select.dspproj

Regards,

Harish

bnemo Reply
Mar 29, 2025 00:00

Hi Harish,

thank you for your answer.

I am using ADAU1401 so I am trying to use https://wiki.analog.com/resources/tools-software/sigmastudio/toolbox/IO/InterfaceWrite

Always after selfboot the index = 1

I attached a screenshot and the whole project.

Can you look at this? Thank you

bnemo_project.dspproj

select_block.png
select_block.png