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

Pages: 1 2 [3] 4
31
Discussion - EVE / Re: fading screen flicker
« on: October 17, 2019, 05:08:32 AM »
Tried to display 28 different ASTC8x8 images(each image is 100x100) : 7 from flash and 21 from RAM_G.  Found no issue
at my side, see the picture attached.

The code is as below:

Code: [Select]
CLEAR(1, 1, 1)
CMD_MEMSET(3155324, 0, 4)

CMD_FLASHREAD(0, 23360, 57792)
CMD_TEXT(101, 421, 31, 0, "1-7: Flash      8-28: RAM_G")

The first row 7 images are rendered from flash directly
---------------------------------------------------------------------------------------------------------
CMD_SETBITMAP(0x800000 | 128, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2II(0,0, 0,0)

CMD_SETBITMAP(0x800000 | 214, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2II(104,0, 0,0)

CMD_SETBITMAP(0x800000 | 300, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2II(208,0, 0,0)

CMD_SETBITMAP(0x800000 | 386, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2II(313, 0, 0, 0)

CMD_SETBITMAP(0x800000 | 472, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2II(417, 0, 0, 0)

CMD_SETBITMAP(0x800000 | 558, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(8368, 0)

CMD_SETBITMAP(0x800000 | 644, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(10016, 0)

The following 21 images are rendered from RAM_G , instead from Flash
---------------------------------------------------------------------------------------------------------

CMD_SETBITMAP(0x0, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(16, 1616)

CMD_SETBITMAP(2752, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(1632, 1616)

CMD_SETBITMAP(5504, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(3296, 1600)

CMD_SETBITMAP(8256, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(4976, 1600)

CMD_SETBITMAP(11008, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(6640, 1552)


CMD_SETBITMAP(13760, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(8336, 1584)

CMD_SETBITMAP(16512, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(9968, 1536)
=================================================

CMD_SETBITMAP(19264, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(0, 3248)

CMD_SETBITMAP(22016, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(1632, 3248)

CMD_SETBITMAP(24768, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(3280, 3248)

CMD_SETBITMAP(27520, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(4960, 3248)

CMD_SETBITMAP(30272, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(6640, 3248)

CMD_SETBITMAP(33024, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(8320, 3200)

CMD_SETBITMAP(35776, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(10000, 3200)

=================================================


CMD_SETBITMAP(38528, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(-32, 4864)

CMD_SETBITMAP(41280, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(1600, 4896)

CMD_SETBITMAP(44032, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(3264, 4864)

CMD_SETBITMAP(46784, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(4928, 4912)

CMD_SETBITMAP(49536, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(6592, 4864)

CMD_SETBITMAP(52288, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(8272, 4928)

CMD_SETBITMAP(55040, COMPRESSED_RGBA_ASTC_8x8_KHR, 100, 100)
BEGIN(BITMAPS)
VERTEX2F(9984, 4832)


Can you have a test on the flash read speed?  I guess the issue may be related to flash read throughput.


32
Discussion - EVE / Re: fading screen flicker
« on: October 16, 2019, 11:32:55 AM »
I tried at my side to display 35 images at one screen (9 images are different, each image is 100x100 in ASTC8x8 format).  All those 9 images
are stored in flash and rendered directly as your code. It has no such issue as you mentioned.

Sharing several tips :   
1).  Use a separate display list to set up bitmap handle:
     
Code: [Select]
      CMD_DLSTART
      BITMAP_HANDLE(x)
      CMD_SETBITMP(...)
      BITMAP_HANDLE(y)
      CMD_SETBITMP(...)
      CMD_DLSWAP
     
2) Draw the bitmap in another display list using the bitmap set up above.

33
Discussion - EVE / Re: fading screen flicker
« on: October 14, 2019, 10:39:58 AM »
I think rendering the image from RAM_G, instead of flash, shall be helpful.
You can use cmd_flashread to copy the ASTC data into RAM_G.

34
Discussion - EVE / Re: Erasing FLASH in BT815's full speed mode
« on: September 20, 2019, 03:14:07 AM »
First, "CMD_FLASHDETACH → CMD_FLASHATTACH → CMD_FLASHERASE → CMD_FLASHFAST cycle"  is not feasible because after flash is erased , it is in Basic mode and there is no way to way to go back the full speed mode,  due to the lack of flash driver(known as blob).  The flash erase
will write every bytes of the whole chip into 0xFF. 
So you shall not run the cycle again and again.

Secondly,  at my side,  with your code logic, cmd_flashread can read the flash sector correctly
after cmd_flasherase is done.   The buffer is filled with 0xFF, not 0x55.

35
Discussion - EVE / Re: BT815 and custom fonts in SPI flash
« on: September 19, 2019, 04:10:51 AM »
If you are not using the full unicode font characters,  you shall define your own set of characters to be used in your application.  It can minimize the size of font data.  Here is the screenshot of
EAB. Try to use ASTC8x8 or ASTC10x10 to see if the quality meets your needs and it saves the space too.

Hope it is helpful for you.

36
Discussion - EVE / Re: Loading images with CMD_INFLATE2
« on: September 17, 2019, 07:19:32 AM »
Forgot to mention one point: The cmd_inflate2 fetching data from flash only works correctly when flash is in full speed mode.  So remember to issue command cmd_flashfast before all other commands are sent.

37
Discussion - EVE / Re: Loading images with CMD_INFLATE2
« on: September 17, 2019, 07:08:46 AM »
To use the compressed assets in flash by cmd_inflate2, you need send cmd_flashsource to specify the address, which is offset from address 0.  In the image enclosed,you can see the number 4096
is the parameter of cmd_flashsource, which is the first asset after flash driver (unified.blob).

Check the image enclosed for details.

Code: [Select]
CLEAR(1, 1, 1)
CMD_FLASHSOURCE(4096)
CMD_INFLATE2(0, OPT_FLASH)

CMD_SETBITMAP(0, RGB565, 128,128)

BEGIN(BITMAPS)
VERTEX2II(104, 93, 0, 0)


38
Discussion - EVE / Re: BT81x and Animation support
« on: September 12, 2019, 09:46:42 AM »
From my opinion, that is a trade-off between the display list (RAM_DL utilization) and flash space. 
Compared to flash space, the RAM_DL can be reused across all the frames.
For instance, the GIF I enclosed here, is in 480x176 and converted into ASTC8x8 based animation object, which takes only 23K bytes flash space
for 8 frames, due to the common tile optimization.    However, saving those 8 frames in ASTC8x8 will take 260Kbytes flash space.
We can see in this use case,  with around 400 display list overhead,  flash space is saved around 220 Kbytes.

39
Discussion - EVE / Re: BT81x and Animation support
« on: September 10, 2019, 04:44:44 AM »
For no tiling option, it is better not to use animation converter. 
Instead, use the flash file generation to store the images consecutively frame by frame.

Like this:

"
Unified.blob
frame0.astc
frame1.astc
.......
framen.astc
"

In the display list,  change the bitmap source to display different frame from time to time.   It works well to me although it may take more spaces. 


40
Discussion - EVE / Re: BT815 custom font and image PIC MCU
« on: September 04, 2019, 03:11:03 AM »
Bitmap Handle 15 is a scratch handle used by Eve built-in widget. See programming guide 5.66 cmd_setscratch.

I suggest to use other bitmap handle , 0 to 14 and see if it works.


41
Discussion - EVE / Re: implementing support for formated strings
« on: August 28, 2019, 10:27:03 AM »
BT815/6 has supported it natively.

42
Discussion - EVE / Re: unified blob in BT815
« on: August 28, 2019, 09:09:18 AM »
Quote
Writing Blob file ".\unified.blob" to BT81X Flash Storage
Error, Flash is not able to get into full mode
Fail to write Blob file ".\unified.blob" to BT81X Flash Storage
Existing ...
----

Oh yes, that "Existing" is a typo in the flashtool. :-)

That typo is not seen on my version EAB 1.0.  You might be using old version.

43
Discussion - EVE / Re: unified blob in BT815
« on: August 13, 2019, 08:01:07 AM »
Thanks,
but as I mentioned: the asset builder cannot connect to my board. So, I need my host processor to install the blob. How can I do that?
best regards,
Henk
Asset Builder requires the FT4222 or MPSSE enabled module to be connected with EVE module.    If you need install the blob,  you may just download the "unified.blob" file which is located at installation path of EAB to RAMG_G,  and call the cmd_flashupdate to program it to flash, assuming the cmd_flashattach has been issued successfully and the flash is in Basic mode.

44
Discussion - EVE / Re: BT815 Screen saver
« on: August 05, 2019, 09:25:50 AM »
I think the best way to achieve your desired effect is to send different display list to EVE, other than utilizing the cmd_screensaver command,  providing the MCU is still active during screensaver phase.

45
Code: [Select]
uint16_t cmd_buff_write = Gpu_Hal_Rd16(g_phost, REG_CMD_WRITE); //Get the write pointer of command buffer
Gpu_CoCmd_GetProps(g_phost, 0, 0,0); //Send the command cmd_getprops
App_Flush_Co_Buffer(g_phost);     
Gpu_Hal_WaitCmdfifo_empty(g_phost);  //wait till the command is executed (cmd_read==cmd_write)

printf("write point of cmd is %d\n", cmd_buff_write);
printf("coCmd_GetProps = 0x%x\n", Gpu_Hal_Rd32(g_phost,   RAM_CMD + cmd_buff_write));
printf("coCmd_GetProps+4 = 0x%x\n", Gpu_Hal_Rd32(g_phost, RAM_CMD + cmd_buff_write+4));
printf("coCmd_GetProps+8 = 0x%x\n", Gpu_Hal_Rd32(g_phost, RAM_CMD + cmd_buff_write + 8));
printf("coCmd_GetProps+12 = 0x%x\n", Gpu_Hal_Rd32(g_phost,RAM_CMD + cmd_buff_write + 12));

Here is my code immediately following the cmd_loadimage. It works well and get the expected result.
Hope it is helpful.

Pages: 1 2 [3] 4