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 ... 30
16
Discussion - EVE / CMD_ARC
« on: December 11, 2024, 05:49:19 PM »
The BT82X Series Programming Guide 1.0 is released. :-)
I only saw it two days ago and I did not really have much time for it so far though.

One thing, I found CMD_ARC, nice.
But, this is the description:
"The arc command draws a circular arc. The end caps of the arc are rounded. If the angles specify a complete circle, a disc is drawn."

Is that correct? So not a circle, but a a fully filled round area like with POINTS?

void cmd_arc( int16_t x, int16_t y, unint16_t r0, unint16_t r1, uint16_t a0, uint16_t a1 );

That u*n*int16_t is an interesting typo. :-)

But more importantly, why is the inner and out radius limited to 1..511?
Hmm, yes, radius, not diameter, so quite big - but still, no flat arc over the complete height of the display for example.

And is there any way to influence the roundness of the end caps?

17
I was just looking at what accelerometers are available on Mouser, sorted by price, as to detect the orientation of the display the simplest option should do.
And the most inexpensive option that is available today is a MXC4005XC with an I2C interface.

Then it hit me, EVE already is using I2C for the touch sensor.
And at least electrically it would be a no-brainer to add a second chip to the existing I2C bus, the only thing to look out for would be the chips adresses.
So what is missing in order to support an optional accelerometer is some software in the EVE chip to detect such an accelerometer on startup, read the registers if a accelerometer is present, calculate the orientation of the device from it and then provide the information in a register.

REG_ORIENTATION
Bit 2 – 0: screen orientation information bits.
0b’000: Default landscape orientation
0b’001: Inverted landscape orientation
0b’010: Portrait orientation
0b’011: Inverted portrait orientation

Well, maybe that is a dumb idea as I have no idea so far how complicated it is to implement this in software.
Hmm, I could add an accelerometer with SPI to my controller board for EVE,
this might be something extra to do untill BT820 are available to play with. :-)

18
Discussion - EVE / Re: CMD_SYNC in FT81x?
« on: November 15, 2024, 07:22:35 PM »
Thank you for the confirmation, I will shuffle a few bits around in my library then.  :)

19
Discussion - EVE / Winstar BT81x modules
« on: November 12, 2024, 04:59:31 PM »
I am always looking for EVE modules to include support for in my library and I just found these from Winstar:

WF43WTYBEDST0 - 4.3" IPS 480x272 resistive touch, BT816
WF43WTYBEDSG0 - 4.3" IPS 480x272 capactice touch, BT815
WF50FSYBGDST0 - 5.0" IPS 800x480 resistive touch, BT816
WF50FSYBGDSGA - 5.0" IPS 800x480 capacitive touch, BT815

These might be Arduino shields and these might come in different versions.
Like with a SD socket, Arduino pins soldered in or a flash-chip - but none of these options are in the datasheets I found.

There is a 20pin header (FFC connector not populated) that looks like Winstar started with the pinout from Riverdi,
but pins 9 to 16 are different.
There is no Audio Out, the IOs are different and there are CSCL, CSDA, CRST and CINT pins for the ILI2130 CTP.

I wonder if the CTP is even connected to the BT815.

I am curious, but I can not find a distributor I would buy these from.
And Winstar only offers a short-form datasheet on their website.

Has anyone played with these?



20
Discussion - EVE / CMD_SYNC in FT81x?
« on: November 10, 2024, 11:00:25 AM »
The BRT_AN_088_FT81x_BT88x-Programming-Guide.pdf v1.0 documents CMD_SYNC for FT81x and BT88x.
But the earlier FT81X_Series_Programmer_Guide.pdf v1.0 does not have this command.

Do FT81x have CMD_SYNC?

Edit: I guess FT81x do have CMD_SYNC, I just noticed that CMD_SETBITMAP is command #0x43 while CMD_SYNC is #0x42.
And #0x44 is CMD_FLASHERASE.
So not mentioning CMD_SYNC in the FT81x documentation is likely an oversight which has been correct with BRT_AN_088.

21
Discussion - EVE / minor issue with CMD_SCREENSAVER
« on: November 09, 2024, 05:52:44 PM »
I just actually used CMD_SCREENSAVER and found a minor issue.
The command does not respect the setting of VERTEX_FORMAT and therefore requires to set it to 4 like this with the display-list macro command for it:

EVE_vertex_format(4);
EVE_macro(0);
EVE_vertex_format(0);

I am using a FT813 right now, a BT81x will probably do the same.
This was easy enough to figure out, the only issue is, this is not documented while at least for the BT81x commands like CMD_ANIMXY have a note in the programming guide.

