Prusa MINI Firmware overview
|
Go to the documentation of this file.
98 #ifndef INC_FREERTOS_H
99 #error FreeRTOS.h must be included before list.h
133 #ifndef configLIST_VOLATILE
134 #define configLIST_VOLATILE
146 #if( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 0 )
148 #define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE
149 #define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE
150 #define listFIRST_LIST_INTEGRITY_CHECK_VALUE
151 #define listSECOND_LIST_INTEGRITY_CHECK_VALUE
152 #define listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem )
153 #define listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem )
154 #define listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList )
155 #define listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList )
156 #define listTEST_LIST_ITEM_INTEGRITY( pxItem )
157 #define listTEST_LIST_INTEGRITY( pxList )
160 #define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE TickType_t xListItemIntegrityValue1;
161 #define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE TickType_t xListItemIntegrityValue2;
162 #define listFIRST_LIST_INTEGRITY_CHECK_VALUE TickType_t xListIntegrityValue1;
163 #define listSECOND_LIST_INTEGRITY_CHECK_VALUE TickType_t xListIntegrityValue2;
166 #define listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ) ( pxItem )->xListItemIntegrityValue1 = pdINTEGRITY_CHECK_VALUE
167 #define listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ) ( pxItem )->xListItemIntegrityValue2 = pdINTEGRITY_CHECK_VALUE
168 #define listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList ) ( pxList )->xListIntegrityValue1 = pdINTEGRITY_CHECK_VALUE
169 #define listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList ) ( pxList )->xListIntegrityValue2 = pdINTEGRITY_CHECK_VALUE
173 #define listTEST_LIST_ITEM_INTEGRITY( pxItem ) configASSERT( ( ( pxItem )->xListItemIntegrityValue1 == pdINTEGRITY_CHECK_VALUE ) && ( ( pxItem )->xListItemIntegrityValue2 == pdINTEGRITY_CHECK_VALUE ) )
174 #define listTEST_LIST_INTEGRITY( pxList ) configASSERT( ( ( pxList )->xListIntegrityValue1 == pdINTEGRITY_CHECK_VALUE ) && ( ( pxList )->xListIntegrityValue2 == pdINTEGRITY_CHECK_VALUE ) )
221 #define listSET_LIST_ITEM_OWNER( pxListItem, pxOwner ) ( ( pxListItem )->pvOwner = ( void * ) ( pxOwner ) )
230 #define listGET_LIST_ITEM_OWNER( pxListItem ) ( ( pxListItem )->pvOwner )
239 #define listSET_LIST_ITEM_VALUE( pxListItem, xValue ) ( ( pxListItem )->xItemValue = ( xValue ) )
249 #define listGET_LIST_ITEM_VALUE( pxListItem ) ( ( pxListItem )->xItemValue )
258 #define listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxList ) ( ( ( pxList )->xListEnd ).pxNext->xItemValue )
266 #define listGET_HEAD_ENTRY( pxList ) ( ( ( pxList )->xListEnd ).pxNext )
274 #define listGET_NEXT( pxListItem ) ( ( pxListItem )->pxNext )
282 #define listGET_END_MARKER( pxList ) ( ( ListItem_t const * ) ( &( ( pxList )->xListEnd ) ) )
291 #define listLIST_IS_EMPTY( pxList ) ( ( BaseType_t ) ( ( pxList )->uxNumberOfItems == ( UBaseType_t ) 0 ) )
296 #define listCURRENT_LIST_LENGTH( pxList ) ( ( pxList )->uxNumberOfItems )
318 #define listGET_OWNER_OF_NEXT_ENTRY( pxTCB, pxList ) \
320 List_t * const pxConstList = ( pxList ); \
323 ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
324 if( ( void * ) ( pxConstList )->pxIndex == ( void * ) &( ( pxConstList )->xListEnd ) ) \
326 ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
328 ( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \
348 #define listGET_OWNER_OF_HEAD_ENTRY( pxList ) ( (&( ( pxList )->xListEnd ))->pxNext->pvOwner )
359 #define listIS_CONTAINED_WITHIN( pxList, pxListItem ) ( ( BaseType_t ) ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) ) )
367 #define listLIST_ITEM_CONTAINER( pxListItem ) ( ( pxListItem )->pvContainer )
374 #define listLIST_IS_INITIALISED( pxList ) ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY )
listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE configLIST_VOLATILE TickType_t xItemValue
Definition: list.h:184
PRIVILEGED_FUNCTION void vListInitialiseItem(ListItem_t *const pxItem)
Definition: list.c:104
struct xLIST_ITEM *configLIST_VOLATILE pxNext
Definition: list.h:197
void * pvOwner
Definition: list.h:187
PRIVILEGED_FUNCTION void vListInsert(List_t *const pxList, ListItem_t *const pxNewListItem)
Definition: list.c:145
ListItem_t *configLIST_VOLATILE pxIndex
Definition: list.h:209
struct xLIST_ITEM *configLIST_VOLATILE pxPrevious
Definition: list.h:198
PRIVILEGED_FUNCTION void vListInitialise(List_t *const pxList)
Definition: list.c:79
PRIVILEGED_FUNCTION void vListInsertEnd(List_t *const pxList, ListItem_t *const pxNewListItem)
Definition: list.c:116
#define PRIVILEGED_FUNCTION
Definition: mpu_wrappers.h:204
uint32_t TickType_t
Definition: portmacro.h:105
void *configLIST_VOLATILE pvContainer
Definition: list.h:188
unsigned long UBaseType_t
Definition: portmacro.h:99
PRIVILEGED_FUNCTION UBaseType_t uxListRemove(ListItem_t *const pxItemToRemove)
Definition: list.c:212
struct xLIST_ITEM *configLIST_VOLATILE pxPrevious
Definition: list.h:186
#define listSECOND_LIST_INTEGRITY_CHECK_VALUE
Definition: list.h:151
MiniListItem_t xListEnd
Definition: list.h:210
listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE configLIST_VOLATILE TickType_t xItemValue
Definition: list.h:196
#define configLIST_VOLATILE
Definition: list.h:134
struct xLIST_ITEM *configLIST_VOLATILE pxNext
Definition: list.h:185
listFIRST_LIST_INTEGRITY_CHECK_VALUE configLIST_VOLATILE UBaseType_t uxNumberOfItems
Definition: list.h:208
#define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE
Definition: list.h:148
#define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE
Definition: list.h:149
#define listFIRST_LIST_INTEGRITY_CHECK_VALUE
Definition: list.h:150