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:使用 AudioDemo API's 时、ACRCP 配置文件版本将至 v1.4

Guru**** 2380860 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1340511/cc2564cstbtblesw-acrcp-profile-version-going-to-v1-4-when-using-the-audiodemo-api-s

器件型号:CC2564CSTBTBLESW

您好、TI!

我们在最新的5.1.1.1堆栈中的 AUDIOAPI 中面临问题。

在我们使用该 AUDIOAPI 时、AVRCP 版本将切换到 AVRCP v1.4。

在进一步的调试中,我们注意到 AUDIOAPI 在内部调用 AVRCP_Register_sdp_api()  Record_Version 函数。

在该函数中、 使用 AVRCP_Version_t、该操作只会持续到 avrcpv1.4。

 typedef 枚举
{
apvVersion1_0、
apvVersion1_3、
apvVersion1_4
}AVRCP_Version_t;

请检查并告知我们、如何解决此问题?

是否有适用于此的补丁?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vishnu:

    从版本说明的内容来看、我们仅支持 AVRCP 1.4、而不支持1.5。 您是否阅读过我们支持1.5版的某些内容?

    此致!

    罗格莱奥

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 

    根据新的堆栈和 TI 共享的 QDID 应该是 AVRCPv1.5。

    请检查蓝牙列表。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:Rogelio、

    请查看附件 QDID 详细信息。

    此问题出现在 AUDIOAPI 中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vishnu:

    我在研究这个不匹配情况时、您是正确的。

    此致!

    罗格利奥

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好@RogelioD:

    请随时询问... 我们知道发生了什么。 非常有帮助。 如果您需要我们明确地告诉您要做什么、请告诉我。  

    尚未为 v1.5定义 AVRCP 版本更改函数。

    请检查... 对我们来说,这是非常紧迫的。  

    谢谢!

    如有任何帮助或疑问、请随时提出。  

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vishnu:

    我同意必须包括这一定义。 在我将此版本添加到 SDP 中之前、我只需要确认对堆栈进行了适当的更改。 不幸的是、此更改是在我未完成时完成的、因此我必须咨询更新堆栈的第三方。

    一旦我得到他们的回应,我就会跟进。 但是、感谢大家注意到这些不一致之处。

    此致!

    罗格利奥

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好@RogelioD:

    客户因此延迟了、请今天给我更新。 它是一个相对简单的错误。

    如果您可以共享源代码、 我们可以在此处进行修改。

    我们需要尽快解决此问题。 我们没有时间花时间来解决这个小问题。

    请理解该问题并采取必要的步骤。

    如果您知道任何覆盖此函数的方法、或者编写一个或多个新的函数或补丁、任何东西都将对我们有用。

    请告知我们如何尽快解决此问题。 非常关键。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vishnu:

    我创建了一个新的发行版、对应用的 AVRCP 进行了正确的更改。

    e2e.ti.com/.../CC2564CSTBTBLESW_2D00_v5.1.1.1_2D00_windows_2D00_x64_2D00_installer.exe

    如果您遇到任何问题、请告诉我。 这适用于 STM 主机。

    此致!

    罗格利奥

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vishnu:

    在为以前的构建进行编译时、我的确更改了一个标志。 我已经改回默认标志、希望现在可以在您的硬件上工作。 这是一个新的可执行性。

    e2e.ti.com/.../4111.CC2564CSTBTBLESW_2D00_v5.1.1.1_2D00_windows_2D00_x64_2D00_installer.exe

    此致!

    罗格利奥

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的

    HCI 日志仍将其显示为版本1.4。

    我们正在使用 AUD API。

    当我尝试降级到1.3版时、它可以正常工作。 但我无法获得 1.5版。

    我在这里连接 AUD 模块初始化。

    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);
    }
    

    您能检查一下并告诉我我们做错了什么吗?  

    用于 API 调用的内部函数也会发生变化吗?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好@RogelioD:

    有更新吗?

    您是否还可以使用 HCI 日志验证版本是否正在更新?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vishnu:

    我相信我找到了解决办法。 不幸的是,我不是围绕硬件采取 HCI 日志,但我认为这应该做到。

    e2e.ti.com/.../6253.CC2564CSTBTBLESW_2D00_v5.1.1.1_2D00_windows_2D00_x64_2D00_installer.exe

    此致!

    罗格利奥