summaryrefslogtreecommitdiffstats
path: root/src/host/trxcon/trxcon.c
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2017-07-04 20:55:12 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2017-11-19 17:35:07 +0700
commit8baa369b239a262251af87d45cd4dfc4bfc5f4db (patch)
tree73952e36f0dbae179e0fe35e89557a0e8434fa88 /src/host/trxcon/trxcon.c
parent2e18fe463176702fd38f933f8691580fbc28cd9d (diff)
host/trxcon/scheduler: implement management functions
This change introduces some new functions to configure TDMA scheduler. They can be grouped as follows: - Scheduler management functions - sched_trx_init() - sched_trx_reset() - sched_trx_shutdown() - Timeslot management functions - sched_trx_add_ts() - sched_trx_find_ts() - sched_trx_del_ts() - sched_trx_reset_ts() - sched_trx_configure_ts() - Logical channel management functions - sched_trx_activate_lchan() - sched_trx_deactivate_lchan() - sched_trx_find_lchan() Change-Id: I6d0f437a68f0eb4e22bf635bf899b08673571085
Diffstat (limited to 'src/host/trxcon/trxcon.c')
-rw-r--r--src/host/trxcon/trxcon.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/host/trxcon/trxcon.c b/src/host/trxcon/trxcon.c
index ace2f79a..791bd25d 100644
--- a/src/host/trxcon/trxcon.c
+++ b/src/host/trxcon/trxcon.c
@@ -42,6 +42,8 @@
#include "l1ctl.h"
#include "l1ctl_link.h"
#include "l1ctl_proto.h"
+#include "scheduler.h"
+#include "sched_trx.h"
#define COPYRIGHT \
"Copyright (C) 2016-2017 by Vadim Yanitskiy <axilirator@gmail.com>\n" \
@@ -90,7 +92,9 @@ static void trxcon_fsm_managed_action(struct osmo_fsm_inst *fi,
}
break;
case L1CTL_EVENT_RESET_REQ:
+ trx_if_cmd_poweroff(app_data.trx);
trx_if_cmd_echo(app_data.trx);
+ sched_trx_reset(app_data.trx);
break;
case TRX_EVENT_RESET_IND:
/* TODO: send proper reset type */
@@ -270,6 +274,11 @@ int main(int argc, char **argv)
if (rc)
goto exit;
+ /* Init scheduler */
+ rc = sched_trx_init(app_data.trx);
+ if (rc)
+ goto exit;
+
LOGP(DAPP, LOGL_NOTICE, "Init complete\n");
if (app_data.daemonize) {
@@ -286,6 +295,7 @@ int main(int argc, char **argv)
exit:
/* Close active connections */
l1ctl_link_shutdown(app_data.l1l);
+ sched_trx_shutdown(app_data.trx);
trx_if_close(app_data.trx);
/* Shutdown main state machine */