BRT Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

Welcome to the Bridgetek Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ Bridgetek Support

Please refer to our website for detailed information on all our products - Bridgetek - Bridging Technology

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - macioknor

Pages: [1]
1
I'm using the code generated from EVE screen designer. And why after the software reset with the same init sequence all is working fine? And also why sometimes after PoR also it's working fine? Just in some cases, I can notice this shifted display.

2
Discussion - EVE / Riverdi RVT50HQBFWCA0 - screen shift after PoR
« on: May 15, 2023, 09:28:06 PM »
Hello colleagues,

I am currently using the Riverdi RVT50HQBFWCA0 display with the BT817Q driver. Sometimes I'm facing the issue during the power-on-reset (POR) start, where the screen shifts to the upper left side, as shown in the attached photo.

However, after reinitialization, everything starts working fine. Additionally, I do not observe this behavior after a software reset at all. Interestingly, during the occurrence of this problem, the touch elements appear to be in the correct positions, indicating that only the printed display is shifted.
When the issue arises, I have checked all my configuration registers and the values appear to be correct.

I am seeking assistance to understand the possible cause of this problem or if there is a specific register I should be monitoring to detect when this issue occurs.

Thank you for your help:)

3
Hello,

Thank you for your questions:

1) resizing the logic nodes is currently not a feature in ESD, you can however view all of the node associated properties if you selected it and view the properties tab in the bottom right on the ESD window. I will suggest this as a feature to the development team.

2) Could you clarify if you wish to store these images on a connected flash IC/card on your MCU? or is it sufficient to store these in the program memory? The EVE_LoadFile_FATFS.c and EVE_LoadFile_STDIO.c files may be useful in the former case if you require to load data from flash connected to your MCU. See the EVE_Util_loadRawFile function in the latter.

3) By default yes the touch calibration routine will be run on every power cycle, however if you wish you can run the routine once, store the values captured and use these to update the REG_TOUCH_TRANSFORM_A-F accordingly during intilization.

Best Regards,
BRT Community

Hi,
Ad1. I am able now to read the whole name, thanks.
Ad2. I would like to store it in MCU program memory, so I should use EVE_Util_loadRawFile  yes? Should I somehow change the option for the image widget in the EVE tool?
Ad3. I was disabled the calib routine and also the touch is working fine on my side, it means that the screen has some default values already stored during production? And it can be sufficient?

4
Dear BRT community,
I was able to run the project on my side and my own designs are also working fine, thanks a lot for supporting me :)

I have some questions :
1. There is a possibility to zoom in/expand  the logic nodes in the logic nodes editor because now I have the situation like below:

So the names of parameters are not fully visible, I can see the start of names and dots.

2. I have an issue with adding the image/bitmap. I want to store the image in my MCU flash/ram memory, so what should I select to achieve this in generating code?
a) I did the test via Eve screen editor and it works fine:

   Gpu_Hal_WrCmd32(phost, CMD_INFLATE);
   Gpu_Hal_WrCmd32(phost, RAM_IMAGES_LOGO230);
   Gpu_Hal_WrCmdBuf(phost, images_logo230, sizeof(images_logo230));
   Gpu_CoCmd_FlashFast(phost, 0);
   Gpu_CoCmd_Dlstart(phost);

   App_WrCoCmd_Buffer(phost, CLEAR_COLOR_RGB(255, 255, 255));
   App_WrCoCmd_Buffer(phost, CLEAR(1, 1, 1));
   Gpu_CoCmd_BgColor(phost, 0xFFFFFF);
   Gpu_CoCmd_FgColor(phost, 0xFFFFFF);
   App_WrCoCmd_Buffer(phost, BITMAP_HANDLE(0));
   Gpu_CoCmd_SetBitmap(phost, 0, ARGB1555, 230, 293);
   App_WrCoCmd_Buffer(phost, BEGIN(BITMAPS));
   App_WrCoCmd_Buffer(phost, VERTEX2F(4704, 1280));
   App_WrCoCmd_Buffer(phost, END());


   App_WrCoCmd_Buffer(phost, DISPLAY());
   //swap the current display list with the new display list
   Gpu_CoCmd_Swap(phost);
   App_Flush_Co_Buffer(phost);
   Gpu_Hal_WaitCmdfifo_empty(phost);

 b) I was trying to add only the array with image (array generating from point a) and link the array address in the struct object like this:
Ft_Esd_BitmapInfo logo230__Info = {
   .Width = 230,
   .Height = 293,
   .Format = ARGB1555,
   .Stride = 460,
   .Size = 134780,
   .File = images_logo230,
   .GpuHandle = {
      .Id = MAX_NUM_ALLOCATIONS,
      .Seq = 0
   },
   .BitmapHandle = ~0,
   .AdditionalFile = 0,
   .AdditionalInfo = 0,
   .PaletteFile = 0,
   .PaletteGpuHandle = {
      .Id = MAX_NUM_ALLOCATIONS,
      .Seq = 0
   },
   .Cells = 1,
   .Compressed = 1,
   .Persistent = 0,
   .Flash = 0,
   .PreferRam = 0,
   .CoLoad = 0,
};
and next, I am expecting that the image should be copied to RAM GPU via this function Esd_LoadBitmap? But this is not working.

When I used this kind of functions :
bool EVE_Util_loadInflateFile(EVE_HalContext *phost, uint32_t address,
      const char *filename)
{
      Gpu_Hal_WrCmd32(phost, CMD_INFLATE);
      Gpu_Hal_WrCmd32(phost, RAM_IMAGES_LOGO230);
      Gpu_Hal_WrCmdBuf(phost, images_logo230, sizeof(images_logo230));
      Gpu_CoCmd_FlashFast(phost, 0);
      return true;
}
;

