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

Pages: 1 ... 23 24 [25] 26 27
361
Discussion - EVE / Re: EVE3 - Asynchronous display-list updates
« on: August 14, 2019, 07:35:11 PM »
Hrmm, you know that the display-list is doubled buffered and only gets used to actually display anything if you tell it to?

You can use the co-processor to generate as many fragments of display lists as you like and take as much time
as you like to copy these around.
The display list is always updated asynchronously.

https://github.com/RudolphRiedel/FT800-FT813/blob/4.x/example_projects/EVE_Test_SAMC21_FT813_EVE2-35G/tft.c

This is just my ugly test-code and it is a bit outdated.
But I always have a function initStaticBackground() in which I define the portions of the screen that do not change.
and append this at the start when building the display list.
In my last project I expanded this to three segments, two additional ones to switch between two screens.



362
Discussion - EVE / Re: unified blob in BT815
« on: August 08, 2019, 07:33:24 PM »
I am not sure about cmd_flashupdate since it is not mentioned in the programming manual on page 17.
I went with cmd_flashwrite and for some reason it did not fail but it dod not work exactly either.

However, you could try to add a header to the SPI pins between your controller and the BT815 in order to connect
a VA800A-SPI to it and use the EVE Asset Builder.
This should work when you put your controller into reset.

This is one more reason why I stick with modules like the EVE3-50G, I can detach my controller board and connect
the module to my "EVE2 USB to SPI" from Matrix Orbital or my "Hermes Board" from Riverdi.
The current iteration of my controller board is only 45x36 mm, has a stepdown regulator, a speaker, an ATSAMC21E18A-AU, a LDO for the CAN and a TJA1051 CAN-FD transceiver.
I use a 5cm FFC cable.

363
Shared Projects / EVE code library
« on: August 06, 2019, 09:51:53 PM »
Looks like this is the place to put something like this, I have a code Library up on Github for a while now:
https://github.com/RudolphRiedel/FT800-FT813

Despite the name it supports BT81x as well.
I just finished a project for which I replaced a defective VM800B50A with a RVT50AQBNWC00.
This unit was driven by an Arduino mini-pro using the Arduino framework.
And in parallel I was testing the exact same display code on an EVE3-50G using an ATSAMC21E18A board with SPI by DMA.

Edit:
I just released the first interation of V5 of my code library:
https://github.com/RudolphRiedel/FT800-FT813/tree/5.x

364
Discussion - EVE / Re: unified blob in BT815
« on: August 06, 2019, 09:27:53 PM »
According to page 17 of the Programming Guide cmd_flashfast is not needed to write to the FLASH.
A couple of commands like cmd_flasherase and cmd_flashwrite work in "Basic" state as well and this way the Asset Builder is able to write to the FLASH thru the BT81x even if the FLASH has been erased or is completely new.
My best guess is that "Basic" is using simple SPI and "Full" is using QSPI.

Well, at least in theory it is that way and I experienced cmd_flashwrite not working myself recently.
My code was doing something wrong and I still need to find out what.

365
Discussion - EVE / BT81x and Animation support
« on: August 02, 2019, 05:19:31 PM »
I played with the new animation support in the EVE Screen Editor.
And I wonder what this is supposed to be used for.

Splitting up the frames of an animation into tiles is nice to save space in the external FLASH I guess.
Although the converter doubles the amount of frames and all the odd frames look exactly the same than
the even ones, so I have to wonder if this really is saving memory.
Without more insight I call this a bug in the converter.

There is a huge issue however, due to the tiling of the frames the display list is getting filled rather fast.
Now the smallest off-the-shelve FLASH on a BT81x module is 32MBit and I can easily replace it.
But the size of the display list is still only 8kB or 2048 commands.
The 124x300 pixel animation I have up in the EVE Screen Editor fills up the RAM_DL to 28% with only four lines
of coprocessor commands.

Am I missing something important here?
Right now this looks like a feature I rather not use.
Just cyling thru images on my controller has zero impact on the display list and while this costs a couple
more lines of code I just got a lot of free space for moving the images into the external FLASH.

And I checked, there is no way to tell the animation converter to drop the tiling.

366
Discussion - EVE / Re: problem regarding eve2 display.
« on: August 02, 2019, 04:48:00 PM »
The init in my library starts a little different:

