summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/apps/layer1/main.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-02-20 00:57:16 +0100
committerHarald Welte <laforge@gnumonks.org>2010-02-20 00:57:16 +0100
commit89b1c361e39fd3d8d4048b6201945d24fb37bc2c (patch)
treed7d82abc8811af16102036f0196514ac0678c4df /src/target/firmware/apps/layer1/main.c
parentd5cbd0fe79e8f719ecf9b0897bed72fde730f0a0 (diff)
Use ARFCN as specified from Layer2
with this commit, Layer2 can tell Layer1 to sync to a new CCCH on a specified ARFCN.
Diffstat (limited to 'src/target/firmware/apps/layer1/main.c')
-rw-r--r--src/target/firmware/apps/layer1/main.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/target/firmware/apps/layer1/main.c b/src/target/firmware/apps/layer1/main.c
index 3b1b686a..6e4d9817 100644
--- a/src/target/firmware/apps/layer1/main.c
+++ b/src/target/firmware/apps/layer1/main.c
@@ -204,6 +204,17 @@ static void la1_l23_rx_cb(uint8_t dlci, struct msgb *msg)
sync_req = (struct l1_sync_new_ccch_req *) (&msg->data[0] + sizeof(*ul));
printf("Asked to tune to frequency: %u\n", sync_req->band_arfcn);
+
+ /* reset scheduler and hardware */
+ tdma_sched_reset();
+ l1s_dsp_abort();
+
+ /* tune to specified frequency */
+ trf6151_rx_window(0, sync_req->band_arfcn, 40, 0);
+ tpu_end_scenario();
+
+ puts("Starting FCCH Recognition\n");
+ l1s_fb_test(1, 0);
break;
case DEDIC_MODE_EST_REQ:
break;