Esempio n. 1
0
int os_queue_put(os_queue_t queue, const void* item, system_tick_t delay)
{
	if (HAL_IsISR())
		return xQueueSendFromISR(queue, item, nullptr)!=pdTRUE;
	else
		return xQueueSend(queue, item, delay)!=pdTRUE;
}
Esempio n. 2
0
static bool HAL_USB_WillPreempt()
{
    if (HAL_IsISR()) {
#ifdef USE_USB_OTG_FS
        int32_t irq = OTG_FS_IRQn;
#else
        int32_t irq = OTG_HS_IRQn;
#endif
        if (!HAL_WillPreempt(irq, HAL_ServicedIRQn()))
            return false;
    }

    return true;
}