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 ... 40 41 [42] 43 44 ... 50
616
Discussion - MCU / Re: FT900-D2XX number of interfaces
« on: February 11, 2020, 04:39:46 PM »
Hello,

You have already contacted our support team with this issue.

Feel free to post any resolution here to help other community users.

Best Regards,
BRT Community

617
Hello,

These fixes, as previously mentioned in this thread are for Hycon HY4614 Series touch controllers.

For your touch controller you will be required to use Touch Host Mode, please refer to section 4.8.7 of the BT81x datasheet:
https://brtchip.com/wp-content/uploads/Support/Documentation/Datasheets/ICs/EVE/DS_BT81X.pdf

Best Regards,
BRT Community

618
Hello,

Do you know which touch controllers your displays are using?

To perform the Hycon clock stretching fix for the BT81x, it is necessary to load a file to the touch engine for BT81x, please see below:
Hello Rudolph,

It's all good! and yes that is correct.

As for the BT81x I have some more information on this regarding a patch:
It is necessary to load a file to the touch engine for BT81x. Please refer to this Gpu_Hal.c file, see the end of function BootupConfig for the edits.

Code: [Select]
//########################### HYCON FIX BT81X ##################################################

/*\touch-capcs-815.binle
StartOffset: 00000000, EndOffset: 000005B1, Length: 000005B2 */
PROGMEM prog_uchar8_t TOUCH_DATA_U8_HYCON[1458] = {
0xD7, 0x02, 0xD8, 0x02, 0x00, 0x80, 0x8C, 0x66, 0x01, 0x80, 0x8F, 0x62,
0x27, 0x61, 0x10, 0x61, 0x1D, 0x6B, 0x9C, 0x61, 0x00, 0x80, 0x8F, 0x67,
0x10, 0x61, 0x9D, 0x61, 0x11, 0x61, 0x9D, 0x61, 0x27, 0x61, 0x8C, 0x60,
0x27, 0x61, 0x11, 0x61, 0x1D, 0x6B, 0x9C, 0x61, 0x27, 0x61, 0x27, 0x61,
0x11, 0x61, 0x11, 0x61, 0x1D, 0x6B, 0x1D, 0x6B, 0x27, 0x61, 0x10, 0x61,
0x27, 0x61, 0x10, 0x61, 0x1D, 0x6B, 0x1D, 0x6B, 0x10, 0x61, 0x27, 0x61,
0x10, 0x61, 0x1D, 0x6B, 0x8C, 0x60, 0x03, 0x67, 0x8C, 0x66, 0x0A, 0x40,
0x8C, 0x66, 0x00, 0x80, 0x8F, 0x68, 0x10, 0x61, 0x8F, 0x68, 0x03, 0x68,
0x8C, 0x66, 0x10, 0x61, 0x8F, 0x6F, 0x00, 0x6A, 0x8C, 0x66, 0x33, 0x40,
0x8F, 0x62, 0x0E, 0x40, 0x03, 0x68, 0x3C, 0x20, 0x03, 0x61, 0x3D, 0x00,
0x8F, 0x60, 0x8C, 0x60, 0x0E, 0x40, 0x2D, 0x40, 0x39, 0x00, 0x11, 0x60,
0x8F, 0x62, 0x01, 0x80, 0x8F, 0x69, 0x00, 0x6A, 0x00, 0x80, 0x8C, 0x67,
0x27, 0x80, 0x01, 0x80, 0x10, 0x61, 0x33, 0x60, 0x8F, 0x61, 0x00, 0x80,
0x4A, 0x00, 0x11, 0x6C, 0x10, 0x61, 0x04, 0x40, 0x8C, 0x6C, 0x06, 0x40,
0x0B, 0x80, 0x4B, 0x40, 0x4B, 0x00, 0x4F, 0x40, 0x10, 0x61, 0x27, 0x61,
0x03, 0x62, 0x10, 0x61, 0x11, 0x6B, 0x03, 0x62, 0x10, 0x61, 0x11, 0x61,
0x1D, 0x6B, 0x03, 0x6F, 0x35, 0x00, 0x4F, 0x40, 0x06, 0x40, 0x27, 0x61,
0x00, 0x80, 0x00, 0x80, 0x1D, 0x6B, 0x11, 0x60, 0x78, 0x20, 0x24, 0x60,
0x01, 0x80, 0x03, 0x63, 0x71, 0x20, 0x16, 0x40, 0x58, 0x40, 0x1C, 0x40,
0x0E, 0x40, 0x58, 0x40, 0x1C, 0x40, 0x1D, 0x6B, 0x43, 0x40, 0x69, 0x00,
0x03, 0x61, 0x1C, 0x40, 0x03, 0x61, 0x8F, 0x61, 0x0E, 0x40, 0x14, 0x80,
0x63, 0x40, 0x27, 0x61, 0x27, 0x61, 0x12, 0x80, 0x63, 0x40, 0x1D, 0x6B,
0x1D, 0x6B, 0x58, 0x40, 0x16, 0x80, 0x57, 0x40, 0x03, 0x60, 0x22, 0x40,
0x1A, 0x80, 0x63, 0x40, 0x27, 0x61, 0x27, 0x61, 0x18, 0x80, 0x63, 0x40,
0x1D, 0x6B, 0x1D, 0x6B, 0x58, 0x40, 0x1C, 0x80, 0x57, 0x40, 0x8F, 0x60,
0x01, 0x80, 0x10, 0x61, 0x09, 0x80, 0x00, 0x6C, 0x10, 0x61, 0x03, 0x69,
0x8F, 0x63, 0x0C, 0x80, 0x00, 0x6C, 0x8F, 0x67, 0x00, 0x80, 0x9D, 0x40,
0x00, 0x66, 0xA0, 0x20, 0x8C, 0x60, 0x00, 0x80, 0x0A, 0x80, 0x11, 0x6C,
0xA7, 0x20, 0x33, 0x60, 0x8F, 0x61, 0x11, 0x60, 0xB4, 0x20, 0x40, 0x86,
0xA5, 0x40, 0x45, 0x40, 0xAE, 0x20, 0x03, 0x61, 0x00, 0x6A, 0xAB, 0x00,
0x8F, 0x61, 0xA5, 0x40, 0xA5, 0x00, 0x2C, 0x80, 0x49, 0x00, 0x2B, 0x80,
0x4D, 0x40, 0x01, 0x80, 0x2A, 0x80, 0x33, 0x60, 0x03, 0x61, 0x2A, 0x80,
0x11, 0x6C, 0x0A, 0x40, 0xC5, 0x20, 0xA5, 0x40, 0xC0, 0x00, 0x8F, 0x61,
0x01, 0x80, 0x2B, 0x80, 0x33, 0x60, 0x8F, 0x61, 0x2B, 0x80, 0x49, 0x40,
0xBB, 0x00, 0x2B, 0x80, 0x4D, 0x40, 0x00, 0x80, 0x2A, 0x80, 0x33, 0x60,
0x8F, 0x61, 0x2B, 0x80, 0x49, 0x40, 0xCF, 0x00, 0xCF, 0x40, 0xA5, 0x00,
0xCA, 0x40, 0xB5, 0x40, 0xB9, 0x40, 0xB5, 0x40, 0xCD, 0x00, 0xD3, 0x40,
0xB5, 0x40, 0xCD, 0x40, 0xB5, 0x40, 0xB9, 0x40, 0xB5, 0x40, 0xCA, 0x00,
0xC6, 0x40, 0xA5, 0x40, 0xBB, 0x40, 0x2A, 0x80, 0x11, 0x6C, 0xE8, 0x20,
0x03, 0x61, 0x2B, 0x80, 0xB5, 0x40, 0x00, 0x6C, 0xD6, 0x00, 0xCF, 0x40,
0x2B, 0x80, 0x33, 0x60, 0x03, 0x61, 0xA5, 0x40, 0xBB, 0x40, 0xB5, 0x40,
0xD6, 0x00, 0x7F, 0x80, 0x04, 0x80, 0x98, 0x00, 0x00, 0x80, 0xF7, 0x40,
0x41, 0x40, 0x03, 0x64, 0xD8, 0x40, 0xCF, 0x40, 0xB5, 0x40, 0x11, 0x60,
0x07, 0x80, 0x03, 0x69, 0xEF, 0x40, 0x11, 0x60, 0x06, 0x80, 0x03, 0x69,
0xEF, 0x40, 0x11, 0x60, 0x05, 0x80, 0x03, 0x69, 0xEF, 0x40, 0x11, 0x60,
0x04, 0x80, 0x03, 0x69, 0xEF, 0x40, 0x11, 0x60, 0x03, 0x80, 0x03, 0x69,
0xEF, 0x40, 0x11, 0x60, 0x02, 0x80, 0x03, 0x69, 0xEF, 0x40, 0x11, 0x60,
0x01, 0x80, 0x03, 0x69, 0xEF, 0x40, 0xEF, 0x40, 0xE4, 0x40, 0x21, 0x21,
0x00, 0x00, 0x8C, 0x60, 0x41, 0x40, 0xE4, 0x40, 0x8F, 0x62, 0xE4, 0x40,
0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41,
0x22, 0x01, 0x01, 0x80, 0xFB, 0x40, 0x25, 0x41, 0x00, 0x80, 0xEF, 0x00,
0x02, 0x40, 0xEF, 0x00, 0x25, 0x41, 0x30, 0x01, 0x34, 0x41, 0x22, 0x41,
0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41,
0x22, 0x41, 0x30, 0x01, 0x25, 0x41, 0x32, 0x41, 0x03, 0x61, 0xDD, 0x00,
0x22, 0x80, 0x53, 0x00, 0x20, 0x80, 0x53, 0x00, 0x24, 0x80, 0x53, 0x00,
0x21, 0x80, 0x4B, 0x40, 0x44, 0x41, 0x0E, 0x40, 0x46, 0x41, 0x23, 0x80,
0x53, 0x00, 0x1D, 0x6B, 0x03, 0x62, 0x27, 0x61, 0x8C, 0x60, 0xFF, 0xFF,
0x00, 0x66, 0x9D, 0x60, 0x55, 0x41, 0x06, 0x40, 0x04, 0x80, 0x37, 0x40,
0x51, 0x41, 0x44, 0x01, 0x46, 0x01, 0x4F, 0x01, 0x48, 0x01, 0x21, 0x80,
0x4B, 0x40, 0x25, 0x80, 0x4B, 0x00, 0x05, 0x80, 0x11, 0x60, 0x00, 0x6A,
0x58, 0x41, 0x45, 0x40, 0x66, 0x21, 0x8C, 0x60, 0x11, 0x60, 0x05, 0x80,
0x03, 0x6F, 0x75, 0x21, 0x01, 0x80, 0x10, 0x61, 0x03, 0x71, 0x03, 0x64,
0x76, 0x01, 0x8F, 0x61, 0x8C, 0x60, 0x27, 0x61, 0x00, 0x80, 0x10, 0x61,
0x11, 0x60, 0x82, 0x21, 0x10, 0x61, 0x11, 0x6B, 0x10, 0x40, 0x10, 0x61,
0x00, 0x6A, 0x7A, 0x01, 0xB5, 0x40, 0x40, 0x41, 0x03, 0x61, 0x0C, 0x60,
0x11, 0x60, 0x00, 0x80, 0x11, 0x60, 0x05, 0x80, 0x03, 0x68, 0x98, 0x21,
0x27, 0x61, 0x11, 0x60, 0x01, 0x80, 0x03, 0x63, 0x0A, 0x40, 0x94, 0x21,
0x11, 0x6B, 0x58, 0x41, 0x43, 0x40, 0x1D, 0x6B, 0x04, 0x40, 0x88, 0x01,
0x7A, 0x00, 0x03, 0x80, 0x96, 0x40, 0x0A, 0x00, 0xF7, 0x40, 0x5D, 0x80,
0x8F, 0x67, 0x4E, 0x81, 0xFA, 0x40, 0x9C, 0x41, 0xA8, 0x21, 0x08, 0x80,
0x00, 0x69, 0x80, 0x80, 0x03, 0x64, 0x01, 0x41, 0x01, 0x01, 0x00, 0x80,
0x0E, 0x80, 0x9E, 0x00, 0xA9, 0x41, 0x8C, 0x66, 0xB5, 0x40, 0x11, 0x61,
0x10, 0x40, 0x00, 0x80, 0x9D, 0x40, 0x03, 0x64, 0xB6, 0x21, 0x01, 0x00,
0x2D, 0x80, 0x00, 0x6C, 0x00, 0x67, 0xAF, 0x21, 0x7A, 0x00, 0xAC, 0x81,
0x9C, 0x41, 0xC4, 0x21, 0x4D, 0x80, 0xA0, 0x41, 0xDD, 0x40, 0x2D, 0x41,
0x40, 0x41, 0xC5, 0x01, 0x99, 0x41, 0x01, 0x80, 0x03, 0x63, 0x0E, 0x40,
0xAE, 0x41, 0x01, 0x80, 0x03, 0x65, 0xAE, 0x01, 0xA9, 0x81, 0xBC, 0x01,
0x36, 0x41, 0xFF, 0x8F, 0x8F, 0x63, 0xCE, 0x41, 0x36, 0x41, 0x0C, 0x80,
0x00, 0x69, 0x27, 0x61, 0xCF, 0x41, 0x36, 0x41, 0x03, 0x61, 0x7C, 0x40,
0x11, 0x6B, 0x5A, 0x41, 0x1D, 0x6B, 0x6C, 0x01, 0xFA, 0x40, 0x02, 0x80,
0x01, 0x41, 0xDD, 0x40, 0x2D, 0x01, 0xDE, 0x41, 0xD1, 0x81, 0x77, 0x41,
0x8F, 0x61, 0x02, 0x40, 0x02, 0x40, 0x55, 0x41, 0xFF, 0xFF, 0x8C, 0x60,
0xDE, 0x41, 0xCE, 0x41, 0xCE, 0x41, 0x06, 0x40, 0xF5, 0x21, 0x0E, 0x40,
0x7C, 0x40, 0xC8, 0x80, 0xF7, 0x01, 0x7A, 0x40, 0xE7, 0x41, 0xB5, 0x40,
0x40, 0x41, 0x4A, 0x01, 0xBB, 0x41, 0xE3, 0x41, 0x48, 0x40, 0xFA, 0x01,
0xCC, 0x41, 0xEC, 0x41, 0x48, 0x40, 0xFE, 0x01, 0x34, 0x41, 0x34, 0x41,
0x08, 0x80, 0x03, 0x71, 0x8F, 0x62, 0x9F, 0x41, 0xDD, 0x40, 0x2D, 0x41,
0x0F, 0x80, 0x8F, 0x63, 0x07, 0x42, 0x34, 0x41, 0x03, 0x61, 0x02, 0x42,
0x02, 0x42, 0xEF, 0x41, 0x9F, 0x41, 0x00, 0x80, 0x01, 0x41, 0xDD, 0x00,
0xCC, 0x41, 0x0C, 0x42, 0x48, 0x40, 0x16, 0x02, 0x34, 0x41, 0x27, 0x61,
0x02, 0x42, 0x02, 0x42, 0x34, 0x41, 0x03, 0x61, 0xD7, 0x01, 0x07, 0x42,
0x1A, 0x82, 0x77, 0x41, 0x12, 0x02, 0x00, 0x80, 0xBB, 0x41, 0x21, 0x42,
0x0C, 0x40, 0x03, 0x64, 0x2C, 0x22, 0x48, 0x40, 0x26, 0x02, 0x27, 0x61,
0x11, 0x6B, 0x00, 0x6C, 0x11, 0x67, 0x34, 0x22, 0x03, 0x61, 0x2E, 0x02,
0x0C, 0x60, 0x8F, 0x60, 0x11, 0x64, 0x2B, 0x00, 0x01, 0x80, 0x11, 0x61,
0x8F, 0x71, 0x00, 0x80, 0x11, 0x60, 0x05, 0x80, 0x03, 0x68, 0x4C, 0x22,
0x27, 0x61, 0x11, 0x60, 0x01, 0x80, 0x03, 0x63, 0x0A, 0x40, 0x48, 0x22,
0x11, 0x6B, 0x58, 0x41, 0x43, 0x40, 0x1D, 0x6B, 0x04, 0x40, 0x3C, 0x02,
0x7A, 0x00, 0xAC, 0x41, 0x52, 0x22, 0xE7, 0x41, 0x4A, 0x41, 0x53, 0x02,
0x65, 0x41, 0x29, 0x80, 0x49, 0x40, 0x0F, 0x80, 0x10, 0x80, 0x00, 0x6C,
0x11, 0x67, 0x5C, 0x22, 0x03, 0x61, 0x56, 0x02, 0x0F, 0x80, 0x00, 0x65,
0x68, 0x22, 0x0D, 0x80, 0x00, 0x6C, 0x11, 0x80, 0x00, 0x6C, 0x27, 0x61,
0x27, 0x61, 0x29, 0x80, 0x4D, 0x40, 0x56, 0x02, 0x03, 0x61, 0xAC, 0x41,
0x76, 0x22, 0x1D, 0x6B, 0x1D, 0x6B, 0x36, 0x42, 0x71, 0x22, 0xE7, 0x41,
0x74, 0x02, 0x0E, 0x40, 0x7C, 0x40, 0xC8, 0x80, 0x4A, 0x41, 0x8D, 0x02,
0x00, 0x80, 0x10, 0x61, 0x0F, 0x80, 0x00, 0x65, 0x8B, 0x22, 0x38, 0x42,
0x06, 0x40, 0x03, 0x64, 0x10, 0x61, 0x1D, 0x6B, 0x1D, 0x6B, 0x36, 0x42,
0x86, 0x22, 0x7A, 0x40, 0x55, 0x41, 0x87, 0x02, 0x7C, 0x40, 0x06, 0x40,
0x5A, 0x41, 0x10, 0x61, 0x78, 0x02, 0x03, 0x61, 0x3B, 0x42, 0x48, 0x40,
0x53, 0x02, 0x8C, 0x60, 0x0B, 0x80, 0x96, 0x40, 0xA0, 0x20, 0xFA, 0x40,
0x99, 0x41, 0x98, 0x22, 0x03, 0x80, 0xA5, 0x80, 0x01, 0x41, 0x01, 0x41,
0xDD, 0x40, 0xA0, 0x40, 0x00, 0x00, 0x2C, 0x80, 0x4D, 0x40, 0xAB, 0x40,
0xB7, 0x40, 0xAB, 0x00, 0x0E, 0x80, 0x96, 0x40, 0xA6, 0x22, 0x4D, 0x42,
0xB7, 0x40, 0xAC, 0x41, 0x11, 0x60, 0xAD, 0x22, 0xE7, 0x41, 0x4A, 0x41,
0xAE, 0x02, 0x65, 0x41, 0x48, 0x40, 0x02, 0x80, 0x9A, 0x41, 0xC2, 0x22,
0x9C, 0x41, 0xBF, 0x22, 0x01, 0x80, 0x04, 0x80, 0x4B, 0x40, 0x37, 0x80,
0x01, 0x80, 0x9D, 0x42, 0x04, 0x80, 0x4D, 0x40, 0x50, 0x80, 0xAB, 0x40,
0xC2, 0x02, 0x2C, 0x81, 0x06, 0x80, 0x9D, 0x42, 0xAC, 0x41, 0x27, 0x40,
0x1F, 0x41, 0x01, 0x80, 0xAB, 0x00, 0x00, 0x80, 0x9D, 0x40, 0xCB, 0x22,
0x90, 0x42, 0x9C, 0x41, 0xD0, 0x22, 0xAC, 0x41, 0x25, 0x22, 0x16, 0x42,
0xAC, 0x41, 0xFA, 0x21, 0xFE, 0x41, 0xFA, 0x40, 0xA1, 0x41, 0x01, 0x41,
0xDD, 0x00, 0xA2, 0x42, 0xC7, 0x02
};


