In ble_gatts.h, I see:
#define BLE_GATTS_FIX_ATTR_LEN_MAX (510) //< Maximum length for fixed length Attribute Values.
#define BLE_GATTS_VAR_ATTR_LEN_MAX (512) //< Maximum length for variable length Attribute Values.
Why is maximum length for fixed length attribute shorter than the one for variable length attribute? If they have to be different I was thinking a variable length would use more overhead and thus would have shorter maximum length.