22
Discussion - EVE / BT82x
« on: October 09, 2024, 05:03:35 PM »
Ok, a datasheet is released now, but this leaves me a little confused.

So far EVE5 was anounced as BT822 with 1Gbit of embedded DDR3L.
And now we got a datasheet for a BT820 with up to 4GBit of external DDR memory?

The clock source is a 38.4MHz crystal, but the system clock is 72MHz?

The fonts remained unchanged - really?

As I predicted, the SPI host interface has been updated from 22 bit adressing.
But I am not 100% sure how it is working so far.

Ok, the BT820 has 31 bit adressing with the MSB beeing the "WR" bit, so writing when it is set to '1'.
Also it is Addr3, Addr2, Addr1, Addr0, followed by Data0, Data1 and so on.

As it always was since FT800, address and data use different byte orders, ok then.

When reading from the BT820 there no longer is a simple dummy byte though, first the address is send, then data is read untill 0x01 is returned, when 0x01 was returned the following transfers are for the actual data bytes.
Well, at least reads are less common and usually short.
I wonder how long that polling can last though.

"The transactions are word based, i.e., the data width must be in blocks of 32 bit when accessing the
registers and the DDR memory of the BT820. Addressing to the registers and the DDR memory must also
be word aligned, i.e., the last two bits of the received address is ignored"
"The write data is expected to be in blocks of 32-bit. Any incomplete data is discarded when SS_N deactivates."

Ok, I guess implementing rd8, rd16, wr8 and wr16 functions won't be necessary then.

That seems to be pretty clear so far.

Then we have host commands.
Ok, host commands are always 5 bytes long.
The ACTIVE command is just 0x00 0x00 0x00 0x00 0x00.
And writing parameters such as the the memory configuration is done with:
0xff Command Parameter 0x00 0x00
And then we still have POWERDOWN, STANDBY and SLEEP, at least.

So the host controller will do 32 bit transfers for the most part but still has to be able to do 8 bit tranfers,
for the host commands at startup and to poll for 0x01 during every read sequence, correct?


Now for the touch engine, turns out that resistive touch is not supported directly after all.
It is supported by using an external resistive touch controller that is connected via I2C.
Interesting.

A memory map is missing from the first revision of the datasheet.

And speaking of memory, that 1Gbit still is a surprise for me, I have no idea what this could be filled with.
Well, more can't really hurt, that "24-bit RGB framebuffer up to 2048 x 2048 pixels" would be 16Mbyte.
The registers, fonts, FIFO, ROM(s) and display lists likely also use regions in RAM.


The most interesting question is still when I can buy anything with a BT82x on it though. :-)

23
Discussion - EVE / inexpensive camera module with LVDS interface?
« on: September 30, 2024, 04:35:25 PM »
Not trying to discuss why, yet. :-)

But I am looking for an inexpensive camera module with LVDS interface.
And I am not finding any.

Either the cameras have USB, parallel Interface or MIPI-CSI.
Or I find cameras for 400+ EUR/USD.

Anything from 320x240 up to 2.3MP should do.

Maybe that is just something that is difficult to search for?


24
Ok, no more questions then, the suspense though. :-)

One final remark though, I noticed that the BT822 is using a 38.4MHz crystal on the "Block Diagram" image.
That is an odd value.

25
One thing that just struck me, FT81x and BT81x do "only" have a 22 bit address range, so 4 megabyte.
Does this mean that the BT822 will be using a new memory model with a 30 bit address range in order to support the 27 bit needed to address the 128 megabyte of embedded DDR3L SDRAM plus FIFO plus DL plus registers plus external Flash and so on?

That would indeed be a fundamental change if the first bytes to be send is 32 bit instead of 24 bit and a change that I really would apreciate.         

26
That is 1Gbit, so 128MB, which is still a lot more.

And in regards of gameduino library, you should check out other options.

27
Ok, wow more nice features.

- 16kiB display list
- SD card support
- Audio is Stereo now and output is by I2S
- integrated Watchdog timer
- enhanced touch engine
- live video feed

Looks like there won't be a resistive touch variant this time and I can totally see why.
Edit: from one of the pictures: "Supports resistive and capactive touch panels..." - ok, so maybe both in one chip this time?

I guess documentation will become available with the launch in october?
Right now I am wondering if I will be improving my EVE library to support EVE-5 or if it would be better to do a separate library.
The memory layout is likely completely different which would make a new library without EVE2/3/4 support cleaner.

