This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2564CSTBTBLESW: AVRCP version update issue

Part Number: CC2564CSTBTBLESW

Hi ,

I am using the latest stack you provided on the other thread

("4111.CC2564CSTBTBLESW-v5.1.1.1-windows-x64-installer.exe")

I was able to compile and load the firmware successfully.

The HCI logs still show it as version 1.4.

We are using the AUD API.

when I try to downgrade to version 1.3 it is working. However, I am not able to get version 1.5 when I give the enum for version 1.5.

I am attaching the AUD module initialization here.

int Initialize_Sink(unsigned int id)
{
	int                                      ret_val;
	AUD_Initialization_Info_t                InitializationInfo;
	AUD_Stream_Initialization_Info_t         InitializationInfoSNK;
	AUD_Remote_Control_Initialization_Info_t InitializationInfoAVR;
	AUD_Remote_Control_Role_Info_t           RemoteControlRoleInfo;
	AUD_Remote_Control_Role_Info_t           TargetRoleInfo;

	BluetoothStackID=id;
	AbsoluteVolumeEnabled=1;
	//VolumeChangedEventTransactionID=1;
	FWFlags.MusicStartSyncCount = 0;
	FWFlags.PrimaryPhone.AVRCPCommandSupported = TRUE;

	osTimerDef(ABS_VOLUME_PRESS_MAX, absVolume_gradMax);
	abs_Max_volumeTimerId=osTimerCreate(osTimer(ABS_VOLUME_PRESS_MAX), osTimerPeriodic, (void*) 0);

	osTimerDef(ABS_VOLUME_PRESS_MIN, absVolume_gradMin);
	abs_Min_volumeTimerId=osTimerCreate(osTimer(ABS_VOLUME_PRESS_MIN), osTimerPeriodic, (void*) 0);

	/* First, check to make sure that a valid Bluetooth Stack ID exists. */
	if(BluetoothStackID)
	{
		/* Next, check to make sure that the Audio Manager has not already*/
		/* been initialized.                                              */
		if(!Initialized)
		{
			VolumeChangedEventTransactionID = -1;
			AVRCP_VerificationTID = osTimerCreate(osTimer(AVRCP_VERIFICATION), osTimerOnce , (void*) 0);
			CheckHFP_Connection_TID= osTimerCreate(osTimer(CHECKHFP_CONNECTION), osTimerOnce , (void*) 0);
			SyncMusic_TID = osTimerCreate(osTimer(SYNC_MUSICSTATE), osTimerOnce , (void*) 0);
			AVRCP_PreviousCommand.Command = 0;
			AVRCP_PreviousCommand.MessageType = amtUnknown;



			/* Audio has not been initialized, now let's attempt to        */
			/* initialize it.                                              */
			BTPS_MemInitialize(&InitializationInfo, 0, sizeof(AUD_Initialization_Info_t));
			BTPS_MemInitialize(&InitializationInfoSNK, 0, sizeof(AUD_Stream_Initialization_Info_t));
			BTPS_MemInitialize(&InitializationInfoAVR, 0, sizeof(AUD_Remote_Control_Initialization_Info_t));
			BTPS_MemInitialize(&RemoteControlRoleInfo, 0, sizeof(AUD_Remote_Control_Role_Info_t));

			InitializationInfo.SNKInitializationInfo           = &InitializationInfoSNK;
			InitializationInfo.RemoteControlInitializationInfo = &InitializationInfoAVR;

			InitializationInfoSNK.EndpointSDPDescription       = (char *)SinkDescription;
			InitializationInfoSNK.NumberConcurrentStreams      = 1;
			InitializationInfoSNK.NumberSupportedStreamFormats = NUM_SNK_SUPPORTED_FORMATS;
			BTPS_MemCopy(InitializationInfoSNK.StreamFormat, AudioSNKSupportedFormats, sizeof(AudioSNKSupportedFormats));

			InitializationInfoAVR.ControllerRoleInfo           = &RemoteControlRoleInfo;
			InitializationInfoAVR.TargetRoleInfo               = &TargetRoleInfo;
			InitializationInfoAVR.SupportedVersion             = apvVersion1_5; //given 3 which should be corresponding to AVRCP_1.5

			RemoteControlRoleInfo.ProviderName                 = (char *)ProviderName;
			RemoteControlRoleInfo.ServiceName                  = (char *)ControllerDescription;
			RemoteControlRoleInfo.SupportedFeaturesFlags       = SDP_AVRCP_SUPPORTED_FEATURES_CONTROLLER_CATEGORY_2;

			TargetRoleInfo.ProviderName                 		= (char *)ProviderName;
			TargetRoleInfo.ServiceName                  		= (char *)ControllerDescription;
			TargetRoleInfo.SupportedFeaturesFlags       		= SDP_AVRCP_SUPPORTED_FEATURES_CONTROLLER_CATEGORY_2;


			/* Everything has been initialized, now attemp to initialize   */
			/* the Audio Manager.                                          */
			ret_val = AUD_Initialize(BluetoothStackID, &InitializationInfo, AUD_Event_Callback, 0);
			if(!ret_val){
				//				DisplayFunctionSuccess("AUD_Initialize() Sink");
			}
			else
				DisplayFunctionError("AUD_Initialize()", ret_val);
		}
		else
			ret_val = -1;
	}
	else
		ret_val = -1;

	return(ret_val);
}

Can you please check and let me know what we are doing wrong? 

Does the internal function for the API calls also change?

Thanks!