aboutsummaryrefslogtreecommitdiffstats
path: root/src/mslot_class.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mslot_class.c')
-rw-r--r--src/mslot_class.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mslot_class.c b/src/mslot_class.c
index 1c79a214..87e37ca1 100644
--- a/src/mslot_class.c
+++ b/src/mslot_class.c
@@ -212,3 +212,19 @@ void mslot_fill_rx_mask(uint8_t mslot_class, uint8_t num_tx, uint8_t *rx_mask)
rx_mask[MASK_TT] = (rx_mask[MASK_TT] << 3) | (rx_mask[MASK_TT] >> 5);
rx_mask[MASK_TR] = (rx_mask[MASK_TR] << 3) | (rx_mask[MASK_TR] >> 5);
}
+
+/* look for USF, don't use USF=7 */
+int8_t find_free_usf(uint8_t usf_map)
+{
+ uint8_t usf;
+
+ if (usf_map == (1 << 7) - 1)
+ return -1;
+
+ for (usf = 0; usf < 7; usf++) {
+ if (!(usf_map & (1 << usf)))
+ return usf;
+ }
+
+ return -1;
+}