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

Author Topic: EVE Screen Designer software support for EVE3-TFT series module  (Read 12772 times)

ashishgarag

  • Newbie
  • *
  • Posts: 2
    • View Profile
EVE Screen Designer software support for EVE3-TFT series module
« on: December 19, 2019, 09:53:04 AM »

Hi,

I have EVE3-43A-BLM-TPN-F32 TFT module and started developing the basic GUI on SPI interface by reading BT81X datasheet and programming manual.
EVE3-TFT interfaced with MSP430 and development has already started but due to short dead line for the project we wont be able complete the project in time without any GUI development software.
So,I want to know something about EVE screen designer 4.8 for quick development and ready to use library. i downloaded the software and installed and gone through the document. But EVE3 TFT(BT816 480*272 resolution) is not supported in this software and there is no examples for the same module, i checked in the software and document as well. It has support for FT9xx series and VM816C50A module which i don't have with me.
Please guide me how to make use of EVE screen Designer Software with EVE3-43A TFT , is it possible to develop GUI on screen designer with EVE3-TFT.
or
Do i need to buy new development board (VM816C50A) to make use of EVE screen designer software or is there any alternative to use existing EVE3-TFT module?
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 746
    • View Profile
Re: EVE Screen Designer software support for EVE3-TFT series module
« Reply #1 on: December 19, 2019, 11:38:42 AM »

Hello

EVE Screen Designer (ESD) does work with the BT81x series of ICs, however the code it generates is heavily obfuscated and specific to our FT9XX series of microcontrollers.
As you are not using the FT9XX as your MCU I would advise against using ESD. It would be possible to port the code to different microcontrollers, but the only guide we have is for the STM32 platform.

You can use the EVE Screen Editor (ESE) utility instead to lay out static screens and create Display Lists but this does not create code for the logic of moving between screens. A BT81x Series Programmers Guide is also available.

A draft application note is available which extends the FT81X Simple PIC Library Examples Application note, which is based upon the Library developed in    FT81X Creating a Simple Library For PIC MCU, this includes an MSP430 project.

The source code can be downloaded here.

Best Regards,
BRT Community
Logged

Rudolph

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: EVE Screen Designer software support for EVE3-TFT series module
« Reply #2 on: December 19, 2019, 12:02:18 PM »

I have to say, AN025 is looking a lot like my own code library: https://github.com/RudolphRiedel/FT800-FT813  8)

AN025 does support a different set of targets though and while I do have MSP432 code in place,
I did not add MSP430 code, yet.
But I have support for a whole buckload of display modules, including the EVE3-43G.
Logged

ashishgarag

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: EVE Screen Designer software support for EVE3-TFT series module
« Reply #3 on: December 20, 2019, 10:56:15 AM »

Thanks for reply.

Has any one port the readily available library(like ugfx,LittlevGL,any others...) with EVE3-TFT module.
Logged

Rudolph

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: EVE Screen Designer software support for EVE3-TFT series module
« Reply #4 on: December 20, 2019, 02:57:24 PM »

Regarding the porting of ugfx or LittlevGL, I also have to suggest that you play a bit with EVE Screen Editor.
EVE uses an approach that is a bit different to be highly efficent especially on small µC.

If you attach a basic CCS Project or send me one ( drone42(at)t-online.de ) for your target controller with a main.c that at least initialises one timer for a 5ms interrupt I can try to "port" my library to the MSP430.
Or rather make it support the MSP430 as there is nothing really to be ported.

I also need code to setup the SPI to mode 0 with a speed of less than 11MHz, code to set and release the I/Os for chip-select and power down as well as code to read and write data bus with the SPI.

To give you an example what the target portion of my library looks like, this is what I have for MSP432 now.
And I even consider the second block a bit misplaced as I normally use main.c for basic init.
Whats left is a crude delay function, five one-liners and three two-line functions.

