aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx/scheduler.h
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-02-05 11:45:28 +0100
committerHarald Welte <laforge@gnumonks.org>2015-09-22 16:41:24 +0200
commitacc71ffb4b61b3354bbb2fa14981e4e6a46946e6 (patch)
treeb32d0f93b6055283a74d70e7c777907e22745739 /src/osmo-bts-trx/scheduler.h
parentc64fa4f88818a63bada0e34d179fd04319de47e1 (diff)
TRX: Introduce osmobts-trx, a layer 1 implementation for OpenBTS tranceivers
The code is quite complete, TCH and PDCH channels are not yet tested.
Diffstat (limited to 'src/osmo-bts-trx/scheduler.h')
-rw-r--r--src/osmo-bts-trx/scheduler.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/osmo-bts-trx/scheduler.h b/src/osmo-bts-trx/scheduler.h
new file mode 100644
index 00000000..eb82327a
--- /dev/null
+++ b/src/osmo-bts-trx/scheduler.h
@@ -0,0 +1,29 @@
+#ifndef TRX_SCHEDULER_H
+#define TRX_SCHEDULER_H
+
+extern uint32_t trx_clock_advance;
+extern uint32_t tranceiver_last_fn;
+
+
+int trx_sched_init(struct trx_l1h *l1h);
+
+void trx_sched_exit(struct trx_l1h *l1h);
+
+int trx_sched_ph_data_req(struct trx_l1h *l1h, struct osmo_phsap_prim *l1sap);
+
+int trx_sched_tch_req(struct trx_l1h *l1h, struct osmo_phsap_prim *l1sap);
+
+int trx_sched_clock(uint32_t fn);
+
+int trx_sched_ul_burst(struct trx_l1h *l1h, uint8_t tn, uint32_t fn,
+ sbit_t *bits, int8_t rssi, int16_t toa);
+
+/* set multiframe scheduler to given pchan */
+int trx_sched_set_pchan(struct trx_l1h *l1h, uint8_t tn,
+ enum gsm_phys_chan_config pchan);
+
+/* setting all logical channels given attributes to active/inactive */
+int trx_sched_set_lchan(struct trx_l1h *l1h, uint8_t chan_nr, uint8_t link_id,
+ int downlink, int active);
+
+#endif /* TRX_SCHEDULER_H */