OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware https://osmocom.org/projects/baseband
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vadim Yanitskiy 15877ba051 trxcon: allow populating global SACCH cache via L1CTL 1 week ago
host trxcon: allow populating global SACCH cache via L1CTL 1 week ago
shared update git URLs (git -> https; gitea) 2 months ago
target trx_toolkit: do not auto power on/off child MS Transceivers 3 weeks ago
target_dsp Fix common misspellings and typos 3 years ago
Makefile Merge 'fixeria/trx' into master 4 years ago
README.building README.building: cosmetic: correct wiki links 4 years ago
README.development update git URLs (git -> https; gitea) 2 months ago


= 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:


== 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:


== 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


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

=== 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:


=== 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.