As I cannot publish my project I will try to explain the issue:
With SigmaStudio-4.0 and Eval-ADAU1466 board:
In a complex and big project I have sch blocks on memoryPage_1 and memoryPage_2.
Depending on the memoryPage where the block resides, SECOND_PAGE_ENABLE bit register must be set or reseted before sending commands.
Lets suppose that I have:
an Mute block on memoryPage_1 labeled Mute_A_Page_1
an Mute block on memoryPage_2 labeled Mute_B_Page_2
an Mute block on memoryPage_2 labeled Mute_C_Page_2
This is what is happening:
A)- When sending a command to Mute_B_Page_2, the block behaves as expected and accept the command.
SECOND_PAGE_ENABLE 0x00 0x01 is sent before the command only once independently of further commands sent for the same Mute_B_Page_2.
B)- If then we send a command for Mute_A_Page_1,
SECOND_PAGE_ENABLE 0x00 0x00 is sent before that command, again only once independently of further commands sent for that same Mute_A_Page_1. The block works as expected.
C)- However if now we send again a command for the Mute_B_Page_2, SECOND_PAGE_ENABLE 0x00 0x01 it is NOT send before, and the targeted block doesn’t react.
D)- At this point, if we send a command for Mute_C_Page_2, SECOND_PAGE_ENABLE 0x00 0x01 is sent before the command and the block works as expected.
The issue persists if we repeat A) B) C) D) A)...