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 - BRT Community

Pages: [1] 2 3 ... 40
1
Discussion - EVE / Re: Loading Image into RAM_G Example
« on: July 29, 2022, 04:41:39 PM »
Hi,

If your image is in the raw format (e.g. converted to RGB565 or RGB332 or ARGB1555 etc. from the asset builder) then you can just write to RAM_G directly like writing to a SPI memory device. You dont need to use the co-processor for this and you can stream the data direct.

To do this you would use these steps:

Chip Select Low
Write the 3-byte address in RAM_G that you want the data to be written to (with the read/write bits set for writing)
Stream the data whilst holding CS low for a SPI burst write
Chip Select High

for the address it uses the two most significant bits as 10 and so for writing to RAM_G + 0 you would use 0x80 0x00 0x00 in step 2 above

Here is a small code snippet. This assumes the data is a multiple of 4 bytes but you can add code to pad to a multiple of 4 bytes with 1, 2 or 3 extra 0x00 bytes at the end (before the CS high)

Code: [Select]
MCU_CSlow();                                                                // CS low begins SPI transaction
    EVE_AddrForWr(DestAddress);                                                 // Send address to which first value will be written
 
    while(DataPointer < DataSize)
    {
        EVE_Write8(ImgData[DataPointer]);                                       // Send data byte-by-byte from array
        DataPointer ++;
    }
               
    MCU_CShigh();                 


Here is a 32-bit write example too,


Code: [Select]
// Writes a block of data to the RAM_G
void EVE_LIB_WriteDataToRAMG(const uint8_t *ImgData, uint32_t DataSize, uint32_t DestAddress)
{

HAL_ChipSelect(low);                    // Begins SPI transaction - CS low

HAL_SetWriteAddress(DestAddress); // Send address to which first value will be written

 
DataSize = (DataSize + 3) & (~3); // Pad data length to multiple of 4.


while (DataSize)  // Send data as 32 bits.
{
HAL_Write32(*(uint32_t *)ImgData);
ImgData += 4;
DataSize -= 4;
}

HAL_ChipSelect(high); // End SPI transaction - CS high
}

Best Regards, BRT Community

2
Discussion - EVE / Re: Linux ASTC encoder
« on: July 28, 2022, 02:32:26 PM »
Hello,

1)   The astcenc in EVE Asset Builder (EAB) is a common one which can be found on Github.  It is a copy of ARM ASTC encoder.
2)   EAB did extra work on the output of astcenc , including but not limited to the stripe off of the 16-byte header.
3)   The option “-f” or “-g” are not ASTC specific so you can ignore them.
4)   The enclosed file is a python code which converts one PNG to ASTC raw file for EVE.  Refer to the function “convert()” and note the case of “num_cell == 1”.  The function tile2() shuttles the ASTC tiles for EVE purpose.

Best regards, BRT Community

3
Discussion - EVE / Re: Touch Returns Incorrect Tag/Track Value
« on: July 26, 2022, 03:02:00 PM »
Hi,

Yes, you can email us at support.emea@brtchip.com if you would like us to have a look at your code,

Best Regards, BRT Community

4
Discussion - EVE / Re: Touch Returns Incorrect Tag/Track Value
« on: July 25, 2022, 08:24:31 PM »
Hi,

Could you advise which EVE module part # you have and which capacitive touch controller is used on it?

You may be able to also use the same sequence of commands and register reads as the button and slider code which we posted, on the Matrix Orbital code.

Calibration may not be essential if the CTP resolution matches that of the screen (but in any case should work well with BT817 and so would be good to find out why it hangs).

Best Regards,  BRT Community

5
Discussion - EVE / Re: Touch Returns Incorrect Tag/Track Value
« on: July 25, 2022, 05:33:15 PM »
Hi,

You can find the files in this repository (this is the one for FT900 MCU but the other MCU platforms covered by this BRT_AN_025 code are also in the Bridgetek repository)

https://github.com/Bridgetek/EVE-MCU-BRT_AN_025-Example-FT900

Please see eve_calibrate.c here https://github.com/Bridgetek/EVE-MCU-BRT_AN_025-Example-FT900/tree/main/example

and for the calibrate command definition itself you can get this here: https://github.com/Bridgetek/EVE-MCU-BRT_AN_025-Example-FT900/tree/main/lib/eve/source

The BRT_AN_025 for some MCUs (including FT900) stores the values but if you want to run calibration manually you can just use this list in your calibrate function.

      EVE_LIB_BeginCoProList();
      EVE_CMD_DLSTART();
      EVE_CLEAR_COLOR_RGB(0, 0, 0);
      EVE_CLEAR(1,1,1);
      EVE_COLOR_RGB(255, 255, 255);
      EVE_CMD_TEXT(EVE_DISP_WIDTH/2, EVE_DISP_HEIGHT/2,
            28, EVE_OPT_CENTERX | EVE_OPT_CENTERY,"Please tap on the dots");
      EVE_CMD_CALIBRATE(0);
      EVE_LIB_EndCoProList();
      EVE_LIB_AwaitCoProEmpty();