it looks like it is working fine.

3. Calibrate for touch needs to be invoked every time in the new power cycle?  Or one it is enough and next the values are storing in the persistency?


Thanks a lot.

5
Discussion - EVE / Re: ESD 4.8 - STM32 - Image
« on: April 04, 2022, 09:18:28 PM »
That flash part was not for other micro controllers, it was for FT micro controllers and I am working with ST micro controller. I could upload the image, it calls those functions itself. For my case, my image's resourceInfo->Compressed type was ESD_RESOURCE_DEFLATE, so for that image generated code calls EVE_Util_loadInflateFile(EVE_HalContext *phost, uint32_t address, const char *filename) function. It handles *phost and address part, we should take care of filename. Here filename is unique and it comes from source file that I used in ESD 4.8 . I changed that function like below
Code: [Select]
bool EVE_Util_loadInflateFile(EVE_HalContext *phost, uint32_t address, const char *filename)
{

uint32_t ftsize = 0;
uint8_t pbuff[8192];
uint16_t blocklen;

for (int i = 0; i < (sizeof(fileArray) / sizeof(fileInfo)); i++)
{
if (0 == memcmp(fileArray[i].name, filename, sizeof(filename)))
{
if (!EVE_Cmd_waitSpace(phost, 8))
return false; // Space for CMD_INFLATE

EVE_Cmd_wr32(phost, CMD_INFLATE);
EVE_Cmd_wr32(phost, address);
ftsize = fileArray[i].size;

while (ftsize > 0)
{
blocklen = ftsize > 8192 ? 8192 : ftsize;
memcpy(pbuff, fileArray[i].address + (fileArray[i].size- ftsize), blocklen);
ftsize -= blocklen;
if (!EVE_Cmd_wrMem(phost, (char *)pbuff, blocklen)) /* copy data continuously into command memory */
break;
}

return EVE_Cmd_waitFlush(phost);
}
}

return false;
}

and now I can upload any image to RAM_G.
Hi,

I've done the same implementation and it works.
But how do you import files into MCU flash? Do you use a linker script to insert bin files in elf?
I see you ahave a struct with file name, size and address. If you have multiple files it's boring to import all those information manually at each exports...
Did you find some smart way for adding images bin ?

6
Hello,


Hello,
of course, you can zip project and forward via sharing service, thank you a lot for your support here:)  This is not compatible with ESD it means that if I will develop some screens via EVE screen designer it will be not possible to used it?

Thank you I will send you an email with a download link.

Yes that is correct the ESD framework and the lower level framework are not compatible with each other, if you were to utilise the lower level framework you would need to manually program displays and display logic, however you can use the EVE Screen Editor tool to help with this process.

Best Regards,
BRT Community

Thanks a lot, I got the email. I hope I will be able to adjust this for my solution and used EVE screen designer. If not then I will switch to EVE Screen Editor I expect that inside this tool we can generate raw DL list?
Thanks a lot for supporting:)

7
Hello,

Thank you for your post.


For example, chapter 5 Interrupt handling example whole project which can be imported to STM cube IDE and built will be really helpful. I hit a lot of issues during the build with variadic functions eg: ESD_METHOD, the second question what is the purpose of using all these variadic function as METHOD, PARAMETER etc? :)

Unfortunately the file size limit on the forum prevents me from attaching the examples, I can forward the files to you via a file sharing service if this is acceptable?

On the variadic function point, i would need to clarify with the developers why the ESD framework utilises these. If this is an significant issue i can forward you a lower level STM32 library for EVE which does not use variadic functions, however this is not compatible with ESD.

Best Regards,
BRT Community

Hello,
of course, you can zip project and forward via sharing service, thank you a lot for your support here:)  This is not compatible with ESD it means that if I will develop some screens via EVE screen designer it will be not possible to used it?

8
Hello,

Thank you for the update, I'm glad you have resolved the issue with the FT232H.

Yes ESD is intended to be utilized with our own FT9xx series of MCUs, as such you would need to port any project from ESD to your desired MCU.
We do have the following example available which covers porting ESD projects to the STM32:
ESD 4.10 Exported Project Porting
Guide for STM32L4 Discovery Board
and FreeRTOS


Alternately I can provide a lower level STM32 library if you desire, but this is not compatible with the ESD framework and would require you to manually program screens and any associated screen logic.

Best Regards,
BRT Community

Hello,
there is the possibility to add the whole example project (Guide to STM32) to the GitHub repo or as attachment here? It will be easier to try this example than doing this step by step:)

For example, chapter 5 Interrupt handling example whole project which can be imported to STM cube IDE and built will be really helpful. I hit a lot of issues during the build with variadic functions eg: ESD_METHOD, the second question what is the purpose of using all these variadic function as METHOD, PARAMETER etc? :)

9
Hello,

Thank you for the update, I'm glad you have resolved the issue with the FT232H.

Yes ESD is intended to be utilized with our own FT9xx series of MCUs, as such you would need to port any project from ESD to your desired MCU.
We do have the following example available which covers porting ESD projects to the STM32:
ESD 4.10 Exported Project Porting
Guide for STM32L4 Discovery Board
and FreeRTOS


Alternately I can provide a lower level STM32 library if you desire, but this is not compatible with the ESD framework and would require you to manually program screens and any associated screen logic.

Best Regards,
BRT Community

Hello,
there is the possibility to add the whole example project (Guide to STM32) to the GitHub repo or as attachment here? It will be easier to try this example than doing this step by step:)

Pages: [1]