Code: [Select]
    #if defined (__TI_ARM__)

        #if defined (__MSP432P401R__)

        #include <ti/devices/msp432p4xx/inc/msp.h>
        #include <ti/devices/msp432p4xx/driverlib/driverlib.h>
        #include <stdint.h>

        #define RIVERDI_PORT GPIO_PORT_P1
        #define RIVERDI_SIMO BIT6   // P1.6
        #define RIVERDI_SOMI BIT7   // P1.7
        #define RIVERDI_CLK BIT5    // P1.5
        #define EVE_CS_PORT         GPIO_PORT_P5
        #define EVE_CS              GPIO_PIN0           //P5.0
        #define EVE_PDN_PORT        GPIO_PORT_P5
        #define EVE_PDN             GPIO_PIN1           //P5.1

        void EVE_SPI_Init(void);

        static inline void DELAY_MS(uint16_t val)
        {
            uint16_t counter;

            while(val > 0)
            {
                for(counter=0; counter < 8000;counter++) // ~1ms at 48MHz Core-Clock
                {
                    __nop();
                }
                val--;
            }
        }

        static inline void EVE_pdn_set(void)
        {
            P5OUT &= ~EVE_PDN;   /* Power-Down low */
        }

        static inline void EVE_pdn_clear(void)
        {
            P5OUT |= EVE_PDN;    /* Power-Down high */
        }

        static inline void EVE_cs_set(void)
        {
            P5OUT &= ~EVE_CS;   /* CS low */
        }

        static inline void EVE_cs_clear(void)
        {
            P5OUT |= EVE_CS;    /* CS high */
        }

        static inline void spi_transmit_async(uint8_t data)
        {
            #if defined (EVE_DMA)

            #else
            UCB0TXBUF_SPI = data;
            while(!(UCB0IFG_SPI & UCTXIFG)); /* wait for transmission to complete */
            #endif
        }

        static inline void spi_transmit(uint8_t data)
        {
            UCB0TXBUF_SPI = data;
            while(!(UCB0IFG_SPI & UCTXIFG)); /* wait for transmission to complete */
        }

        static inline uint8_t spi_receive(uint8_t data)
        {
            UCB0TXBUF_SPI = data;
            while(!(UCB0IFG_SPI & UCTXIFG)); /* wait for transmission to complete */
            return UCB0RXBUF_SPI;
         }

        static inline uint8_t fetch_flash_byte(const uint8_t *data)
        {
            return *data;
        }

        #endif /* __MSP432P401R__ */

    #endif /* __TI_ARM */

Code: [Select]
    #if defined (__TI_ARM__)
        #if defined (__MSP432P401R__)

/* SPI Master Configuration Parameter */
const eUSCI_SPI_MasterConfig EVE_Config =
{
        EUSCI_B_SPI_CLOCKSOURCE_SMCLK,             // SMCLK Clock Source
        48000000,                                   // SMCLK  = 48MHZ
        500000,                                    // SPICLK = 1Mhz
        EUSCI_B_SPI_MSB_FIRST,                     // MSB First
        EUSCI_B_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT,    // Phase
        EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_LOW, // High polarity
        EUSCI_B_SPI_3PIN                           // 3Wire SPI Mode
};

void EVE_SPI_Init(void)
{
    GPIO_setAsOutputPin(EVE_CS_PORT,EVE_CS);
    GPIO_setAsOutputPin(EVE_PDN_PORT,EVE_PDN);
    GPIO_setOutputHighOnPin(EVE_CS_PORT,EVE_CS);
    GPIO_setOutputHighOnPin(EVE_PDN_PORT,EVE_PDN);
    GPIO_setAsPeripheralModuleFunctionInputPin(RIVERDI_PORT, RIVERDI_SIMO | RIVERDI_SOMI | RIVERDI_CLK, GPIO_PRIMARY_MODULE_FUNCTION);
    SPI_initMaster(EUSCI_B0_BASE, &EVE_Config);
    SPI_enableModule(EUSCI_B0_BASE);
}

        #endif
#endif

I have Code Composer Studio installed and can turn a given project into a basic demo.
I never used MSP430 oder MSP432 though, or any other TI controller.
« Last Edit: December 20, 2019, 03:01:51 PM by Rudolph »
Logged