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 - yle

Pages: [1]
1
Discussion - EVE / Re: Custom Fonts Problem
« on: February 02, 2023, 03:08:40 PM »
Hi,

Finally, i found a solution (but not the explanation).

My "Ft81x_Init_Font" function is designed as follow :
Code: [Select]
void Ft81x_Init_Font(
    ft_gpu_hal_context* pt_host, /* host data */
    ft_gpu_metric_block* pt_font_metrics, /* font metrics data */
    uint8* pt_font_raw_data,  /* font raw data */
    uint32 font_raw_data_size, /* font raw data size */
    uint16 handle_id, /* GPU handle identifier */
    uint32 gram_address /* GPU General RAM address to store the font */
)
{
    /* load fonts metrics and data in GRAM */
    Ft_Hal_Write_Mem(pt_host, gram_address, (uint8*) pt_font_metrics, FONT_METRIC_SIZE);
    Ft_Hal_Write_Mem(pt_host, gram_address + FONT_METRIC_SIZE, (uint8*) pt_font_raw_data, font_raw_data_size);

    Ft81x_Start_Page(pt_host);
    /* configure the handle */
    Ft_Hal_Write_Cmd32(pt_host, BITMAP_HANDLE(handle_id));
    Ft_Hal_Write_Cmd32(pt_host, BITMAP_SOURCE(raw_data_add));
    Ft_Hal_Write_Cmd32(pt_host, BITMAP_LAYOUT(format, stride, max_height));
    Ft_Hal_Write_Cmd32(pt_host, BITMAP_SIZE(NEAREST, BORDER, BORDER, max_width, max_height));
    /* load the font in Coprocessor */
    Ft_Gpu_CoCmd_SetFont(pt_host, handle_id, gram_address);
    Ft81x_End_Page(pt_host);
}

This function is called once for each of the 5 fonts just after the GPU initialization.
Code: [Select]
    /* initialize GPU */
    Ft81x_Init(&Gpu);

    /* load fonts in GPU memory */
    Ft81x_Init_Font(&Gpu, (s_ft_gpu_metric_block*) Font1_Metrics, (ubyte*) Font1, FONT1_RAW_BITMAP_SIZE, HANDLE_1, RAM_ADDR1);
    Ft81x_Init_Font(&Gpu, (s_ft_gpu_metric_block*) Font2_Metrics, (ubyte*) Font2, FONT2_RAW_BITMAP_SIZE, HANDLE_2, RAM_ADDR2);
    Ft81x_Init_Font(&Gpu, (s_ft_gpu_metric_block*) Font3_Metrics, (ubyte*) Font3, FONT3_RAW_BITMAP_SIZE, HANDLE_3, RAM_ADDR3);
    Ft81x_Init_Font(&Gpu, (s_ft_gpu_metric_block*) Font4_Metrics, (ubyte*) Font4, FONT4_RAW_BITMAP_SIZE, HANDLE_4, RAM_ADDR4);
    Ft81x_Init_Font(&Gpu, (s_ft_gpu_metric_block*) Font5_Metrics, (ubyte*) Font5, FONT5_RAW_BITMAP_SIZE, HANDLE_5, RAM_ADDR5);

By adding the following sequence at each new page, the problem has been fixed.
Code: [Select]
    Ft_Hal_Write_Cmd32(pt_host, BITMAP_HANDLE(handle_id));
    Ft_Hal_Write_Cmd32(pt_host, BITMAP_SOURCE(raw_data_add));
    Ft_Hal_Write_Cmd32(pt_host, BITMAP_LAYOUT(format, stride, max_height));
    Ft_Hal_Write_Cmd32(pt_host, BITMAP_SIZE(NEAREST, BORDER, BORDER, max_width, max_height));
    Ft_Gpu_CoCmd_SetFont(pt_host, handle_id, gram_address);

But i don't understand why the first SetFont commands do not work sometimes.
Is this command needed to be sent at each new page?
If not, what my software needs to wait for before sending the first SetFont commands?

Regards

2
Discussion - EVE / Custom Fonts Problem
« on: January 19, 2023, 02:56:19 PM »
Hi,
I'm facing an issue with custom fonts on an FT812 chip. I try to load 5 custom fonts, but there is a problem with the 4th one. Sometime, with this font, all char are cut in half (see file attached).
Sometime, the font is correct, the problem occurs randomly.
Any help would be appreciated.

Regards

3
Discussion - EVE / Re: BT816 : flash reading fail
« on: May 13, 2020, 12:20:41 PM »
The VM816C50A-D embeds a 25Q128JVSQ flash chip.

4
Discussion - EVE / Re: BT816 : flash reading fail
« on: May 13, 2020, 06:40:56 AM »
Hi,

