gatt-service/vcs: wrap AICS and VOCS API

This commit is contained in:
Milanka Ringwald 2022-01-25 16:03:42 +01:00
parent 6803ef270c
commit 2f138c3f44
2 changed files with 100 additions and 0 deletions

View File

@ -395,3 +395,52 @@ void volume_control_service_server_set_volume_state(uint8_t volume_setting, vcs_
volume_control_service_server_set_callback(VCS_TASK_SEND_VOLUME_SETTING);
}
}
uint8_t volume_control_service_server_set_audio_input_state_for_aics(uint8_t aics_index, aics_audio_input_state_t * audio_input_state){
if (aics_index >= aics_services_num){
return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
}
return audio_input_control_service_server_set_audio_input_state(&aics_services[aics_index], audio_input_state);
}
uint8_t volume_control_service_server_set_audio_input_description_for_aics(uint8_t aics_index, const char * audio_input_desc){
if (aics_index >= aics_services_num){
return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
}
audio_input_control_service_server_set_audio_input_description(&aics_services[aics_index], audio_input_desc);
return ERROR_CODE_SUCCESS;
}
uint8_t volume_control_service_server_set_audio_input_status_for_aics(uint8_t aics_index, aics_audio_input_status_t audio_input_status){
if (aics_index >= aics_services_num){
return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
}
audio_input_control_service_server_set_audio_input_status(&aics_services[aics_index], audio_input_status);
return ERROR_CODE_SUCCESS;
}
uint8_t volume_control_service_server_set_volume_offset_for_vocs(uint8_t voics_index, int16_t volume_offset){
if (voics_index >= vocs_services_num){
return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
}
volume_offset_control_service_server_set_volume_offset(&vocs_services[voics_index], volume_offset);
return ERROR_CODE_SUCCESS;
}
uint8_t volume_control_service_server_set_audio_location_for_vocs(uint8_t vocs_index, uint32_t audio_location){
if (vocs_index >= vocs_services_num){
return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
}
volume_offset_control_service_server_set_audio_location(&vocs_services[vocs_index], audio_location);
return ERROR_CODE_SUCCESS;
}
uint8_t volume_control_service_server_set_audio_output_description_for_vocs(uint8_t vocs_index, const char * audio_output_desc){
if (vocs_index >= vocs_services_num){
return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
}
volume_offset_control_service_server_set_audio_output_description(&vocs_services[vocs_index], audio_output_desc);
return ERROR_CODE_SUCCESS;
}

View File

@ -98,6 +98,57 @@ void volume_control_service_server_init(uint8_t volume_setting, vcs_mute_t mute,
*/
void volume_control_service_server_set_volume_state(uint8_t volume_setting, vcs_mute_t mute);
/**
* @brief Set mute and gain mode, as well as gain setting of the AICS service identified by aics_index.
* @param aics_index
* @param audio_input_state see aics_audio_input_state_t in audio_input_control_service_server.h
* @return status ERROR_CODE_SUCCESS if successful, otherwise ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER if aics_index is out of range, or ERROR_CODE_INVALID_HCI_COMMAND_PARAMETERS if gain setting is out of valid range.
*/
uint8_t volume_control_service_server_set_audio_input_state_for_aics(uint8_t aics_index, aics_audio_input_state_t * audio_input_state);
/**
* @brief Set audio input description of the AICS service identified by aics_index.
* @param aics_index
* @param audio_input_state see aics_audio_input_state_t in audio_input_control_service_server.h
* @return status ERROR_CODE_SUCCESS if successful, otherwise ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER if aics_index is out of range.
*/
uint8_t volume_control_service_server_set_audio_input_description_for_aics(uint8_t aics_index, const char * audio_input_desc);
/**
* @brief Set audio input status of the AICS service identified by aics_index.
* @param aics_index
* @param audio_input_status see aics_audio_input_status_t in audio_input_control_service_server.h
* @return status ERROR_CODE_SUCCESS if successful, otherwise ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER if aics_index is out of range.
*/
uint8_t volume_control_service_server_set_audio_input_status_for_aics(uint8_t aics_index, aics_audio_input_status_t audio_input_status);
/**
* @brief Set volume offset location of the VOCS service. If successful, all registered clients will be notified of change.
* @param vocs service
* @param volume_offset
* @return ERROR_CODE_SUCCESS if successful, otherwise ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER if aics_index is out of range.
*/
uint8_t volume_control_service_server_set_volume_offset_for_vocs(uint8_t vocs_index, int16_t volume_offset);
/**
* @brief Set audio location of the VOCS service. If successful, all registered clients will be notified of change.
* @param vocs service
* @param audio_location see VOCS_AUDIO_LOCATION_* defines in volume_offset_control_service_server.h
* @return ERROR_CODE_SUCCESS if successful, otherwise ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER if aics_index is out of range.
*/
uint8_t volume_control_service_server_set_audio_location_for_vocs(uint8_t vocs_index, uint32_t audio_location);
/**
* @brief Set audio output description of the VOCS service. If successful, all registered clients will be notified of change.
* @param vocs service
* @param audio_output_desc
* @return ERROR_CODE_SUCCESS if successful, otherwise ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER if aics_index is out of range.
*/
uint8_t volume_control_service_server_set_audio_output_description_for_vocs(uint8_t vocs_index, const char * audio_output_desc);
/* API_END */
#if defined __cplusplus