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.

Topics - Spyy

Pages: [1]
1
Discussion - EVE / EAB 2.5.0 generate legacy custom font L8 format
« on: February 22, 2022, 09:42:47 PM »
Hi,

i am trying to get a working legacy L8 font with UTF-8File, CMD_SETFONT, First character: 1, RAM_G+ 181936.
=> Resulting command line is: fnt_cvt.exe -f legacy -C BT81X -i C:/blabla/isfdV11BoldPlus55.ttf -s 22 -d  181936 -c setfont -l 1 -g -u C:/blabla/isfdFont V4.txt -o C:/blabla/output -O
I am using this because i have no flash attached and i am only using a few glyphs and then the output for L8 ist relatively small.
When i use  the font in my application i only get "pixel dust/snow" or a solid block instead of numbers with CMD_NUMBER or CMD_TEXT. Other fonts are working fine.
BTW: I get the same result with the setting CMD_SETFONT2.
Going more into detail:
Resulting command line: fnt_cvt.exe -f legacy -C BT81X -i C:/blabla/isfdV11BoldPlus55.ttf -s 22 -d  181936 -c setfont -l 1 -g -u C:/blabla/isfdFont V4.txt -o C:/blabla/output -O
In the *_L8.c i then get:
Code: [Select]
#include "Common.h"

#define FONT_HANDLE       (1)
#define FONT_FILE_ADDRESS (RAM_G + 181936)
#define STRIDE            (28)
#define FONT_WIDTH        (28)
#define FONT_HEIGHT       (24)
#define FIRST_CHARACTER   (1)

void Load_Font_L8(EVE_HalContext * phost)
{
Gpu_CoCmd_Dlstart(phost);
App_WrCoCmd_Buffer(phost, CLEAR(1, 1, 1));
App_WrCoCmd_Buffer(phost, COLOR_RGB(255, 255, 255));
Gpu_Hal_LoadImageToMemory(phost, "../../../L8/isfdV11BoldPlus55_22_L8.raw", FONT_FILE_ADDRESS, LOAD);

App_WrCoCmd_Buffer(phost, BITMAP_HANDLE(FONT_HANDLE));
App_WrCoCmd_Buffer(phost, BITMAP_SOURCE(FONT_FILE_ADDRESS + 148 - STRIDE*FONT_HEIGHT*FIRST_CHARACTER));
App_WrCoCmd_Buffer(phost, BITMAP_LAYOUT(L8, STRIDE, FONT_HEIGHT));
App_WrCoCmd_Buffer(phost, BITMAP_SIZE(NEAREST, BORDER, BORDER, FONT_WIDTH, FONT_HEIGHT));
Gpu_CoCmd_SetFont(phost, FONT_HANDLE, FONT_FILE_ADDRESS);
Gpu_CoCmd_Text(phost, 50, 50, FONT_HANDLE, 0, "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A");
App_WrCoCmd_Buffer(phost, DISPLAY());
Gpu_CoCmd_Swap(phost);
App_Flush_Co_Buffer(phost);
Gpu_Hal_WaitCmdfifo_empty(phost);
}
This output i am using in my code...
In the .rawh i find:
Code: [Select]
/* Widths */
0,16,14,16,16,16,16,16,16,16,8,16,28,17,20,20,28,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/* Format */
3,0,0,0,
/* Stride */
28,0,0,0,
/* Max Width */
28,0,0,0,
/* Max Height */
24,0,0,0,
/* Raw Data Address in Decimal: <181412> */
164,196,2,0,

/* 148 Metric Block End ---  */

/*Bitmap Raw Data begin +++*/
/*The expected raw bitmap size is 11424 Bytes */
0,0,0,3,88,173,222,246,248,227,182,100,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,198,.......
For the "base" i get FONT_FILE_ADDRESS (RAM_G + 181936)

For BITMAP_SOURCE(FONT_FILE_ADDRESS + 148 - STRIDE*FONT_HEIGHT*FIRST_CHARACTER)); => I get the address for the first bitmap at 181412 which seemed to be smaller than the base address (Base: 181936 vs. Bitmap 181412). Is this correct ? I would think that bitmap source is Base+148 ?

With CMD_SETFONT2 the memory map looks a bit more plausible (especially the "Raw Data Address in Decimal") which here matches with the resulting memory map:
Command line: fnt_cvt.exe -f legacy -C BT81X -i C:/blabla/isfdV11BoldPlus55.ttf -s 22 -d  181936 -c setfont2 -l 1 -g -u C:/blabla/isfdFont V4.txt -o C:/blabla/output -O 4
Uploaded memory map of RAM_G with CMD_SETFONT2 looks like this:
Load metrix 3 Start: 181936 => 0x2C6B0
Load metrix 3 End: 182084 => 0x2C744
Load font bitmap 3 Start: 182084 => 0x2C744
Load font bitmap 3 End: 193508 => 0x2F3E4

_L8.rawh
Code: [Select]
/* Widths */
0,16,14,16,16,16,16,16,16,16,8,16,28,17,20,20,28,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/* Format */
3,0,0,0,
/* Stride */
28,0,0,0,
/* Max Width */
28,0,0,0,
/* Max Height */
24,0,0,0,
/* Raw Data Address in Decimal: <182084> */
68,199,2,0,

/* 148 Metric Block End ---  */

