请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2564CSTBTBLESW 尊敬的 RogelioD:
我正在使用您在另一个线程中提供的最新堆栈
("4111.CC2564CSTBTBLESW-v5.1.1-windows-x64-installer.exe")
我能够成功编译和加载固件。
HCI 日志仍将其显示为版本1.4。
我们正在使用 AUD API。
当我尝试降级到1.3版时、它可以正常工作。 但是、当我为版本1.5提供枚举时、我无法获得版本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); }