I'm using a VM816C50A-D board connected to our device.
The 4 SPI signals and the PD signal are connected to the MCU and the eval board is powered by using the 5V entry on the J5 connector.
The eval board seems to be working pretty well. I started using the BT816 without changing anything on the source code which was working with the previous FT810 and I recovered all functionalities previously implemented. There are only flash's read and write commands that fail.

Regards,


5
Discussion - EVE / Re: BT816 : flash reading fail
« on: May 12, 2020, 10:43:30 AM »
Hi,
I tried what you suggested but it didn’t work. I tried to write the blob firmware too (just in case) but the write command doesn’t work so…
Here is my code modified following your suggestions.

Code: [Select]
    Gpu_CoCmd_FlashHelper_Init(&Gpu);
    Gpu_CoCmd_FlashHelper_SwitchState(&Gpu, FLASH_STATUS_BASIC);

    ubyte fl_status = Ft_Hal_Read8(&Gpu, REG_FLASH_STATUS);
    ubyte fl_size = Ft_Hal_Read8(&Gpu, REG_FLASH_SIZE);

    if ( (fl_status == FLASH_STATUS_BASIC) && (fl_size == 16) ) {
        switch (Fl_Test) {
            case FL_ERASE:
                Gpu_CoCmd_FlashHelper_Erase(&Gpu);
                break;
            case FL_WRITE_BLOB:
//                Ft_Hal_Write_Mem(&Gpu, 0, BLOB, 4096);
//                Gpu_CoCmd_FlashUpdate(&Gpu, 0, 0, 4096);
                Gpu_CoCmd_FlashHelper_Write(&Gpu,0, 4096, (ubyte*)BLOB);

                break;
            case FL_READ:
                Memory_Set_Byte(Tmp, 0x00, 4096);
                App_Flush_Co_Buffer(&Gpu);
                Gpu_Hal_WaitCmdfifo_empty(&Gpu);
                Gpu_CoCmd_FlashHelper_Read(&Gpu, 0, 0x1000, 4096, Tmp);
                break;
        }
    }

What is strange is that, even when I start directly by reading the flash memory whithout erasing it first, I’m not able to read it. Read and Write commands seem to lead the chip to an abnormal behavior. But the chip works well if I don’t manage the flash, I mean, I’m able to use it to display widgets as when I was using an FT810.

6
Discussion - EVE / Re: BT816 : flash reading fail
« on: May 05, 2020, 02:01:55 PM »
Hi,
Thank you for your response,
I started my development by copying the Riverdi’s EVE3_flash_write example from github. 
Here is the code I try to execute.

Code: [Select]
    Gpu_CoCmd_FlashHelper_Init(&Gpu);
    Gpu_CoCmd_FlashHelper_SwitchState(&Gpu, FLASH_STATUS_BASIC);

    ubyte fl_status = Ft_Hal_Read8(&Gpu, REG_FLASH_STATUS);
    ubyte fl_size = Ft_Hal_Read8(&Gpu, REG_FLASH_SIZE);

    if ( (Fl_Test == TRUE) && (fl_status == FLASH_STATUS_BASIC) && (fl_size == 16) ) {
        ubyte tmp[4096];
        Memory_Set_Byte(tmp, 0x00, 4096);

        Gpu_CoCmd_FlashHelper_Erase(&Gpu);
        Gpu_CoCmd_FlashHelper_Read(&Gpu, 0, 0, 4096, tmp);
    }

I’m able to reach the Erase function (flash status is set to 2 and flash size to 16). This function takes about 25 seconds. But the next function Read doesn’t finish. It loops in Gpu_Hal_WaitCmdfifo_empty waiting for REG_CMD_READ be equal to REG_CMD_WRITE.

Best Regards,

7
Discussion - EVE / BT816 : flash reading fail
« on: April 29, 2020, 02:23:52 PM »
Hi everyone,

Up to now I was using the FT810 with custom font loaded by the MCU at startup. Today I’m working on the BT816 with a flash to store my custom font and improve the startup time.

I’m facing an issue to work with the flash. I’m only able to erase it but neither the write not the read command works.
When I send the CMD_FLASHERASE command, I wait up to the REG_CMD_READ reaches the REG_CMD_WRITE. It takes few seconds (almost 25s for a 16M flash).
But when I send the CMD_FLASHREAD command to control that 0xFF have been written in the flash, this command never end. The REG_CMD_READ is never reaching the REG_CMD_WRITE.
I’m stuck at this point. Do you have any idea about what is causing this problem?

Any help or suggestion you can provide would be greatly appreciated.
Thank you.

Pages: [1]