Gpu_Hal_Wr8(host, REG_CPURESET, 0x02);
Gpu_Hal_WrMem(host, RAM_JTBOOT, (uint8_t *)TOUCH_DATA_U8_HYCON, sizeof(TOUCH_DATA_U8_HYCON));
//(vc.RAM_JTBOOT, open("touch-capcs-815.binle").read());
Gpu_Hal_Wr8(host, REG_CPURESET, 0x00);

Best Regards,
BRT Community


Best Regards,
BRT Community

619
Discussion - EVE / Re: issue with EVE Asset Builder 1.2.0
« on: January 22, 2020, 02:45:18 PM »
Hi Rudolph,
Thanks for highlighting this, we'll check with the author of the EAB application and will post an update soon,
Best Regards,
BRT Community

620
Discussion - EVE / Re: Resetting handles
« on: January 17, 2020, 04:25:32 PM »
Hello,

The development team looked into this and have found the behaviour is related to EVEs firmware.

Users can add the  BITMAP_SWIZZLE(RED,GREEN,BLUE,ALPHA)  before drawing the bitmap to rectify the issue.

Another finding is that if the bitmap is not in ASTC format, the colour can be shown correctly.

Here is the reference code:

Code: [Select]
void App_task_email_2020jan15() {
       const uint32_t fontNo = 0;
       const uint32_t fontAddr = 0;

       Gpu_CoCmd_FlashHelper_SwitchFullMode(g_phost);

       Common_Text("Testing bitmap issue after Cmd_SetFont2");
       Gpu_CoCmd_FlashRead(g_phost, fontAddr, 20992, 1024);

       uint16_t iw = 508;
       uint16_t ih = 120;
       uint16_t format = COMPRESSED_RGBA_ASTC_4x4_KHR;

       while (1) {
              /// Cmd_SetFont2
              if(1){
                     Common_StartDisplay();
                     
                     App_WrCoCmd_Buffer(g_phost, SAVE_CONTEXT());
                     App_WrCoCmd_Buffer(g_phost, COLOR_RGB(0, 0, 0));
                     Gpu_CoCmd_SetFont2(g_phost, fontNo, fontAddr, 0);
                     Gpu_CoCmd_Text(g_phost, 0, 0, fontNo, 0, "\x002d\x002c\x0039\x0032\x003b\x0035\x0037\x003c\x003d\x001c\x0029\x0036");
                     Gpu_CoCmd_ResetFonts(g_phost);
                     App_WrCoCmd_Buffer(g_phost, RESTORE_CONTEXT());
                     
                     Common_EndDisplay();
                     EVE_sleep(2000);
              }
              Gpu_CoCmd_ColdStart(g_phost);
              /// Draw bitmap with same handle number
              {


                     if (1){
                           Gpu_CoCmd_Dlstart(g_phost);


                           App_WrCoCmd_Buffer(g_phost, CLEAR(1, 1, 1));
                           App_WrCoCmd_Buffer(g_phost, COLOR_RGB(255, 255, 255));
                     }
                     Gpu_CoCmd_ResetFonts(g_phost);

                     App_WrCoCmd_Buffer(g_phost, SAVE_CONTEXT());
                     Gpu_Hal_LoadImageToMemory(g_phost, TEST_DIR "\\car_508x120_COMPRESSED_RGBA_ASTC_4x4_KHR.raw", RAM_G + 1024, LOAD);
                     Gpu_CoCmd_SetBitmap(g_phost, RAM_G + 1024, format, iw, ih);
                     App_WrCoCmd_Buffer(g_phost, BITMAP_SWIZZLE(RED,GREEN,BLUE,ALPHA));
                     App_WrCoCmd_Buffer(g_phost, BITMAP_HANDLE(fontNo));
                     App_WrCoCmd_Buffer(g_phost, BEGIN(BITMAPS));
                     App_WrCoCmd_Buffer(g_phost, VERTEX2II(0, 0, 0, 0));
                     App_WrCoCmd_Buffer(g_phost, END());
                     App_WrCoCmd_Buffer(g_phost, RESTORE_CONTEXT());
                     
                     Common_EndDisplay();
                     EVE_sleep(2000);
              }
       } // loop forever
}

