Yesterday we had problems building the current osmo-bts-octphy with the current
octphy-2g-headers. To resolve, we've reverted two commits and added a change in
osmo-bts.
(1)
osmo-bts included a struct member not present anywhere in octphy-2g-headers.
https://gerrit.osmocom.org/820https://gerrit.osmocom.org/821
On our test setup at sysmocom, I found a version of the headers called
OCTSDR-2G-02.05.00-B780-DEBUG that includes this struct member, but those
headers have proprietary licensing. Also, the current version apparently is
2.07, while the one with the unknown struct header seems to be older: 2.05. So
it looks like the usCentreArfcn item has been removed in a newer version, even
though it looks really useful to me.
It would be good to resolve this confusion, probably as soon as Max is back
from vacation (Max is the author of the reverted commits).
(2)
In the most recent version, a #define naming has changed.
In https://gerrit.osmocom.org/822 Holger asks:
> Do we have any precedence of using #if for version checks? You can
> use #ifdef for both of them to support old and new headers?
We could use a check like
#if cOCTVC1_HW_VERSION_MAJOR <=2 && cOCTVC1_HW_VERSION_MINOR < 7
[...]_IDLE[...]
#else
[...]_UNUSED[...]
#endif
but I doubt that we will want to go back to old headers.
If I'm the only one in doubt, we'd have a check like above in three places in
osmo-bts.
Thanks for your opinions,
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
Dear all,
We recently discussed with Harald, that there is a lot of code related to
GSM L1 should be migrated from OsmoBTS to libosmogsm. The reason is that
it would be better to have one shared implementation of the convolutional
codes, mapping, interleaving, etc., because then in near future it can be
used not only from OsmoBTS, but also from OsmocomBB and even from foreign
projects, such as GR-GSM.
I just started to work on this direction, and found that there is already
some code, related to the conventional codes, in libosmogsm. But unlike
OsmoBTS, where all the tables can be found within the single file named
'gsm0503_conv.c', these tables appears in separate files during building
process. So, I have several questions:
1) Which approach is better to use? To store everything in a single file
or to use auto generation (utils/conv_gen.py)?
2) What about the copyright? I have not seen any license/author info at
the top pf these files. Who is the author?
Also, there is the 'gsm0503_coding.c' file, which uses the following
external dependences:
* The DL1C logging category, which isn't defined in libosmocore;
* The 'osmo-bts/gsm_data.h', which includes 'openbsc/gsm_data_shared.h'
as well.
So, there is regarding questions:
3) Which logging category it would be better to use after migration?
4) What to do with the 'osmo-bts/gsm_data.h'?
5) I don't think, that it's a good way to require something from the
OpenBSC sources during OsmoBTS build... How can we change it?
With best regards,
Vadim Yanitskiy.