Best Regards, BRT Community

6
Discussion - EVE / Re: Touch Returns Incorrect Tag/Track Value
« on: July 25, 2022, 02:34:18 PM »
Hi,

Thanks for your code,

We will have a look at your code but here is a small button and slider example which you could also try to see if it runs well. It displays a slider which you can slide up and down and also a button. When you press the button, a red dot appears and the button is given a non-3D 'pressed in' appearance.

Best Regards, BRT Community



Code: [Select]
void eve_display(void)
{
    uint32_t TrackerVal = 0;
    uint8_t TagVal = 0;
    uint16_t SlideVal = 0;
    uint16_t Button3D = 0;
    uint8_t color = 0;

    while(1)
    {
        EVE_LIB_BeginCoProList();                                               // Begin new screen
        EVE_CMD_DLSTART();                                                      // Tell co-processor to create new Display List

        EVE_CLEAR_COLOR_RGB(0, 0, 0);                                           // Specify color to clear screen to
        EVE_CLEAR(1,1,1);                                                       // Clear color, stencil, and tag buffer

        EVE_TAG_MASK(1);                                                        // Enable tagging

        EVE_TAG(2);                                                             // Tag following items with tag 2
        EVE_CMD_FGCOLOR(0x0000FF);                                              // Blue foreground color
        EVE_CMD_BUTTON(100, 200, 150, 60, 27, Button3D, "Button");               // Draw button

        EVE_TAG(5);                                                             // Tag following items with tag 5
        EVE_CMD_SLIDER(300, 100, 16, 200, 0, SlideVal, 255);                    // Draw a slider
        EVE_CMD_TRACK(300, 100, 16, 200, 5);                                    // Place a tracker

        EVE_TAG_MASK(0);                                                        // Mask tagging so that following items won't be tagged

        EVE_BEGIN(EVE_BEGIN_POINTS);                                                    // Draw a dot in red at 140, 100)
        EVE_POINT_SIZE(30*16);
        EVE_COLOR_RGB(color, 0, 0);                                             // Set colour to blue and write some text
        EVE_VERTEX2F((140*16), (100*16));
        EVE_END();

        EVE_DISPLAY();                                                          // Tell EVE that this is end of list
        EVE_CMD_SWAP();                                                         // Swap buffers in EVE to make this list active

        EVE_LIB_EndCoProList();                                                 // Finish the co-processor list burst write
        EVE_LIB_AwaitCoProEmpty();                                              // Wait until co-processor has consumed all commands

        // ------ read tag and tracker values --------
        TagVal = HAL_MemRead8(EVE_REG_TOUCH_TAG);                                   // Get Tag value
        TrackerVal = HAL_MemRead32(EVE_REG_TRACKER);                                // Read the value of the tag and track register

        if(TagVal == 2)
        {// If button pushed tag register will read 2
            color = 0xFF;                                                       // change red amount to 255
            Button3D = 256;                                                     // Give the button a pushed-in appearance
        }
        else
        {// Otherwise...
            color = 0x00;                                                       // change red amount to 0 so dot is not visible
            Button3D = 0;                                                       // Button has 3D effect (not pushed in))
        }

        if(TagVal == 5)                                                         // if slider touched...
        {
            SlideVal = (TrackerVal >> 24);                                      // ... then get the tracker value.
            // Note: Value of tracking is 16 bits but we only use upper 8 bits since the slider is set for 8 bit resolution
        }

        //APP_SnapShot2PPM();                                                   // Un-comment to take snapshot (see BRT_AN_014)

        // Result of button press and slider value will be displayed next time round
    }
}





void eve_example(void)
{
    // Initialise the display
    EVE_Init();

    // Calibrate the display
    eve_calibrate();

    // Start example code
    eve_display();
}

7
Discussion - EVE / Re: Linux ASTC encoder
« on: July 25, 2022, 01:06:14 PM »
Hello,

The method we advise using utilises Eve Asset Builder’s (EAB) command line mode and should save you a lot of time.

After installing EAB, you can run the image converter from the installation folder, for example:

“eab_tools  img_cvt  -i C:/Users/Pictures/appleicon.png -f 20 -o C:/Users/Pictures/temp -e thorough -x "C:/Users/Public/Documents/EVE Asset Builder 2.6.0_3.0.0/tools/astcenc.exe" -g”

The input file is “appleicon” and output folder is “C:/Users/Pictures/temp”.

Best regards, BRT Community

8
Discussion - EVE / Re: Touch Returns Incorrect Tag/Track Value
« on: July 22, 2022, 05:41:39 PM »
Hi,

