I have created a PCB that uses a CYBLE-224116-01 module and have code running on it that communicates via the UART. I added BLE peripheral functionality based off the 100 Projects in 100 Days Day 20 code downloaded from GitHub but my aim is to replace the UART with BLE so that the communication that went over the UART instead go over the BLE link. I also reprogrammed a PRoC dongle in the Central role following this example https://iotexpert.com/2017/05/11/psoc4-ble-central-using-cysmart-dongle/
I made this setup work (although there were some reliability issues as yet unresolved) but I need to increase the size of the packets I send over. My peripheral device code creates data to send over the link which it sets up in a null-terminated string called strMsg1 defined as char strMsg1; The problem is that the peripheral BLE code throws away anything more than 20 characters at the beginning of the string and I was advised to make the following changes the the peripheral BLE component settings:
1) Set the Link Layer Max Tx Payload Size and Link Layer Max Rx Payload Size to 251
2) Increase the size of the Tx data and Rx data characteristics to something larger than 20. Maybe 250.
3) Up the Attribute MTU size to 512
4) Set the L2CAP MTU and MPS sizes to 512
I made these changes and it still worked with my dongle Central but any strings sent over the link were still limited to the first 20 characters. I wonder if I needed to change the settings in the dongle end but when I tried to increase MTU to 512, it would not compile with an error of 'ram overflowed with stack', I tried a few changes in the System tab for the Stack and Heap sizes but was unable to find numbers that would compile without errors.
1. Were the setting suggested for the peripheral side OK? (I may try lower numbers as my max string length is going to be 64)
2. Do I even need to change the settings on the Central side?
3. If the answer to 2 is yes, can anyone help on the setting changes?
Thanks in advance for any assistance.