This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to implement 512 bytes characteristic in peripheral

Do we have any example for implementing a characteristic with more than 20 bytes? Thanks.

Parents
  • Example? Just set the length of the characteristic to what you want when you add it.

    ble_gatts_attr_t.max_len
    ble_gatts_attr_t.init_len
    

    and note the defines

    #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. */
    
  • Central doesn't know nor care whether the property is fixed or variable length, it's not something reported as a property of the characteristic. The central, when reading, will just read at ever larger offsets until it gets a shorter than MTU packet or a response saying there is no data at that offset.

Reply Children
No Data
Related