Any ETA on the availability of modules with display from Matrix Orbital, Crystalfontz or Riverdi?
I am very interested in buying a module with a BT822, 7" would be my sweetspot in regards of desk space needed. :-)
Heck, I would use a 5" if this is the first I can get my fingers on. :-)

28
I just saw the image on your Facebook page.
If I am spoilering and that went up only by accident, just don't approve my post. :-)

But wow.
- two channel LVDS TX for displays with up to 1920 x 1200
- two channel LVDS RX for Video *input* up to 1920 x 1200
- "Embedded 1Gbit DDR3L SDRAM" - so 128MB of RAM
- "Advanced EVE with Frame Buffer support for High Resolution HMI"

This sounds like a pretty fundamental change.
First I was thinking that is a lot of memory.
But then I noticed the "Frame Buffer" part.

I am looking forward to learn how much "EVE" is left in "EVE-5".

29
Discussion - EVE / Re: fading screen flicker
« on: September 03, 2024, 05:52:17 PM »
Has there ever been a solution to this problem? Is there any answer from bridgetek?

No, yes and maybe.

No, since as far as answers from Bridgetek, this is it, the thread went dead.

Yes, and this is based on experience since then, not on real hard data.
While the flash connected to the BT81x allows to display images directly, there is a caveat.
First off all, the bandwidth for the QSPI attached NOR flash is limited, naturally.
And this is not only limited by the clock of the QSPI but also latency when loading different assets since
reading something requires to address the flash first.
As I understand it, the pixel engine works thru the whole display list for every single line to be displayed.
So, there is a limit up to which this works as a product of the total bandwidth, the amount of data to be read per asset
and how many assets are supposed to be read, this is just a physical limitation.
Ok, yes, EVE-4 was improved and can prolong the time spent a pixel line but this reduces the refresh rate.

My advice from this is, pretend displaying anything directly from flash is not working at all.
Make use of all RAM-G before you try even try this and if you run out of RAM-G check what options you have
before starting to display anything from flash, like using ASTC for everything and check if the higher compression variants work for you.
Heck, ASTC-8x8 gave us full color plus alpha with only 2 bits per pixel while still looking good, this is like RAM-G getting 8x as large.
Not because displaying from flash is not working in general, but because it is a finite resource.

This brings me to the maybe.
Given that I had the most issues with one particular brand and model, my conclusion is that there is probably
some issue with the layout of that board between the BT815 and the flash.
There might have been reflections on the QSPI due to an impedance mismatch, so a layout issue.
But I will never know as I do not have the proper equipment to really measure a 36MHz QSPI.
My only real hint is that I used BT81x modules from three other brands and these allowed to push things further.


And looking forward we have this:
https://brtchip.com/bridgetek-is-in-embedded-world-2024-austin-texas/

EVE-5 is launched at Embedded World in Austin, Texas in five weeks.
I have no idea what is coming (why oh why?  ;) ) - but it has been a few years since BT817/BT818 was launched.

I even checked if I could attend the fair, but the 11 hour flight was a no-go for me.

30
Discussion - EVE / Re: EVE3 to EVE4 - Big Font Display Issue
« on: July 31, 2024, 08:50:42 PM »
The EVE_cmd_fontcache() line looks ok.

But, and I am still getting this wrong myself, CMD_SETFONT2 is generating display list commands, so it needs to be put in a display list,
this is not a direct co-processor command, more a nice shortcut to use less SPI traffic.
Like CMD_SETBITMAP.

Just a quick check with EVE Screen Editor:

CMD_SETFONT2(100, 200, 32)

->

Offset
(decimal)   Raw   Text
1   0x0500000a   BITMAP_HANDLE(10)
2   0x01000000   BITMAP_SOURCE(0)
3   0x28000000   BITMAP_LAYOUT_H(0, 0)
4   0x07000000   BITMAP_LAYOUT(ARGB1555, 0, 0)
5   0x29000000   BITMAP_SIZE_H(0, 0)
6   0x08000000   BITMAP_SIZE(NEAREST, BORDER, BORDER, 0, 0)

Ok, well, this is with no .xfont data.

Code: [Select]
EVE_cmd_dl(CMD_DLSTART);
EVE_cmd_dl(DL_CLEAR_COLOR_RGB | WHITE);
EVE_cmd_dl(DL_CLEAR | CLR_COL | CLR_STN | CLR_TAG);
EVE_cmd_setfont2(12,MEM_FONT50-0x010000,0x010000);
EVE_cmd_dl(DL_DISPLAY);
EVE_cmd_dl(CMD_SWAP);
EVE_execute_cmd();

Can't test this right away as I do not have  the right setup on my desk, but this should work better.

Pages: 1 [2] 3 4 ... 30