Hi, There, I use 52832 to develop a HID touch(single point) device, it can work on android & windows, but can't work on iphone13(ios15). It can connect to iphone, but no touch effect.
Any suggestion would be great help. thanks.
Here is the report map:
uint8_t touch_rep_map_data [] = {
0x05, 0x0D, // USAGE_PAGE (Digitizers)
0x09, 0x04, // USAGE (Touch Screen)
0xa1, 0x01, // COLLECTION (Application)
0x85, 0x01, // REPORT_ID(TOUCH)
0x09, 0x22, // USAGE (0X20:STYLUS, 0X22:Finger)
0xA1, 0x00, // COLLECTION (Physical)
0x09, 0x42, // USAGE (Tip Switch)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x01, // REPORT_COUNT (1)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x09, 0x32, // USAGE (In Range) //in range a must
0x81, 0x02, // INPUT (Data,Var,Abs)
0x95, 0x06, // REPORT_COUNT (6)
0x81, 0x03, // INPUT (Cnst,Ary,Abs)
0x75, 0x08, // REPORT_SIZE (8)
0x09, 0x51, // USAGE(contact identifier)
0x25, 0x08, // Logical Maximum(8)
0x95, 0x01, // Report_count(1)
0x81, 0x02, // Input(data, variable,abs)
0x05, 0x01, // Usage Page (Generic Desktop)
0x75, 0x10, // REPORT_SIZE(16)
0x95, 0x01, // REPORT_COUNT(1)
0x09, 0x30, // USAGE(x)
0x15, 0x00, //LOGICAL_MINIMUM (0)
0x26, 0x38, 0x04, //Logical maximum(1080) :low part, high part: index: 53,54
0x35, 0x00, // PYSICAL mimimum(0)
0x46, 0x00, 0x00, //PHYSICAL maximum(1080): low part,high part: index: 58,59
0x81, 0x02, // INPUT(data, variable,ABS)
0x09, 0x31, // USAGE(Y)
0x15, 0x00, //LOGICAL_MINIMUM (0)
0x26, 0x70, 0x08, //Logical maximum(2160) :low part, high part: index: 67,68
0x35, 0x00, // PYSICAL mimimum(0)
0x46, 0x00, 0x00, //PHYSICAL maximum(2160):low part, high part: index: 72,73
0x81, 0x02, // INPUT(DATA, VARIABLE, ABS)
0xc0, //END OF COLLECTION
0x05, 0x0D, // USAGE_PAGE (Digitizers) //the folliowing part is a must
0x09, 0x54, // USAGE (Contact Count)
0x95, 0x01, // REPORT_COUNT(1)
0x75, 0x08, // REPORT_SIZE(8)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x08, // LOGICAL_MAXMUM (8)
0x81, 0x02, // INPUT(DATA, VIRABLE, ABS)
0x09, 0x55, // USAGE(Maximum Count)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0xc0, // END of collection
};
the default gap parameters are used:
#define MIN_CONN_INTERVAL MSEC_TO_UNITS(7.5, UNIT_1_25_MS)
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(15, UNIT_1_25_MS)
#define SLAVE_LATENCY 20
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(3000, UNIT_10_MS)
#define FIRST_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(5000)
#define NEXT_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(30000)