KSM edits to RA8875
Diff: RA8875_Touch_FT5206.cpp
- Revision:
- 166:53fd4a876dac
- Parent:
- 165:695c24cc5197
--- a/RA8875_Touch_FT5206.cpp Sun Feb 24 00:40:00 2019 +0000 +++ b/RA8875_Touch_FT5206.cpp Sun Feb 24 19:28:26 2019 +0000 @@ -67,83 +67,40 @@ gesture = FT5206_ReadRegU8(FT5206_GEST_ID); //INFO(" gesture %d", gesture); - // If the switch statement was based only on numberOfTouchPoints, it would not - // be able to generate notification for 'release' events (as it is no longer touched). - // Therefore, forcing a 5, and it intentionally falls through each lower case. - switch (5) { // numberOfTouchPoints - case 5: - valXH = FT5206_ReadRegU8(FT5206_TOUCH5_XH); - valYH = FT5206_ReadRegU8(FT5206_TOUCH5_YH); - touchInfo[4].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; - touchInfo[4].touchID = (valYH >> 4); - touchInfo[4].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH5_XL); - touchInfo[4].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH5_YL); - if (touchInfo[4].touchCode) - INFO(" Touch[%d] code %d, id %2d, (%4d,%4d)", - 5, - touchInfo[4].touchCode, - touchInfo[4].touchID, - touchInfo[4].coordinates.x, - touchInfo[4].coordinates.y); - case 4: - valXH = FT5206_ReadRegU8(FT5206_TOUCH4_XH); - valYH = FT5206_ReadRegU8(FT5206_TOUCH4_YH); - touchInfo[3].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; - touchInfo[3].touchID = (valYH >> 4); - touchInfo[3].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH4_XL); - touchInfo[3].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH4_YL); - if (touchInfo[3].touchCode) - INFO(" Touch[%d] code %d, id %2d, (%4d,%4d)", - 4, - touchInfo[3].touchCode, - touchInfo[3].touchID, - touchInfo[3].coordinates.x, - touchInfo[3].coordinates.y); - case 3: - valXH = FT5206_ReadRegU8(FT5206_TOUCH3_XH); - valYH = FT5206_ReadRegU8(FT5206_TOUCH3_YH); - touchInfo[2].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; - touchInfo[2].touchID = (valYH >> 4); - touchInfo[2].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH3_XL); - touchInfo[2].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH3_YL); - if (touchInfo[2].touchCode) - INFO(" Touch[%d] code %d, id %2d, (%4d,%4d)", - 3, - touchInfo[2].touchCode, - touchInfo[2].touchID, - touchInfo[2].coordinates.x, - touchInfo[2].coordinates.y); - case 2: - valXH = FT5206_ReadRegU8(FT5206_TOUCH2_XH); - valYH = FT5206_ReadRegU8(FT5206_TOUCH2_YH); - touchInfo[1].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; - touchInfo[1].touchID = (valYH >> 4); - touchInfo[1].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH2_XL); - touchInfo[1].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH2_YL); - if (touchInfo[1].touchCode) - INFO(" Touch[%d] code %d, id %2d, (%4d,%4d)", - 2, - touchInfo[1].touchCode, - touchInfo[1].touchID, - touchInfo[1].coordinates.x, - touchInfo[1].coordinates.y); - case 1: - valXH = FT5206_ReadRegU8(FT5206_TOUCH1_XH); - valYH = FT5206_ReadRegU8(FT5206_TOUCH1_YH); - touchInfo[0].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; - touchInfo[0].touchID = (valYH >> 4); - touchInfo[0].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH1_XL); - touchInfo[0].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH1_YL); - if (touchInfo[0].touchCode) - INFO(" Touch[%d] code %d, id %2d, (%4d,%4d)", - 1, - touchInfo[0].touchCode, - touchInfo[0].touchID, - touchInfo[0].coordinates.x, - touchInfo[0].coordinates.y); - break; - default: - break; - } + valXH = FT5206_ReadRegU8(FT5206_TOUCH5_XH); + valYH = FT5206_ReadRegU8(FT5206_TOUCH5_YH); + touchInfo[4].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; + touchInfo[4].touchID = (valYH >> 4); + touchInfo[4].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH5_XL); + touchInfo[4].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH5_YL); + + valXH = FT5206_ReadRegU8(FT5206_TOUCH4_XH); + valYH = FT5206_ReadRegU8(FT5206_TOUCH4_YH); + touchInfo[3].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; + touchInfo[3].touchID = (valYH >> 4); + touchInfo[3].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH4_XL); + touchInfo[3].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH4_YL); + + valXH = FT5206_ReadRegU8(FT5206_TOUCH3_XH); + valYH = FT5206_ReadRegU8(FT5206_TOUCH3_YH); + touchInfo[2].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; + touchInfo[2].touchID = (valYH >> 4); + touchInfo[2].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH3_XL); + touchInfo[2].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH3_YL); + + valXH = FT5206_ReadRegU8(FT5206_TOUCH2_XH); + valYH = FT5206_ReadRegU8(FT5206_TOUCH2_YH); + touchInfo[1].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; + touchInfo[1].touchID = (valYH >> 4); + touchInfo[1].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH2_XL); + touchInfo[1].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH2_YL); + + valXH = FT5206_ReadRegU8(FT5206_TOUCH1_XH); + valYH = FT5206_ReadRegU8(FT5206_TOUCH1_YH); + touchInfo[0].touchCode = FT5206_EventFlagToTouchCode[valXH >> 6]; + touchInfo[0].touchID = (valYH >> 4); + touchInfo[0].coordinates.x = (valXH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH1_XL); + touchInfo[0].coordinates.y = (valYH & 0x0f)*256 + FT5206_ReadRegU8(FT5206_TOUCH1_YL); + return numberOfTouchPoints; }