реклама на сайте
подробности

 
 
> BlueNRG-MS Init, Проблемы обнаружения устройства
bark
сообщение Nov 16 2015, 13:06
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Доброго времени суток, форумчане.

Имеется проект на BlueNRG-MS. За основу программной настройки и управления взят проект "SampleAppThT". Режим Server.

Выполняю настройку следующим образом:
CODE
main
{
....
BNRG_SPI_Init();
/* Initialize the BlueNRG HCI */
HCI_Init();

/* Reset BlueNRG hardware */
BlueNRG_RST();
wait_IRQ_SPI_FLAG();

getBlueNRGVersion(&hwVersion,&fwVersion);
printk("hwVersion = 0x%X fwVersion = 0x%X Version = %X",hwVersion,fwVersion,Version);

/* Reset BlueNRG hardware */
BlueNRG_RST();
wait_IRQ_SPI_FLAG();

Osal_MemCpy(bdaddr, SERVER_BDADDR, sizeof(SERVER_BDADDR));
ret = aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET,CONFIG_DATA_PUBADDR_LEN,bda
ddr);
printk_co(GREEN,"aci_hal_write_config_data() ret=0x%X",ret);

ret = aci_gatt_init();
printk_co(GREEN,"aci_gatt_init() ret=0x%X",ret);


ret = aci_gap_init(GAP_PERIPHERAL_ROLE, 0, 7, &service_handle, &dev_name_char_handle, &appearance_char_handle);
//appearance_char_handle - 8;
//service_handle - 5;
//dev_name_char_handle - 6;
printk_co(GREEN,"aci_gap_init() ret=0x%X",ret);
printk_co(GREEN,"service_handle = 0x%X dev_name_char_handle = 0x%X appearance_char_handle = 0x%X",service_handle,dev_name_char_handle,appearance_char_handle);


aci_gatt_update_char_value(service_handle, dev_name_char_handle, 0,strlen(name), (uint8_t *)name);
printk_co(GREEN,"aci_gatt_update_char_value() ret=0x%X",ret);

ret = aci_gap_set_auth_requirement(MITM_PROTECTION_REQUIRED,OOB_AUTH_DATA_ABSENT,0, 7,16,USE_FIXED_PIN_FOR_PAIRING,123456,BONDING);
printk_co(GREEN,"aci_gap_set_auth_requirement() ret=0x%X",ret);//

ret = Add_Acc_Service();
printk_co(GREEN,"Add_Acc_Service() ret=0x%X",ret);//7

ret = Add_Environmental_Sensor_Service();
printk_co(GREEN,"Add_Environmental_Sensor_Service() ret=0x%X",ret);

ret = aci_hal_set_tx_power_level(1,4);
printk_co(GREEN,"aci_hal_set_tx_power_level() ret=0x%X",ret);
....
}

void setConnectable(void)
{
tBleStatus ret;

//const char local_name[] = {AD_TYPE_COMPLETE_LOCAL_NAME,'B','l','u','e','N','R','G'};

hci_le_set_scan_resp_data(0,NULL);
printk("General Discoverable Mode.\n");

ret = aci_gap_set_discoverable(ADV_IND, 0, 0, PUBLIC_ADDR, NO_WHITE_LIST_USE,
sizeof(local_name), local_name, 0, NULL, 0, 0);

printk_co(GREEN,"aci_gap_set_discoverable() ret=0x%X",ret);
if (ret != BLE_STATUS_SUCCESS) {
printk("Error while setting discoverable mode (%d)\n", ret);

}
}

В результате наблюдаю следующую картину видимости моего устройства:
RSSI graph

Устройство доступно в течении ~3-5 сек с периодом ~30 сек.
Тактирование - HSI=16MHz. LSE - ext 32.768kHz

Подскажите пожалуйста, в чем может быть проблема?
С отладочной платой IDB04A1 все работает - модуль видится постоянно.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 12:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016