/*Bitmap Raw Data begin +++*/
/*The expected raw bitmap size is 11424 Bytes */
0,0,0,3,88,173,222,246,248,227,182,100,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,198,.....

But still also "pixel snow"...

Find attached my font if you want to try...with the EAB settings above...

Thank you for your help

Torsten

2
Discussion - EVE / Line vs text or number
« on: January 20, 2022, 12:45:36 AM »
Hi,

just to be sure to be on the right track...

I can "create/move" lines/rects/points/etc. with a precision of 1/16 pixel with VERTEX2F. But this is not possible with CMD_TEXT, CMD_NUMBER, VERTEXII and a font. There is the precision of 1 pixel...?
Or is there a way to do text/numbers with the same precision, or i am completely wrong here?

Thank you for your help

Torsten

3
Hi,

i have really a problem here. The BT81x should run default with 60 Mhz core clock an the new one with 72 MHz when i write:
EVE_cmdWrite(EVE_CLKSEL, 0x46); /* set clock to 72 MHz */

Then i do this:
EVE_memWrite32(REG_FREQUENCY, 72000000); to set it correct

I am setting up the chip and then check the speed with:
   // Write the EVE stats:
   uint32_t eveClockOld = EVE_memRead32(REG_CLOCK);
   delay(1000);
   uint32_t eveClockNew = EVE_memRead32(REG_CLOCK);
   Serial.print("EVE clock: ");
   Serial.println(eveClockNew - eveClockOld);
   delay(1000);
   uint32_t eveFramesOld = EVE_memRead32(REG_FRAMES);
   delay(1000);
   uint32_t eveFramesNew = EVE_memRead32(REG_FRAMES);
   Serial.print("EVE frames: ");
   Serial.println(eveFramesNew - eveFramesOld);

With the values set to:
EVE_cmdWrite(EVE_CLKSEL, 0x46)
EVE_cmd_pclkfreq(50500000L, 0)
EVE_memWrite8(REG_PCLK, 0x01)

i get this:
EVE PCLK Frequency: 50000000 => OK
EVE clock: 34668795 => would expect 72000000 or something here (looks like approx half of 72000000 Hz)
EVE frames: 85

With nothing written to EVE_CLKSEL (which should be default => 60 Mhz) I get:
EVE PCLK Frequency: 50000000 => OK
EVE clock: 28909452 => would expect 60000000 or something here (looks like approx half of 60000000 Hz)
EVE frames: 85

I am using no external crystal with the setting EVE_cmdWrite(EVE_CLKINT,0);   /* setup EVE for internal clock */ set.

So my question is what can be the reason for this or do i missed/messed up here something ?

Thank you for your help.

Torsten

4
Discussion - EVE / EVE main clock frequency
« on: April 28, 2021, 07:11:52 PM »
Hi,

i have questions concerning the main clock frequency of the EVE chip.

1. How to set up the chip to 72 Mhz (i use EVE_cmdWrite(EVE_CLKSEL, 0x46);) The manual is not so clear for me how to setup the bits to get 72 Mhz.
2. Is there a way to read out the actual main clock frequency ? Is this the EVE_memRead32(REG_CLOCK) register or is this the pixel clock output ?

Thank you very much

Torsten

5
Discussion - EVE / Customized font for text via vertex2ii
« on: April 10, 2021, 11:05:14 PM »
Hi,

is it possible to create a custom font and use it in a display list via a vertex2ii command?
I have a font already created with the suggested tool and "imported" via header file, transferred it into the RAM_G and assigned a handle with CMD_SETFONT2....but when i use the handle in the vertex2ii it shows "something" which looks like a memory dump...

If yes, must i do this every time when i update the displaylist?
If yes a short displaylist example very welcome...

Thank you

Torsten

6
Hi,
i am not sure if i understood the 81x concept right...

1. We have a display list/ command list where i can write to.
2. We can swap the display to show the content of the display list/command list
3. We have framerate of the display itself e.g 50 Hz

I read the chapter "Synchronization between MCU & Coprocessor Engine" but i must admit i did not understand it fully

How are these values "related, connected" ?
Will a swap start a new frame on the display ?
Are they not connected ?
Is the content shown/starts a new frame when the displaylist buffer is empty ?

I saw that there is an interrupt for INT_CMDEMPTY or
swap INT_SWAP => is this the swap i do via display list ?

I think a code example will be helpful here to understand the interrupt/syncronizing handling...

Thank you for your help

Torsten

7
Discussion - EVE / BT816 signal level on RGB interface
« on: January 05, 2021, 12:16:32 PM »
Hi,

i am using the BT816 chip in my design and i am struggeling a bit. I supply the BT816 chip with 3.3V for VCCA, VCCIO1, VCCIO2 and VCCIO3. VOUT1V2 is on 1.2V as forseen.
Now my issue:
On the RGB lines, where i can see active pulsing signals (BACKLIGHT, DE, VSYNC, HSYNC, DISP, PCLK), i only measure approx 0.8V-1V. I connected those lines via 33Ohms in serial to a ST7701S chip. It seems that this signal level is too low for this chip which is also on 3.3V.
So my question is: Is this signal level normal ? I tried to force the signal strenth via register to higher amps without success.
What can i do here?

Thank you a lot

Torsten

Pages: [1]