1) Please create a Tech Support case with Cypress
2 and 3) The default MTU Size is 23 Bytes (This includes the size of data to be sent). So when you send more amount of data, the size exceeds MTU Size.
So (i) Please make sure that in your PSoC Creator-> BLE Component -> GAP Settings -> MTU Size is kept to a high value. (Say 40, 60 or 100). Max value is 256
(ii) Both Central and peripheral should support a higher MTU for transferring more amount of data.
(iii) In addition to setting the MTU Size in PSoC Component, when MTU Size is more than 23 bytes, the server and client should exchange their MTUs after connection is established. Please refer to CyBle_GattcExchangeMtuReq and CyBle_GattsExchangeMtuRsp APIs in the BLE Component Datasheet.
Please refer the attached package which is a BLE_I2C Bridge implementation. It has both server and peripheral projects. In both these projects go to app_ble.c file and serach for the text "mtu" to see the code related to MTU exchange.
I2C-BLE Bridge.zip 89.6 K