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 - madhusudan.jadhav

Pages: [1]
1
Discussion - EVE / Re: REG_TOUCH_RZ giving output 32627 without touching
« on: November 20, 2020, 10:12:33 AM »
is that touchscreen got faulty?

2
Discussion - EVE / Re: REG_TOUCH_RZ giving output 32627 without touching
« on: November 12, 2020, 11:44:45 AM »
Ok understood, I put the app_calibrate its working values are as below,

DATAOUT =52605
DATAOUT =232
DATAOUT =33926
DATAOUT =-195
DATAOUT =-33436
DATAOUT =32024056
 now after i run one page code. but tag values are not coming when i touch the buttons.

3
Discussion - EVE / REG_TOUCH_RZ giving output 32627 without touching
« on: November 10, 2020, 06:28:59 AM »
Hi there,
 I am using matrix orbital EVE2-70A TPR tft display for my industrial project. when i run the calibration file i found without touch the calibration getting over and without touch REG_TOUCH_RZ I am getting 32627 it means display got touch. Please see the code below.
void Calibrate_Manual(uint16_t Width, uint16_t Height, uint16_t V_Offset, uint16_t H_Offset)
{
  uint32_t displayX[3], displayY[3];
  uint32_t touchX[3], touchY[3];
  uint32_t touchValue = 0, storedValue = 0;
  int32_t tmp, k;
  int32_t TransMatrix[6];
  uint8_t count = 0;
  char num[2];
  uint8_t touch_lock = 1;
  uint32_t touchness=0;

  // These values determine where your calibration points will be drawn on your display
  displayX[0] = (Width * 0.15) + H_Offset;
  displayY[0] = (Height * 0.15) + V_Offset;

  displayX[1] = (Width * 0.85) + H_Offset;
  displayY[1] = (Height / 2) + V_Offset;

  displayX[2] = (Width / 2) + H_Offset;
  displayY[2] = (Height * 0.85) + V_Offset;

  while (count < 3)
  {
  //  Send_CMD(CMD_DLSTART);
  //  Send_CMD(CLEAR_COLOR_RGB(64, 64, 64));
  //  Send_CMD(CLEAR(1,1,1));
     API_LIB_BeginCoProList();
    API_CMD_DLSTART();                                                      // Tell co-processor to create new Display List
                API_CLEAR_COLOR_RGB(64, 64, 64);                                     // Specify color to clear screen to
                API_CLEAR(1,1,1);
    // Draw Calibration Point on screen
    API_COLOR_RGB(255, 0, 0);
    API_POINT_SIZE(20 * 16);
    API_BEGIN(FTPOINTS);
    API_VERTEX2F((uint32_t)(displayX[count]) * 16, (uint32_t)((displayY[count])) * 16);

    API_COLOR_RGB(255, 255, 255);
    API_CMD_TEXT((Width / 2) + H_Offset, (Height / 3) + V_Offset, 27, OPT_CENTER, "Calibrating");
    API_CMD_TEXT((Width / 2) + H_Offset, (Height / 2) + V_Offset, 27, OPT_CENTER, "Please tap the dots");
    num[0] = count + 0x31; num[1] = 0;                                            // null terminated string of one character
    API_CMD_TEXT(displayX[count], displayY[count], 27, OPT_CENTER, num);
    API_END();
    API_DISPLAY();
    API_CMD_SWAP();
                                                           // Swap buffers in EVE to make this list active
                          API_LIB_EndCoProList();                                                 // Finish the co-processor list burst write
                        API_LIB_AwaitCoProEmpty();      // wait here until the coprocessor has read and executed every pending command.

    while(1)
    {

       SEGGER_RTT_printf(0,"%stouchvalue =%d\r\n",RTT_CTRL_BG_BRIGHT_GREEN,EVE_MemRead32(REG_TOUCH_RZ) & 0x7fff,RTT_CTRL_RESET);
      touchValue = EVE_MemRead32(REG_TOUCH_DIRECT_XY);    // Read for any new touch tag inputs

      if(touchValue > 1877868500){
      SEGGER_RTT_printf(0,"%stouchmatrix =%d\r\n",RTT_CTRL_BG_BRIGHT_GREEN,touchValue,RTT_CTRL_RESET);}
      if(touch_lock)
      {
        if(touchValue & 0x80000000) // check if we have no touch
          {
            touch_lock = 0;
          }
      }
      else
      {
        if (!(touchValue & 0x80000000)) // check if a touch is detected
          {
           touchValue = EVE_MemRead32(REG_TOUCH_DIRECT_XY);
            touchX[count] = (touchValue>>16) & 0x03FF;   // Raw Touchscreen Y coordinate
            touchY[count] = touchValue & 0x03FF;      // Raw Touchscreen Y coordinate
            touch_lock = 1;
            count++;
            break; // leave while(1)
          }
      }
    }
  }

  k = ((touchX[0] - touchX[2]) * (touchY[1] - touchY[2])) - ((touchX[1] - touchX[2]) * (touchY[0] - touchY[2]));

  tmp = (((displayX[0] - displayX[2]) * (touchY[1] - touchY[2])) - ((displayX[1] - displayX[2])*(touchY[0] - touchY[2])));
  TransMatrix[0] = CalcCoef(tmp, k);

  tmp = (((touchX[0] - touchX[2]) * (displayX[1] - displayX[2])) - ((displayX[0] - displayX[2])*(touchX[1] - touchX[2])));
  TransMatrix[1] = CalcCoef(tmp, k);

  tmp = ((touchY[0] * (((touchX[2] * displayX[1]) - (touchX[1] * displayX[2])))) + (touchY[1] * (((touchX[0] * displayX[2]) - (touchX[2] * displayX[0])))) + (touchY[2] * (((touchX[1] * displayX[0]) - (touchX[0] * displayX[1])))));
  TransMatrix[2] = CalcCoef(tmp, k);

  tmp = (((displayY[0] - displayY[2]) * (touchY[1] - touchY[2])) - ((displayY[1] - displayY[2])*(touchY[0] - touchY[2])));
  TransMatrix[3] = CalcCoef(tmp, k);

  tmp = (((touchX[0] - touchX[2]) * (displayY[1] - displayY[2])) - ((displayY[0] - displayY[2])*(touchX[1] - touchX[2])));
  TransMatrix[4] = CalcCoef(tmp, k);

  tmp = ((touchY[0] * (((touchX[2] * displayY[1]) - (touchX[1] * displayY[2])))) + (touchY[1] * (((touchX[0] * displayY[2]) - (touchX[2] * displayY[0])))) + (touchY[2] * (((touchX[1] * displayY[0]) - (touchX[0] * displayY[1])))));
  TransMatrix[5] = CalcCoef(tmp, k);

  count = 0;
  do
  {
     EVE_MemWrite32(REG_TOUCH_TRANSFORM_A + (count * 4), TransMatrix[count]);  // Write to Eve config registers

//    uint16_t ValH = TransMatrix[count] >> 16;
//    uint16_t ValL = TransMatrix[count] & 0xFFFF;
//    Log("TM%d: 0x%04x %04x\n", count, ValH, ValL);

    count++;
  }while(count < 6);
}

