2021-04-07 11:44 PM
I encountered a memory allocation error (Transition allocation error) for animating transitions between screens while debugging GUI in Visual Studio 16.8.6.
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?
2023-06-13 04:21 AM
Did you manage to find a solution? . Even I am facing this same issue