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; }
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; }