1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#![allow(non_snake_case)] use crate::base::*; extern { pub fn freertos_rs_invoke_configASSERT(); pub fn freertos_rs_vTaskStartScheduler() -> !; pub fn freertos_rs_pvPortMalloc(xWantedSize: FreeRtosUBaseType) -> FreeRtosVoidPtr; pub fn freertos_rs_vPortFree(pv: FreeRtosVoidPtr); pub fn freertos_rs_sizeof(_type: u8) -> u8; pub fn freertos_rs_vTaskDelayUntil(pxPreviousWakeTime: *mut FreeRtosTickType, xTimeIncrement: FreeRtosTickType); pub fn freertos_rs_vTaskDelay(xTicksToDelay: FreeRtosTickType); pub fn freertos_rs_get_portTICK_PERIOD_MS() -> FreeRtosTickType; pub fn freertos_rs_get_number_of_tasks() -> FreeRtosUBaseType; pub fn freertos_rs_xTaskGetTickCount() -> FreeRtosTickType; pub fn freertos_rs_create_recursive_mutex() -> FreeRtosQueueHandle; pub fn freertos_rs_create_mutex() -> FreeRtosQueueHandle; pub fn freertos_rs_take_recursive_mutex(mutex: FreeRtosQueueHandle, max: FreeRtosTickType) -> FreeRtosBaseType; pub fn freertos_rs_take_mutex(mutex: FreeRtosQueueHandle, max: FreeRtosTickType) -> FreeRtosBaseType; pub fn freertos_rs_give_mutex(mutex: FreeRtosQueueHandle) -> FreeRtosBaseType; pub fn freertos_rs_give_recursive_mutex(mutex: FreeRtosQueueHandle) -> FreeRtosBaseType; pub fn freertos_rs_delete_semaphore(mutex: FreeRtosQueueHandle); pub fn freertos_rs_create_binary_semaphore() -> FreeRtosQueueHandle; pub fn freertos_rs_create_counting_semaphore(max: FreeRtosUBaseType, initial: FreeRtosUBaseType) -> FreeRtosQueueHandle; pub fn freertos_rs_queue_create(length: FreeRtosUBaseType, item_size: FreeRtosUBaseType) -> FreeRtosQueueHandle; pub fn freertos_rs_queue_delete(queue: FreeRtosQueueHandle); pub fn freertos_rs_queue_send(queue: FreeRtosQueueHandle, item: FreeRtosVoidPtr, max_wait: FreeRtosTickType) -> FreeRtosUBaseType; pub fn freertos_rs_queue_receive(queue: FreeRtosQueueHandle, item: FreeRtosMutVoidPtr, max_wait: FreeRtosTickType) -> FreeRtosUBaseType; pub fn freertos_rs_queue_send_isr(queue: FreeRtosQueueHandle, item: FreeRtosVoidPtr, xHigherPriorityTaskWoken: FreeRtosBaseTypeMutPtr) -> FreeRtosUBaseType; pub fn freertos_rs_isr_yield(); pub fn freertos_rs_task_notify_take(clear_count: u8, wait: FreeRtosTickType) -> u32; pub fn freertos_rs_task_notify_wait(ulBitsToClearOnEntry: u32, ulBitsToClearOnExit: u32, pulNotificationValue: *mut u32, xTicksToWait: FreeRtosTickType) -> FreeRtosBaseType; pub fn freertos_rs_task_notify(task: FreeRtosTaskHandle, value: u32, action: u8) -> FreeRtosBaseType; pub fn freertos_rs_task_notify_isr(task: FreeRtosTaskHandle, value: u32, action: u8, xHigherPriorityTaskWoken: FreeRtosBaseTypeMutPtr) -> FreeRtosBaseType; pub fn freertos_rs_spawn_task(f: extern fn(FreeRtosMutVoidPtr) -> FreeRtosMutVoidPtr, value: FreeRtosMutVoidPtr, name: FreeRtosCharPtr, name_len: u8, stack_size: u16, priority: FreeRtosUBaseType, task_handle: FreeRtosMutTaskHandle) -> FreeRtosUBaseType; pub fn freertos_rs_delete_task(task: FreeRtosTaskHandle); pub fn freertos_rs_task_get_name(task: FreeRtosTaskHandle) -> FreeRtosCharPtr; pub fn freertos_rs_get_stack_high_water_mark(task: FreeRtosTaskHandle) -> FreeRtosBaseType; pub fn freertos_rs_get_current_task() -> FreeRtosTaskHandle; pub fn freertos_rs_get_system_state(tasks: *mut FreeRtosTaskStatusFfi, tasks_len: FreeRtosUBaseType, total_run_time: *mut u32) -> FreeRtosUBaseType; pub fn freertos_rs_max_wait() -> FreeRtosTickType; pub fn freertos_rs_timer_create(name: FreeRtosCharPtr, name_len: u8, period: FreeRtosTickType, auto_reload: u8, timer_id: FreeRtosVoidPtr, callback: extern fn(FreeRtosTimerHandle) -> ()) -> FreeRtosTimerHandle; pub fn freertos_rs_timer_start(timer: FreeRtosTimerHandle, block_time: FreeRtosTickType) -> FreeRtosBaseType; pub fn freertos_rs_timer_stop(timer: FreeRtosTimerHandle, block_time: FreeRtosTickType) -> FreeRtosBaseType; pub fn freertos_rs_timer_delete(timer: FreeRtosTimerHandle, block_time: FreeRtosTickType) -> FreeRtosBaseType; pub fn freertos_rs_timer_change_period(timer: FreeRtosTimerHandle, block_time: FreeRtosTickType, new_period: FreeRtosTickType) -> FreeRtosBaseType; pub fn freertos_rs_timer_get_id(timer: FreeRtosTimerHandle) -> FreeRtosVoidPtr; pub fn freertos_rs_enter_critical(); pub fn freertos_rs_exit_critical(); }