Beispiel #1
0
/*host creat connection*/
tBleStatus ble_host_connect(tBDAddr bdaddr)
{

    tBleStatus ret;
    if(set_connectable == TRUE) {
        printf("Client Create Connection\n");
        BSP_LED_On(LED0);
        /*
          Scan_Interval, Scan_Window, Peer_Address_Type, Peer_Address, Own_Address_Type, Conn_Interval_Min,
          Conn_Interval_Max, Conn_Latency, Supervision_Timeout, Conn_Len_Min, Conn_Len_Max
          */
        ret = aci_gap_create_connection(SCAN_P, SCAN_L, PUBLIC_ADDR, bdaddr, PUBLIC_ADDR, CONN_P1, CONN_P2, 0,
                                        SUPERV_TIMEOUT, CONN_L1 , CONN_L2);
        if (ret != 0) {
            printf("Error while starting connection.\n");
            Clock_Wait(100);
        }
        printf("connection init\n\r");

    }
    set_connectable = FALSE;
    /*discover device*/
    ble_host_discover_char();
    
    return ret;
}
/*connection complete callback*/
void GAP_ConnectionComplete_CB(uint8_t addr[6], uint16_t handle)
{
#if defined (CLIENT_ROLE) || defined (CLIENT_SERVER_ROLE)
    host_connected = TRUE;
    connection_handle = handle;

    printf("Connected to device:\n\r");
    for(int i = 5; i > 0; i--) {
        printf("%02X-", addr[i]);
    }
    printf("%02X\n", addr[0]);

    /*discover device*/
    ble_host_discover_char(NULL);
#endif

}