Code: [Select]
EVE_pdn_set();
DELAY_MS(6); /* minimum time for power-down is 5ms */
EVE_pdn_clear();
DELAY_MS(21); /* minimum time to allow from rising PD_N to first access is 20ms */

#if defined (EVE_HAS_CRYSTAL)
EVE_cmdWrite(EVE_CLKEXT,0); /* setup FT8xx for external clock */
#else
EVE_cmdWrite(EVE_CLKINT,0); /* setup FT8xx for internal clock */
#endif

#if defined (BT81X_ENABLE)
EVE_cmdWrite(EVE_CLKSEL,0x46); /* set clock to 72 MHz */
#endif

EVE_cmdWrite(EVE_ACTIVE,0); /* start FT8xx */

chipid = EVE_memRead8(REG_ID); /* Read ID register */
while(chipid != 0x7C) /* if chipid is not 0x7c, continue to read it until it is, FT81x may need a moment for it's power on selftest */
{
chipid = EVE_memRead8(REG_ID);
DELAY_MS(1);
timeout++;
if(timeout > 400)
{
return 0;
}
}

This does not only work faster than a fixed delay, it also works with no display attached.

367
Discussion - EVE / implementing support for formated strings
« on: June 23, 2019, 05:29:25 PM »
Hi,

has anyone successfully implemented vararg functions for CMD_BUTTON, CMD_TEXT and CMD_TOGGLE?
I am looking into implementing it for CMD_TEXT and I am sort of stuck at the beginning.

The problem is, there is no way to tell how many arguments are supplied and of what type these are.
So if I understand this correctly you either have to work with a known set or arguments like numbers for which
you also provide the amount with which you are calling the function.

void EVE_cmd_text_numbers(int16_t x0, int16_t y0, int16_t font, uint16_t options, const char* text, num,...)

EVE_cmd_text_numbers(0,0,28,OPT_FORMAT,"foo bar %x.i",2,0xdeadbeef,8);

This approach seems lacking.

The other alternative would be to parse the string.
But then I could use snprintf() before using EVE_cmd_text() and be done.

A practical approach would be a function that adds a single uint32_t parameter that is transferred only if OPT_FORMAT is given.
Well, better than nothing, I am adding this for now.


368
Discussion - EVE / BT81x faster FLASH testing
« on: June 21, 2019, 04:45:14 PM »
Today I received two SST26VF064BA-101I/SM from Microchip which I bought from Mouser.
Instead of the industrie-standard 50...180 seconds for a chip-erase these do a chip-erase in 50ms max.
I soldered one onto my RVT43ULBNWC00 and tested it with the EVE Asset Builder.
The whole "Erase" action takes less than five seconds now which really is great for testing things.

Edit: after some tries and no help with this here I gave up on the SST26VF064BA-101I/SM now.
Yes, the chip-erase is very fast.
But as it turns out, EVE refuses to write to these.
The SST26VF064BA-101I/SM are detected correctly with the right size, but cmd_flashwrite does not write
anything to the chip.
And there is no output from the EVE Asset builder to indicate what could be wrong.

I removed the SST26VF064BA-101I/SM again and put back the 64Mbit flash that the RVT43ULBNWC00 was deliverded with.
And after a (painfully long) erasing of the chip with the EVE Asset Builder my test aplication used cmd_flashwrite just fine
for a small file containing the unified.blob and two images.

369
I'm trying to load two converted png file from mcu flash but something is not right. How to know where to load next one image (display RAMG address) avoiding overwriting previous image?

How can you not know the properties of the images that you converted to be loaded from flash? :-)

Loading some random image from a sd-card could be a challenge.
But even then you better make sure that they fit into the space you reserve for them before unpacking these to RAM_G.


this makes use of the GET_PROPS command

That is a good example for a function which is described not so good in the user-manual.
The C prototype "void cmd_getprops( uint32_t ptr, uint32_t width, uint32_t height);" implies that you are feeding
parameters into it, not that you can use it to retrieve parameters.
The way how this works and how the data could be acessed is described a little for cmd_getptr.

370
Discussion - EVE / Re: EVE Image Converter and Alpha-Channel
« on: June 06, 2019, 08:53:20 PM »
I know that Riverdi has EVE3 modules, I could get them from TME.
I have a RVT43ULBNWC00 I am playing with.

However, I already have a finished design for a tablet-like case to fit an EVE2-70G in and Riverdi uses
a completely different PCB.
The need to take additional steps when converting images is far less of a inconveniance than to
redesign our case and maybe even our PCB.

