btstack_defines: separate BASS Client/Server events

This commit is contained in:
Matthias Ringwald 2023-02-07 11:52:23 +01:00
parent 5c6edd94fc
commit bebf6b57a4
4 changed files with 93 additions and 93 deletions

View File

@ -4308,14 +4308,14 @@ typedef uint8_t sm_key_t[16];
* @param bass_cid * @param bass_cid
* @param status * @param status
*/ */
#define GATTSERVICE_SUBEVENT_BASS_CONNECTED 0x43u #define GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 0x43u
/** /**
* @format 12 * @format 12
* @param subevent_code * @param subevent_code
* @param bass_cid * @param bass_cid
*/ */
#define GATTSERVICE_SUBEVENT_BASS_DISCONNECTED 0x44u #define GATTSERVICE_SUBEVENT_BASS_CLIENT_DISCONNECTED 0x44u
/** /**
* @format 1211 * @format 1211
@ -4324,7 +4324,7 @@ typedef uint8_t sm_key_t[16];
* @param status * @param status
* @param opcode * @param opcode
*/ */
#define GATTSERVICE_SUBEVENT_BASS_SCAN_OPERATION_COMPLETE 0x45u #define GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 0x45u
/** /**
* @format 1211B1311P1 * @format 1211B1311P1
@ -4366,7 +4366,7 @@ typedef uint8_t sm_key_t[16];
* @param vendor_specific_metadata_value_length * @param vendor_specific_metadata_value_length
* @param vendor_specific_metadata_value * @param vendor_specific_metadata_value
*/ */
#define GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP 0x47u #define GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 0x47u
/** /**
* @format 121 * @format 121
@ -4374,7 +4374,7 @@ typedef uint8_t sm_key_t[16];
* @param bass_cid * @param bass_cid
* @param source_id * @param source_id
*/ */
#define GATTSERVICE_SUBEVENT_BASS_NOTIFICATION_COMPLETE 0x48u #define GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 0x48u
/** /**
* @format 12111 * @format 12111
@ -4384,7 +4384,7 @@ typedef uint8_t sm_key_t[16];
* @param opcode * @param opcode
* @param source_id * @param source_id
*/ */
#define GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE 0x49u #define GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 0x49u
/** /**
* @format 1H21 * @format 1H21

View File

@ -13798,68 +13798,68 @@ static inline uint8_t gattservice_subevent_pacs_audio_location_received_get_role
} }
/** /**
* @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_CONNECTED * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED
* @param event packet * @param event packet
* @return con_handle * @return con_handle
* @note: btstack_type H * @note: btstack_type H
*/ */
static inline hci_con_handle_t gattservice_subevent_bass_connected_get_con_handle(const uint8_t * event){ static inline hci_con_handle_t gattservice_subevent_bass_client_connected_get_con_handle(const uint8_t * event){
return little_endian_read_16(event, 3); return little_endian_read_16(event, 3);
} }
/** /**
* @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CONNECTED * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED
* @param event packet * @param event packet
* @return bass_cid * @return bass_cid
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_connected_get_bass_cid(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){
return little_endian_read_16(event, 5); return little_endian_read_16(event, 5);
} }
/** /**
* @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CONNECTED * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED
* @param event packet * @param event packet
* @return status * @return status
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_connected_get_status(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_connected_get_status(const uint8_t * event){
return event[7]; return event[7];
} }
/** /**
* @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_DISCONNECTED * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_DISCONNECTED
* @param event packet * @param event packet
* @return bass_cid * @return bass_cid
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_disconnected_get_bass_cid(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){
return little_endian_read_16(event, 3); return little_endian_read_16(event, 3);
} }
/** /**
* @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_SCAN_OPERATION_COMPLETE * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE
* @param event packet * @param event packet
* @return bass_cid * @return bass_cid
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_scan_operation_complete_get_bass_cid(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){
return little_endian_read_16(event, 3); return little_endian_read_16(event, 3);
} }
/** /**
* @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_SCAN_OPERATION_COMPLETE * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE
* @param event packet * @param event packet
* @return status * @return status
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_scan_operation_complete_get_status(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){
return event[5]; return event[5];
} }
/** /**
* @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_SCAN_OPERATION_COMPLETE * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE
* @param event packet * @param event packet
* @return opcode * @return opcode
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_scan_operation_complete_get_opcode(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){
return event[6]; return event[6];
} }
@ -13955,239 +13955,239 @@ static inline uint8_t gattservice_subevent_bass_scan_operation_complete_get_opco
// } // }
/** /**
* @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return bass_cid * @return bass_cid
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){
return little_endian_read_16(event, 3); return little_endian_read_16(event, 3);
} }
/** /**
* @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return source_id * @return source_id
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){
return event[5]; return event[5];
} }
/** /**
* @brief Get field bis_sync_state from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field bis_sync_state from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return bis_sync_state * @return bis_sync_state
* @note: btstack_type 4 * @note: btstack_type 4
*/ */
static inline uint32_t gattservice_subevent_bass_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ static inline uint32_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){
return little_endian_read_32(event, 6); return little_endian_read_32(event, 6);
} }
/** /**
* @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return metadata_mask * @return metadata_mask
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){
return event[10]; return event[10];
} }
/** /**
* @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return preferred_audio_contexts_mask * @return preferred_audio_contexts_mask
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){
return little_endian_read_16(event, 11); return little_endian_read_16(event, 11);
} }
/** /**
* @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return streaming_audio_contexts_mask * @return streaming_audio_contexts_mask
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){
return little_endian_read_16(event, 13); return little_endian_read_16(event, 13);
} }
/** /**
* @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return program_info_length * @return program_info_length
* @note: btstack_type J * @note: btstack_type J
*/ */
static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){
return event[15]; return event[15];
} }
/** /**
* @brief Get field program_info from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field program_info from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return program_info * @return program_info
* @note: btstack_type V * @note: btstack_type V
*/ */
static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){
return &event[16]; return &event[16];
} }
/** /**
* @brief Get field language_code from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field language_code from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return language_code * @return language_code
* @note: btstack_type 3 * @note: btstack_type 3
*/ */
static inline uint32_t gattservice_subevent_bass_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ static inline uint32_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){
return little_endian_read_24(event, 16u + event[15]); return little_endian_read_24(event, 16u + event[15]);
} }
/** /**
* @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return ccids_num * @return ccids_num
* @note: btstack_type J * @note: btstack_type J
*/ */
static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){
return event[16u + event[15] + 3u]; return event[16u + event[15] + 3u];
} }
/** /**
* @brief Get field ccids from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field ccids from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return ccids * @return ccids
* @note: btstack_type V * @note: btstack_type V
*/ */
static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){
return &event[16u + event[15] + 3u + 1u]; return &event[16u + event[15] + 3u + 1u];
} }
/** /**
* @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return parental_rating * @return parental_rating
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){
return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]];
} }
/** /**
* @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return program_info_uri_length * @return program_info_uri_length
* @note: btstack_type J * @note: btstack_type J
*/ */
static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){
return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u];
} }
/** /**
* @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return program_info_uri * @return program_info_uri
* @note: btstack_type V * @note: btstack_type V
*/ */
static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){
return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u];
} }
/** /**
* @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return extended_metadata_type * @return extended_metadata_type
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){
return little_endian_read_16(event, 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]); return little_endian_read_16(event, 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]);
} }
/** /**
* @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return extended_metadata_value_length * @return extended_metadata_value_length
* @note: btstack_type J * @note: btstack_type J
*/ */
static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){
return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u]; return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u];
} }
/** /**
* @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return extended_metadata_value * @return extended_metadata_value
* @note: btstack_type V * @note: btstack_type V
*/ */
static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){
return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u]; return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u];
} }
/** /**
* @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return vendor_specific_metadata_type * @return vendor_specific_metadata_type
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){
return little_endian_read_16(event, 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u]); return little_endian_read_16(event, 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u]);
} }
/** /**
* @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return vendor_specific_metadata_value_length * @return vendor_specific_metadata_value_length
* @note: btstack_type J * @note: btstack_type J
*/ */
static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){
return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u] + 2u]; return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u] + 2u];
} }
/** /**
* @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP
* @param event packet * @param event packet
* @return vendor_specific_metadata_value * @return vendor_specific_metadata_value
* @note: btstack_type V * @note: btstack_type V
*/ */
static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){
return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u] + 2u + 1u]; return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u] + 2u + 1u];
} }
/** /**
* @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_NOTIFICATION_COMPLETE * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE
* @param event packet * @param event packet
* @return bass_cid * @return bass_cid
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_notification_complete_get_bass_cid(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){
return little_endian_read_16(event, 3); return little_endian_read_16(event, 3);
} }
/** /**
* @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFICATION_COMPLETE * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE
* @param event packet * @param event packet
* @return source_id * @return source_id
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_notification_complete_get_source_id(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){
return event[5]; return event[5];
} }
/** /**
* @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE
* @param event packet * @param event packet
* @return bass_cid * @return bass_cid
* @note: btstack_type 2 * @note: btstack_type 2
*/ */
static inline uint16_t gattservice_subevent_bass_source_operation_complete_get_bass_cid(const uint8_t * event){ static inline uint16_t gattservice_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){
return little_endian_read_16(event, 3); return little_endian_read_16(event, 3);
} }
/** /**
* @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE
* @param event packet * @param event packet
* @return status * @return status
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_source_operation_complete_get_status(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){
return event[5]; return event[5];
} }
/** /**
* @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE
* @param event packet * @param event packet
* @return opcode * @return opcode
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_source_operation_complete_get_opcode(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){
return event[6]; return event[6];
} }
/** /**
* @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE
* @param event packet * @param event packet
* @return source_id * @return source_id
* @note: btstack_type 1 * @note: btstack_type 1
*/ */
static inline uint8_t gattservice_subevent_bass_source_operation_complete_get_source_id(const uint8_t * event){ static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){
return event[7]; return event[7];
} }

