diff --git a/src/auracast/auracast_config.py b/src/auracast/auracast_config.py index b147ef0..56b14e7 100644 --- a/src/auracast/auracast_config.py +++ b/src/auracast/auracast_config.py @@ -60,7 +60,7 @@ class AuracastBigConfigDeu(AuracastBigConfig): random_address: str = 'F1:F1:F2:F3:F4:F5' name: str = 'Broadcast0' language: str ='deu' - program_info: str = 'Announcements German' + program_info: str = 'German' audio_source: str = 'file:./testdata/announcement_de.wav' class AuracastBigConfigEng(AuracastBigConfig): @@ -68,7 +68,7 @@ class AuracastBigConfigEng(AuracastBigConfig): random_address: str = 'F2:F1:F2:F3:F4:F5' name: str = 'Broadcast1' language: str ='eng' - program_info: str = 'Announcements English' + program_info: str = 'English' audio_source: str = 'file:./testdata/announcement_en.wav' class AuracastBigConfigFra(AuracastBigConfig): @@ -76,7 +76,7 @@ class AuracastBigConfigFra(AuracastBigConfig): random_address: str = 'F3:F1:F2:F3:F4:F5' name: str = 'Broadcast2' language: str ='fra' - program_info: str = 'Announcements French' + program_info: str = 'French' audio_source: str = 'file:./testdata/announcement_fr.wav' class AuracastBigConfigSpa(AuracastBigConfig): @@ -84,7 +84,7 @@ class AuracastBigConfigSpa(AuracastBigConfig): random_address: str = 'F4:F1:F2:F3:F4:F5' name: str = 'Broadcast3' language: str ='spa' - program_info: str = 'Announcements Spanish' + program_info: str = 'Spanish' audio_source: str = 'file:./testdata/announcement_es.wav' class AuracastBigConfigIta(AuracastBigConfig): @@ -92,7 +92,7 @@ class AuracastBigConfigIta(AuracastBigConfig): random_address: str = 'F5:F1:F2:F3:F4:F5' name: str = 'Broadcast4' language: str ='ita' - program_info: str = 'Announcements Italian' + program_info: str = 'Italian' audio_source: str = 'file:./testdata/announcement_it.wav' diff --git a/src/auracast/multicast.py b/src/auracast/multicast.py index 244d0fc..0bc8542 100644 --- a/src/auracast/multicast.py +++ b/src/auracast/multicast.py @@ -23,7 +23,7 @@ import logging import wave import itertools import struct -from typing import cast, Any, AsyncGenerator, Coroutine, Dict, Optional, Tuple, List +from typing import cast, Any, AsyncGenerator, Coroutine, List import itertools try: @@ -502,31 +502,27 @@ if __name__ == "__main__": ) os.chdir(os.path.dirname(__file__)) - global_conf = auracast_config.AuracastGlobalConfig( - qos_config=auracast_config.AuracastQosHigh() + + config = auracast_config.AuracastConfigGroup( + bigs = [ + auracast_config.AuracastBigConfigDeu(), + #auracast_config.AuracastBigConfigEng(), + #auracast_config.AuracastBigConfigFra(), + #auracast_config.AuracastBigConfigEs(), + #auracast_config.AuracastBigConfigIt(), + ] ) + # TODO: How can we use other iso interval than 10ms ?(medium or low rel) ? - nrf53audio receiver repports I2S tx underrun + config.qos_config=auracast_config.AuracastQosHigh() + #global_conf.transport='serial:/dev/serial/by-id/usb-ZEPHYR_Zephyr_HCI_UART_sample_81BD14B8D71B5662-if00,1000000,rtscts' # transport for nrf52 dongle - #global_conf.transport='serial:/dev/serial/by-id/usb-SEGGER_J-Link_001050076061-if02,1000000,rtscts' # transport for nrf53dk - #global_conf.transport='serial:/dev/serial/by-id/usb-SEGGER_J-Link_001057705357-if02,1000000,rtscts' # transport for nrf54l15dk - - global_conf.transport='serial:/dev/serial/by-id/usb-ZEPHYR_Zephyr_HCI_UART_sample_81BD14B8D71B5662-if00,115200,rtscts' #nrf52dongle hci_uart usb cdc - + config.transport='serial:/dev/serial/by-id/usb-ZEPHYR_Zephyr_HCI_UART_sample_95A087EADB030B24-if00,115200,rtscts' #nrf52dongle hci_uart usb cdc # global_conf.transport='usb:2fe3:000b' #nrf52dongle hci_usb # TODO: iso packet over usb not supported - - # TODO: How can we use other iso interval than 10ms ?(medium or low rel) ? - nrf53audio receiver repports I2S tx underrun - - bigs = [ - auracast_config.AuracastBigConfigDeu(), - auracast_config.AuracastBigConfigEng(), - auracast_config.AuracastBigConfigFra(), - #auracast_config.AuracastBigConfigEs(), - #auracast_config.AuracastBigConfigIt(), - ] - for big in bigs: # TODO: encrypted streams are not working + for big in config.bigs: # TODO: encrypted streams are not working #big.code = 'ff'*16 # returns hci/HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE_ERROR #big.code = '78 e5 dc f1 34 ab 42 bf c1 92 ef dd 3a fd 67 ae' big.precode_wav = True @@ -539,14 +535,15 @@ if __name__ == "__main__": # TODO: find the bottleneck - probably airtime # TODO: test encrypted streams - global_conf.auracast_sampling_rate_hz = 16000 - global_conf.octets_per_frame = 40 # 32kbps@16kHz - #global_conf.debug = True + config.auracast_sampling_rate_hz = 16000 + config.octets_per_frame = 40 # 32kbps@16kHz + #config.debug = True + run_async( broadcast( - global_conf, - bigs + config, + config.bigs ) ) diff --git a/src/auracast/multicast_server.py b/src/auracast/multicast_server.py index f98273a..d63ed54 100644 --- a/src/auracast/multicast_server.py +++ b/src/auracast/multicast_server.py @@ -38,7 +38,7 @@ async def initialize(conf: auracast_config.AuracastConfigGroup): ) multicaster = multicast_control.Multicaster( conf, - [big for big in conf.bigs], + conf.bigs, ) await multicaster.init_broadcast() except Exception as e: