Merge branch 'nimble' of git.proxmox3:JF/PineTime into nimble

This commit is contained in:
JF 2020-05-16 15:30:54 +02:00
commit 56fba1c242
2 changed files with 18 additions and 10 deletions

View file

@ -82,9 +82,14 @@ void NimbleController::Init() {
int res; int res;
res = ble_hs_util_ensure_addr(0); res = ble_hs_util_ensure_addr(0);
ASSERT(res == 0);
res = ble_hs_id_infer_auto(0, &addrType); res = ble_hs_id_infer_auto(0, &addrType);
ASSERT(res == 0);
res = ble_svc_gap_device_name_set(deviceName); res = ble_svc_gap_device_name_set(deviceName);
ble_gatts_start();
ASSERT(res == 0);
res = ble_gatts_start();
ASSERT(res == 0);
} }
void NimbleController::StartAdvertising() { void NimbleController::StartAdvertising() {
@ -121,14 +126,14 @@ void NimbleController::StartAdvertising() {
int res; int res;
res = ble_gap_adv_set_fields(&fields); res = ble_gap_adv_set_fields(&fields);
assert(res == 0); ASSERT(res == 0);
ble_gap_adv_rsp_set_fields(&rsp_fields); res = ble_gap_adv_rsp_set_fields(&rsp_fields);
ASSERT(res == 0);
ble_gap_adv_start(addrType, NULL, 10000, res = ble_gap_adv_start(addrType, NULL, 10000,
&adv_params, GAPEventCallback, this); &adv_params, GAPEventCallback, this);
ASSERT(res == 0);
} }
int OnAllSvrDisco(uint16_t conn_handle, int OnAllSvrDisco(uint16_t conn_handle,
@ -144,7 +149,7 @@ int NimbleController::OnGAPEvent(ble_gap_event *event) {
switch (event->type) { switch (event->type) {
case BLE_GAP_EVENT_ADV_COMPLETE: case BLE_GAP_EVENT_ADV_COMPLETE:
NRF_LOG_INFO("Advertising event : BLE_GAP_EVENT_ADV_COMPLETE"); NRF_LOG_INFO("Advertising event : BLE_GAP_EVENT_ADV_COMPLETE");
NRF_LOG_INFO("advertise complete; reason=%d", event->adv_complete.reason); NRF_LOG_INFO("advertise complete; reason=%dn status=%d", event->adv_complete.reason, event->connect.status);
StartAdvertising(); StartAdvertising();
break; break;
case BLE_GAP_EVENT_CONNECT: { case BLE_GAP_EVENT_CONNECT: {
@ -167,7 +172,7 @@ int NimbleController::OnGAPEvent(ble_gap_event *event) {
break; break;
case BLE_GAP_EVENT_DISCONNECT: case BLE_GAP_EVENT_DISCONNECT:
NRF_LOG_INFO("Advertising event : BLE_GAP_EVENT_DISCONNECT"); NRF_LOG_INFO("Advertising event : BLE_GAP_EVENT_DISCONNECT");
NRF_LOG_INFO("disconnect; reason=%d ", event->disconnect.reason); NRF_LOG_INFO("disconnect; reason=%d", event->disconnect.reason);
/* Connection terminated; resume advertising. */ /* Connection terminated; resume advertising. */
bleController.Disconnect(); bleController.Disconnect();

View file

@ -184,8 +184,11 @@ void nimble_port_init(void) {
ble_hs_init(); ble_hs_init();
ble_store_ram_init(); ble_store_ram_init();
hal_timer_init(5, NULL); int res;
os_cputime_init(32768); res = hal_timer_init(5, NULL);
ASSERT(res == 0);
res = os_cputime_init(32768);
ASSERT(res == 0);
ble_ll_init(); ble_ll_init();
ble_hci_ram_init(); ble_hci_ram_init();
nimble_port_freertos_init(BleHost); nimble_port_freertos_init(BleHost);