4 #include <osmocore/linuxlist.h>
5 #include <osmocore/gsm_utils.h>
6 #include <layer1/tdma_sched.h>
7 #include <l1a_l23_interface.h>
13 uint32_t time_alignment;
24 struct gsm_time current_time; /* current time */
25 struct gsm_time next_time; /* time at next TMDMA irq */
27 struct l1_cell_info serving_cell;
29 struct tdma_scheduler tdma_sched;
35 /* Transmit queues of pending packets for main DCCH and ACCH */
36 struct llist_head tx_queue[_NUM_L1S_CHAN];
38 /* bit-mask of multi-frame tasks that are currently active */
46 extern struct l1s_state l1s;
49 L1_SIG_PM, /* Power Measurement */
50 L1_SIG_NB, /* Normal Burst */
54 uint16_t snr; /* signal/noise ratio */
55 int16_t toa_qbit; /* time of arrival (qbits) */
56 int16_t pm_dbm8; /* power level in dbm/8 */
57 int16_t freq_err; /* Frequency error in Hz */
68 struct l1s_meas_hdr meas[4];
77 typedef void (*l1s_cb_t)(struct l1_signal *sig);
79 void l1s_set_handler(l1s_cb_t handler);
81 int16_t l1s_snr_int(uint16_t snr);
82 uint16_t l1s_snr_fract(uint16_t snr);
84 void l1s_dsp_abort(void);
86 void l1s_fb_test(uint8_t base_fn, uint8_t fb_mode);
87 void l1s_sb_test(uint8_t base_fn);
88 void l1s_pm_test(uint8_t base_fn, uint16_t arfcn);
89 void l1s_nb_test(uint8_t base_fn);
94 void layer1_init(void);
96 #endif /* _L1_SYNC_H */