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 2 [3] 4 5 ... 27
31
Discussion - EVE / Re: Display ASTC images directly from BT817 flash
« on: December 19, 2023, 07:01:27 PM »
> That is only partially correct ... Interesting would be the next command

The next command reads the chip ID from REG_ID register (0x302000): if the content is not 0x7C the whole wakeup sequence (reset, set CLK...) is repeated.

So I assume the chip runs at 60 MHz.

The next command after CLKEXT should be ACTIVE if it is not CLKSEL.
But yes, correct, then this is followed by reading from 0x302000 and it looks like you have the BT817 running at 60MHz.

So one thing to optimize could be to run the BT817 at 72MHz which also increases the clock for the external SPI flash.

Quote
>> I am not able to tell what the frame rate is

> It either is 61.58Hz with 60MHz clock or 73.89MHz with 72MHz clock.

Uhm... how do you calculate that? I thought that I should take the PCLK and divide it first for display width and then for display height (grossly). I obtain a frame rate of about 78 Hz (which is 30MHz divided by 800 then by 480), so I thought I could lower it down to 30 FPS to give more time to the GPU.

Is my reasoning correct? I mean - I should lower the framerate in order to ease the GPU job?

Almost, the framerate is pixel-clock / (VCYCLE * HCYCLE).
And lowering the framerate might help, for example by setting PCLK to 4.
As you have a BT817 you also can configure the pixel-clock a bit more directly by using the second PLL.
Also, within limits, the config can be tweaked to use more clocks per line.

But I would rather put as much as possible in RAM_G before displaying directly from FLASH.
The pixel engine really has to do a lot and random access to a serially attached external memory does not help.

32
Discussion - EVE / Re: Graphics engine freezing
« on: December 15, 2023, 04:17:39 PM »
Modified how, anything that I should consider as well?

This that and the other thing (helpful, I know!). We first started the project in earnest a couple years ago and branched from yours back then. I'll have to do a review and see what all we've changed over the years. Nothing major, but if I see anything useful I'll try and get back to you on this subject.

Oh, years you say?  :)
I changed quite a lot in the last, well, years, including the coprocessor fault recovery.

33
Discussion - EVE / Re: Display ASTC images directly from BT817 flash
« on: December 15, 2023, 04:08:43 PM »
The main clock is external, set by writing 0x44000000 during initialization.

That is only partially correct, the host commands are three bytes long and CLKEXT is 0x44 0x00 0x00.
Interesting would be the next command, if it is ACTIVE then the BT817 runs at 60MHz.
If it is CLKSEL followed by 0x46 then the BT817 runs at 72MHz - 0x61 0x46 0x00.

Quote
I am not able to tell what the frame rate is, using the above parameters - I just copied them from an example and they work.

It either is 61.58Hz with 60MHz clock or 73.89MHz with 72MHz clock.

What library is this exactly and in what version?
What TFT are you using?

34
Discussion - EVE / Re: Graphics engine freezing
« on: December 13, 2023, 07:01:57 PM »
Interesting, I sent this through the "Disassembler" in EAB and put it after a little editing into EVE Screen Editor now. :-)

So, evidently you are using a 800x480 panel in portrait mode.
A couple of image in ARGB that are located in RAM_G - these would need 1/8 of memory in ASTC 8x8 and probably less time to transfer depending on if you are using CMD_INFLATE and what compression ratio can achieved with the images.

You are using a font that is stored in FLASH.
Have you tried using a ROM based font to see if that makes a difference?

The first thing that is drawn is a rectangle across almost the entire screen - why?
Next you draw a second rectangle, setting the line-width again and using BEGIN(RECTS) again is not necessary.

Speaking of BEGIN(), there is only a single END() at the very bottom - and I believe it has no effect down there at all.
While it might not be necessary to set an END() for every BEGIN(), it is recommended to do so in the programming guide.

Then you draw 12 grey points.
Draw four rectangles and set the line-width and BEGIN() only once.
Draw four images over the rectangles and probably used EVE_cmd_setbitmap() to do so as this is happening a tad bit inefficient.
Next the color is set twice to white - for good measure? :-)
A larger image is placed, a row of text printed to the bottom.
One of the 12 grey points on the top is overwritten with a green point of the same size.
Two small images are placed, a green rectangle is drawn in the bottom right, an image is place on top of the rectangle.
A small bitmap is transformed and placed.

A slightly longer text is written in three rows - have you tried to split this into three separate CMD_TEXT?


I would say that this can be tweaked to be more efficient but then it looks like this is not what you are actually using,
this looks like a slightly reduced version as there are no touch tags set for example.

35
Discussion - EVE / Re: Graphics engine freezing
« on: December 10, 2023, 04:07:51 PM »
BT816Q with an ESP32-WROOM-32E connected over VSPI at a 26 MHz clock.

Ok, I did some maintenance on  my library yesterday, so I dug out an ESP32-WROOM32 board for it
and connected to a an EVE3-50G which has a BT815.

Quote
We're using a modified version of your library and the ESP-IDF.

