cancel
Showing results for 
Search instead for 
Did you mean: 

BlueNRG-2N configure the same device as Server, Client and observer simulataneusly

malarab
Senior II

Hello,

i need to configure the same device as Server, Client and observer simultaneously

is it right to initialise like this ?

//GAP Init

uint8_t bluetooth_role = 0;

bluetooth_role |= GAP_PERIPHERAL_ROLE;

bluetooth_role |= GAP_CENTRAL_ROLE;

bluetooth_role |= GAP_OBSERVER_ROLE;

ret = aci_gap_init(bluetooth_role, 0x00, sizeof(device_name), &generic_service_handle, &dev_name_char_handle, &appearance_char_handle);

 

and what is the rule to manage scanning and advertising intervals ?

 

Thank you,

Sincerely.

1 REPLY 1
malarab
Senior II

i use finaly just Server and Client

uint8_t bluetooth_role = 0;
bluetooth_role |= GAP_PERIPHERAL_ROLE;
bluetooth_role |= GAP_CENTRAL_ROLE;
ret = aci_gap_init(bluetooth_role, 0x00, sizeof(device_name), &generic_service_handle, &dev_name_char_handle, &appearance_char_handle);

 

i have 4 slave to connect with them, for every slave :

ret = aci_gap_create_connection(SCAN_P, SCAN_L,
0x00, //0x00 Public Device Address
bdadrr,
PUBLIC_ADDR, 160, 240, 0, 500, 10 , 40);

 

for server :

hci_le_set_scan_response_data(0,NULL);
//Set General Discoverable Mode
ret = aci_gap_set_discoverable(ADV_DATA_TYPE,
ADV_INTERV_MIN, ADV_INTERV_MAX,
PUBLIC_ADDR,
NO_WHITE_LIST_USE,
(ble_device_name_len+1), local_name, 0, NULL, 0, 0);
.....

 

macros :

#define SCAN_P      2048
#define SCAN_L      1024
#define ADV_INTERV_MIN      512	
#define ADV_INTERV_MAX      1024

 

for connection every think is ok,

the connection/disconnection of all devices can be maintained and work correctly if don't make any data transfer

but when i start the data transfer (for know just from the BlueNRG to mobile app), i have the most of time issues !

and the device disconnect without receiving 

hci_disconnection_complete_event

 

Note : if i don't have a connection with the slaves, the  data transfer from the BlueNRG to the mobile app work without any problem

is there is something to adjust of intervals ?