CI13LC SDK API手册  2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
romlib_api.h
浏览该文件的文档.
1 #ifndef __ROMLIB_API_H__
2 #define __ROMLIB_API_H__
3 
4 #define USE_FFT 1
5 #define USE_CLIB 1
6 
7 #include <stdio.h>
8 #include <math.h>
9 #include <stdlib.h>
10 
11 #include "FreeRTOS.h"
12 #include "task.h"
13 #include "event_groups.h"
14 #include "queue.h"
15 #include "stream_buffer.h"
16 
17 #include "../../system/port_api.h"
18 #include "fft.h"
19 #include "../../utils/dichotomy_find.h"
20 
21 
22 
23 
24 typedef struct romruntime_func_st {
26  uint32_t verison;
27  uint32_t reserved;
28  int (*init_lib_romruntime_p)(void);
29  #if USE_FFT
30  struct fftfunc_s {
31  void (*riscv_rfft_fast_f32_p)(riscv_rfft_fast_instance_f32 * S, float * p,float * pOut,uint8_t ifftFlag);
32  int (*riscv_rfft_fast_init_f32_p)( riscv_rfft_fast_instance_f32 * S,unsigned int fft_len);
33  }fftfunc;
34  #endif /*USE_FFT*/
35  #if USE_CLIB
36  struct newlibcfunc_s {
37  void (*NEWLib_Set_Func_p)(void* f1,void* f2,void* f3);
38  int (*memcmp_p)(const void *, const void *, size_t);
39  void * (*memcpy_p)(void *__restrict, const void *__restrict, size_t);
40  void * (*memmove_p)(void *, const void *, size_t);
41  void * (*memset_p)(void *, int, size_t);
42  char * (*strcat_p)(char *__restrict, const char *__restrict);
43  int (*strcmp_p)(const char *, const char *);
44  char * (*strcpy_p)(char *__restrict, const char *__restrict);
45  size_t (*strlen_p)(const char *);
46  char * (*strncat_p)(char *__restrict, const char *__restrict, size_t);
47  int (*strncmp_p)(const char *, const char *, size_t);
48  char * (*strncpy_p)(char *__restrict, const char *__restrict, size_t);
49  char * (*strstr_p)(const char *, const char *);
50  char * (*stpcpy_p)(char *__restrict, const char *__restrict);
51  char * (*stpncpy_p)(char *__restrict, const char *__restrict, size_t);
52  size_t (*strnlen_p)(const char *, size_t);
53  unsigned long (*strtoul_p)(const char *__restrict __n, char **__restrict __end_PTR, int __base);
54 
55  long (*atol_p)(const char *__nptr);
56  void (*qsort_p)(void *__base, size_t __nmemb, size_t __size, __compar_fn_t _compar);
57 
58  void * (*malloc_p)(size_t __size);
59  void (*free_p)(void *);
60  void * (*_malloc_r_p)(struct _reent *p, size_t);
61  void (*_free_r_p)(struct _reent *p, void *);
62 
63  int (*vsnprintf_p)(char *__restrict, size_t, const char *__restrict, __VALIST);
64  int (*sprintf_p) (char *__restrict, const char *__restrict, ...);
65  int (*sscanf_p)(const char *__restrict, const char *__restrict, ...);
66 
67 
68  int (*abs_p)(int);
69  int (*isnan_p)(double);
70  int (*isinf_p)(double);
71  float (*cosf_p)(float);
72  float (*sinf_p)(float);
73  float (*tanf_p)(float);
74  float (*expf_p)(float);
75  float (*sqrtf_p)(float);
76  float (*fabsf_p)(float);
77  float (*logf_p)(float);
78  float (*log10f_p)(float);
79  }newlibcfunc;
80  #endif /*USE_CLIB*/
81 
82  struct freertos_api_st {
83  void (*reg_port_func)(freertos_port_api_t *freertos_port_api);
84  BaseType_t (*xTaskCreate)( TaskFunction_t pxTaskCode,
85  const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
86  const configSTACK_DEPTH_TYPE usStackDepth,
87  void * const pvParameters,
88  UBaseType_t uxPriority,
89  TaskHandle_t * const pxCreatedTask );
90  TaskHandle_t (*xTaskCreateStatic)(TaskFunction_t pxTaskCode,
91  const char* const pcName,
92  const uint32_t ulStackDepth,
93  void * const pvParameters,
94  UBaseType_t uxPriority,
95  StackType_t * const puxStackBuffer,
96  StaticTask_t * const pxTaskBuffer);
97  void (*vTaskDelete)(TaskHandle_t xTaskToDelete);
98  void (*vTaskDelay)(const TickType_t xTicksToDelay);
99  void (*vTaskDelayUntil)(TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement);
100  UBaseType_t (*uxTaskPriorityGet)( const TaskHandle_t xTask);
101  UBaseType_t (*uxTaskPriorityGetFromISR)( const TaskHandle_t xTask);
102  eTaskState (*eTaskGetState)(TaskHandle_t xTask);
103  void (*vTaskGetInfo)(TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState);
104  void (*vTaskPrioritySet)(TaskHandle_t xTask, UBaseType_t uxNewPriority);
105  void (*vTaskSuspend)(TaskHandle_t xTaskToSuspend);
106  void (*vTaskResume)(TaskHandle_t xTaskToResume);
107  BaseType_t (*xTaskResumeFromISR)(TaskHandle_t xTaskToResume);
108  void (*vTaskStartScheduler)(void);
109  void (*vTaskEndScheduler)(void);
110  void (*vTaskSuspendAll)(void);
111  BaseType_t (*xTaskResumeAll)(void);
112  TickType_t (*xTaskGetTickCount)(void);
113  TickType_t (*xTaskGetTickCountFromISR)(void);
114  UBaseType_t (*uxTaskGetNumberOfTasks)(void);
115  char *(*pcTaskGetName)(TaskHandle_t xTaskToQuery);
116  TaskHandle_t (*xTaskGetHandle)(const char *pcNameToQuery);
117  UBaseType_t (*uxTaskGetStackHighWaterMark)(TaskHandle_t xTask);
118  UBaseType_t (*uxTaskGetSystemState)(TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t* const pulTotalRunTime);
119  BaseType_t (*xTaskGenericNotify)(TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue);
120  BaseType_t (*xTaskGenericNotifyFromISR)(TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken);
121  BaseType_t (*xTaskNotifyWait)(uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait);
122  void (*vTaskNotifyGiveFromISR)(TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken);
123  uint32_t (*ulTaskNotifyTake)(BaseType_t xClearCountOnExit, TickType_t xTicksToWait);
124  BaseType_t (*xTaskNotifyStateClear)(TaskHandle_t xTask);
125  BaseType_t (*xTaskIncrementTick)(void);
126  void (*vTaskSwitchContext)(void);
127  TaskHandle_t (*xTaskGetCurrentTaskHandle)(void);
128  BaseType_t (*xTaskGetSchedulerState)(void);
129  UBaseType_t (*uxTaskGetTaskNumber)(TaskHandle_t xTask);
130  void (*vTaskSetTaskNumber)(TaskHandle_t xTask, const UBaseType_t uxHandle);
131  EventGroupHandle_t (*xEventGroupCreate)( void );
132  EventGroupHandle_t (*xEventGroupCreateStatic)(StaticEventGroup_t *pxEventGroupBuffer);
133  EventBits_t (*xEventGroupWaitBits)(EventGroupHandle_t, const EventBits_t, const BaseType_t, const BaseType_t, TickType_t);
134  EventBits_t (*xEventGroupClearBits)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear);
135  BaseType_t (*xEventGroupClearBitsFromISR)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear);
136  EventBits_t (*xEventGroupSetBits)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet);
137  BaseType_t (*xEventGroupSetBitsFromISR)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken);
138  EventBits_t (*xEventGroupSync)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait);
139  EventBits_t (*xEventGroupGetBitsFromISR)(EventGroupHandle_t xEventGroup);
140  void (*vEventGroupDelete)(EventGroupHandle_t xEventGroup);
141  UBaseType_t (*uxEventGroupGetNumber)(void* xEventGroup);
142  void (*vEventGroupSetNumber)(void* xEventGroup, UBaseType_t uxEventGroupNumber);
143  void (*vListInitialise)(List_t * const pxList );
144  void (*vListInitialiseItem)(ListItem_t * const pxItem);
145  void (*vListInsert)(List_t * const pxList, ListItem_t * const pxNewListItem);
146  void (*vListInsertEnd)(List_t * const pxList, ListItem_t * const pxNewListItem);
147  UBaseType_t (*uxListRemove)(ListItem_t * const pxItemToRemove);
148  BaseType_t (*xQueueGenericReset)(QueueHandle_t xQueue, BaseType_t xNewQueue);
149  QueueHandle_t (*xQueueGenericCreate)( const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType );
150  QueueHandle_t (*xQueueGenericCreateStatic)( const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t *pucQueueStorage, StaticQueue_t *pxStaticQueue, const uint8_t ucQueueType);
151  QueueHandle_t (*xQueueCreateMutex)( const uint8_t ucQueueType );
152  QueueHandle_t (*xQueueCreateMutexStatic)( const uint8_t ucQueueType, StaticQueue_t *pxStaticQueue );
153  QueueHandle_t (*xQueueCreateCountingSemaphore)( const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount );
154  QueueHandle_t (*xQueueCreateCountingSemaphoreStatic)( const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t *pxStaticQueue );
155  BaseType_t (*xQueueGenericSend)( QueueHandle_t xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition );
156  BaseType_t (*xQueueGenericSendFromISR)( QueueHandle_t xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition );
157  BaseType_t (*xQueueGiveFromISR)( QueueHandle_t xQueue, BaseType_t * const pxHigherPriorityTaskWoken );
158  BaseType_t (*xQueueReceive)( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait );
159  BaseType_t (*xQueueSemaphoreTake)( QueueHandle_t xQueue, TickType_t xTicksToWait );
160  BaseType_t (*xQueuePeek)( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait );
161  BaseType_t (*xQueueReceiveFromISR)( QueueHandle_t xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken );
162  BaseType_t (*xQueuePeekFromISR)( QueueHandle_t xQueue, void * const pvBuffer );
163  UBaseType_t (*uxQueueMessagesWaiting)( const QueueHandle_t xQueue );
164  UBaseType_t (*uxQueueSpacesAvailable)( const QueueHandle_t xQueue );
165  UBaseType_t (*uxQueueMessagesWaitingFromISR)( const QueueHandle_t xQueue );
166  void (*vQueueDelete)( QueueHandle_t xQueue );
167  UBaseType_t (*uxQueueGetQueueNumber)( QueueHandle_t xQueue );
168  void (*vQueueSetQueueNumber)( QueueHandle_t xQueue, UBaseType_t uxQueueNumber );
169  uint8_t (*ucQueueGetQueueType)( QueueHandle_t xQueue );
170  BaseType_t (*xQueueIsQueueEmptyFromISR)( const QueueHandle_t xQueue );
171  BaseType_t (*xQueueIsQueueFullFromISR)( const QueueHandle_t xQueue );
172  void (*vQueueAddToRegistry)( QueueHandle_t xQueue, const char *pcQueueName );
173  const char *(*pcQueueGetName)( QueueHandle_t xQueue );
174  void (*vQueueUnregisterQueue)( QueueHandle_t xQueue );
175  void (*vQueueWaitForMessageRestricted)( QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely );
176  BaseType_t (*xQueueGenericIsFull)(QueueHandle_t xQueue);
177  BaseType_t (*xQueueGenericIsEmpty)(QueueHandle_t xQueue);
178  StreamBufferHandle_t (*xStreamBufferGenericCreate)( size_t xBufferSizeBytes,
179  size_t xTriggerLevelBytes,
180  BaseType_t xIsMessageBuffer );
181  StreamBufferHandle_t (*xStreamBufferGenericCreateStatic)( size_t xBufferSizeBytes,
182  size_t xTriggerLevelBytes,
183  BaseType_t xIsMessageBuffer,
184  uint8_t * const pucStreamBufferStorageArea,
185  StaticStreamBuffer_t * const pxStaticStreamBuffer );
186  void (*vStreamBufferDelete)( StreamBufferHandle_t xStreamBuffer );
187  BaseType_t (*xStreamBufferReset)( StreamBufferHandle_t xStreamBuffer );
188  BaseType_t (*xStreamBufferSetTriggerLevel)( StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel );
189  size_t (*xStreamBufferSpacesAvailable)( StreamBufferHandle_t xStreamBuffer );
190  size_t (*xStreamBufferBytesAvailable)( StreamBufferHandle_t xStreamBuffer );
191  size_t (*xStreamBufferSend)( StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait );
192  size_t (*xStreamBufferSendFromISR)( StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken );
193  size_t (*xStreamBufferReceive)( StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait );
194  size_t (*xStreamBufferNextMessageLengthBytes)( StreamBufferHandle_t xStreamBuffer );
195  size_t (*xStreamBufferReceiveFromISR)( StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken );
196  BaseType_t (*xStreamBufferIsEmpty)( StreamBufferHandle_t xStreamBuffer );
197  BaseType_t (*xStreamBufferIsFull)( StreamBufferHandle_t xStreamBuffer );
198  BaseType_t (*xStreamBufferSendCompletedFromISR)( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken );
199  BaseType_t (*xStreamBufferReceiveCompletedFromISR)( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken );
200  UBaseType_t (*uxStreamBufferGetStreamBufferNumber)( StreamBufferHandle_t xStreamBuffer );
201  void (*vStreamBufferSetStreamBufferNumber)( StreamBufferHandle_t xStreamBuffer, UBaseType_t uxStreamBufferNumber );
202  uint8_t (*ucStreamBufferGetStreamBufferType)( StreamBufferHandle_t xStreamBuffer );
203  TimerHandle_t (*xTimerCreate)( const char * const pcTimerName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
204  const TickType_t xTimerPeriodInTicks,
205  const UBaseType_t uxAutoReload,
206  void * const pvTimerID,
207  TimerCallbackFunction_t pxCallbackFunction );
208  TimerHandle_t (*xTimerCreateStatic)(const char * const pcTimerName,
209  const TickType_t xTimerPeriodInTicks,
210  const UBaseType_t uxAutoReload,
211  void * const pvTimerID,
212  TimerCallbackFunction_t pxCallbackFunction,
213  StaticTimer_t *pxTimerBuffer );
214  void *(*pvTimerGetTimerID)( const TimerHandle_t xTimer );
215  void (*vTimerSetTimerID)( TimerHandle_t xTimer, void *pvNewID );
216  BaseType_t (*xTimerIsTimerActive)( TimerHandle_t xTimer );
217  TaskHandle_t (*xTimerGetTimerDaemonTaskHandle)( void );
218  BaseType_t (*xTimerPendFunctionCallFromISR)( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken );
219  BaseType_t (*xTimerPendFunctionCall)( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait );
220  const char * (*pcTimerGetName)( TimerHandle_t xTimer );
221  TickType_t (*xTimerGetPeriod)( TimerHandle_t xTimer );
222  TickType_t (*xTimerGetExpiryTime)( TimerHandle_t xTimer );
223  BaseType_t (*xTimerGenericCommand)( TimerHandle_t xTimer, const BaseType_t xCommandID, const TickType_t xOptionalValue, BaseType_t * const pxHigherPriorityTaskWoken, const TickType_t xTicksToWait );
224  void (*vTimerSetTimerNumber)( TimerHandle_t xTimer, UBaseType_t uxTimerNumber );
225  UBaseType_t (*uxTimerGetTimerNumber)( TimerHandle_t xTimer );
226  }freertos_api;
227 
228  struct utils_st {
229  uint8_t (*crc8)(uint8_t pre_crc, const uint8_t * data, uint32_t length);
230  uint16_t (*crc16_ccitt)(uint16_t pre_crc, const uint8_t * data, uint32_t length);
231  uint32_t (*crc32)(uint32_t pre_crc, const uint8_t * data, uint32_t length);
232  int (*dichotomy_find)(void *pValue, int MinIndex, int MaxIndex,COMPARE_CALLBACK CompareFunc,void *CallbackPara);
233  }utils;
234 
235  struct data_table_st {
236  const uint8_t mel_scale[0x800]; // float[]
237  const uint8_t mel_offset_size[0x78]; // short[]
238  const uint8_t asr_windowfun[0x320]; // short[]
239  const uint16_t StepSizeTable[89]; // uint16_t[]
240  }data_table;
242 
243 
244 #define MASK_ROM_LIB_RUNTIME_ADDR (0x1F000000+10*1024)
245 
246 #define MASK_ROM_LIB_FUNC ((romruntime_func_t* )MASK_ROM_LIB_RUNTIME_ADDR)
247 #define MASK_ROM_LIB_FFT_FUNC (((romruntime_func_t* )MASK_ROM_LIB_RUNTIME_ADDR)->fftfunc)
248 #define MASK_ROM_LIB_C_FUNC (((romruntime_func_t* )MASK_ROM_LIB_RUNTIME_ADDR)->newlibcfunc)
249 #define MASK_ROM_LIB_FREERTOS_FUNC (((romruntime_func_t* )MASK_ROM_LIB_RUNTIME_ADDR)->freertos_api)
250 #define MASK_ROM_LIB_UTIL_FUNC (((romruntime_func_t* )MASK_ROM_LIB_RUNTIME_ADDR)->utils)
251 #define MASK_ROM_LIB_TABLE (((romruntime_func_t* )MASK_ROM_LIB_RUNTIME_ADDR)->data_table)
252 
253 #endif
254 
255 
256 
int(* sscanf_p)(const char *__restrict, const char *__restrict,...)
Definition: romlib_api.h:65
void(* vListInsertEnd)(List_t *const pxList, ListItem_t *const pxNewListItem)
Definition: romlib_api.h:146
size_t(* xStreamBufferReceive)(StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait)
Definition: romlib_api.h:193
void(* vTaskGetInfo)(TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState)
Definition: romlib_api.h:103
char ci_lib_romruntime[8]
Definition: romlib_api.h:25
UBaseType_t(* uxEventGroupGetNumber)(void *xEventGroup)
Definition: romlib_api.h:141
void(* reg_port_func)(freertos_port_api_t *freertos_port_api)
Definition: romlib_api.h:83
BaseType_t(* xTaskNotifyStateClear)(TaskHandle_t xTask)
Definition: romlib_api.h:124
BaseType_t(* xStreamBufferSetTriggerLevel)(StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel)
Definition: romlib_api.h:188
void(* vEventGroupDelete)(EventGroupHandle_t xEventGroup)
Definition: romlib_api.h:140
const uint8_t mel_offset_size[0x78]
Definition: romlib_api.h:237
BaseType_t(* xStreamBufferIsFull)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:197
BaseType_t(* xEventGroupClearBitsFromISR)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear)
Definition: romlib_api.h:135
int(* riscv_rfft_fast_init_f32_p)(riscv_rfft_fast_instance_f32 *S, unsigned int fft_len)
Definition: romlib_api.h:32
void(* vTaskSwitchContext)(void)
Definition: romlib_api.h:126
struct romruntime_func_st::utils_st utils
QueueHandle_t(* xQueueCreateMutexStatic)(const uint8_t ucQueueType, StaticQueue_t *pxStaticQueue)
Definition: romlib_api.h:152
void(* riscv_rfft_fast_f32_p)(riscv_rfft_fast_instance_f32 *S, float *p, float *pOut, uint8_t ifftFlag)
Definition: romlib_api.h:31
int(* abs_p)(int)
Definition: romlib_api.h:68
TimerHandle_t(* xTimerCreate)(const char *const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void *const pvTimerID, TimerCallbackFunction_t pxCallbackFunction)
Definition: romlib_api.h:203
Definition: romlib_api.h:235
uint8_t(* crc8)(uint8_t pre_crc, const uint8_t *data, uint32_t length)
Definition: romlib_api.h:229
BaseType_t(* xQueueGenericIsEmpty)(QueueHandle_t xQueue)
Definition: romlib_api.h:177
float(* log10f_p)(float)
Definition: romlib_api.h:78
void(* vTaskEndScheduler)(void)
Definition: romlib_api.h:109
EventBits_t(* xEventGroupWaitBits)(EventGroupHandle_t, const EventBits_t, const BaseType_t, const BaseType_t, TickType_t)
Definition: romlib_api.h:133
TaskHandle_t(* xTaskCreateStatic)(TaskFunction_t pxTaskCode, const char *const pcName, const uint32_t ulStackDepth, void *const pvParameters, UBaseType_t uxPriority, StackType_t *const puxStackBuffer, StaticTask_t *const pxTaskBuffer)
Definition: romlib_api.h:90
size_t(* xStreamBufferReceiveFromISR)(StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, BaseType_t *const pxHigherPriorityTaskWoken)
Definition: romlib_api.h:195
unsigned long(* strtoul_p)(const char *__restrict __n, char **__restrict __end_PTR, int __base)
Definition: romlib_api.h:53
int(* dichotomy_find)(void *pValue, int MinIndex, int MaxIndex, COMPARE_CALLBACK CompareFunc, void *CallbackPara)
Definition: romlib_api.h:232
StreamBufferHandle_t(* xStreamBufferGenericCreateStatic)(size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer, uint8_t *const pucStreamBufferStorageArea, StaticStreamBuffer_t *const pxStaticStreamBuffer)
Definition: romlib_api.h:181
EventBits_t(* xEventGroupClearBits)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear)
Definition: romlib_api.h:134
void(* NEWLib_Set_Func_p)(void *f1, void *f2, void *f3)
Definition: romlib_api.h:37
void(* vTaskStartScheduler)(void)
Definition: romlib_api.h:108
BaseType_t(* xTaskGetSchedulerState)(void)
Definition: romlib_api.h:128
struct romruntime_func_st::fftfunc_s fftfunc
int(* isinf_p)(double)
Definition: romlib_api.h:70
TickType_t(* xTimerGetPeriod)(TimerHandle_t xTimer)
Definition: romlib_api.h:221
UBaseType_t(* uxQueueMessagesWaiting)(const QueueHandle_t xQueue)
Definition: romlib_api.h:163
const uint8_t mel_scale[0x800]
Definition: romlib_api.h:236
float(* sqrtf_p)(float)
Definition: romlib_api.h:75
QueueHandle_t(* xQueueGenericCreateStatic)(const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t *pucQueueStorage, StaticQueue_t *pxStaticQueue, const uint8_t ucQueueType)
Definition: romlib_api.h:150
uint8_t(* ucQueueGetQueueType)(QueueHandle_t xQueue)
Definition: romlib_api.h:169
uint32_t reserved
Definition: romlib_api.h:27
void(* _free_r_p)(struct _reent *p, void *)
Definition: romlib_api.h:61
Definition: romlib_api.h:228
BaseType_t(* xTimerPendFunctionCall)(PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait)
Definition: romlib_api.h:219
TickType_t(* xTaskGetTickCountFromISR)(void)
Definition: romlib_api.h:113
void(* qsort_p)(void *__base, size_t __nmemb, size_t __size, __compar_fn_t _compar)
Definition: romlib_api.h:56
struct romruntime_func_st::freertos_api_st freertos_api
BaseType_t(* xQueueGenericSend)(QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)
Definition: romlib_api.h:155
BaseType_t(* xTimerGenericCommand)(TimerHandle_t xTimer, const BaseType_t xCommandID, const TickType_t xOptionalValue, BaseType_t *const pxHigherPriorityTaskWoken, const TickType_t xTicksToWait)
Definition: romlib_api.h:223
BaseType_t(* xTaskCreate)(TaskFunction_t pxTaskCode, const char *const pcName, const configSTACK_DEPTH_TYPE usStackDepth, void *const pvParameters, UBaseType_t uxPriority, TaskHandle_t *const pxCreatedTask)
Definition: romlib_api.h:84
TimerHandle_t(* xTimerCreateStatic)(const char *const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void *const pvTimerID, TimerCallbackFunction_t pxCallbackFunction, StaticTimer_t *pxTimerBuffer)
Definition: romlib_api.h:208
UBaseType_t(* uxTaskGetSystemState)(TaskStatus_t *const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t *const pulTotalRunTime)
Definition: romlib_api.h:118
uint32_t verison
Definition: romlib_api.h:26
void(* vTimerSetTimerID)(TimerHandle_t xTimer, void *pvNewID)
Definition: romlib_api.h:215
const uint8_t asr_windowfun[0x320]
Definition: romlib_api.h:238
BaseType_t(* xTaskResumeFromISR)(TaskHandle_t xTaskToResume)
Definition: romlib_api.h:107
int(* COMPARE_CALLBACK)(void *pValue, int index, void *CallbackPara)
Definition: dichotomy_find.h:15
struct romruntime_func_st romruntime_func_t
int(* strcmp_p)(const char *, const char *)
Definition: romlib_api.h:43
void(* vQueueSetQueueNumber)(QueueHandle_t xQueue, UBaseType_t uxQueueNumber)
Definition: romlib_api.h:168
void(* vQueueUnregisterQueue)(QueueHandle_t xQueue)
Definition: romlib_api.h:174
EventGroupHandle_t(* xEventGroupCreateStatic)(StaticEventGroup_t *pxEventGroupBuffer)
Definition: romlib_api.h:132
float(* sinf_p)(float)
Definition: romlib_api.h:72
uint16_t(* crc16_ccitt)(uint16_t pre_crc, const uint8_t *data, uint32_t length)
Definition: romlib_api.h:230
TaskHandle_t(* xTaskGetHandle)(const char *pcNameToQuery)
Definition: romlib_api.h:116
size_t(* xStreamBufferSendFromISR)(StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, BaseType_t *const pxHigherPriorityTaskWoken)
Definition: romlib_api.h:192
BaseType_t(* xQueueReceiveFromISR)(QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken)
Definition: romlib_api.h:161
void(* vQueueDelete)(QueueHandle_t xQueue)
Definition: romlib_api.h:166
void(* vListInsert)(List_t *const pxList, ListItem_t *const pxNewListItem)
Definition: romlib_api.h:145
void(* vTaskDelayUntil)(TickType_t *const pxPreviousWakeTime, const TickType_t xTimeIncrement)
Definition: romlib_api.h:99
BaseType_t(* xEventGroupSetBitsFromISR)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken)
Definition: romlib_api.h:137
BaseType_t(* xStreamBufferReset)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:187
UBaseType_t(* uxStreamBufferGetStreamBufferNumber)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:200
BaseType_t(* xQueueGenericIsFull)(QueueHandle_t xQueue)
Definition: romlib_api.h:176
void(* vTaskResume)(TaskHandle_t xTaskToResume)
Definition: romlib_api.h:106
void(* vTaskSuspendAll)(void)
Definition: romlib_api.h:110
BaseType_t(* xQueueGenericReset)(QueueHandle_t xQueue, BaseType_t xNewQueue)
Definition: romlib_api.h:148
UBaseType_t(* uxTimerGetTimerNumber)(TimerHandle_t xTimer)
Definition: romlib_api.h:225
const uint16_t StepSizeTable[89]
Definition: romlib_api.h:239
size_t(* strlen_p)(const char *)
Definition: romlib_api.h:45
long(* atol_p)(const char *__nptr)
Definition: romlib_api.h:55
void(* vStreamBufferSetStreamBufferNumber)(StreamBufferHandle_t xStreamBuffer, UBaseType_t uxStreamBufferNumber)
Definition: romlib_api.h:201
void(* vStreamBufferDelete)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:186
BaseType_t(* xQueuePeekFromISR)(QueueHandle_t xQueue, void *const pvBuffer)
Definition: romlib_api.h:162
BaseType_t(* xQueueReceive)(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait)
Definition: romlib_api.h:158
void(* vTaskNotifyGiveFromISR)(TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken)
Definition: romlib_api.h:122
void(* vQueueAddToRegistry)(QueueHandle_t xQueue, const char *pcQueueName)
Definition: romlib_api.h:172
BaseType_t(* xTimerIsTimerActive)(TimerHandle_t xTimer)
Definition: romlib_api.h:216
Definition: romlib_api.h:30
EventBits_t(* xEventGroupSetBits)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet)
Definition: romlib_api.h:136
UBaseType_t(* uxTaskPriorityGetFromISR)(const TaskHandle_t xTask)
Definition: romlib_api.h:101
Definition: romlib_api.h:36
UBaseType_t(* uxQueueMessagesWaitingFromISR)(const QueueHandle_t xQueue)
Definition: romlib_api.h:165
EventBits_t(* xEventGroupGetBitsFromISR)(EventGroupHandle_t xEventGroup)
Definition: romlib_api.h:139
size_t(* strnlen_p)(const char *, size_t)
Definition: romlib_api.h:52
BaseType_t(* xStreamBufferSendCompletedFromISR)(StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken)
Definition: romlib_api.h:198
eTaskState(* eTaskGetState)(TaskHandle_t xTask)
Definition: romlib_api.h:102
float(* expf_p)(float)
Definition: romlib_api.h:74
uint32_t(* ulTaskNotifyTake)(BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
Definition: romlib_api.h:123
UBaseType_t(* uxTaskGetNumberOfTasks)(void)
Definition: romlib_api.h:114
BaseType_t(* xTaskIncrementTick)(void)
Definition: romlib_api.h:125
int(* vsnprintf_p)(char *__restrict, size_t, const char *__restrict, __VALIST)
Definition: romlib_api.h:63
Definition: port_api.h:4
int(* sprintf_p)(char *__restrict, const char *__restrict,...)
Definition: romlib_api.h:64
UBaseType_t(* uxTaskPriorityGet)(const TaskHandle_t xTask)
Definition: romlib_api.h:100
BaseType_t(* xQueuePeek)(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait)
Definition: romlib_api.h:160
Definition: romlib_api.h:82
BaseType_t(* xTaskResumeAll)(void)
Definition: romlib_api.h:111
TaskHandle_t(* xTaskGetCurrentTaskHandle)(void)
Definition: romlib_api.h:127
void(* vTaskDelete)(TaskHandle_t xTaskToDelete)
Definition: romlib_api.h:97
void(* vTimerSetTimerNumber)(TimerHandle_t xTimer, UBaseType_t uxTimerNumber)
Definition: romlib_api.h:224
UBaseType_t(* uxQueueGetQueueNumber)(QueueHandle_t xQueue)
Definition: romlib_api.h:167
BaseType_t(* xStreamBufferIsEmpty)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:196
TaskHandle_t(* xTimerGetTimerDaemonTaskHandle)(void)
Definition: romlib_api.h:217
BaseType_t(* xStreamBufferReceiveCompletedFromISR)(StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken)
Definition: romlib_api.h:199
StreamBufferHandle_t(* xStreamBufferGenericCreate)(size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer)
Definition: romlib_api.h:178
TickType_t(* xTimerGetExpiryTime)(TimerHandle_t xTimer)
Definition: romlib_api.h:222
void(* vListInitialise)(List_t *const pxList)
Definition: romlib_api.h:143
TickType_t(* xTaskGetTickCount)(void)
Definition: romlib_api.h:112
EventBits_t(* xEventGroupSync)(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
Definition: romlib_api.h:138
uint8_t(* ucStreamBufferGetStreamBufferType)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:202
QueueHandle_t(* xQueueCreateMutex)(const uint8_t ucQueueType)
Definition: romlib_api.h:151
int(* init_lib_romruntime_p)(void)
Definition: romlib_api.h:28
BaseType_t(* xTaskNotifyWait)(uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait)
Definition: romlib_api.h:121
float(* tanf_p)(float)
Definition: romlib_api.h:73
size_t(* xStreamBufferBytesAvailable)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:190
QueueHandle_t(* xQueueCreateCountingSemaphore)(const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount)
Definition: romlib_api.h:153
struct romruntime_func_st::newlibcfunc_s newlibcfunc
void(* vEventGroupSetNumber)(void *xEventGroup, UBaseType_t uxEventGroupNumber)
Definition: romlib_api.h:142
EventGroupHandle_t(* xEventGroupCreate)(void)
Definition: romlib_api.h:131
int(* isnan_p)(double)
Definition: romlib_api.h:69
uint32_t(* crc32)(uint32_t pre_crc, const uint8_t *data, uint32_t length)
Definition: romlib_api.h:231
UBaseType_t(* uxTaskGetTaskNumber)(TaskHandle_t xTask)
Definition: romlib_api.h:129
struct romruntime_func_st::data_table_st data_table
BaseType_t(* xQueueGiveFromISR)(QueueHandle_t xQueue, BaseType_t *const pxHigherPriorityTaskWoken)
Definition: romlib_api.h:157
void(* vQueueWaitForMessageRestricted)(QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
Definition: romlib_api.h:175
void(* vTaskDelay)(const TickType_t xTicksToDelay)
Definition: romlib_api.h:98
float(* fabsf_p)(float)
Definition: romlib_api.h:76
QueueHandle_t(* xQueueCreateCountingSemaphoreStatic)(const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t *pxStaticQueue)
Definition: romlib_api.h:154
BaseType_t(* xQueueSemaphoreTake)(QueueHandle_t xQueue, TickType_t xTicksToWait)
Definition: romlib_api.h:159
void(* vTaskPrioritySet)(TaskHandle_t xTask, UBaseType_t uxNewPriority)
Definition: romlib_api.h:104
void(* vListInitialiseItem)(ListItem_t *const pxItem)
Definition: romlib_api.h:144
BaseType_t(* xTaskGenericNotify)(TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue)
Definition: romlib_api.h:119
void(* vTaskSuspend)(TaskHandle_t xTaskToSuspend)
Definition: romlib_api.h:105
BaseType_t(* xTaskGenericNotifyFromISR)(TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken)
Definition: romlib_api.h:120
BaseType_t(* xQueueIsQueueEmptyFromISR)(const QueueHandle_t xQueue)
Definition: romlib_api.h:170
size_t(* xStreamBufferNextMessageLengthBytes)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:194
UBaseType_t(* uxQueueSpacesAvailable)(const QueueHandle_t xQueue)
Definition: romlib_api.h:164
BaseType_t(* xQueueGenericSendFromISR)(QueueHandle_t xQueue, const void *const pvItemToQueue, BaseType_t *const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition)
Definition: romlib_api.h:156
QueueHandle_t(* xQueueGenericCreate)(const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType)
Definition: romlib_api.h:149
float(* logf_p)(float)
Definition: romlib_api.h:77
UBaseType_t(* uxTaskGetStackHighWaterMark)(TaskHandle_t xTask)
Definition: romlib_api.h:117
BaseType_t(* xQueueIsQueueFullFromISR)(const QueueHandle_t xQueue)
Definition: romlib_api.h:171
size_t(* xStreamBufferSpacesAvailable)(StreamBufferHandle_t xStreamBuffer)
Definition: romlib_api.h:189
size_t(* xStreamBufferSend)(StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait)
Definition: romlib_api.h:191
int(* strncmp_p)(const char *, const char *, size_t)
Definition: romlib_api.h:47
UBaseType_t(* uxListRemove)(ListItem_t *const pxItemToRemove)
Definition: romlib_api.h:147
void(* vTaskSetTaskNumber)(TaskHandle_t xTask, const UBaseType_t uxHandle)
Definition: romlib_api.h:130
int(* memcmp_p)(const void *, const void *, size_t)
Definition: romlib_api.h:38
void(* free_p)(void *)
Definition: romlib_api.h:59
Definition: romlib_api.h:24
BaseType_t(* xTimerPendFunctionCallFromISR)(PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken)
Definition: romlib_api.h:218
float(* cosf_p)(float)
Definition: romlib_api.h:71