cancel
Showing results for 
Search instead for 
Did you mean: 

Transition allocation error

Sergey Bogaev
Associate II

I encountered a memory allocation error (Transition allocation error) for animating transitions between screens while debugging GUI in Visual Studio 16.8.6.

0693W000008yx2cQAA.png 

Assert check tells me that all transitions should be registered in FrontendHeapBase.hpp / FrontendHeap.hpp files.

Since I don't use my own transitions and work with animations using TouchGFX Designer 4.16.1, all transitions are already registered in the FrontendHeapBase.hpp file (I use only one animation):

/**
     * Determine (compile time) the Presenter type of largest size.
     */
    typedef touchgfx::meta::select_type_maxsize< GeneratedPresenterTypes >::type MaxGeneratedPresenterType;
 
    /**
     * A list of all transition types. Must end with meta::Nil.
     * @note All transition types used in the application MUST be added to this list!
     */
    typedef touchgfx::meta::TypeList< touchgfx::NoTransition,
            touchgfx::meta::TypeList< SlideTransition<EAST>,
            touchgfx::meta::Nil >
            > GeneratedTransitionTypes;
 
    /**
     * Determine (compile time) the Transition type of largest size.
     */
    typedef touchgfx::meta::select_type_maxsize< GeneratedTransitionTypes >::type MaxGeneratedTransitionType;
 
    virtual void gotoStartScreen(FrontendApplication& app)
    {
        app.gotoStartScreenScreenNoTransition();
    }

Accordingly, no other transitions have been added to the FrontendHeap.hpp file:

/* List any user-defined view types here*/
    typedef touchgfx::meta::TypeList< touchgfx::meta::Nil, //Replace this with first user-defined type
                            touchgfx::meta::Nil  //List must always end with meta::Nil !
                            > UserDefinedViewTypes;
 
    /* List any user-defined presenter types here*/
    typedef touchgfx::meta::TypeList< touchgfx::meta::Nil, //Replace this with first user-defined type
                            touchgfx::meta::Nil  //List must always end with meta::Nil !
                            > UserDefinedPresenterTypes;
 
    /* List any user-defined transition types here*/
    typedef touchgfx::meta::TypeList< touchgfx::meta::Nil, //Replace this with first user-defined type
                            touchgfx::meta::Nil  //List must always end with meta::Nil !
                            > UserDefinedTransitionTypes;
 
 
 
    /* Calculate largest view, both from generated and user-defined typelists */
    typedef touchgfx::meta::select_type_maxsize< UserDefinedViewTypes >::type MaxUserViewType;
 
    typedef touchgfx::meta::TypeList< MaxGeneratedViewType,
	        touchgfx::meta::TypeList< MaxUserViewType,
                            touchgfx::meta::Nil
                            > > CombinedViewTypes;

Nevertheless, this error started appearing when calling a transition on one of the screens. On other screens, transitions work fine. I increased the CANVAS BUFFER manually on that screen from 15360 to 20000 and for a while the transitions worked fine until I added a couple more buttons. I tried increasing the CANVAS BUFFER to a maximum of 32767, but the error continues to occur. When I start memory usage monitor on the screen it shows me that actually only 2500 bytes are used.

Please could you advise me possible solutions?

1 REPLY 1
LMath.2
Associate II

Did you manage to find a solution? . Even I am facing this same issue