Of course you are right and if DigiKey and Mouser keep pushing the delivery data I just might get modules from Riverdi regardless.

371
Discussion - EVE / Re: EVE Image Converter and Alpha-Channel
« on: June 03, 2019, 04:38:40 PM »
My problem is not that I do not have an alpha-channel.
My problem is that the alpha-channel in my pictures is 8 bit and EVE uses only 1 bit.

The file "test_original.jpg" is a portion of a .png saved with irfanview.
The file "test_ARGB.jpg" shows how EVE Image Converter converts it.

And here I could stop as unfortunately using a BT815 instead of a FT813 still is not an option for me.
I would like to switch from EVE2-70G to EVE3-70G but neither Mouser or DigiKey have these in stock.

But you are right, as can be seen in the file "test_ASTC4x4.jpg", this works much better.
At least in the EVE Screen Editor it does.
 



372
I didn't initialize the display list to any value before writing REG_PCLK. Now I send DISPLAY() and write REG_DLSWAP before REG_PCLK.

I think the behavior between FT813 and BT815 is different, though. I have never experienced any problem with my previous PCB.

Well I have a FT800 Programmers Guide.pdf from 2014 here and the given example for the initialization example is pretty much the same in the current BRT_AN_033_BT81X_Series_Programming_Guide.pdf.
And you are still not following it correctly.

373
Discussion - EVE / Re: Speeding up font conversion
« on: May 27, 2019, 08:34:38 PM »
Sent out a bunch of files.

374
Discussion - EVE / Re: Speeding up font conversion
« on: May 26, 2019, 11:52:00 AM »
I converted the notosans-regular-webfont.ttf I generated to sizes from 13 to 30 now.
I used the EVE Asset Builder 0.4.2 with its default settings and only changed the font-size from one conversion to the next.
ASTC block footprints: auto
Compression Speed: thorough
Addr of Font Data: FLASH 4096

I put all the .glyph and .xfont files in a flash image and placed an image at the end.
My programm first copies the .xfont files to G-RAM using cmd_flashread.
In the display-list my programm used cmd_setfont2 to assign bitmap handles to the custom fonts.
And finally my programm prints out the same text ten times with different fonts.
The first 9 lines are font-sizes 13 to 21, the last line is with internal font 28.
The image is displayed directly from FLASH.

I was prepared to add my files as attachments but I could not attach them all: Restrictions: 4 per post, maximum total size 192KB, maximum individual size 128KB

The high-res version of Font_Test_4.jpg is 1,09MB and the zipped Font-Test_4.bin is 219kB.

The notosans-regular-webfont.ttf is the version of the notosans-regular.ttf from Google that I stripped down to only 222 Glyphs.
This is purely attached for testing purposes and in no way meant as redistribution for anything else but testing.



375
Discussion - EVE / Re: Speeding up font conversion
« on: May 22, 2019, 06:56:06 PM »
One thing to mention is that the Asset Builder has a feature where it can re-calculate the addresses of the fonts in the bin file. When generating the flash in the 'Generate Flash' tab, if you have the .xfont file with the same name in the same folder as the glyph file, it will adjust the data address of the font accordingly. This means you don't need to re-convert the fonts a second time and will save a lot of time.

Now this is really interesting, thank you Graham!  :)

I tested it and it changes a 16 bit word at offset 0x20 of the .xfont file, both in the original file and
in the flash image.
This puzzled me at first, this is the start of graphics data.
But instead of the absolute address it is the number of a block the size of 32 bytes, just like what BITMAP_SOURCE
is used with to display a picture from FLASH.
So 0x0080011e at offset 0x20 means that is in FLASH at address 0x11e * 0x20 = 0x23c0.
And the following glyph adresses are all relative to this start address.

Nice, so most of what I tried to get a number of fonts into FLASH was pointless since the adress
we use the "Generate Font" tool pratically becomes meaningless when we use "Generate Flash".
I like that.

Unfortunately, with this working as intended, I have no idea left why my fonts are not working.

And since I also used the "User Guide" while playing with the EVE Asset Builder, I noticed that it does not
match version 0.4.2.
It appears to be written for 0.4.1. and there have been some changes to the Asset Builder that did not make
it into the "User Guide".

Pages: 1 ... 23 24 [25] 26 27