BRT Community

Please login or register.

Login with username, password and session length
Advanced search  


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

Pages: [1] 2 3 ... 10
 on: May 17, 2019, 01:28:05 PM 
Started by bobgardner - Last post by BRT Community

The LINE_WIDTH() command sets the width of a line in 1/16 of a pixel increments. So using LINE_WIDTH(1) will set the line to 1/16 of a pixel wide. This is also the same with the VERTEX2F() command, it works on 1/16 of a pixel accuracy.

Also you've set the color of the lines to be black, which is also the background color for your display.

Try either selecting a different color for the background color, or line color and using VERTEX2II (or adjusting the values in VERTEX2F accordingly):
Code: [Select]
CLEAR_COLOR_RGB(255, 0, 0)
CMD_BUTTON(56, 8, 208, 86, 28, OPT_FLAT, "208x86")
COLOR_RGB(0, 0, 0)
VERTEX2II(55, 7, 0, 0)
VERTEX2II(55, 95, 0, 0)
VERTEX2II(265, 95, 0, 0)
VERTEX2II(55, 95, 0, 0)
VERTEX2II(265, 95, 0, 0)
VERTEX2II(265, 7, 0, 0)
VERTEX2II(55, 7, 0, 0)
VERTEX2II(265, 7, 0, 0)

Best Regards,
BRT Community

 on: May 17, 2019, 01:03:59 PM 
Started by bobgardner - Last post by BRT Community

The BT81x is an integrated graphical controller display IC which includes our Embedded Video Engine (EVE) core, as well as interfaces for touch and audio control. It is a custom silicon design, not an MCU, FPGA, etc.

You can find a block diagram at the following:

Best Regards,
BRT Community

 on: May 17, 2019, 09:20:55 AM 
Started by elektor18 - Last post by elektor18
Hello again,

Predominantly the image will need to be converted to be used, but it is possible to directly load some .png images.

Best Regards,
BRT Community
Could you give maybe some more details how to do that, please?

Rudolph, thank you for this information, now I need to "digest" it and try to play with it  ;D

 on: May 16, 2019, 06:38:26 PM 
Started by bobgardner - Last post by bobgardner
Hello EVE programmers. I have a matrix orbital 29a tft and the arduino shield. I can draw a big button 208x86 in the middle of the screen which is 320x102. Now I'd like to add a couple of 1 pixel wide horz lines at the top of the button like from 58,10 to 250,10 and 2 lines below that. Here's what Ive got
void MakeScreen_Kln(void)
  Send_CMD(COLOR_RGB(60,60,60));       //color gray                     
  Cmd_FGcolor(0xffffff);               //white 

  Send_CMD(CMD_SETROTATE);    //works
  Send_CMD(1);                //inverted landscape

  //---------x   y  w    h   fnt opt   
  Cmd_Button(56, 8, 208, 86, 28, 0xff, "208x86"); //gets here! 

  //  Send_CMD(LINE_WIDTH(1));             //these 7 lines dont work
  Cmd_FGcolor(0x000000);     //black 
  Send_CMD(VERTEX2F(58,10)); //thin horz line
  Send_CMD(VERTEX2F(58,12)); //thin horz line

  UpdateFIFO();                                            // Trigger the CoProcessor to start processing the FIFO

I guess you see I am using the matrix orbital arduino example, please forgive me. Any idea how to get the lines to draw at the top of the button? Thanks.

 on: May 16, 2019, 04:33:00 PM 
Started by bobgardner - Last post by bobgardner
Is it a computer? 8 bit? 16 bit? 32 bit? Clock? An FPGA? Just wondering how it does all that stuff so fast.

 on: May 15, 2019, 07:00:58 PM 
Started by elektor18 - Last post by Rudolph
>Next question, dial widget. Is it possible to create custom dial (or slider)?

First, what it looks like.
When you use a CMD_DIAL() in the EVE Screen Editor and check the "Inspector" tab you will see this:

   Raw   Text
