Closed uldara1 closed 1 year ago
@uldara1 Thanks for reporting this issue !
I was not aware of this problem because I had never run it with the pin_rd setting set to -1. I have made a fix in the develop branch, so please try it out.
@lovyan03 thank for your reply i try your update chip not restart anymore but display not display correct as example code pls check
If your sample is accurate, then there is a mistake here.
lgfx::Bus_Parallel16 _bus_instance;
cfg.dlen_16bit = true;
Use Bus_Parallel8 and set false to dlen_16bit.
It work now thank you 🙏
There was one thing that I forgot to tell you.
cfg.memory_height = 320;
This should be changed to 480
. Otherwise, the coordinates will be broken when setRotation is used.
@lovyan03 my LCD has touch capacitor but i don't know chip number this chip support i2C interface how can i know address of touch ic ?
cfg.i2c_port = 0;
cfg.i2c_addr = 0x38;
cfg.pin_sda = 15;
cfg.pin_scl = 14;
cfg.freq = 400000;
i use this configure but touch not working
oh... I am not a psychic. How am I supposed to know what you bought?
i found touch ic is GSLX680
@uldara1 I have updated the develop branch and added support for GSLx680. Probably the I2C address is 0x40. Please give it a try.
@lovyan03 Hello i have tested with your library, touch work in calibration mode and after calibration i don't know how to get touch x,y position Note: I have modify firmware data to make this GSLx680 library work with my module pls check attached file
Hi @lovyan03 just updated
Now your library is work 😘🥰
@uldara1 I am glad to hear that it worked well. BTW, where was the firmware you uploaded?
@lovyan03 yeah i need to update firmware to make its work , for working firmware I attached upper Thank
@uldara1 Where did you find that firmware? I know almost nothing about GSLx680. If more than one type of firmware is needed, I would like to know why.
Where did you find that firmware?
@uldara1 and, I would also like to know what product you purchased. Do you have a URL where I can purchase the same product?
@lovyan03 i use "WT-86-32-3ZW1" from wireless tag
you can find from link https://www.alibaba.com/product-detail/3-92-Inch-320-320-86_1700007792543.html?spm=a2747.manage.0.0.2e6271d2yYJnlo https://blog.lvgl.io/2021-09-09/WT32-86-review
for firmware i found from this example https://github.com/wireless-tag-com/8ms-esp32/ https://github.com/wireless-tag-com/8ms-esp32/blob/main/components/touch_panel/gslx680/touch_data.h
@uldara1 Thanks for the information ! The develop branch has been updated.
Four types with different firmware are available.
lgfx::Touch_GSL1680E_800x480 // GSL_1680E, 1688E, 2681B, 2682B
lgfx::Touch_GSL1680F_800x480
lgfx::Touch_GSL1680F_480x272
lgfx::Touch_GSLx680_320x320
I think your panel will work by using lgfx::Touch_GSLx680_320x320
.
Also, lgfx::Touch_GSLx680
has been changed to have no firmware and a setFirmWare
function has been added.
Use this function if you want to use your own firmware.
@lovyan03 I have tested with Touch_GSLx680_320x320 and it worked well. and i have one more question related with touch . how to make touch work correctly without calibration how to save calibration data from touch
thank
@uldara1
Perhaps GSLx680 will match the coordinates without calibration. If necessary, do the following
/// get calibrate data:
uint16_t data[8];
gfx.calibrateTouch(data, TFT_WHITE, TFT_BLACK);
/// check calibrate data:
Serial.print("calibrate data:\n");
for (int i = 0 ; i < 8; ++i)
{
Serial.printf("[%d] = %d\n", i, data[i]);
}
/// set calibrate data:
gfx.setTouchCalibrate(data);
@uldara1
Perhaps GSLx680 will match the coordinates without calibration. If necessary, do the following
/// get calibrate data: uint16_t data[8]; gfx.calibrateTouch(data, TFT_WHITE, TFT_BLACK); /// check calibrate data: Serial.print("calibrate data:\n"); for (int i = 0 ; i < 8; ++i) { Serial.printf("[%d] = %d\n", i, data[i]); } /// set calibrate data: gfx.setTouchCalibrate(data);
I need to calibration touch to make it work if not calibation touch not work at correct point here is calibration data that i get from touch
calibrate data: [0] = 43 [1] = 68 [2] = 61 [3] = 643 [4] = 966 [5] = 62 [6] = 1015 [7] = 647
thank
@lovyan03 for touch seem to be error when don't touch anything around 10s , touch not work correctly i don't know problem with touch or firmware. but when we reset chip it's work again
@uldara1 Hmmm. I am also in the state of not knowing anything about the details of GSLx680, so I can't give you proper advice. My guess is that its firmware was supposed to return values up to 320. However, your calibration data shows that it actually returns values much higher than 320. Perhaps unless I get the same hardware and try it I will not be able to confirm the problem.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been automatically closed because it has not had recent activity. Thank you for your contributions.
Hi i try to use 8bit parallel on this library but when i upload code ESP32 S2 always restart
when i change to 16bit mode is ok