Jump to content

    

minion

Новичок
  • Content Count

    2
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. Здравствуйте. Разобрался. Решил написать, вдруг кому понадобится. Дело было в временнЫх параметрах функций aci_gap_create_connection и aci_gap_set_discoverable. Когда отлаживал, оставил их из примера SampleService. Как только заменил на параметры из питновоского скрипта Simultaneous_Mode_Master_Slave.py, все заработало.
  2. Здравствуйте. Использую CubeMx32, Keil. Модифицирую пример SampleService. Есть два устройства на отладочной плате stm32f303ze и x-nucleo-idb05a1. Первое - только сервер (периферия), второе - клиент (централ) и сервер (периферия). Стек = 3 (пробовал и 4) оба устройства успешно инициируются aci_gap_init (GAP_PERIPHERAL_ROLE_IDB05A1 | GAP_CENTRAL_ROLE_IDB05A1). После того, как вторая плата подключится к первой, на второй плате даю команду aci_gap_set_discoverable, а в ответ получаю ошибку с кодом 0x86 (BLE_STATUS_LENGTH_FAILED). Вот описание ошибки из файла ble_def.h: Программный код един для обеих плат. В первой плате отключен режим клиента, и она успешно выполняет эту же команду aci_gap_set_discoverable. Пробовал работать с работать с этими же платами из программы BLUENRG GUI (отладочная плата STM32 - в режиме виртуального порта). Там есть примеры на питоне. Не стабильно, но удавалось запустить передачу Slave -> Master/Slave - > Master. Там есть побайтный лог интерфейса SPI между программной и чипом BlueNRG-MS (частичный скриншот прикрепил к посту). Сравнивал со своим - практически совпадают. Только там set_discovery возвращает 0x00. Подскажите, пожалуйста, где я мог совершить ошибку. Спасибо.