Modified how, anything that I should consider as well?

This morning I started a test using the PlatformIO project for ESP32 using ESP-IDF.

I modified the SPI clock in EVE_target.c for the display-update transfers with DMA to:
devcfg.clock_speed_hz = 26U * 1000U * 1000U;

I left the the SPI clock for single transfers at 10MHz as this is used to initially configure the EVE chip and
I observed that reading starts to fail at lower clock speeds than writing.

The display-refresh is at 50Hz.

In TFT_display() I added this:
Code: [Select]
static uint16_t fault_counter = 0;
static uint16_t reg_dlswap_faults = 0;
...
if(EVE_FAULT_RECOVERED == EVE_get_and_reset_fault_state())
{
  fault_counter++;
}

if(0 != EVE_memRead8(REG_DLSWAP))
{
  reg_dlswap_faults++;
  return;
}
...
EVE_color_rgb_burst(BLACK);

EVE_cmd_fillwidth(130);
EVE_cmd_text(10, 150, 28, 0, "First line\nSecond line\nThird line\nFourth line\nyet another line\nand one for good measure");

uint32_t arguments[2];
arguments[0] = (uint32_t) fault_counter;
arguments[1] = (uint32_t) reg_dlswap_faults;
EVE_cmd_text_var(10, 100, 28, EVE_OPT_FORMAT, "Faults: %d %d", 2, arguments);

We have 16:50 now and this is running since 9:45.
It still displays "Faults: 0 0".

So at least a longer line of text with a couple of line-breaks does not show an issue.

Quote
I do need to invest in a good logic analyzer as it's too difficult to pick out the data using our scope even though it does have a decode function; doesn't help that we also have two CAN controllers on the same SPI bus as the display so there's a fair bit of traffic going around.

I very much prefer Saleae: https://www.saleae.com/de/
But then I did not pay for neither the Logic 16 I currently have burried somewhere in the pile of boards and displays on my desk,
or the Logic Pro 8 I have in my lab at work.
The Logic 16 is a couple of years old and won't do in this case, it "only" works with 50MS/s when measuring 4 or 5 channels.
The sample rate should be several times higher than the clock of the signal to actually see details in the timing.
So with 26MHz SPI clock I would not use less than 200MS/s - and more is better.

And the Saleae Logic software decodes SPI.
Which reminds me that I started to write a high-level decoder for the EVE chips,
but it turned out to be not as straighforward as I hoped it would be.


As you can see in the attached image, I am using an ESP32 board that looks like an Arduino UNO.
The jumper wires to my adapter board are about 10cm long.
The FFC from the adapter board to the display also is 10cm long.
The adapter is one of these: https://github.com/RudolphRiedel/EVE_display-adapter/tree/master/L-D5019-08/L-D5019-08-02.
The supply is from a bench PSU that I set to 9V.
As the controller and the display both use 3.3V for the signals, the logic buffers on the adapter are not actually needed.
But what helps with performance across several development boards are the 56R series resistors.

36
Discussion - EVE / Re: Graphics engine freezing
« on: December 05, 2023, 05:50:45 PM »
What EVE chip with which library on which controller, connected how, at what SPI clock?
Have you tried a different software, a different hardware, lowered the SPI clock?

Why are you reading REG_DLSWAP in the first place?
In order to update as fast as possible?

What is reading from REG_CMD_READ return when REG_DLSWAP "hangs"?

If you a using a BT81x, what is stored in RAM_ERR_REPORT when such an event occurs?

I never encountered this - or at least I did not notice. :-)
But then I am never reading REG_DLSWAP and only indirectly have it written to by using CMD_SWAP.

When anything goes wrong when using a new display module, the first thing I do is to get a SPI trace with the logic analyzer.

37
Discussion - EVE / BT882/BT883?
« on: December 03, 2023, 03:01:49 PM »
I received a newsletter from Bridgetek on my work account that indicated that BT882 and BT883 are released, but I can not find any specifics for these.
Am I correct to assume that these are memory reduced variants of FT812 and FT813?
So like BT880 and BT881 but with 24 bit RGB interface?

Or are these BT815/BT816 or even BT817/BT818 with reduced RAM_G?

I very much prefer BT81x over FT81x for mostly three reasons, UTF-8 fonts, external Flash interface and ASTC compressed images.
And it seems like at least having ASTC would be a good idea when the size of RAM_G is reduced to a quarter.

On a slightly related note, do you have a list of display modules that are available for end users from different manufacturers?
I could probably compile such a list, but I am always on the lookout for something new to support with my library.

38
Test and Review Area / Re: EVE Asset Builder 2.10.1
« on: November 15, 2023, 06:43:44 PM »
I have been looking into this and the behaviour you are noting is apparent, though I believe this may be related to EAB calculating the applicable Unicode blocks for a given input font, and as such is an indication that you may want to review the input character set as the new font might not these characters.

