SmartSnippets DA1459x SDK
resmgmt.h
Go to the documentation of this file.
1 
44 #ifndef RESMGMT_H_
45 #define RESMGMT_H_
46 
47 #include <stdint.h>
48 #include "osal.h"
49 
50 /*
51  * Use large resource id (optional, disabled by default) for applications with many devices
52  * used (and thus many extra resource ids needed).
53  */
54 #ifndef CONFIG_LARGE_RESOURCE_ID
55 #define CONFIG_LARGE_RESOURCE_ID (0)
56 #endif
57 
61 #if !CONFIG_LARGE_RESOURCE_ID
62 typedef uint32_t resource_mask_t;
63 #else
64 typedef uint64_t resource_mask_t;
65 #endif
66 
73 typedef enum {
74  RES_ID_UART1,
75  RES_ID_UART2,
76  RES_ID_UART1_CONFIG,
77  RES_ID_UART2_CONFIG,
78  RES_ID_UART1_READ,
79  RES_ID_UART2_READ,
80  RES_ID_UART1_WRITE,
81  RES_ID_UART2_WRITE,
82  RES_ID_SPI1,
83  RES_ID_I2C1,
84  RES_ID_QSPI,
85  RES_ID_TIMER0,
86  RES_ID_TIMER1,
87  RES_ID_TIMER2,
88  RES_ID_DMA_CH0,
89  RES_ID_DMA_CH1,
90  RES_ID_DMA_CH2,
91  RES_ID_DMA_CH3,
92  RES_ID_DMA_CH4,
93  RES_ID_DMA_CH5,
94  RES_ID_DMA_CH_SECURE = RES_ID_DMA_CH5,
95  RES_ID_GPADC,
96  RES_ID_SDADC,
97  RES_ID_SRC1,
98  RES_ID_SRC2,
99  RES_ID_COUNT
100 } RES_ID;
101 
112 #define RES_MASK(id) (((resource_mask_t) 1) << (id))
113 
118 #define RES_WAIT_FOREVER OS_EVENT_FOREVER
119 
131 void resource_init(void);
132 
154 resource_mask_t resource_acquire(resource_mask_t resource_mask, OS_TICK_TIME timeout);
155 
179 void resource_release(resource_mask_t resource_mask);
180 
181 #ifndef CONFIG_NO_DYNAMIC_RESOURCE_ID
182 
195 int resource_add(void);
196 
197 #endif
198 
199 #endif /* RESMGMT_H_ */
200 
resource_release
void resource_release(resource_mask_t resource_mask)
Release resource(s)
resource_add
int resource_add(void)
Add resource at run time.
RES_ID
RES_ID
Shared resource ids.
Definition: resmgmt.h:73
resource_init
void resource_init(void)
Initialize resource management structures.
osal.h
OS abstraction layer API.
resource_mask_t
uint32_t resource_mask_t
Definition: resmgmt.h:62
resource_acquire
resource_mask_t resource_acquire(resource_mask_t resource_mask, OS_TICK_TIME timeout)
Acquire resource(s)