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

SECOND_PAGE_ENABLE bug?

SigmaDSP & SigmaStudio Toino May 15, 2018 00:00 10 replies Original on forum ↗
Subscribe
Toino Question
May 15, 2018 00:00

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)...

Thank you

DaveThib Reply
May 15, 2018 00:00

Hello Toino,

If I am reading your steps correctly then it seems that all is working properly. In your step "C" above, you did not enable the second page of memory. So if you try to communicate to an object on the second page you are really communicating with an object on page 1 and changing some parameter in a different object with undefined results.

You must enable the second page if sending commands to an object on the second page. The enable is sticky in that if you want to communicate with several objects on the second page then you can only enable the second page once. It will remain enabled until you disable it.

Dave T

Toino Reply
May 15, 2018 00:00

Hello Dave

Thank you for showing me the obvious.

However I am not describing my own software behavior.

What I have described is the current SigmaStudio-v4 behavior handling (or not) the page addresses.

Thank you

Antonio

DaveThib Reply
May 15, 2018 00:00

Hello Toino,

Now it is much clearer! I get it.

Can you simplify the project some so that your proprietary processing is not shown and see if it still has the same issue then attach it to the post?

I will try to replicate here.

Dave T

Toino Reply
May 15, 2018 00:00

Hello Dave

The attached project does nothing useful; I have just copied blocks from the main project until some blocks are also compiled on Page-2

Anyway this is definitively enough to show some issues:

First issue:

After Link-Compile-Download, Actuating on Mute1 the behavior is different from other blocks:

From Capture Window:

1- Second_Page_Enable is disabled(always) [NOT-OK]

2- data is sent

3- Second_Page_Enable is enabled(always) [??]

This is strange because Mute1 addr is on Page2 that it is always disabled before the command. In fact Mute1 never responds to user commands.

Second issue:

After Link-Compile-Download, Actuating on Gain_UserOut_Ch1(Page-2) and Delay_UserOut_Ch1(Page-1)

A) Change gain_value from 1 to 2 on Gain_UserOut_Ch1(Page-2)

From Capture Window:

1- Second_Page_Enable is enabled [OK]

2- data is sent [OK]

The block receives the command and behaves as expected.

B) Change the samples_value of Delay_UserOut_Ch1(Page-1)

From Capture Window:

1- Second_Page_Enable is disabled [OK]

2- data is sent [OK]

C) Change gain from 2 to 1 on Gain_UserOut_Ch1(Page-2)

From Capture Window:

!!!Second_Page_Enable IS NOT ENABLED [NOT-OK]

1- data is sent

Now on the gain block doesn't receive any command because Second_Page_Enable was not previously enabled.

D) Due the behavior of Mute1 described on the First issue (it always enables Second_Page_Enable) if now we actuate on it, despite the fact that it doesn't react as expected, the Second_Page_Enable is however enabled and now on Gain_UserOut_Ch1 works as expected if we interact wit it.

P.S.

1234 key to unfreeze the project.

DaveThib Reply
May 16, 2018 00:00

Thanks, I will look at this.

Dave T

Toino Reply
May 16, 2018 00:00

Thank you Dave

However I am sorry to say that this is not the only impeditive issue that we have with SigmaStudio_ADAU1466.

issue_1:

SigmaStudio V4 does not show in the ExportFiles the “Second_Page_Enable” information for each block. What we have is a spaghetti of overlapped addresses as the Page_1 addr is the same of Page_2 addr, being the missed “Second_Page_Enable” the only way to distinguish them.

issue_2:

Already reported by another user:
https://ez.analog.com/thread/106061-how-to-activate-the-safeloadmodule-for-the-adau1466 at 07-May-2018 without any answer.

Please note that the first issue is now stopping all the work that we most do in order to finish our current software job.

Right now we are waiting for prototype pcb boards.

Thank you

fbalk Reply
Oct 30, 2018 00:00

Are there any news on this?

Right now, the second page memory space seems to be pretty unsuable, this is not satisfying.

DaveThib Reply
Oct 31, 2018 00:00

Hello fbalk,

I just checked the bug report I put in after your post and it was fixed and included in Rev 4.1 release. We are now at Rev 4.2 so what revision are you using?

You should not see this bug anymore.

Dave T

fbalk Reply
Nov 5, 2018 00:00

Where can I get the information in which page I have to address a cell?

The XML out only shows me this:

<Module>
<CellName>Mute 3</CellName>
<Algorithm>
<AlgoName>ALG0</AlgoName>
<DetailedName>MuteNoSlewADAU145XAlg5</DetailedName>
<Description>Mute (no-slew)( 1 ) : Mute[ False ];</Description>
<ModuleParameter>
<Name>MuteNoSlewADAU145XAlg5mute</Name>
<Type>Int32</Type>
<Address>19668</Address>
<Value>1</Value>
<Size>4</Size>
<Data>0x00, 0x00, 0x00, 0x01, </Data>
</ModuleParameter>
</Algorithm>
</Module>

Am I anything missing?

fbalk Reply
Nov 12, 2018 00:00

bump