summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/layer1/mframe_sched.c
AgeCommit message (Collapse)AuthorFilesLines
2011-07-17[layer1] Adding neighbour cell measurement code to layer1.Andreas Eversberg1-0/+21
When listening to BCCH, layer1 may measure the power level of neighbour cells. A list of neighbour cell frequencies need to be sent to layer1. After the measurement is done, the results are indicated to layer23.
2011-04-26src: use new libosmogsm and include/osmocom/[gsm|core] path to headersPablo Neira Ayuso1-1/+1
This patch changes include paths to get osmocom-bb working with the current libosmocore tree. Among all these renames, you can notice several tweaks that I added on purpose, and that require some explanation, they are: * hexdump() in osmocon.c and osmoload.c has been renamed to avoid clashing with hexdump() defined in libosmocore. * gsmmap now depends on libosmogsm. Actually I had to cleanup Makefile.am because I was experiencing weird linking problems, probably due to a bug in the autotools. With the change included in this patch, I got it compiled and linked here correctly. This patch has been tested with the phone Motorola C123 and the following images files: * firmware/board/compal_e88/hello_world.compalram.bin * firmware/board/compal_e88/layer1.compalram.bin Using the osmocon, bcch_scan and mobile tools. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2010-11-14fw/l1/mframe_sched: Fix the TCH_A entries to include the MF_F_SACCH flagSylvain Munaut1-4/+8
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-07target/fw/l1: Fix TCH/H by properly scheduling the TCHD task during 'off' slotsSylvain Munaut1-0/+13
Apparently the DSP needs to be run even during the slots without actual bursts exchange. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-10-25target/fw/layer1: Add support for the various TCH multi frame tasksSylvain Munaut1-0/+76
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-09-28fw/layer1: Introduce prim.h for all primitive related thingsSylvain Munaut1-2/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-04-28layer1/mframe_sched: Make task update saferSylvain Munaut1-5/+30
We try to prevent switching task at a bad time. The algorithm just tries to find the first fn at which it's safe to activate a previously disabled task. tasks -> Running tasks tasks_tgt -> What we aim to run Since tasks_tgt is still only read, it's safe for the l1a to modify it without locking. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-04-28fw/layer1: Encapsulate mframe scheduler function betterSylvain Munaut1-2/+27
There was some code meddling with mf_tasks directly. This is fine if it's just setting/clearing a bit but since we're gonna need some 'cleverness' into when to activate what to prevent conflict, it's better to abstract that logic. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-03-07start to use libosmocore within the firmwareHarald Welte1-1/+2
* remove linuxlist.h copy and use osmocore * don't put 'struct gsm_time' into l1ctl packets * include rx_level and snr for each burst in l1ctl * properly build libosmocore.a for target * move gsmtime functions into libosmocore * move ctype.h to standard location
2010-03-07fix even more compiler warningsHarald Welte1-0/+4
2010-03-01Include channel number and link identifier in L1 DL infoHarald Welte1-8/+59
This enables the layer2 to identify on which channel (BCCH/CCCH/SDCCH/TCH/...) the respective message was received. * Encode MFrame Task Number + SACCH info in 'p3' parameter * Generate channel number and link identifier * Decode channel number in layer2 program
2010-03-01extend TDMA scheduler functions to use third parameter (p3)Harald Welte1-2/+3
The idea of the third parameter is that it can be specified on a tdma_schedule_set() level. The multi-frame scheduler can thus use it to pass some context information into the l1s_{cmd,resp}_*() functions, such as the MF TASK and whether or not it is SDCCH or SACCH.
2010-03-01add test mode mframe task: Send Normal Burst in every TDMA frameHarald Welte1-0/+7
2010-02-28Add multiframe-level scheduler (mframe_sched.[ch])Harald Welte1-0/+256
This scheduler enables us to schedule repeating events that occur every multiframe. It e.g. includes definitions for BCCH and CCCH reading. The mframe_sched is layered on top of the tdma_sched.