diff --git a/src/auracast/auracast_config.py b/src/auracast/auracast_config.py index ca73302..e778a98 100644 --- a/src/auracast/auracast_config.py +++ b/src/auracast/auracast_config.py @@ -69,7 +69,7 @@ class AuracastBigConfigEng(AuracastBigConfig): random_address: str = 'F2:F1:F2:F3:F4:F5' name: str = 'Lecture Hall A' language: str ='eng' - program_info: str = 'Lecture EN' + program_info: str = 'Lecture EN' audio_source: str = 'file:./testdata/wave_particle_5min_en.wav' class AuracastBigConfigFra(AuracastBigConfig): @@ -78,7 +78,7 @@ class AuracastBigConfigFra(AuracastBigConfig): # French name: str = 'Auditoire A' language: str ='fra' - program_info: str = 'Auditoire FR' + program_info: str = 'Auditoire FR' audio_source: str = 'file:./testdata/wave_particle_5min_fr.wav' class AuracastBigConfigSpa(AuracastBigConfig): @@ -86,7 +86,7 @@ class AuracastBigConfigSpa(AuracastBigConfig): random_address: str = 'F4:F1:F2:F3:F4:F5' name: str = 'Auditorio A' language: str ='spa' - program_info: str = 'Auditorio ES' + program_info: str = 'Auditorio ES' audio_source: str = 'file:./testdata/wave_particle_5min_es.wav' class AuracastBigConfigIta(AuracastBigConfig): @@ -94,7 +94,7 @@ class AuracastBigConfigIta(AuracastBigConfig): random_address: str = 'F5:F1:F2:F3:F4:F5' name: str = 'Aula A' language: str ='ita' - program_info: str = 'Aula IT' + program_info: str = 'Aula IT' audio_source: str = 'file:./testdata/wave_particle_5min_it.wav' @@ -103,7 +103,7 @@ class AuracastBigConfigPol(AuracastBigConfig): random_address: str = 'F6:F1:F2:F3:F4:F5' name: str = 'Sala Wykładowa' language: str ='pol' - program_info: str = 'Sala Wykładowa PL' + program_info: str = 'Sala Wykładowa PL' audio_source: str = 'file:./testdata/wave_particle_5min_pl.wav' diff --git a/src/auracast/multicast.py b/src/auracast/multicast.py index 7a88ae4..5a0446a 100644 --- a/src/auracast/multicast.py +++ b/src/auracast/multicast.py @@ -286,7 +286,8 @@ async def init_broadcast( tag=le_audio.Metadata.Tag.LANGUAGE, data=conf.language.encode() ), le_audio.Metadata.Entry( - tag=le_audio.Metadata.Tag.PROGRAM_INFO, data=conf.program_info.encode() + tag=le_audio.Metadata.Tag.PROGRAM_INFO, + data=conf.program_info.encode('latin-1') ), le_audio.Metadata.Entry( tag=le_audio.Metadata.Tag.BROADCAST_NAME, data=conf.name.encode() @@ -309,9 +310,10 @@ async def init_broadcast( else [] ) ) - logging.info( - metadata.pretty_print("\n") - ) + try: + logging.info(metadata.pretty_print("\n")) + except UnicodeDecodeError: + logging.info("Metadata: (contains non-UTF-8 bytes)") bigs[f'big{i}'] = {} # Config advertising set bigs[f'big{i}']['basic_audio_announcement'] = bap.BasicAudioAnnouncement( @@ -321,7 +323,7 @@ async def init_broadcast( codec_id=hci.CodingFormat(codec_id=hci.CodecID.LC3), codec_specific_configuration=bap.CodecSpecificConfiguration( sampling_frequency=bap_sampling_freq, - frame_duration=bap.FrameDuration.DURATION_10000_US, + frame_duration=bap.FrameDuration.DURATION_7500_US if global_config.frame_duration_us == 7500 else bap.FrameDuration.DURATION_10000_US, octets_per_codec_frame=global_config.octets_per_frame, ), metadata=metadata, @@ -367,7 +369,11 @@ async def init_broadcast( elif global_config.auracast_sampling_rate_hz == 48000: pbp_features |= 0x04 # High Quality - pbp_service_data = struct.pack('Open Windows PowerShell as a regular user +- Reset the nRF52840 USB Dongle by pressing the smaller button (labeled 'RESET') to enter DFU mode +- A red LED should start flashing +- Run the nrfutil.exe with the .bin file (it's actually a ZIP archive) with the UUID128-like name +- Or just press the TAB key: .\nrfutil dfu usb-serial -pkg be4d3ab8-9c98-408a-8be4-18acf4b32d28.zip -p COM4 +- Et voila, the nRF52840 USB Dongle can be used with PTS + +# PTS ixit prerequisites +In BAP set +- Broadcast_ID=12 +- Broadcast_ID_2=13 + +In CAP set +- TSPX_BST_CODEC_CONFIG=16_2_1