4
Hi there,
I tried following code but then also touch isnot worknig.
void Calibrate_Manual(uint16_t Width, uint16_t Height, uint16_t V_Offset, uint16_t H_Offset)
{
  uint32_t displayX[3], displayY[3];
  uint32_t touchX[3], touchY[3];
  uint32_t touchValue = 0, storedValue = 0;
  int32_t tmp, k;
  int32_t TransMatrix[6];
  uint8_t count = 0;
  uint32_t count1=0;
  uint8_t pressed = 0;
  char num[2];

  // These values determine where your calibration points will be drawn on your display
  displayX[0] = (uint32_t) (Width * 0.15) + H_Offset;
  displayY[0] = (uint32_t) (Height * 0.15) + V_Offset;

  displayX[1] = (uint32_t) (Width * 0.85) + H_Offset;
  displayY[1] = (uint32_t) (Height / 2) + V_Offset;

  displayX[2] = (uint32_t) (Width / 2) + H_Offset;
  displayY[2] = (uint32_t) (Height * 0.85) + V_Offset;

 while (count < 3)
 {   //  count =1;
     API_LIB_BeginCoProList();
     API_CMD_DLSTART();
     API_CLEAR_COLOR_RGB(0, 0, 0);
     API_CLEAR(1,1,1);

    // Draw Calibration Point on screen
    API_COLOR_RGB(255, 0, 0);
    API_POINT_SIZE(20 * 16);
    API_BEGIN(FTPOINTS);
    API_VERTEX2F((uint32_t)(displayX[count]) * 16, (uint32_t)((displayY[count])) * 16);
    //API_END();
    API_COLOR_RGB(255, 255, 255);
    API_CMD_TEXT((Width / 2) + H_Offset, (Height / 3) + V_Offset, 27, OPT_CENTER, "Calibrating");
    API_CMD_TEXT((Width / 2) + H_Offset, (Height / 2) + V_Offset, 27, OPT_CENTER, "Please tap the dots");
    num[0] = count + 0x31; num[1] = 0;                                            // null terminated string of one character
    API_CMD_TEXT(displayX[count], displayY[count], 27, OPT_CENTER, num);
      API_END();
    API_DISPLAY();                                                          // Tell EVE that this is end of list
            API_CMD_SWAP();
            API_LIB_EndCoProList();                                                             // Trigger the CoProcessor to start processing commands out of the FIFO
    API_LIB_AwaitCoProEmpty();  // wait here until the coprocessor has read and executed every pending command.
 // APP_Calibrate();
  //count++;
    MCU_Delay_500ms();

   while (pressed == count )
   {
      touchValue =EVE_MemRead32(REG_TOUCH_TAG_XY );  // Read for any new touch tag inputs
   //   SEGGER_RTT_printf(0, "%d\r\n", RTT_CTRL_BG_BRIGHT_RED,touchValue);
      if ((touchValue & 0x8000000)==0)
      {
         touchX[count] = (touchValue >> 16) & 0x03FF;                                  // Raw Touchscreen Y coordinate
         touchY[count] = touchValue & 0x03FF;                                        // Raw Touchscreen Y coordinate

                                                                  //Log("\ndisplay x[%d]: %ld display y[%d]: %ld\n", count, displayX[count], count, displayY[count]);
                                                                  //Log("touch x[%d]: %ld touch y[%d]: %ld\n", count, touchX[count], count, touchY[count]);

         count++;
      }
   }
   pressed = count;

 }

  k = ((touchX[0] - touchX[2])*(touchY[1] - touchY[2])) - ((touchX[1] - touchX[2])*(touchY[0] - touchY[2]));

  tmp = (((displayX[0] - displayX[2]) * (touchY[1] - touchY[2])) - ((displayX[1] - displayX[2])*(touchY[0] - touchY[2])));
  TransMatrix[0] = ((int64_t)tmp << 16) / k;

  tmp = (((touchX[0] - touchX[2]) * (displayX[1] - displayX[2])) - ((displayX[0] - displayX[2])*(touchX[1] - touchX[2])));
  TransMatrix[1] = ((int64_t)tmp << 16) / k;

  tmp = ((touchY[0] * (((touchX[2] * displayX[1]) - (touchX[1] * displayX[2])))) + (touchY[1] * (((touchX[0] * displayX[2]) - (touchX[2] * displayX[0])))) + (touchY[2] * (((touchX[1] * displayX[0]) - (touchX[0] * displayX[1])))));
  TransMatrix[2] = ((int64_t)tmp << 16) / k;

  tmp = (((displayY[0] - displayY[2]) * (touchY[1] - touchY[2])) - ((displayY[1] - displayY[2])*(touchY[0] - touchY[2])));
  TransMatrix[3] = ((int64_t)tmp << 16) / k;

  tmp = (((touchX[0] - touchX[2]) * (displayY[1] - displayY[2])) - ((displayY[0] - displayY[2])*(touchX[1] - touchX[2])));
  TransMatrix[4] = ((int64_t)tmp << 16) / k;

  tmp = ((touchY[0] * (((touchX[2] * displayY[1]) - (touchX[1] * displayY[2])))) + (touchY[1] * (((touchX[0] * displayY[2]) - (touchX[2] * displayY[0])))) + (touchY[2] * (((touchX[1] * displayY[0]) - (touchX[0] * displayY[1])))));
  TransMatrix[5] = ((int64_t)tmp << 16) / k;

  count = 0;
  do
  {
     EVE_MemWrite32(REG_TOUCH_TRANSFORM_A + RAM_REG + (count * 4), TransMatrix[count]);  // Write to Eve config registers

    uint16_t ValH = TransMatrix[count] >> 16;
   uint16_t ValL = TransMatrix[count] & 0xFFFF;
   //("TM%d: 0x%04x %04x\n", count, ValH, ValL);
   SEGGER_RTT_printf(0, "%d\r\n", RTT_CTRL_BG_BRIGHT_RED,ValL);
   SEGGER_RTT_printf(0, "%d\r\n", RTT_CTRL_BG_BRIGHT_BLUE,ValH);
    count++;
  }while(count < 6);
//count1=  EVE_MemRead32(REG_TOUCH_TRANSFORM_A);
//SEGGER_RTT_printf(0, "%d\r\n", RTT_CTRL_BG_BRIGHT_RED,ValL);
}

