No screen slide transition on device, but when on simulator it works!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-01 5:35 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-01 6:15 AM
You need animation buffer enable when you have ram ... in target hal code
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-01 6:30 AM
Can you explain it better? I have the same issue and I´m studing an example provided by ST.
In a working ScreenView.cpp I can see the following code (Im will copy only one part)
void Screen1View::handleKeyEvent(uint8_t key)
{
if (animationState != ANIMATION_READY ||
menuAnimationState != MENU_ANIMATION_READY)
{
return;
}
if (key == '6')
{
// Right
menuSelectRight();
}
else if (key == '4')
{
// Left
menuSelectLeft();
}
else
where menuSelectRight is:
void Screen1View::menuSelectRight()
{
menuAnimationState = MENU_ANIMATION_STEP_0;
menuAnimationTickCounter = 0;
menuAnimationDirectionLeft = false;
}
where menuAnimationState is a enum and menuAnimationDirectionLeft is a boolean flag.
What I don´find is "who" trigs the acton to move to the other slide.
PS in debug mode, i can see that the GPIO of the joystick works.
Fausto
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-01 10:26 PM
I was working like this post explains. Used a dummy button to generte screen transition and then calling it in some other place like gestureEventHandler or dragEventHandler:
https://community.st.com/s/question/0D53W00000XHSWySAP/example-on-how-to-swipe-to-change-a-screen
But I still did not found the solution to my problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-01 10:45 PM
Hi. Thank you for the advice but I need some more help. I am searching in the TouchGFXHAL.cpp file and can't find any animation buffer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-02 1:24 AM
In generated HAL for double buffer ...
void TouchGFXGeneratedHAL::initialize()
{
HAL::initialize();
registerEventListener(*(Application::getInstance()));
setFrameBufferStartAddresses((void*)disp_mem, (void*)(disp_mem+0x00200000), (void*)0);
}
and in user HAL
void TouchGFXHAL::initialize()
{
// Calling parent implementation of initialize().
//
// To overwrite the generated implementation, omit call to parent function
// and implemented needed functionality here.
// Please note, HAL::initialize() must be called to initialize the framework.
TouchGFXGeneratedHAL::initialize();
}
for override read comment and change
void TouchGFXHAL::initialize()
{
// Calling parent implementation of initialize().
//
// To overwrite the generated implementation, omit call to parent function
// and implemented needed functionality here.
// Please note, HAL::initialize() must be called to initialize the framework.
HAL::initialize();
registerEventListener(*(Application::getInstance()));
setFrameBufferStartAddresses((void*)disp_mem, (void*)(disp_mem+0x00200000), (void*)(disp_mem+0x00400000));
}
third parameter is animate buffer start addr. My disp_mem define is 0xD0000000
you need change buffers to your
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-02 1:57 AM
Thank you this worked. Can you also explain how much space should there be between start of dubble buffer and animation buffer?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-03 7:01 AM
I use bank size as offsets, but for low resolution displays you can use display dimensions as offsets, read LTDC optimizing appnote.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-03 7:04 AM
Hi,
You need to make sure you have enough space for your double buffer, so usually you would set the animation buffer right at the end of the second buffer. In general the amount of memory used by a framebuffer is: Width * Height * color depth in bits / 8 bytes.
/Romain
