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

Pages: [1]
1
Discussion - EVE / Re: UNIOCDE fonts bigger than 18
« on: March 31, 2024, 05:51:38 PM »
I work currently with the XC16 Compiler from MicroChip on a dsPIC33 within MPLAB X IDE 5.5.

After Rudolph's comment to check the editor for UTF8-mode, i changed my settings from LatinX to UTF8.

But nevertheless, if i don't use encoding like this here, i will have no success:
EVE_cmd_text( 10, 10, 1, 0, "\n\u00A9\u00BA\u00C4\u00D6\u00DC\u00E4\u00F6\u00FC\n   The quick brown fox");

I also opened the related file with another editor and saved it there in UTF8 mode.



Thanks for your assistance!

2
Discussion - EVE / Re: UNIOCDE fonts bigger than 18
« on: March 26, 2024, 09:14:58 AM »
Meanwhile i don't know, where to seek else. I just can make assumptions.

My display is about 1 year old, maybe i have an older silicon of the BT817Q?

Rudolph, could you make your startup sequence public( initialization parameters )?

BRT Community, do you have any advice meanwhile?


3
Discussion - EVE / Re: UNIOCDE fonts bigger than 18
« on: March 23, 2024, 07:09:10 PM »
After remembering to a layout width of "96" ??? and Rudolph's wish to use 8x8 as a standard
i tried also 8x8 compression instead of 4x4.

Now the layout width is "64" and wonder it works. Also the file size of the glyph is about the half.

Further tries with a font size of 28, 29 and 32 failed again (Ubuntu Light, 8x8).

A font size of 31 with 12x12 workes fine.

A font size of 41 with 12x12 doesn't work.

A font size of 37 with 12x12 workes fine.


It seems the result is depending on a relationship of the font size to compression ratio.
As Rudolph's and my experience differ slighty, i asume that we have possible different sources of the ttf-files.

Some relations fit, some not.


I also would suggest to add one point more to Rudolph's wish list:

Please store "automatically" all parameters entered on closing EAB and restore them while starting again.
Especially the last used directories for opening and creating.

4
Discussion - EVE / Re: UNIOCDE fonts bigger than 18
« on: March 20, 2024, 03:24:00 PM »
Meanwhile i changed also to the same fontnumber 12 and string, as you did.



    while( EVE_init() != E_OK );

    EVE_init_flash();

    EVE_cmd_flashread( EVE_RAM_G,  113536, 312 ) ; // Ubuntu 19, multiple of 4
   
    EVE_cmd_dl( CMD_DLSTART );
    EVE_cmd_dl(CLEAR_COLOR_RGB(51,51,51));
    EVE_cmd_dl( CLEAR( 1, 1, 1 ) );
    EVE_cmd_dl( VERTEX_FORMAT(0) );
    EVE_cmd_setfont2( 12, EVE_RAM_G,       0 );
    EVE_cmd_dl( END() );
    EVE_cmd_dl( DISPLAY() );
    EVE_cmd_dl( CMD_SWAP );
    EVE_execute_cmd();
   
   
    EVE_cmd_dl( CMD_DLSTART );
    EVE_cmd_dl(CLEAR_COLOR_RGB(0,0,18));
    EVE_cmd_dl( CLEAR( 1, 1, 1 ) );

    EVE_cmd_text( 10,  10, 12, 0, "Quick fox at 120°C ");

    EVE_cmd_dl( END() );
    EVE_cmd_dl( DISPLAY() );
    EVE_cmd_dl( CMD_SWAP );
    EVE_execute_cmd();   
   
    //trap here
    while(1) {}



I'm using a Riverdi 7" 1024x600 display.

The display starts, Flash is loaded, taken address also from map-file, don't know what going on?


5
Oh god, thanks for the tip. I copied it out from an example without thinking.   

6
Discussion - EVE / Re: UNIOCDE fonts bigger than 18
« on: March 17, 2024, 05:24:41 PM »

EAB 2.10.2

7
Discussion - EVE / UNIOCDE fonts bigger than 18
« on: March 16, 2024, 01:10:26 PM »
Hi there,

is there a failure in the font converter?

When i create UNICODE fonts bigger than 18 the distance between the letters are to big, please see attachment.

In this case font "Ubuntu".

Or am i wrong?

8
Just testing Unicode strings.

The cmd_text() row also floods the screen. One word less at the end and it works, but the screen flickers.

EVE_cmd_setfont2( 1, EVE_RAM_G,  0 );
cmd_text( 10,  10, 1, 0, "\u00D6sterreicher \u00E4rgern sich \u00FCber \u00E4gypter");

20 rows with 2 or 3 Umlauts in 1 line are OK. More then 3 Umlauts in 1 line kill.

9
Hi Rudolph,

thanks a lot to you to work this out.

but the complexity of the display list per line and how much time EVE has to throw out pixels per line.

I think normally this should be mentioned within the specification.
This cost me a lot of time.

