69 #define RKH_RDY_IS_EMPTY(rg) \
78 #define RKH_RDY_ISNOT_EMPTY(rg) \
93 #define RKH_RDY_INSERT(rg, p) \
94 (rg).grp |= rkh_maptbl[(p) >> 3]; \
95 (rg).tbl[(p) >> 3] |= rkh_maptbl[(p) & 0x07]
108 #define RKH_RDY_REM(rg, p) \
109 if (((rg).tbl[(p) >> 3] &= ~rkh_maptbl[(p) & 0x07]) == 0) \
110 (rg).grp &= ~rkh_maptbl[(p) >> 3]
126 #define RKH_RDY_FIND_HIGHEST(rg, p) \
127 (p) = rkh_unmaptbl[(rg).grp]; \
128 (p) = (rui8_t)(((p) << 3) + \
129 (rui8_t)rkh_unmaptbl[(rg).tbl[(p)]])
132 #if RKH_CFG_FWK_MAX_SMA <= 8
133 #define RKH_NUM_RDYGRP 1
134 #elif RKH_CFG_FWK_MAX_SMA > 8 && RKH_CFG_FWK_MAX_SMA <= 16
135 #define RKH_NUM_RDYGRP 2
136 #elif RKH_CFG_FWK_MAX_SMA > 16 && RKH_CFG_FWK_MAX_SMA <= 24
137 #define RKH_NUM_RDYGRP 3
138 #elif RKH_CFG_FWK_MAX_SMA > 24 && RKH_CFG_FWK_MAX_SMA <= 32
139 #define RKH_NUM_RDYGRP 4
140 #elif RKH_CFG_FWK_MAX_SMA > 32 && RKH_CFG_FWK_MAX_SMA <= 40
141 #define RKH_NUM_RDYGRP 5
142 #elif RKH_CFG_FWK_MAX_SMA > 40 && RKH_CFG_FWK_MAX_SMA <= 48
143 #define RKH_NUM_RDYGRP 6
144 #elif RKH_CFG_FWK_MAX_SMA > 48 && RKH_CFG_FWK_MAX_SMA <= 56
145 #define RKH_NUM_RDYGRP 7
146 #elif RKH_CFG_FWK_MAX_SMA > 56 && RKH_CFG_FWK_MAX_SMA <= 64
147 #define RKH_NUM_RDYGRP 8
207 unsigned char tbl[RKH_NUM_RDYGRP];
rui8_t grp
Each bit in rkhrg.grp is used to indicate whenever any SMA in a group is ready to run...
Defines the data types that uses RKH.