The documentation simply says: 1 for variable length and 0 for fixed length.
What exactly does changing this do? Do I save space by setting it to fixed? Why does BDS set it to 1 by default.
The documentation simply says: 1 for variable length and 0 for fixed length.
What exactly does changing this do? Do I save space by setting it to fixed? Why does BDS set it to 1 by default.
Hi,
is_var_len indicates if the user characteristic descriptor has variable length or not. When you are setting up characteristics there is a vlen field can be set to mark a characteristic as variable length. A characteristic can either be of constant length (vlen = 0), or of variable length (vlen = 1).
E.g. for the UART characteristics, it makes sense to have vlen = 1, since you may want to transmit any size of data from e.g. 1 to 20 bytes. But, e.g. for the Temperature Type, which is a fixed length characteristic (it has 8 bits and every bit is fixed),vlen should be 0.
So if I understand you, the flag has no effect on the stack but is another indicator to the connecting device on whether it needs to provide exactly the right number of bytes when writing?
So if I understand you, the flag has no effect on the stack but is another indicator to the connecting device on whether it needs to provide exactly the right number of bytes when writing?