/***************************************************************************** ** ** Function btu_task_thread_handler ** ** Description Process BTU Task Thread. ******************************************************************************/ void btu_task_thread_handler(void *arg) { BtTaskEvt_t e; for (;;) { if (pdTRUE == xQueueReceive(xBtuQueue, &e, (portTickType)portMAX_DELAY)) { switch (e.sig) { case SIG_BTU_START_UP: btu_task_start_up(); break; case SIG_BTU_HCI_MSG: btu_hci_msg_process((BT_HDR *)e.par); break; #if (defined(BTA_INCLUDED) && BTA_INCLUDED == TRUE) case SIG_BTU_BTA_MSG: bta_sys_event((BT_HDR *)e.par); break; case SIG_BTU_BTA_ALARM: btu_bta_alarm_process((TIMER_LIST_ENT *)e.par); break; #endif case SIG_BTU_GENERAL_ALARM: btu_general_alarm_process((TIMER_LIST_ENT *)e.par); break; case SIG_BTU_ONESHOT_ALARM: { TIMER_LIST_ENT *p_tle = (TIMER_LIST_ENT *)e.par; btu_general_alarm_process(p_tle); switch (p_tle->event) { #if (defined(BLE_INCLUDED) && BLE_INCLUDED == TRUE) case BTU_TTYPE_BLE_RANDOM_ADDR: btm_ble_timeout(p_tle); break; #endif case BTU_TTYPE_USER_FUNC: { tUSER_TIMEOUT_FUNC *p_uf = (tUSER_TIMEOUT_FUNC *)p_tle->param; (*p_uf)(p_tle); break; } default: // FAIL LOG_ERROR("Received unexpected oneshot timer event:0x%x\n", p_tle->event); break; } break; } case SIG_BTU_L2CAP_ALARM: btu_l2cap_alarm_process((TIMER_LIST_ENT *)e.par); break; default: break; } } } }
/***************************************************************************** ** ** Function btu_task_thread_handler ** ** Description Process BTU Task Thread. ******************************************************************************/ void btu_task_thread_handler(void *arg) { BtTaskEvt_t e; for (;;) { if (pdTRUE == xQueueReceive(xBtuQueue, &e, (portTickType)portMAX_DELAY)) { switch (e.sig) { case SIG_BTU_START_UP: btu_task_start_up(); break; case SIG_BTU_HCI_MSG: btu_hci_msg_process((BT_HDR *)e.par); break; #if (defined(BTA_INCLUDED) && BTA_INCLUDED == TRUE) case SIG_BTU_BTA_MSG: bta_sys_event((BT_HDR *)e.par); break; case SIG_BTU_BTA_ALARM: btu_bta_alarm_process((TIMER_LIST_ENT *)e.par); break; #endif case SIG_BTU_GENERAL_ALARM: btu_general_alarm_process((TIMER_LIST_ENT *)e.par); break; case SIG_BTU_ONESHOT_ALARM: { TIMER_LIST_ENT *p_tle = (TIMER_LIST_ENT *)e.par; btu_general_alarm_process(p_tle); break; } case SIG_BTU_L2CAP_ALARM: btu_l2cap_alarm_process((TIMER_LIST_ENT *)e.par); break; default: break; } } } }
void btu_bta_alarm_ready(fixed_queue_t *queue, UNUSED_ATTR void *context) { TIMER_LIST_ENT *p_tle = (TIMER_LIST_ENT *)fixed_queue_dequeue(queue); btu_bta_alarm_process(p_tle); }