Well, the "Input Character" file is there to limit the glyphs of a font to the desired subset, not to wish glyphs into existing. :-)
So I would say that is more likely that someone needs to convert a bunch of different fonts to the same subset of glyphs as it is
that the different fonts need to be converted for different sets of glyphs.
And even when someone needs to change the "Input Character" file for every font, this does not require any more clicks than with the current implementation while everyone who does not need to change the "Input Character" file must select the same file again and again.

Even only browsing thru fonts to find one that has all the glyphs needed for the selected set or looks ok for the selected set is
a tiny bit more cumbersome now.

And yeah, I am having fun here "complaining" over this first-world useability issue as I have not found anything more serious so far - good job! :-)

39
Test and Review Area / EVE Asset Builder 2.10.2
« on: October 13, 2023, 06:39:19 PM »
I just found that EAB 2.10.0 was released.

I went across it, converted images, verified images, converted a font, put that font in a flash container, packed that flash container with the asset compressor, converted the resulting .zopfli file with the BIN2C tool.
And this went very smoothly. :-)

I found one small issue though.
When converting fonts, the "Input Character:" file selection gets cleared every time a new font is selected.

Edit: just found 2.10.1 and the bug is still in while this post is still missing approval.
Edit2: and I just found 2.10.2 which is dated 2023-11-10.

40
Discussion - EVE / Re: What is the purpose of CMD_REGREAD?
« on: September 25, 2023, 07:59:52 PM »
A bit off-topic but I mentioned it here before that the variable types are partly not correct.

And I just found another one: void cmd_rotate( int32_t a );
The range for "a" is 0 to 65535.
Yes, this needs to be 32 bit as everything in RAM_CMD needs to be 32 bit aligned.
But please change this in the programming guide to the unsigned value it actually is.

Same in cmd_rotatearound(x,y,a,s), "x" and "y" need to be signed, "a" does not and I am not actually sure about "s".

void cmd_fontcachequery( uint32_t total, int32_t used ); - what about "used"?
void cmd_fontcache( uint32_t font, int32_t ptr, uint32_t num ); - the "ptr" is for a RAM_G address

41
Test and Review Area / Re: EVE Asset Builder 2.9.0
« on: September 03, 2023, 09:41:45 AM »
I tried to use the PNG/JPEG Validator and found that the "VALIDATE" button is inactive unless I set the option "Generate Optimized File".
It still works when deselecting "Generate Optimized File".
But the "VALIDATE" button is inactive again when I remove the image and does not become active when adding an image.

42
Discussion - EVE / image decoding and OPT_RGB565
« on: September 03, 2023, 09:33:21 AM »
I received an image file to conduct a test with and this image file is a .png.
Long story short, the image gets decoded to ARGB4 and not RGB565.

There is OPT_RGB565 in chapter 5.9:
Decode the source image to RGB565 format - CMD_LOADIMAGE

And the first idea I had was to provide this option in order to make CMD_LOADIMAGE
decode the .png file to RGB565.
But then I saw that the value for the option is actually zero, so this "option" does not actually do anything,
this is just the default value, this is !OPT_MONO.
As I was already using CMD_LOADIMAGE with bit 1 of the options cleared, this "option" OPT_RGB565 has no effect on loading PNG images.

Please consider removing OPT_RGB565 from the table in chapter 5.9.

43
Discussion - EVE / Re: New Release of Windows to EVE Bitmap Viewer 1.4
« on: August 24, 2023, 10:14:58 PM »
This reminded me of your EVE-USB2SPI-KIT-B, are there plans to sell these thru DigiKey or Mouser and perhaps EVE4 series displays as well?
And I would like to buy an EVE4x-40G-IPS for my collection but shipping from Canada directly is a bit expensive while DigiKey and Mouser offer free shipping to EU and handling of the taxes beforehand.
Not asking for free shipping by Matrix Orbital, it's just so conveniant for me to order from Mouser or Digikey and I also can order a bag of other parts at the same time.
Most of my EVE2 and EVE3 series Matrix Orbital displays I ordered from Digikey or Mouser.

Edit:
Mouser is listing the EVE2-USB2SPI-KIT-B now, although there is no stock, yet.

44
Test and Review Area / Re: EVE Asset Builder 2.9.0
« on: August 20, 2023, 10:26:28 AM »
And something else entirely, as I am tinkering with ASTC fonts I noticed that EAB still includes astcenc.exe 2.1 while the latest release is 4.5.0.
I replaced the EVE Asset Builder\tools\astcenc.exe with the apropriate version for my system from the 4.5.0 package and so far it seems to be working fine, I still have to see what happens when using the converted fonts though.

45
Test and Review Area / EVE Asset Builder 2.9.0
« on: August 17, 2023, 06:02:33 PM »
I downloaded and installed EVE-Asset-Builder-setup-2.9_rc1.zip and I have an odd issue.

The button to open the explorer window to select the output folder is not working for me in "Asset Compressor" / "Compress".
When I use the button on the second tab "Validate" though it works, I can select the output folder, I have to confirm twice and
now the output folder is also changed on the "Compress" tab.

Pages: 1 2 [3] 4 5 ... 27