By the way, you name sounds to be from Southern Germany. Are you?




10
Hello Rudolph,

thanks a lot for your answer.

My second post was done before i read your first one. So they interfered.


I did some try and error.
i replaced STRIPLINE through POINTS and also LINES.

It seems the work. First i thought it's maybe a precision problem and i also changed to:

Code: [Select]
EVE_cmd_dl(VERTEX_FORMAT(0));
as you did.

Then a tried POINTS and as they worked i tried LINES.

So i assume at the moment it has maybe to do with the STRIPLINE calling parameters( size and position )



Meanwhile i read your second post.

My value for EVE_HCYCLE is also 1344.

This made it much better:

Code: [Select]
EVE_memWrite32(REG_AH_HCYCLE_MAX, EVE_HCYCLE + 500);
Also i don't understand what it does?

11
Can anybody confirm this behaviour?
I fear i stumbled over a bug.
4k is the limit of the coprocessor FIFO and not the display list.
If yes, i can stop the annoying search.
Maybe i am wrong or i oversee something?

12
Hi there,

i'm testing a MicroChip PIC32 EV-board connected to a new Riverdi 7" 1024x600 EVE4 BT817 display.
I'm using the EVE library from Rudolph.

So far everything is OK and all works fine.

To test out the limits i wrote a small test routine which writes zigzag lines in blocks of 250 single lines.

The BT817Q spec says display list size is 8k, but i crash after the 4k border:


void test_8k(void) {
   
   uint16_t  i;

   EVE_cmd_dl( CMD_DLSTART );               
   EVE_cmd_dl( CLEAR( 1, 1, 1 ) );
   
num_dl_static = EVE_memRead16(REG_CMD_DL);         // read current position

   EVE_color_rgb( WHITE );                         // sets the foreground color   
   EVE_cmd_dl( LINE_WIDTH( 1 * 16 ) );
   
  // *** draw zigzag 1
 
  EVE_cmd_dl( BEGIN(EVE_LINE_STRIP) );

   for( i = 0 ; i < 250 ; i++ ) {
      
      if( i % 2 )
      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  66*16 -50 *16 ) );
      else
      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  66*16 +50 *16 ) );

     
// to go sure
    if( i % 50 )
       EVE_execute_cmd();      
   }


num_dl_static = EVE_memRead16(REG_CMD_DL);         // read current position
      
  // *** draw zigzag 2
 
  EVE_cmd_dl( BEGIN(EVE_LINE_STRIP) );
   
   for( i = 0 ; i < 250 ; i++ ) {
      
      if( i % 2 )
      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  196*16 -50 *16 ) );
      else
      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  196*16 +50 *16 ) );
      
// to go sure
    if( i % 50 )
      EVE_execute_cmd();      
   }
   
num_dl_static = EVE_memRead16(REG_CMD_DL);         // read current position

  // *** draw zigzag 3
 
  EVE_cmd_dl( BEGIN(EVE_LINE_STRIP) );
   
   for( i = 0 ; i < 250 ; i++ ) {
      
      if( i % 2 )
      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  326*16 -50 *16 ) );
      else
      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  326*16 +50 *16 ) );
      
// to go sure
    if( i % 50 )
      EVE_execute_cmd();      
   }

num_dl_static = EVE_memRead16(REG_CMD_DL);         // read current position

  // *** draw zigzag 4
 
  EVE_cmd_dl( BEGIN(EVE_LINE_STRIP) );
   
//   for( i = 0 ; i < 250 ; i++ ) {   // CRASHES !
   for( i = 0 ; i < 230 ; i++ ) {   // OK
      
      if( i % 2 )
      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  456*16 -50 *16 ) );
      else
      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  456*16 +50 *16 ) );
      
// to go sure
    if( i % 50 )
      EVE_execute_cmd();      
   }

  // *** draw zigzag 5
 
//  EVE_cmd_dl( BEGIN(EVE_LINE_STRIP) );
//   
////   for( i = 0 ; i < 250 ; i++ ) {   // CRASHES !
//   for( i = 0 ; i < 230 ; i++ ) {
//      
//      if( i % 2 )
//      EVE_cmd_dl( VERTEX2F( 1600 + i*40,  586*16 -50 *16 ) );//
//      else
//        EVE_cmd_dl( VERTEX2F( 1600 + i*40,  586*16 +50 *16 ) );
//      
//    if( i % 50 )
//      EVE_execute_cmd();      
//   }

num_dl_static = EVE_memRead16(REG_CMD_DL);   

   EVE_cmd_dl( END() );
  EVE_cmd_dl( DL_DISPLAY );   
  EVE_cmd_dl( CMD_SWAP );     
  EVE_execute_cmd();
}



One picture shows the forth block with 230 lines, the second one with 250 line, which crashes.

"num_dl_static" shows the size of the display list to me in the debugger.

What am i doing i wrong ?


Pages: [1]