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

Pages: [1] 2 3 ... 10
 1 
 on: Today at 12:19:29 PM 
Started by kevin - Last post by BRT Community
Hello,

Thank you for your question.

Could you please let me know how you have configured the images in your ESD project?
Are these PNG/JPEG images or have you chosen to convert these to a format such as RGB565?

The error messages indicate a co-processor fault, so it is likely that this is related to loading the image data, this is probably related to reading the image data from the SD card.
Do you have any functions similar to MX_SDMMC1_SD_Init() where the data can be read from the SD card into the EVE application/RAM_G or have you modified any of the ESD to code to account for the source location of these images being on the SD card?

Best Regards,
BRT Community

 2 
 on: Today at 10:23:22 AM 
Started by kevin - Last post by kevin
-Add the other fail return serial data:

Code: [Select]
Serial port COM3 opened
Copyright (C) Bridgetek Pte Ltd
sizeof(Esd_GpuHandle): 4
sizeof(Esd_ResourceInfo): 16
sizeof(Esd_FontInfo): 44
sizeof(Esd_RomFontInfo): 8
EVE ROM_CHIPID after wake up 0
EVE ROM_CHIPID after wake up 0
EVE ROM_CHIPID after wake up 0
EVE ROM_CHIPID after wake up 0
EVE chip id 812 1.0
EVE register ID after wake up 7c
EVE clock frequency set to 60 MHz
Single channel SPI
Touch engine is not ready
All engines are ready
Display refresh rate set to
Configure coprocessor defaults
EVE configuration ready
Esd_Calibrate: Start Frame
Coprocessor fault
Esd_Calibrate: End Frame
Touch screen transform values are A 0x10000,B 0x0,C 0x0,D 0x0,E 0x10000, F 0x0
Calibrate failed
Reset coprocessor
Use handle 0, font 27
Coprocessor fault
Reset coprocessor
Use handle 0, font 27
Coprocessor fault
Reset coprocessor
Use handle 0, font 27
Coprocessor fault
Reset coprocessor
EVE Assert Failed: (wr = EVE_Hal_rd16(phost, REG_CMD_WRITE)) == 12 (in file '../esdProject/FT_Eve_Hal/EVE_Util.c' on line '1337')
Use handle 0, font 27
Coprocessor fault
...
screen will loop in Trying to display the screen and getting the error....

 3 
 on: Today at 08:40:49 AM 
Started by kevin - Last post by kevin
hi everyone ,

I'm try to porting ESD4.15.1.0 export MSVC project(ME812A) to stm32 (NUCLEO-H723ZG).

I used STM32CubeFW_H7 V1.10.0 to develop stm32.
 
I refer to "ESD-4.10-Exported-Project-Porting-Guide-for-STM32L4-Discovery-Board-and-FreeRTOS.pdf" to porting and get some problem.
https://brtchip.com/wp-content/uploads/2021/06/ESD-4.10-Exported-Project-Porting-Guide-for-STM32L4-Discovery-Board-and-FreeRTOS.pdf

I can display some of ESD widgets like buttom and lable on the screen , but not image widgets.
So , I tried to add SD card to STM32 to used FATFS .

After I add MX_SDMMC1_SD_Init() before ESD_Start();
It can not  Start Frame successfu now . (I haven't even added FATFS yet...)

If i annotation MX_SDMMC1_SD_Init() . I get message from serial port will be : success.txt
If I add MX_SDMMC1_SD_Init() . I will get message like : fail.txt

I don't understatnd why this MX_SDMMC1_SD_Init() make it different.

Code: [Select]
//generator by stm32cubeIDE-->stm32cubeMX
int main(void)
{
 
  HAL_Init();
 
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_SPI1_Init();
  MX_DMA_Init();
  MX_USART3_UART_Init();
  MX_SDMMC1_SD_Init();

  osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 512);
  defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
 
  osKernelStart();

}

