osmocom-bb/src
Vadim Yanitskiy a41ca4bbc4 trxcon/l1sched: rework dequeueing of PDCH Tx prims
When an UL BLOCK.req is received late, i.e. after the first Tx burst
of the respective TDMA Fn was requested by the PHY, a domino effect
can be observed: the stale Tx primitive remains in the queue and
prevents transmission of the next primitive, even if the later was
received in time.  This breaks transmission of consecutive UL blocks.

Don't let stale primitives poison the Tx queue: drop them like before,
but keep looking for a primitive with the matching TDMA Fn.  If found
a primitive with TDMA Fn past the current one, stop the iteration.

Change-Id: I439615639b8e840b9fd4f3af6934d9f298f32216
Depends: libosmocore.git I9590f2e836fc48650decf1564b6ab46306c4fe2d
Depends: libosmocore.git Ie8bb9c49c6f81b8f4a1766547d6943f9880d1186
Related: OS#5500
2023-09-26 19:14:14 +07:00
..
host trxcon/l1sched: rework dequeueing of PDCH Tx prims 2023-09-26 19:14:14 +07:00
shared l1gprs: migrate to gsm0502_fncmp() from libosmogsm 2023-09-26 18:11:27 +07:00
target firmware: board: add support for TR-800 target 2023-09-04 20:19:12 +00:00
target_dsp Fix common misspellings and typos 2019-10-17 08:07:39 +00:00
Makefile fixup: gsmmap: move this utility to 'layer23/src/misc/' 2023-01-04 03:23:29 +07:00
README.building README.building: cosmetic: correct wiki links 2018-05-20 15:34:16 +03:00
README.development update git URLs (git -> https; gitea) 2022-06-18 13:59:31 +02:00

README.development

= Contributing to OsmocomBB development =

Feel free to help us by extending the code.  Always make sure to
send back all your patches to Gerrit (recommended) or to the
baseband-devel@lists.osmocom.org mailing list - Free Software
is all about sharing. For details, see:

https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit
https://gerrit.osmocom.org/

== Coding Style ==

Like all C language Osmocom projects, we use the Linux Kernel coding
style, you can find it in the Documentation/CodingStyle subdirectory
of any Linux Kernel source. For details, see:

https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

== More Information ==

Please consult the https://osmocom.org/projects/baseband/wiki/.

If you have any technical questions regarding the code, don't hesitate
to ask the baseband-devel@lists.osmocom.org mailing list.

== subdirectories containing libraries and code ==

=== src/shared/libosmocore ===

This is a library of various utility routines, including linked lists,
message buffers, bit-vectors, memory allocator, signals, select loop
handling, timers - as well as some more specifically GSM related things
like a TLV parser, a Comp128V1 implementation and utility functions for
RSL (TS 08.58) and CC/MM/RR (TS 04.08).

libosmocore is maintained in https://gitea.osmocom.org/osmocom/libosmocore, so

	DO NOT DIRECTLY COMMIT TO libosmocore IN THIS REPOSITORY!

We simply maintain a copy (synchronized by git-subtree) in this
repository for the ease of building and to make sure everyone is using
the proper/compatible version of libosmocore

Please note, whatever you add to libosmocore will need to build as a
Linux userspace program (using glibc) just as well as on the OsmocomBB
embedded target without OS.  So please refrain from using fancy
functions.


=== src/target/firmware ===

The firmware is what we build for the actual target (phone).  It was
written with some idea of modularity in mind, i.e. we have

 * Ti Calypso specific code in calypso/
 * Analog Baseband code in abb/
 * RF Mixer code in rf/
 * Layer1 code in layer1/
 * NOR flash handling in flash/
 * LCD display handling in display/
 * minimal C-Library code in lib/
 * communications utility routines in comm/
 * Board (phone model/family) specific code in board/
   * board/compal_e88 is the Motorola C115-C124 family
   * board/compal_e99 is the Motorola C155 family
 * Applications (each app builds one firmware image) in apps/

=== src/target/trx_toolkit ===

A set of tools in Python for debugging TRX interface and creating
a virtual Um-interface between OsmocomBB and OsmoBTS. For details,
please refer:

https://osmocom.org/projects/baseband/wiki/TRX_Interface
https://osmocom.org/projects/baseband/wiki/FakeTRX
target/trx_toolkit/README

=== src/target_dsp/calypso ===

This is where we keep some (assembly) code that we wrote for
the DSP that is part of the Calypso DBB.

=== src/host/layer23 ===

The Layer2 (LAPDm / TS 04.06) and Layer3 (CC/MM/RR / TS 04.08)
implementations, as they are growing.