View File

@ -275,11 +275,11 @@ static void bass_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *
const bass_source_data_t * source_data; const bass_source_data_t * source_data;
switch (hci_event_gattservice_meta_get_subevent_code(packet)) { switch (hci_event_gattservice_meta_get_subevent_code(packet)) {
case GATTSERVICE_SUBEVENT_BASS_CONNECTED: case GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED:
if (gattservice_subevent_bass_connected_get_status(packet) != ERROR_CODE_SUCCESS){ if (gattservice_subevent_bass_client_connected_get_status(packet) != ERROR_CODE_SUCCESS){
printf("BASS client connection failed, cid 0x%02x, con_handle 0x%02x, status 0x%02x\n", printf("BASS client connection failed, cid 0x%02x, con_handle 0x%02x, status 0x%02x\n",
bass_cid, scan_delegator_handle, bass_cid, scan_delegator_handle,
gattservice_subevent_bass_connected_get_status(packet)); gattservice_subevent_bass_client_connected_get_status(packet));
return; return;
} }
printf("BASS client connected, cid 0x%02x\n", bass_cid); printf("BASS client connected, cid 0x%02x\n", bass_cid);
@ -291,20 +291,20 @@ static void bass_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *
bass_source_data.subgroups[0].bis_sync = bis_sync_mask; bass_source_data.subgroups[0].bis_sync = bis_sync_mask;
add_source(); add_source();
break; break;
case GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE: case GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE:
if (gattservice_subevent_bass_source_operation_complete_get_status(packet) != ERROR_CODE_SUCCESS){ if (gattservice_subevent_bass_client_source_operation_complete_get_status(packet) != ERROR_CODE_SUCCESS){
printf("BASS client source operation failed, status 0x%02x\n", gattservice_subevent_bass_source_operation_complete_get_status(packet)); printf("BASS client source operation failed, status 0x%02x\n", gattservice_subevent_bass_client_source_operation_complete_get_status(packet));
return; return;
} }
if ( gattservice_subevent_bass_source_operation_complete_get_opcode(packet) == (uint8_t)BASS_OPCODE_ADD_SOURCE ){ if ( gattservice_subevent_bass_client_source_operation_complete_get_opcode(packet) == (uint8_t)BASS_OPCODE_ADD_SOURCE ){
// TODO: set state to 'wait for source_id" // TODO: set state to 'wait for source_id"
printf("BASS client add source operation completed, wait for source_id\n"); printf("BASS client add source operation completed, wait for source_id\n");
} }
break; break;
case GATTSERVICE_SUBEVENT_BASS_NOTIFICATION_COMPLETE: case GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE:
// store source_id // store source_id
bass_source_id = gattservice_subevent_bass_notification_complete_get_source_id(packet); bass_source_id = gattservice_subevent_bass_client_notification_complete_get_source_id(packet);
printf("BASS client notification, source_id = 0x%02x\n", bass_source_id); printf("BASS client notification, source_id = 0x%02x\n", bass_source_id);
source_data = broadcast_audio_scan_service_client_get_source_data(bass_cid, bass_source_id); source_data = broadcast_audio_scan_service_client_get_source_data(bass_cid, bass_source_id);
btstack_assert(source_data != NULL); btstack_assert(source_data != NULL);

View File

@ -150,9 +150,9 @@ static const uint8_t extended_adv_data[] = {
#define BASS_NUM_CLIENTS 1 #define BASS_NUM_CLIENTS 1
#define BASS_NUM_SOURCES 1 #define BASS_NUM_SOURCES 1
static bass_source_data_t bass_source_new; static bass_source_data_t bass_source_new;
static bass_server_source_t bass_sources[BASS_NUM_SOURCES]; static bass_server_source_t bass_sources[BASS_NUM_SOURCES];
static bass_remote_client_t bass_clients[BASS_NUM_CLIENTS]; static bass_server_connection_t bass_clients[BASS_NUM_CLIENTS];
// //
static btstack_packet_callback_registration_t hci_event_callback_registration; static btstack_packet_callback_registration_t hci_event_callback_registration;
@ -964,11 +964,11 @@ static void bass_packet_handler (uint8_t packet_type, uint16_t channel, uint8_t
printf("BASS Event 0x%02x: ", hci_event_gattservice_meta_get_subevent_code(packet)); printf("BASS Event 0x%02x: ", hci_event_gattservice_meta_get_subevent_code(packet));
printf_hexdump(packet, size); printf_hexdump(packet, size);
switch (hci_event_gattservice_meta_get_subevent_code(packet)){ switch (hci_event_gattservice_meta_get_subevent_code(packet)){
case GATTSERVICE_SUBEVENT_BASS_SOURCE_ADDED: case GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED:
printf("GATTSERVICE_SUBEVENT_BASS_SOURCE_ADDED, source_id 0x%04x, pa_sync %u\n", printf("GATTSERVICE_SUBEVENT_BASS_SOURCE_ADDED, source_id 0x%04x, pa_sync %u\n",
gattservice_subevent_bass_source_added_get_source_id(packet), gattservice_subevent_bass_server_source_added_get_source_id(packet),
gattservice_subevent_bass_source_added_get_pa_sync(packet)); gattservice_subevent_bass_server_source_added_get_pa_sync(packet));
switch (gattservice_subevent_bass_source_added_get_pa_sync(packet)){ switch (gattservice_subevent_bass_server_source_added_get_pa_sync(packet)){
case LE_AUDIO_PA_SYNC_SYNCHRONIZE_TO_PA_PAST_AVAILABLE: case LE_AUDIO_PA_SYNC_SYNCHRONIZE_TO_PA_PAST_AVAILABLE:
printf("LE_AUDIO_PA_SYNC_SYNCHRONIZE_TO_PA_PAST_AVAILABLE -> Request SyncInfo\n"); printf("LE_AUDIO_PA_SYNC_SYNCHRONIZE_TO_PA_PAST_AVAILABLE -> Request SyncInfo\n");
broadcast_audio_scan_service_server_set_pa_sync_state(0, LE_AUDIO_PA_SYNC_STATE_SYNCINFO_REQUEST); broadcast_audio_scan_service_server_set_pa_sync_state(0, LE_AUDIO_PA_SYNC_STATE_SYNCINFO_REQUEST);
@ -979,10 +979,10 @@ static void bass_packet_handler (uint8_t packet_type, uint16_t channel, uint8_t
break; break;
} }
break; break;
case GATTSERVICE_SUBEVENT_BASS_SOURCE_MODIFIED: case GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED:
printf("GATTSERVICE_SUBEVENT_BASS_SOURCE_MODIFIED, source_id 0x%04x, pa_sync %u\n", printf("GATTSERVICE_SUBEVENT_BASS_SOURCE_MODIFIED, source_id 0x%04x, pa_sync %u\n",
gattservice_subevent_bass_source_added_get_source_id(packet), gattservice_subevent_bass_server_source_added_get_source_id(packet),
gattservice_subevent_bass_source_added_get_pa_sync(packet)); gattservice_subevent_bass_server_source_added_get_pa_sync(packet));
// handle 'bis sync == 0' // handle 'bis sync == 0'
printf("PA Sync %u, bis_sync[0] = %u\n", bass_sources[0].data.pa_sync, bass_sources[0].data.subgroups[0].bis_sync); printf("PA Sync %u, bis_sync[0] = %u\n", bass_sources[0].data.pa_sync, bass_sources[0].data.subgroups[0].bis_sync);
if (bass_sources[0].data.subgroups[0].bis_sync == 0){ if (bass_sources[0].data.subgroups[0].bis_sync == 0){
@ -991,8 +991,8 @@ static void bass_packet_handler (uint8_t packet_type, uint16_t channel, uint8_t
broadcast_audio_scan_service_server_set_pa_sync_state(0, LE_AUDIO_PA_SYNC_STATE_SYNCHRONIZED_TO_PA); broadcast_audio_scan_service_server_set_pa_sync_state(0, LE_AUDIO_PA_SYNC_STATE_SYNCHRONIZED_TO_PA);
} }
break; break;
case GATTSERVICE_SUBEVENT_BASS_BROADCAST_CODE: case GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE:
gattservice_subevent_bass_broadcast_code_get_broadcast_code(packet, broadcast_code); gattservice_subevent_bass_server_broadcast_code_get_broadcast_code(packet, broadcast_code);
printf("GATTSERVICE_SUBEVENT_BASS_BROADCAST_CODE received: "); printf("GATTSERVICE_SUBEVENT_BASS_BROADCAST_CODE received: ");
printf_hexdump(broadcast_code, 16); printf_hexdump(broadcast_code, 16);
bass_sources[0].big_encryption = LE_AUDIO_BIG_ENCRYPTION_DECRYPTING; bass_sources[0].big_encryption = LE_AUDIO_BIG_ENCRYPTION_DECRYPTING;