5
Discussion - EVE / EVE2 70A Display comes and goes blank.
« on: July 24, 2020, 08:44:32 AM »
Hi there,
I have matrix orbital EVE2-70A resistive display and interfaced with xmc4500. The Code is attached. When I reset the MCU the Display blinks with diagram and goes again blank. please help.

6
Hi there, is there any screen designer available for fast prototyping for FT812. So that I can port the code in my project?

7
Hi there,
I am using xmc4500 with matrix orbital eve2-70A TPR. I want to put one input box. there I will put some values for the process on display. How to do? please help.

8
Hi, I am using xmc4500 relaxkit with matrix orbital eve2-70A TPR. I am using library An014 for application. I am using standard full-duplex SPI mode. I run the calibrate app and then slider button the button app runs. but the touch runs only once. if i touch outside of button and then touch the button then button never runs. Also for the touch, I have to put calibrate function every time how to store the touch value permanently.

9
Discussion - EVE / white background for eve2-70A TPR
« on: February 27, 2020, 06:34:33 PM »
Hi, I am using xmc4500 relax kit with matrix orbital eve2-70A TPR . I want to set background white . How to set it. Please help.

10
Discussion - EVE / Re: problem regarding eve2 display.
« on: August 02, 2019, 04:03:22 AM »
HI,
The same code I have applied.
As I am using Matrix orbital EVE2-70A TPR module
I did the following wiring
1) pin no.1 3.3v, pin no.16 3.3v, pin no.17,18 all are shorted to 3.3 v from mcu board.
2) Pin no.2 GND, Pin no. 15 GND, Pin no. 19,20 all are shorted to GND from mcu board
3) int pin is shorted to GND of mcu board through 4.7 kohm.
is this connection is correct?