1   0x22000000   SAVE_CONTEXT()
2   0x27000002   VERTEX_FORMAT(2)
3   0x0d000240   POINT_SIZE(576)
4   0x1f000002   BEGIN(POINTS)
5   0x04ffffff   COLOR_RGB(255, 255, 255)
6   0x412d02d2   VERTEX2F(602, 722)
7   0x04000000   COLOR_RGB(0, 0, 0)
8   0x413002d8   VERTEX2F(608, 728)
9   0x04003870   COLOR_RGB(0, 56, 112)
10   0x412e02d4   VERTEX2F(604, 724)
11   0x1f000003   BEGIN(LINES)
12   0x04000000   COLOR_RGB(0, 0, 0)
13   0x0e00001b   LINE_WIDTH(27)
14   0x41168311   VERTEX2F(557, 785)
15   0x410b8333   VERTEX2F(535, 819)
16   0x23000000   RESTORE_CONTEXT()
17   0x22000000   SAVE_CONTEXT()
18   0x27000002   VERTEX_FORMAT(2)
19   0x0e00001b   LINE_WIDTH(27)
20   0x41180314   VERTEX2F(560, 788)
21   0x410d0336   VERTEX2F(538, 822)
22   0x23000000   RESTORE_CONTEXT()

So what is displayed for a dial is three overlapping points and two overlapping lines.
Along with some redundant code I have to say, now that I see this.

What makes this a widget is that the co-processor calculates the position of the line to a given angle.
Also there is the "flat" option which reduces the amount of points to be drawn to one.

This can be easily replaced with a picure of a knob or a steering-wheel, or a triangle, or a parrot or whatever.
You can tell EVE to rotate images.

Now the tricky part is to make your dial or slider behave like a dial or a slider.
The widgets do not do this by themselves, much like a button will not automatically display itself as pressed.
Key to this is CMD_TRACK.

With for example

You activate touch-tracking for a single object and tell EVE you want the result as angle.

This is the angle you can either call the dial widget with or by which you tell EVE to rotate your image.
The result can be found in REG_TRACKER.

Oh yes, it helps when you combine this with touch detection itself.
Only activate touch-tracking for an object when you detected a touch-event for it and disable tracking
when the object no longer is touched.
And REG_TRACKER also returns the touch-tag for verification.

I recently played with this myself in order to implement a steering wheel.
One of the problems I had was the winkel returned is absolute.

When you touch on any point around the given center the angle you get in return is for that point.
Now imagine the steering wheel in your car and what will happen when you tab it on the upper left and the bottom
rotates directly over to upper left. :-)
Or the knob on your stereo, it also will not switch between zero and max when you tab it on the lower left and  lower right.

I solved that by reading the initial value right after starting tracking and when my programm checks again for a touch-event
it calculates the difference from that initial point to the current point and only adds this difference to the angle of my steering wheel.

What I find a bit difficult is the numeric representation of the angle.
It is in 1/65535 with bottom center at zero.

What I have not figured out completely yet is how to limit the movement to +/- 40° for example.

 on: May 15, 2019, 11:00:20 AM 
Started by elektor18 - Last post by BRT Community

Please see section 7 of the following application note, it covers the methods available for loading images to display:

Predominantly the image will need to be converted to be used, but it is possible to directly load some .png images.

Yes, it is possible to create your own custom widgets.

Best Regards,
BRT Community

 on: May 14, 2019, 01:46:50 PM 
Started by elektor18 - Last post by elektor18
Hi all,

I'm planing to store images (bmp/jpg) on sd card and I'm wondering if that is going to be possible to display on screen using BT816 chip? or image need to be converted first and loaded to display?
Next question, dial widget. Is it possible to create custom dial (or slider)? If yes, is someone did it already maybe, maybe some examples? 

Thanks in advance.

 on: May 13, 2019, 01:37:59 PM 
Started by lazyhd - Last post by lazyhd

We implemented EVE FT813 in a new design and I am now building the UI. I tried to find the answers for the below on my own but reached a dead end.
Any help is appreciated

Given that my touch controller supports multitouch, how can I achieve pinch to zoom ? Is it doable inside ESD ? If not any reference to doing it by code ?

I have a chart I want to draw, the chart has 100,000 points on it. Should I reduce the number of points on the host (by averaging or otherwise) in order to fit on the screen's 800px resolution ?
What is the best way to draw this graph ? Should I send the coordinates of each of the points one by one ?
Should I recalculate the graph vertices on the host when the user zoom in or out ?


 on: May 09, 2019, 03:21:28 PM 
Started by GuyVerachtert - Last post by BRT Community

You can find examples at the following, these include arduino samples within the project structure:

Best Regards,
BRT Community

Pages: [1] 2 3 ... 10