Best Regards,
BRT Community

621
Discussion - EVE / Re: Resetting handles
« on: January 15, 2020, 11:43:25 AM »
Hello,

Can you provide the code snippets from where you are settings the bitmaps handles?

Best Regards,
BRT Community

622
Discussion - EVE / Re: Question for method BLENDING
« on: January 14, 2020, 10:51:47 AM »
Hello

Over development team concurs with pauljiaos approach.

Maybe you could provide a render of what exactly you are trying to achieve, I found your original description rather vague/hard to visualise. But it is important to remember EVE is intended for use with low power MCUs to facilitate HMIs, it is not an high power graphics IC and some aliasing effects may be present. As you can see from the range of demos available from the software examples section of our website, EVE is a very capable graphics IC in its own right, but there may be some hardware limitations on what you're trying to achieve.

Best Regards,
BRT Community

623
Hello,

Below is a code example for changing FT5x06 touch controllers PMODE to deep sleep, the methodology would be the same for other touch controllers:

Code: [Select]
/* API to download custom capacitive touch firmware */ ft_void_t SAMAPP_InitCustomTouch(ft_uint32_t num_regs, ft_uint8_t *reg_value) {
       ft_uint16_t patch,i_set,i_eol;

       /* Reset the touch engine and download firmware into ROMSUB */ #ifdef FT_80X_ENABLE
  Ft_Gpu_Hal_Wr8(phost, REG_CPURESET, 1);
  Ft_Gpu_Hal_Wr8(phost, REG_ROMSUB_ENABLE_ACCESS, 1);
  Ft_Gpu_Hal_Wr8(phost, REG_ROMSUB_SEL, 0);

  /* Download the firmware into ROMSUB memory*/
  Ft_Gpu_Hal_WrMem(phost,ROMSUB_ADDR, CTouchFirmware, sizeof(CTouchFirmware));

#else
  Ft_Gpu_Hal_Wr8(phost, REG_CPURESET, 2);

#endif
#ifdef FT_80X_ENABLE
  /* Construction of commands to the touch engine for register write at the reset */
  patch = PATCH_START;

  i_set = FW_RD(patch + 2);
  i_eol = FW_RD(patch + 3);
#else
  ft_uint16_t main = FW_RD(0) & 0xfff;
  i_set = 0x4000 | (main - 4);
  patch = main + 1;
  i_eol = FW_RD(patch);

#endif   
  while (num_regs--) {
    ft_uint8_t reg = *reg_value++;
    ft_uint8_t val = *reg_value++;
       /* construction of register and values */
    FW_WR(patch++, 0x8000 | val);
    FW_WR(patch++, 0x8000 | reg);
    FW_WR(patch++, i_set);
  }
  /* constuction of end of line command to touch engine */
  FW_WR(patch, i_eol);

#ifdef FT_80X_ENABLE
  /* Assign the ROMSUB to touch engine and release from reset */
  Ft_Gpu_Hal_Wr8(phost, REG_ROMSUB_ENABLE_ACCESS, 0);
  Ft_Gpu_Hal_Wr8(phost, REG_ROMSUB_SEL, 1); #endif
  Ft_Gpu_Hal_Wr8(phost, REG_CPURESET, 0);
 
  Ft_Gpu_Hal_Sleep(300);//startup time required by touch engine to initialized touch controller }

The memory is ROMSUB which is at 3190784UL.

The structure is copied into ROMSUB with <address,value> and at the end “EOL” constants to indicate the end of structure.

Note that some settings in the CTP may require factory mode (such as setting gain) which can’t be done using this method. You may require firmware from the CTP manufacturer for some settings.

Alternatively, If you wanted to perform full direct firmware programming of the CTP, you can set the FT813 touch engine reset bit(or hold FT813 in power-down state), and talk directly between the MCU’s I2C master and the CTP.

Best Regards,
BRT Community

624
Test and Review Area / BRT_AN_025 Beta - Portable MCU library for EVE
« on: January 09, 2020, 01:39:10 PM »
Hi,

We have a new beta version of a framework for EVE which is designed to be portable across a range of different MCUs. The download includes projects for the following MCUs but you can also use it as the basis of your code on other platforms too.

- BridgeTek FT900
- ST STM32
- Microchip PIC18F
- Espressif ESP32
- TI MSP430
- BeagleBone
- Raspberry Pi

The code currently supports the FT80x and FT81x families of EVE.

Here are the draft document and the beta code project download links:

BRT_AN_025_FT8xx_Portable_MCU_Library_DRAFT.pdf
BRT_AN_025_Source_BETA.zip
(Note: The link in the pdf file for the source code download is not yet active but you can download the code via the link above)

The beta document and code are supplied on an as-is basis and are not guaranteed by BridgeTek.

Coming soon...
- We have almost finished adding the BT81x support to the code and this will be released as an update soon
- We also have a separate application note showing how to port this code to other MCUs, using an NXP K64 as an example.
- We will also be creating further code examples in future using the framework provided in BRT_AN_025

We hope this code helps to get you up and running with EVE on your own MCU. If you have any feedback or questions then please get in touch via support.emea@brtchip.com quoting "BRT_AN_025 feedback" in the email subject.

Best Regards,
BRT Community

625
Hello Rudolph,

It's all good! and yes that is correct.

As for the BT81x I have some more information on this regarding a patch:
It is necessary to load a file to the touch engine for BT81x. Please refer to this Gpu_Hal.c file, see the end of function BootupConfig for the edits.

Code: [Select]
//########################### HYCON FIX BT81X ##################################################

/*\touch-capcs-815.binle
StartOffset: 00000000, EndOffset: 000005B1, Length: 000005B2 */
PROGMEM prog_uchar8_t TOUCH_DATA_U8_HYCON[1458] = {
0xD7, 0x02, 0xD8, 0x02, 0x00, 0x80, 0x8C, 0x66, 0x01, 0x80, 0x8F, 0x62,
0x27, 0x61, 0x10, 0x61, 0x1D, 0x6B, 0x9C, 0x61, 0x00, 0x80, 0x8F, 0x67,
0x10, 0x61, 0x9D, 0x61, 0x11, 0x61, 0x9D, 0x61, 0x27, 0x61, 0x8C, 0x60,
0x27, 0x61, 0x11, 0x61, 0x1D, 0x6B, 0x9C, 0x61, 0x27, 0x61, 0x27, 0x61,
0x11, 0x61, 0x11, 0x61, 0x1D, 0x6B, 0x1D, 0x6B, 0x27, 0x61, 0x10, 0x61,
0x27, 0x61, 0x10, 0x61, 0x1D, 0x6B, 0x1D, 0x6B, 0x10, 0x61, 0x27, 0x61,
0x10, 0x61, 0x1D, 0x6B, 0x8C, 0x60, 0x03, 0x67, 0x8C, 0x66, 0x0A, 0x40,
0x8C, 0x66, 0x00, 0x80, 0x8F, 0x68, 0x10, 0x61, 0x8F, 0x68, 0x03, 0x68,
0x8C, 0x66, 0x10, 0x61, 0x8F, 0x6F, 0x00, 0x6A, 0x8C, 0x66, 0x33, 0x40,
0x8F, 0x62, 0x0E, 0x40, 0x03, 0x68, 0x3C, 0x20, 0x03, 0x61, 0x3D, 0x00,
0x8F, 0x60, 0x8C, 0x60, 0x0E, 0x40, 0x2D, 0x40, 0x39, 0x00, 0x11, 0x60,
0x8F, 0x62, 0x01, 0x80, 0x8F, 0x69, 0x00, 0x6A, 0x00, 0x80, 0x8C, 0x67,
0x27, 0x80, 0x01, 0x80, 0x10, 0x61, 0x33, 0x60, 0x8F, 0x61, 0x00, 0x80,
0x4A, 0x00, 0x11, 0x6C, 0x10, 0x61, 0x04, 0x40, 0x8C, 0x6C, 0x06, 0x40,
0x0B, 0x80, 0x4B, 0x40, 0x4B, 0x00, 0x4F, 0x40, 0x10, 0x61, 0x27, 0x61,
0x03, 0x62, 0x10, 0x61, 0x11, 0x6B, 0x03, 0x62, 0x10, 0x61, 0x11, 0x61,
0x1D, 0x6B, 0x03, 0x6F, 0x35, 0x00, 0x4F, 0x40, 0x06, 0x40, 0x27, 0x61,
0x00, 0x80, 0x00, 0x80, 0x1D, 0x6B, 0x11, 0x60, 0x78, 0x20, 0x24, 0x60,
0x01, 0x80, 0x03, 0x63, 0x71, 0x20, 0x16, 0x40, 0x58, 0x40, 0x1C, 0x40,
0x0E, 0x40, 0x58, 0x40, 0x1C, 0x40, 0x1D, 0x6B, 0x43, 0x40, 0x69, 0x00,
0x03, 0x61, 0x1C, 0x40, 0x03, 0x61, 0x8F, 0x61, 0x0E, 0x40, 0x14, 0x80,
0x63, 0x40, 0x27, 0x61, 0x27, 0x61, 0x12, 0x80, 0x63, 0x40, 0x1D, 0x6B,
0x1D, 0x6B, 0x58, 0x40, 0x16, 0x80, 0x57, 0x40, 0x03, 0x60, 0x22, 0x40,
0x1A, 0x80, 0x63, 0x40, 0x27, 0x61, 0x27, 0x61, 0x18, 0x80, 0x63, 0x40,
0x1D, 0x6B, 0x1D, 0x6B, 0x58, 0x40, 0x1C, 0x80, 0x57, 0x40, 0x8F, 0x60,
0x01, 0x80, 0x10, 0x61, 0x09, 0x80, 0x00, 0x6C, 0x10, 0x61, 0x03, 0x69,
0x8F, 0x63, 0x0C, 0x80, 0x00, 0x6C, 0x8F, 0x67, 0x00, 0x80, 0x9D, 0x40,
0x00, 0x66, 0xA0, 0x20, 0x8C, 0x60, 0x00, 0x80, 0x0A, 0x80, 0x11, 0x6C,
0xA7, 0x20, 0x33, 0x60, 0x8F, 0x61, 0x11, 0x60, 0xB4, 0x20, 0x40, 0x86,
0xA5, 0x40, 0x45, 0x40, 0xAE, 0x20, 0x03, 0x61, 0x00, 0x6A, 0xAB, 0x00,
0x8F, 0x61, 0xA5, 0x40, 0xA5, 0x00, 0x2C, 0x80, 0x49, 0x00, 0x2B, 0x80,
0x4D, 0x40, 0x01, 0x80, 0x2A, 0x80, 0x33, 0x60, 0x03, 0x61, 0x2A, 0x80,
0x11, 0x6C, 0x0A, 0x40, 0xC5, 0x20, 0xA5, 0x40, 0xC0, 0x00, 0x8F, 0x61,
0x01, 0x80, 0x2B, 0x80, 0x33, 0x60, 0x8F, 0x61, 0x2B, 0x80, 0x49, 0x40,
0xBB, 0x00, 0x2B, 0x80, 0x4D, 0x40, 0x00, 0x80, 0x2A, 0x80, 0x33, 0x60,
0x8F, 0x61, 0x2B, 0x80, 0x49, 0x40, 0xCF, 0x00, 0xCF, 0x40, 0xA5, 0x00,
0xCA, 0x40, 0xB5, 0x40, 0xB9, 0x40, 0xB5, 0x40, 0xCD, 0x00, 0xD3, 0x40,
0xB5, 0x40, 0xCD, 0x40, 0xB5, 0x40, 0xB9, 0x40, 0xB5, 0x40, 0xCA, 0x00,
0xC6, 0x40, 0xA5, 0x40, 0xBB, 0x40, 0x2A, 0x80, 0x11, 0x6C, 0xE8, 0x20,
0x03, 0x61, 0x2B, 0x80, 0xB5, 0x40, 0x00, 0x6C, 0xD6, 0x00, 0xCF, 0x40,
0x2B, 0x80, 0x33, 0x60, 0x03, 0x61, 0xA5, 0x40, 0xBB, 0x40, 0xB5, 0x40,
0xD6, 0x00, 0x7F, 0x80, 0x04, 0x80, 0x98, 0x00, 0x00, 0x80, 0xF7, 0x40,
0x41, 0x40, 0x03, 0x64, 0xD8, 0x40, 0xCF, 0x40, 0xB5, 0x40, 0x11, 0x60,
0x07, 0x80, 0x03, 0x69, 0xEF, 0x40, 0x11, 0x60, 0x06, 0x80, 0x03, 0x69,
0xEF, 0x40, 0x11, 0x60, 0x05, 0x80, 0x03, 0x69, 0xEF, 0x40, 0x11, 0x60,
0x04, 0x80, 0x03, 0x69, 0xEF, 0x40, 0x11, 0x60, 0x03, 0x80, 0x03, 0x69,
0xEF, 0x40, 0x11, 0x60, 0x02, 0x80, 0x03, 0x69, 0xEF, 0x40, 0x11, 0x60,
0x01, 0x80, 0x03, 0x69, 0xEF, 0x40, 0xEF, 0x40, 0xE4, 0x40, 0x21, 0x21,
0x00, 0x00, 0x8C, 0x60, 0x41, 0x40, 0xE4, 0x40, 0x8F, 0x62, 0xE4, 0x40,
0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41,
0x22, 0x01, 0x01, 0x80, 0xFB, 0x40, 0x25, 0x41, 0x00, 0x80, 0xEF, 0x00,
0x02, 0x40, 0xEF, 0x00, 0x25, 0x41, 0x30, 0x01, 0x34, 0x41, 0x22, 0x41,
0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41, 0x22, 0x41,
0x22, 0x41, 0x30, 0x01, 0x25, 0x41, 0x32, 0x41, 0x03, 0x61, 0xDD, 0x00,
0x22, 0x80, 0x53, 0x00, 0x20, 0x80, 0x53, 0x00, 0x24, 0x80, 0x53, 0x00,
0x21, 0x80, 0x4B, 0x40, 0x44, 0x41, 0x0E, 0x40, 0x46, 0x41, 0x23, 0x80,
0x53, 0x00, 0x1D, 0x6B, 0x03, 0x62, 0x27, 0x61, 0x8C, 0x60, 0xFF, 0xFF,
0x00, 0x66, 0x9D, 0x60, 0x55, 0x41, 0x06, 0x40, 0x04, 0x80, 0x37, 0x40,
0x51, 0x41, 0x44, 0x01, 0x46, 0x01, 0x4F, 0x01, 0x48, 0x01, 0x21, 0x80,
0x4B, 0x40, 0x25, 0x80, 0x4B, 0x00, 0x05, 0x80, 0x11, 0x60, 0x00, 0x6A,
0x58, 0x41, 0x45, 0x40, 0x66, 0x21, 0x8C, 0x60, 0x11, 0x60, 0x05, 0x80,
0x03, 0x6F, 0x75, 0x21, 0x01, 0x80, 0x10, 0x61, 0x03, 0x71, 0x03, 0x64,
0x76, 0x01, 0x8F, 0x61, 0x8C, 0x60, 0x27, 0x61, 0x00, 0x80, 0x10, 0x61,
0x11, 0x60, 0x82, 0x21, 0x10, 0x61, 0x11, 0x6B, 0x10, 0x40, 0x10, 0x61,
0x00, 0x6A, 0x7A, 0x01, 0xB5, 0x40, 0x40, 0x41, 0x03, 0x61, 0x0C, 0x60,
0x11, 0x60, 0x00, 0x80, 0x11, 0x60, 0x05, 0x80, 0x03, 0x68, 0x98, 0x21,
0x27, 0x61, 0x11, 0x60, 0x01, 0x80, 0x03, 0x63, 0x0A, 0x40, 0x94, 0x21,
0x11, 0x6B, 0x58, 0x41, 0x43, 0x40, 0x1D, 0x6B, 0x04, 0x40, 0x88, 0x01,
0x7A, 0x00, 0x03, 0x80, 0x96, 0x40, 0x0A, 0x00, 0xF7, 0x40, 0x5D, 0x80,
0x8F, 0x67, 0x4E, 0x81, 0xFA, 0x40, 0x9C, 0x41, 0xA8, 0x21, 0x08, 0x80,
0x00, 0x69, 0x80, 0x80, 0x03, 0x64, 0x01, 0x41, 0x01, 0x01, 0x00, 0x80,
0x0E, 0x80, 0x9E, 0x00, 0xA9, 0x41, 0x8C, 0x66, 0xB5, 0x40, 0x11, 0x61,
0x10, 0x40, 0x00, 0x80, 0x9D, 0x40, 0x03, 0x64, 0xB6, 0x21, 0x01, 0x00,
0x2D, 0x80, 0x00, 0x6C, 0x00, 0x67, 0xAF, 0x21, 0x7A, 0x00, 0xAC, 0x81,
0x9C, 0x41, 0xC4, 0x21, 0x4D, 0x80, 0xA0, 0x41, 0xDD, 0x40, 0x2D, 0x41,
0x40, 0x41, 0xC5, 0x01, 0x99, 0x41, 0x01, 0x80, 0x03, 0x63, 0x0E, 0x40,
0xAE, 0x41, 0x01, 0x80, 0x03, 0x65, 0xAE, 0x01, 0xA9, 0x81, 0xBC, 0x01,
0x36, 0x41, 0xFF, 0x8F, 0x8F, 0x63, 0xCE, 0x41, 0x36, 0x41, 0x0C, 0x80,
0x00, 0x69, 0x27, 0x61, 0xCF, 0x41, 0x36, 0x41, 0x03, 0x61, 0x7C, 0x40,
0x11, 0x6B, 0x5A, 0x41, 0x1D, 0x6B, 0x6C, 0x01, 0xFA, 0x40, 0x02, 0x80,
0x01, 0x41, 0xDD, 0x40, 0x2D, 0x01, 0xDE, 0x41, 0xD1, 0x81, 0x77, 0x41,
0x8F, 0x61, 0x02, 0x40, 0x02, 0x40, 0x55, 0x41, 0xFF, 0xFF, 0x8C, 0x60,
0xDE, 0x41, 0xCE, 0x41, 0xCE, 0x41, 0x06, 0x40, 0xF5, 0x21, 0x0E, 0x40,
0x7C, 0x40, 0xC8, 0x80, 0xF7, 0x01, 0x7A, 0x40, 0xE7, 0x41, 0xB5, 0x40,
0x40, 0x41, 0x4A, 0x01, 0xBB, 0x41, 0xE3, 0x41, 0x48, 0x40, 0xFA, 0x01,
0xCC, 0x41, 0xEC, 0x41, 0x48, 0x40, 0xFE, 0x01, 0x34, 0x41, 0x34, 0x41,
0x08, 0x80, 0x03, 0x71, 0x8F, 0x62, 0x9F, 0x41, 0xDD, 0x40, 0x2D, 0x41,
0x0F, 0x80, 0x8F, 0x63, 0x07, 0x42, 0x34, 0x41, 0x03, 0x61, 0x02, 0x42,
0x02, 0x42, 0xEF, 0x41, 0x9F, 0x41, 0x00, 0x80, 0x01, 0x41, 0xDD, 0x00,
0xCC, 0x41, 0x0C, 0x42, 0x48, 0x40, 0x16, 0x02, 0x34, 0x41, 0x27, 0x61,
0x02, 0x42, 0x02, 0x42, 0x34, 0x41, 0x03, 0x61, 0xD7, 0x01, 0x07, 0x42,
0x1A, 0x82, 0x77, 0x41, 0x12, 0x02, 0x00, 0x80, 0xBB, 0x41, 0x21, 0x42,
0x0C, 0x40, 0x03, 0x64, 0x2C, 0x22, 0x48, 0x40, 0x26, 0x02, 0x27, 0x61,
0x11, 0x6B, 0x00, 0x6C, 0x11, 0x67, 0x34, 0x22, 0x03, 0x61, 0x2E, 0x02,
0x0C, 0x60, 0x8F, 0x60, 0x11, 0x64, 0x2B, 0x00, 0x01, 0x80, 0x11, 0x61,
0x8F, 0x71, 0x00, 0x80, 0x11, 0x60, 0x05, 0x80, 0x03, 0x68, 0x4C, 0x22,
0x27, 0x61, 0x11, 0x60, 0x01, 0x80, 0x03, 0x63, 0x0A, 0x40, 0x48, 0x22,
0x11, 0x6B, 0x58, 0x41, 0x43, 0x40, 0x1D, 0x6B, 0x04, 0x40, 0x3C, 0x02,
0x7A, 0x00, 0xAC, 0x41, 0x52, 0x22, 0xE7, 0x41, 0x4A, 0x41, 0x53, 0x02,
0x65, 0x41, 0x29, 0x80, 0x49, 0x40, 0x0F, 0x80, 0x10, 0x80, 0x00, 0x6C,
0x11, 0x67, 0x5C, 0x22, 0x03, 0x61, 0x56, 0x02, 0x0F, 0x80, 0x00, 0x65,
0x68, 0x22, 0x0D, 0x80, 0x00, 0x6C, 0x11, 0x80, 0x00, 0x6C, 0x27, 0x61,
0x27, 0x61, 0x29, 0x80, 0x4D, 0x40, 0x56, 0x02, 0x03, 0x61, 0xAC, 0x41,
0x76, 0x22, 0x1D, 0x6B, 0x1D, 0x6B, 0x36, 0x42, 0x71, 0x22, 0xE7, 0x41,
0x74, 0x02, 0x0E, 0x40, 0x7C, 0x40, 0xC8, 0x80, 0x4A, 0x41, 0x8D, 0x02,
0x00, 0x80, 0x10, 0x61, 0x0F, 0x80, 0x00, 0x65, 0x8B, 0x22, 0x38, 0x42,
0x06, 0x40, 0x03, 0x64, 0x10, 0x61, 0x1D, 0x6B, 0x1D, 0x6B, 0x36, 0x42,
0x86, 0x22, 0x7A, 0x40, 0x55, 0x41, 0x87, 0x02, 0x7C, 0x40, 0x06, 0x40,
0x5A, 0x41, 0x10, 0x61, 0x78, 0x02, 0x03, 0x61, 0x3B, 0x42, 0x48, 0x40,
0x53, 0x02, 0x8C, 0x60, 0x0B, 0x80, 0x96, 0x40, 0xA0, 0x20, 0xFA, 0x40,
0x99, 0x41, 0x98, 0x22, 0x03, 0x80, 0xA5, 0x80, 0x01, 0x41, 0x01, 0x41,
0xDD, 0x40, 0xA0, 0x40, 0x00, 0x00, 0x2C, 0x80, 0x4D, 0x40, 0xAB, 0x40,
0xB7, 0x40, 0xAB, 0x00, 0x0E, 0x80, 0x96, 0x40, 0xA6, 0x22, 0x4D, 0x42,
0xB7, 0x40, 0xAC, 0x41, 0x11, 0x60, 0xAD, 0x22, 0xE7, 0x41, 0x4A, 0x41,
0xAE, 0x02, 0x65, 0x41, 0x48, 0x40, 0x02, 0x80, 0x9A, 0x41, 0xC2, 0x22,
0x9C, 0x41, 0xBF, 0x22, 0x01, 0x80, 0x04, 0x80, 0x4B, 0x40, 0x37, 0x80,
0x01, 0x80, 0x9D, 0x42, 0x04, 0x80, 0x4D, 0x40, 0x50, 0x80, 0xAB, 0x40,
0xC2, 0x02, 0x2C, 0x81, 0x06, 0x80, 0x9D, 0x42, 0xAC, 0x41, 0x27, 0x40,
0x1F, 0x41, 0x01, 0x80, 0xAB, 0x00, 0x00, 0x80, 0x9D, 0x40, 0xCB, 0x22,
0x90, 0x42, 0x9C, 0x41, 0xD0, 0x22, 0xAC, 0x41, 0x25, 0x22, 0x16, 0x42,
0xAC, 0x41, 0xFA, 0x21, 0xFE, 0x41, 0xFA, 0x40, 0xA1, 0x41, 0x01, 0x41,
0xDD, 0x00, 0xA2, 0x42, 0xC7, 0x02
};


Gpu_Hal_Wr8(host, REG_CPURESET, 0x02);
Gpu_Hal_WrMem(host, RAM_JTBOOT, (uint8_t *)TOUCH_DATA_U8_HYCON, sizeof(TOUCH_DATA_U8_HYCON));
//(vc.RAM_JTBOOT, open("touch-capcs-815.binle").read());
Gpu_Hal_Wr8(host, REG_CPURESET, 0x00);

Best Regards,
BRT Community

626
Hello,

Sorry again that was for the HY4614, so I'm not sure with it would work for the HY4635.
As you are not using a goodix or focaltech touch controller you should not load the AN_336 configuration code. You should just use the 0x30b1ac register write instead.

Best regards,
BRT Community

627
We have previously provided the following work around for the HY4614 touch controller, but this is not guaranteed to work with the HY4635.

Very interesting. :-)

