1. к сожалению, доступна документация не на все поколения BC,
доподлинно известно что BlueCore-3 поддерживает SPDIF (мультиплексирован с PCM/I2S)
а последних поколениях, как я понимаю, они отказались от этого?
какие еще поколения поддерживают SPDIF? (в принципе интересует только SPDIF-OUT)
2. Если рассматривать тот же BlueCore-3, то та обрывочная документация, которой располагаю не отвечает на вопрос
можно ли вх.аудио снимать с микрофона (как я понимаю этот источник называется в исходниках internal) а вых.аудио выдавать в SPDIF?
по описанию в pcm.h
Код
bool PcmRateAndRoute(uint16 port, uint16 sync_port, uint32 read_rate, uint32 write_rate, vm_pcm_io io);
и примеру использования:
Код
/* Configure PCM sample rate to be 8k. Try routing PCM data on port 0 to internal
codec A if the current hardware supports it, or external PCM interface otherwise. */
if (!PcmRateAndRoute(0, PCM_NO_SYNC, 8000, 8000, VM_PCM_INTERNAL_A))
{
PcmRateAndRoute(0, PCM_NO_SYNC, 8000, 8000, VM_PCM_EXTERNAL_PCM);
}
не очень понятно - уровень абстракции это такой или же аппаратные ограничения?
а сами внутренности PcmRateAndRoute - где-то скрыты (не нашёл)
по <app/vm/vm_if.h> понятно лишь что можно запустить _дуплексный_ SPDIF:
Код
typedef enum
{
VM_PCM_INTERNAL_A_AND_B, /*!< Route PCM data to internal codecs A and B.*/
VM_PCM_INTERNAL_A, /*!< Route PCM data to internal codec A.*/
VM_PCM_INTERNAL_B, /*!< Route PCM data to internal codec B.*/
VM_PCM_EXTERNAL_PCM, /*!< Route PCM data to external PCM interface.*/
VM_PCM_NONE, /*!< Clear routing of PCM data.*/
VM_PCM_EXTERNAL_I2S, /*!< Route PCM data to I2S interface.*/
VM_PCM_EXTERNAL_SPDIF, /*!< Route PCM data to SPDIF interface.*/
VM_PCM_EXTERNAL_DSP, /*!< Route PCM data to DSP interface.*/
VM_PCM_EXTERNAL_I2S_SLAVE /*!< Route PCM data to I2S slave mode interface.*/
} vm_pcm_io;
3. насколько полным для сборки кастомного фильварь является комплект библиотек, исходников и примеров из поставки BlueLab ?
что нужно: HFP, A2DP, PBAP, AVRCP, SPP + эходав и шумодав в DSP-части
какие-то исходники есть в src/lib & src/untested но насколько там рабочие реализации - непонятно пока
может кто-нибудь собирал?
в src/kalimba и kalimba/bc3mm вообще никаких упоминаний об эходаве и шумодаве либо названия уж сильно завуалированные
4. кто-то уже проходил этот путь?
насколько тернист путь по сборке и наладке собственного фирмваря, располагая BlueLab и "обрывками" исходников?
разговаривал с оптовиком BT OEM модулей
мол, как насчёт того чтобы туда свою прошивку залить, говорит - "нет проблем"
но когда начали более глубоко копать выяснилось, что максимум что он предоставить может - это описание командного интерфейса по UART
а вопрос он понял - как "просто возможность менять прошивки" - т.е. наличие внешней флеш..
в принципе всё что нужно от модификации: активировать SPDIF-OUT и повесить свой интерпретатор команд на UART, чтобы не ставить в прибор дополнительный хост для преобразования UART-UART
PS: и вообще есть ли у кого доступ к AppNote на csrsupport.com?
а то мой аккаунт 2004года заблокирован, а при попытке зарегаться даж на корпоративное мыло говорит, что домен не входит в привелегированный список и документы я скачивать не смогу
может кто-нить добрый зальёт AppNote и сопустствующую контрибуцию "сами_знаете_куда"