void StartDefaultTask(void const * argument)
{
   ESD_Start(); // this is rename from function main() of App_Generated.c

  for(;
  {
    osDelay(1);
  }
 
}


1. How do I fix this?

2. Is there anything tutorial about used FATFS to make img widgets work from sd card of stm32?

If need more detial , Please leave an email and what info you need.

Thanks for any suggestions and replies.

 4 
 on: December 05, 2022, 10:24:57 AM 
Started by vdc - Last post by BRT Community
Hello,

Could you try moving the font cache setup outside of the while loop you are running? You are running this for every screen update which is not necessary.

You may also want to check the value of REG_UNDERRUN after a swap operation to see if any underrun is being detected by EVE.

Best Regards,
BRT Community

 5 
 on: December 02, 2022, 01:33:05 PM 
Started by Louis Cloete - Last post by Louis Cloete
Thanks for the answers. I've been working on other projects for a while, but I'm getting back to this again.

This clarifies matters a bit. I think I'll be able to get this working now.

@Domdom I'm getting RF packets from industrial machines as one data source. That will be pre-processed by the microcontroller and result in "sensor-like" readings in some cases. I also have physical "soft button" membrane switches around the edges of the screen. The reason we don't use touch is because it might be unreliable and prone to failure in a factory environment.

 6 
 on: December 01, 2022, 03:34:57 PM 
Started by vdc - Last post by vdc
Hi Rudolph,

Here is my sample code

Quote
int main(void)
{
   BT81X_Setup();
   
   while(1){
      uint32_t totalBefore;
      uint32_t totalAfter;
      int32_t usedBefore;
      int32_t usedAfter;


      // Screen PreCode
      Gpu_CoCmd_Dlstart(phost);
      App_WrCoCmd_Buffer(phost, CLEAR_COLOR_RGB(0, 0, 0));
      App_WrCoCmd_Buffer(phost,CLEAR(1,1,1));

      // Start
      // Set Font Handle
      //Gpu_CoCmd_SetFont2(phost, FONT_S_HANDLE, RAM_G + 1000000, 0);
      Gpu_CoCmd_SetFont2(phost, FONT_M_HANDLE, RAM_G + 1000000, 0);
      Gpu_CoCmd_FontCache(phost, FONT_M_HANDLE, 0xC000, 512000);
      App_Flush_Co_Buffer(phost);

      Gpu_CoCmd_SetBitmap(phost, RAM_G + 1000000, COMPRESSED_RGBA_ASTC_8x8_KHR, 40, 64);

      Gpu_CoCmd_FontCacheQuery(phost, &totalBefore, &usedBefore);
      UARTprintf("totalBefore: %d, usedBefore: %d\r\n", totalBefore, usedBefore);


      App_WrCoCmd_Buffer(phost, COLOR_RGB(0xFF,0xCA,0x18));

      Gpu_CoCmd_Text(phost, 30, 133/2, FONT_M_HANDLE, OPT_CENTERY, "设置流速");
      Gpu_CoCmd_Text(phost, 230, 133/2, FONT_M_HANDLE, OPT_CENTERY, "= 10 ml/min");

      Gpu_CoCmd_Text(phost, 30, 133/2 + 133, FONT_M_HANDLE, OPT_CENTERY, "实际流速");
      Gpu_CoCmd_Text(phost, 230, 133/2 + 133, FONT_M_HANDLE, OPT_CENTERY, "= 10 ml/min");

      Gpu_CoCmd_Text(phost, 30, 133/2 + 266, FONT_M_HANDLE, OPT_CENTERY, "输注量");
      Gpu_CoCmd_Text(phost, 230, 133/2 + 266, FONT_M_HANDLE, OPT_CENTERY, "= 0 ml");

      Gpu_CoCmd_Text(phost, 550, 133/2 + 133, FONT_M_HANDLE, OPT_CENTERY, "T = 33.8 °C");
      Gpu_CoCmd_Text(phost, 550, 133/2 + 266, FONT_M_HANDLE, OPT_CENTERY, "P = 130 mmHg");

      //Gpu_CoCmd_FillWidth(phost, 50);
      Gpu_CoCmd_Text(phost, 50, 400, FONT_M_HANDLE, OPT_CENTERY, "重新启动系统");

      Gpu_CoCmd_Text(phost, 50, 450, FONT_M_HANDLE, OPT_CENTERY, "更换新的一次");

      Gpu_CoCmd_Text(phost, 50, 500, FONT_M_HANDLE, OPT_CENTERY, "性使用输血通用管路");
      // End

      Gpu_CoCmd_FontCacheQuery(phost, &totalAfter, &usedAfter);
      UARTprintf("totalAfter: %d, usedAfter: %d\r\n\r\n", totalAfter, usedAfter);

      // Screen PostCode
      App_WrCoCmd_Buffer(phost, DISPLAY());
      Gpu_CoCmd_Swap(phost);
      App_Flush_Co_Buffer(phost); //Download the commands into fifo
      while(EVE_busy()); // Gpu_Hal_WaitCmdfifo_empty(phost); //Wait till coprocessor completes the operation
      
      delay_ms(100);
   }
   
}


And print out:

Quote
totalBefore: 789, usedBefore: 0
totalAfter: 789, usedAfter: 45

I changed the size in fontcache to difference value like 256000 (394 total) or 128000 (197 in total). I also try the delay_ms up to 1000ms. The screen still flickering but not much as 100ms/10ms delay time.

My application requires update at least one every 1 second (for RTC) and update when display variable changed like 10 ml/min to 11ml/min or more...

Do I need to change the display setup and how to know I'm setup correctly?

Best regards,


 7 
 on: November 30, 2022, 03:47:49 PM 
Started by vdc - Last post by Rudolph
Have you checked with CMD_FONTCACHEQUERY how many glyphs are actually used?
In my experience it does not flicker though, using more characters than there is room for in the cache did result in crashes for me.

And I just checked the timings, I am using these as well.
Except for the magic cookie "0xD12" as my library configures the display clock by Hz.
"0xD12" is 51MHz though according to table 4-11 of the datasheet and I am using 51MHz.

How fast do you update the display?
There is flickering when you try to update the display list faster than EVE can display it.
With the given timing parameters the frame rate is 59,76 Hz so the pause between two updates should be
longer than 16.73 ms.

 8 
 on: November 30, 2022, 03:32:53 PM 
Started by vdc - Last post by vdc
Yes, I based on the datasheet from Riverdi for display setting.

The flicker only happen if I display more Custom Font Characters. If I only display like 20 characters then it works fine. However, when I try to run more. The flicker happen.

If only these line, then it works fine.
Quote
    Gpu_CoCmd_Text(phost, 30, 133/2, FONT_M_HANDLE, OPT_CENTERY, "设置流速");
    Gpu_CoCmd_Text(phost, 230, 133/2, FONT_M_HANDLE, OPT_CENTERY, "= 10 ml/min");



    Gpu_CoCmd_Text(phost, 30, 133/2 + 133, FONT_M_HANDLE, OPT_CENTERY, "实际流速");
    Gpu_CoCmd_Text(phost, 230, 133/2 + 133, FONT_M_HANDLE, OPT_CENTERY, "= 10 ml/min");

When I add more, then flicker happens

Quote
    Gpu_CoCmd_Text(phost, 30, 133/2 + 266, FONT_M_HANDLE, OPT_CENTERY, "输注量");
    Gpu_CoCmd_Text(phost, 230, 133/2 + 266, FONT_M_HANDLE, OPT_CENTERY, "= 0 ml");



    Gpu_CoCmd_Text(phost, 550, 133/2 + 133, FONT_M_HANDLE, OPT_CENTERY, "T = 33.8 °C");

    Gpu_CoCmd_Text(phost, 550, 133/2 + 266, FONT_M_HANDLE, OPT_CENTERY, "P = 130 mmHg");


    //Gpu_CoCmd_FillWidth(phost, 50);
    Gpu_CoCmd_Text(phost, 50, 400, FONT_M_HANDLE, OPT_CENTERY, "重新启动系统");

    Gpu_CoCmd_Text(phost, 50, 450, FONT_M_HANDLE, OPT_CENTERY, "更换新的一次");

    Gpu_CoCmd_Text(phost, 50, 500, FONT_M_HANDLE, OPT_CENTERY, "性使用输血通用管路");
    // End

This is just example.

 9 
 on: November 30, 2022, 02:20:42 PM 
Started by vdc - Last post by BRT Community
Hello,

Yes 0xC000 is the RAM_G address for the font cache.

I note you are using the same display settings that Riverdi implement in their example code for this display.
Are you seeing a deterministic flicker, i.e. does it happen when a certain screen is displayed in your application, or is this a 'random' flicker that is indetermnisitc?

Best Regards,
BRT Community

 10 
 on: November 29, 2022, 06:20:46 PM 
Started by vdc - Last post by vdc
After using FontCache, I was able to display more custom chinese font, but the problem is the display keep flickering.

Quote
Font Conversion completed!

Generated Folder: FZShuSong_36_Extend
Format:           COMPRESSED_RGBA_ASTC_8x8_KHR
Compressed:       thorough
Layout Width:     80
Layout Height:    8
Pixel Width:      40
Pixel Height:     64
Number of characters in xfont file:      65408
Number of characters in user input file: 292
   Success: 287
   Fail:    5
   Fail code point: 0x5f00, 0x8a00, 0x9600, 0x9000, 0x9700
There are non-graphic characters filtered out.
FZShuSong_36_ASTC.xfont and FZShuSong_36_ASTC.glyph are generated successfully.

----------------------------------------------------------------------

    Gpu_CoCmd_SetFont2(phost, FONT_M_HANDLE, RAM_G + 1000000, 0);
    Gpu_CoCmd_FontCache(phost, FONT_M_HANDLE, 0xC000, 512000);

40*60*2 = 5120
5120 * 100 ( chars) = 512000 bytes (the value I use in FontCache command). 0xC000 is address in RAM_G ?

Gpu_Hal_Wr16(host, REG_AH_HCYCLE_MAX, DispHCycle + 700); is in the setup.

Display now can show more chinese characters but the screen keep flickering. Any suggestion?

Pages: [1] 2 3 ... 10