BLE very weak signal

Klaus_K:
Combine multiple values in one characteristic. This reduces the overhead for the read. There is a limit of how many bytes one transfer can send.

Reduce the datatype. This would allow to combine more values into the read operation. e.g. you can send two 16-bit values instead of one 32-bit.

Thanks a lot for your answer Klaus_K. I have very little knowledge about all of this, so I understood parts of what you said. Kindly bear with me.

Can you tell me how do I combine multiple values in 1 characteristic? Basically, I am sending 4 quaternion values as 4 characteristics. Is there a way to send an array as a single characteristic perhaps?

How to reduce the datatype?

My end goal is to read quaternion values from the central device. Possibly all 4 quaternion values in single characteristic. In your code, you have defined characteristics as 'BLEFloatCharacteristic'. I am using the same format and defining 4 characteristics for 4 quaternion values. Because of this, it's taking too long to read from the central.

Your help is much appreciated. Thanks again.