As this directly patches the touch controllers memory like the Goodix patch does, this will only work with FT811/FT813?
So it will no work with a patched FT813 or a BT815/BT817?

Not to ask what offset to use in these case, but to prevent someone else from trying. :-)

This write changes EVEs I2C clock, the reconfiguration does not have impact to other parts of FT81x. It only affects the I2C clock frequency for CTP communication.

If the AN_336 configuration code is downloaded to the FT811/FT813, then the following code shall be used to change the I2C clock:
Code: [Select]
Gpu_Hal_Wr8(host, REG_CPURESET, 2);
Gpu_Hal_Wr8(host, 0x30b17c, 40);
Gpu_Hal_Wr8(host, REG_CPURESET, 0);

I would need to clarify regarding the BT815/6.

Best Regards,
BRT Community

628
Hello,

When testing this we tried several different values for the clock speed and found that "Gpu_Hal_Wr8(phost, 0x30b1ac, 40);" to be the most suitable. Writing this to 20 would result in a I2C clock of 98Khz.

Best Regards,
BRT Community

629
Hello,

Rudolph is correct in all of his assertions, the recommendation Is still to implement Touch Host mode for any touch controllers that are not listed as compatible.

We have previously provided the following work around for the HY4614 touch controller, but this is not guaranteed to work with the HY4635.

Code: [Select]
The following will change the FT81x I2C clock frequency:
 
-          Boot-up till read back REG_CHIPID=0x7c and REG_CPURESET=0
-          Write REG_CPURESET=2
-          Write RAM_JTBOOT + 0x1ac  (or 0x30b1ac)= 40  //change I2C freq to 57KHz
-          Write REG_CPURESET=0
 
The following edits were made within the “Gpu_Hal.c” file of 3 sample apps (APP_Graph, App_Gradient, App_Sketch) to implement and test these changes (see attached image)
 
Note: We found it necessary to add a 50ms delay before performing the register write to allow this to complete correctly.
 
You may notice that lines 1825-1829 have been commented out, this is to ensure that the application does not load any new touch configuration code (see AN_336 section 6.6.3).
Loading of new configuration code is only required for Goodix or Focaltech FT6xxx components, it is not required for Hycon or Focaltech FT5xxx parts.


Best Regards,
BRT Community

630
Hello,

One possibility is that the HY4635 may require clock stretching on the I2C interface, if this is the case it may be possible to support this with the FT813. You would be able to determine if clock stretching is required via a logical analyser capture of the I2C data.

Best Regards,
BRT Community

Pages: 1 ... 40 41 [42] 43 44 ... 50