Esempio n. 1
0
/*****************************************************************************
**
** 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;
            }
        }
    }
}
Esempio n. 2
0
/*****************************************************************************
**
** 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;
            }
        }
    }
}
Esempio n. 3
0
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);
}