Could you post a code snippet showing an example of your co-processor list which draws a couple of buttons and tags them etc.

Best Regards. BRT Community

9
Shared Projects / Re: 5.0" EVE3 Weld Process Optimization System
« on: July 22, 2022, 05:38:21 PM »
Thanks for sharing,

The display module integrates very nicely into the panel of the equipment. Much more user friendly and versatile than lots of buttons and arrays of LEDs too. Even for devices which upload the data to computers or servers, its really good to have that local display to set up and monitor the system.

Best Regards, BRT Community

10
Hello,

It is worth considering the CMD_SETBITMAP as this makes it easier to set up your bitmaps and is easier to use than the individual commands.

You can use a SetBitmap command just before the vertex

   BEGIN(BITMAPS);
   CMD_SETBITMAP(0, L2, 300, 225);
   VERTEX2F(0,0);
   CMD_SETBITMAP(40000, L2, 300, 225);
   VERTEX2F(100*16,100*16);

You can also set the bitmaps up in a display list beforehand and you can then use them later on. for this you can create a display list with DLSTART at the start and DISPLAY  SWAP at the end.
{
        CMD_DLSTART();
   CLEAR_COLOR_RGB(0, 0, 0);
   CLEAR(1,1,1);

   BITMAP_HANDLE(0);
   CMD_SETBITMAP(0, L2, 300, 225);
   BITMAP_HANDLE(1);
   CMD_SETBITMAP(40000, L2, 300, 225);

   DISPLAY();
   CMD_SWAP();
}

// in the new screen where you want to use them:
   BEGIN(BITMAPS);
   VERTEX2II(0,0,0,0); // handle 0
   VERTEX2II(100,100,1,0); // handle 1

Best Regards, BRT Community

11
Discussion - EVE / Re: Monochrome Button
« on: July 12, 2022, 11:15:56 AM »
Hello,

Utilising two CMD_BUTTON widgets will result is  more RAM_DL usage than Rudolph's method for a simple button, if RAM_DL usage is a concern in your application I would consider the RECTS approach.

Best Regards,
BRT Community 

12
Discussion - EVE / Re: Monochrome Button
« on: July 06, 2022, 04:29:24 PM »
Hello,

Thank you for your question.

Firstly i would note that it is possible to use the TAG functionality on any item placed on the screen, normally we would recommend users look at utilising bitmaps to represent custom buttons if they have a desired button aesthetic they are trying to achieve. This normally requires generating a bitmap which contains both 'pressed' and 'unpressed' versions of the button, this can be placed on screen and tagged as normal, when a touch is detected in the tagged area you can update the display list to show the pressed/un-pressed button accordingly. This method may be more applicable to what you are trying to achieve in regards to monochrome buttons.

Alternatively if you wish to continue utilising the inbuilt CMD_BUTTON, you can use the CMD_FGCOLOR function to colour the main button component and then utilise the LINES primitives to add the button edges, see attached for a quick example and below for the code used:

Code: [Select]
CLEAR(1, 1, 1)
COLOR_RGB(255, 255, 127)
CMD_FGCOLOR(0x000000)
CMD_BUTTON(316, 266, 120, 36, 27, 0, "Mute")
BEGIN(LINES)
VERTEX2F(5056, 4240)
VERTEX2F(5056, 4816)
VERTEX2F(5056, 4816)
VERTEX2F(6976, 4816)
VERTEX2F(6976, 4816)
VERTEX2F(6976, 4240)
VERTEX2F(6976, 4240)
VERTEX2F(5056, 4240)
END()

Best Regards,
BRT Community

13
Hello,

I have sent the installer via WeTransfer, if anyone else requires the EAB 2.4.1 installer please let us know.

Hello,

Taking advantage of the post, you could share the download link of the EAB v2.4.1 version, it's video file conversion system is much superior to the most recent version available.

PS: By the way, I wish they could go back to the v241 video conversion engine in future updates.

I have requested the installer from the development team for EAB 2.4.1.

Best Regards,
BRT Community

Best Regards,
BRT Community

14
Hello,

Taking advantage of the post, you could share the download link of the EAB v2.4.1 version, it's video file conversion system is much superior to the most recent version available.

PS: By the way, I wish they could go back to the v241 video conversion engine in future updates.

I have requested the installer from the development team for EAB 2.4.1.

Best Regards,
BRT Community

15
Hello,

Thank you for your post, you can use the following link to download the 2.1.0 release of EVE Asset Builder:
https://brtchip.com/wp-content/uploads/Utilities/EVE-Asset-Builder-setup-2.1.0-rc2.zip

We do recommend moving to the latest version of the toolchain where possible.

Best Regards,
BRT Community

Pages: [1] 2 3 ... 40