11
Discussion - EVE / Re: problem regarding eve2 display.
« on: July 27, 2019, 07:39:41 PM »
Hi,
Sorry for late
Atlast I manage to read the Reg_ID as 0x7c. I optimized the delay after ACTIVE command. But The reading was changing if I changed the delay time after Active command from 1 sec to 5 sec. now delay is 3.563 sec. Should this happen?
I am trying to read reset memory 302020h. but reading 12 is coming.

12
Discussion - EVE / Re: problem regarding eve2 display.
« on: June 11, 2019, 03:10:10 PM »
Yes, I have written the initialization sequence using xmc code  with format given in data sheet. But I am unable to read the memory.  I have tried arduino code and AN-008 code also. The host command I have written by hex code for testing. but couldnt get readings. Is there any way of checking to read memory?

13
Discussion - EVE / Re: problem regarding eve2 display.
« on: June 05, 2019, 03:14:03 PM »

14
Discussion - EVE / problem regarding eve2 display.
« on: April 23, 2019, 08:30:20 PM »
Hi,
 I am using infineon make xmc4500 realx kit with eve2-70A display. I have written the program. I take reference of one arduno based project using eve2 display. but display isnot getting. even i saw datasheet and programmed xmc4500  but no display is coming. i need help. the program is developed in infineon dave software.
please help i am newbee.

15
New Member Introductions / HI new member
« on: April 23, 2019, 08:23:12 PM »
Hi there,
I am madhusudan jadhav. I am embedded developer. I am using eve2-70A-TPR display for industrial project.

Pages: [1]