aboutsummaryrefslogtreecommitdiffstats
path: root/tests/meas
AgeCommit message (Collapse)AuthorFilesLines
2020-01-20measurment: write irssi_full_sum variable correctlyPhilipp Maier2-4/+4
The variable irssi_full_sum is not populated with a dummy value when we are not able to compute irssi_full_sum. Instead we mistakenly write MEASUREMENT_DUMMY_IRSSI to ber_full_sum, which is wrong Change-Id: I44d7cb48e3c68ab1b48c78cceb9381ce3e39d7e8 Related: OS#2987
2019-10-17Fix common misspellings and typosMartin Hauke1-1/+1
Change-Id: I403b9029f57fec3fdec2c1e2cbeac0f6eab53f24
2018-11-26bts_model: Allow TS connect to be processed asynchronouslyPau Espin Pedrol1-2/+2
This commit doesn't change internal logic of any model, only the API to be able to return result of connect TS asyncrhonously since some models (like osmo-bts-trx) require some time to process the result. This way PDCH ACT/DEACT (N)ACK can be sent once the result of this long process is known. For instance, nowadays in osmo-bts-trx we PDCH (DE)ACT ACK before getting the result from SETSLOT on the TRX iface. With this new API, bts_model_ts_connect doesn't return any value synchronously. Instead, it is expected to always end up calling cb_ts_connected with the return code from the TS activation process. 0 is considered a successs, while any other value is considered an error. Change-Id: Ie073a4397dd2f1a691968d12b15b8b42f1e1b0cf
2018-11-18bts: Allocate TRX for BTS dynamically, deprecate -tPau Espin Pedrol1-4/+13
No need to pass -t num_trx anymore to specify number of TRX to use. It is calculated based on dynamic allocation from VTY config. Using parameter -t is flagged as deprecated and is transformed into a NOOP por backward compatibility. As a result, TRX now are allocated after the BTS is allocated and initial config (pre-VTY) is applied. A new function bts_trx_init() is added, to set default config on each TRX during allocation and before setting VTY config on it. A new per BTS model function bts_model_trx_init() is added, to allow per model specific default configuration of each TRX. Change-Id: Iab1a754ab12a626759f9f90aa66f87bdce65ac9c
2018-09-13measurement: fix unit-test test_lchan_meas_process_measurementPhilipp Maier1-2/+5
The unit test that tests lchan_meas_process_measurement() only inputs test data to lchan_meas_process_measurement() but it is not checked if the interval end could be detected or not. - Add a return code to lchan_meas_process_measurement() - Ensure that the return code is checked in the unit-test Change-Id: I9e00ce683e8c44528804f65181dbfed9e85e3aed Related: OS#2975
2018-09-13measurement: remove missed interval end detectionPhilipp Maier2-587/+0
The function is_meas_overdue() was introduced to allow lchan_meas_process_measurement() to detect when the end of a measurement interval has been missed. Interval ends may be missed when the SACCH block of the related measurement interval gets lost. This is due to the fact that the SACCH block is used as a trigger to start the measurement result computation. The idea behind is_meas_overdue() was to check the frame number of the current measurement against the frame number of the previous measurement in order to see if there was a measurement for SACCH in between or not. Unfortunately SACCH and TCH Voice data is not necessarly processed in order by each phy. Depending on the phy there may be a jitter between the timing of SACCH and TCH Voice. Depending on the phy this jitter may be enough to mess up the timing so that we see a SACCH block earlier than expected. So we can not use the current frame number of TCH Voice measurements to check for missed SACCH blocks. Change-Id: Idfdbf64c1f965f35c12559b3995e2b746c74ee9e Related: OS#3502 Related: OS#2975
2018-08-30measurement: add SUB measurements in test_lchan_meas_process_measurementPhilipp Maier2-417/+66
The unit-test function test_lchan_meas_process_measurement() does not tag measurements as SUB. Lets make the test function more realistic by setting the is_sub flag at the correct positions. - Add SUB-Measurements in the correct position - Print log lines when adding measurements for sub, also fix minor bugs in the log printing. Change-Id: I25c361b21a406c0017ee586f0492c38f2e737e57 Related: OS#3502 Related: OS#2975
2018-08-30measurement: substitue missing measurementsPhilipp Maier3-56/+633
At the moment the measurement calculation of osmo-bts works by collecting the measurement reports the phy emits during a measurement interval. Normally one would expect a well defind fixed number here, but some phys will not emit a measurement report for lost blocks. Also blocks and their reports may get lost because of cpu overload etc. The computation that is executed at the end of the measurement interval computes over all received measurement. This evenutally means that missing measurements will not taken into account and the result will look better than it is in reality. To fix this, the interval must be of a defined size and in cases where less measurements as expected were collected, the algorithm must assume they have been received with a 100%BER and take that into account. However, all RSSI and TA/TOA related computations should continue to rely on actual measurement data. - make sure the algorithm works over a fixed interval - replace missing measurements with 100%BER - fix and extend unit-tests Change-Id: Idd30fc07603ad7d042c1fb416e247c3bf7d35c8b Related: OS#2987
2018-08-29cosmetic: test_is_meas_overdue() does not test is_meas_complete()Philipp Maier2-2/+2
The function is_meas_overdue() does not use is_meas_complete() anymore and therefore the related log output is wrong. Lets correct this. Change-Id: I9b7aa2f7a7c75bc3eed0c94b6ef9d17e7e36ce96 Related: OS#2975
2018-08-29measurement: fix is_meas_overdue() and increase testcoveragePhilipp Maier1-0/+216
The tests TC_meas_res_sign_sdcch4 and TC_meas_res_sign_sdcch8 are failing mainly because lchan->ts->nr is confused with lchan->nr. There is also a small problem with one of the formulas that compute fn_missed_end. - Add explainatory comment to the lookup tables on what the index is refering to - use lchan-nr instead of lchan->ts->nr when dealing with SDCCH/4/8 - simplfy and fix the formula - increase the testcoverage of the unit tests, give SDCCH/4/8 also a thorough check. Change-Id: I5d555a21003943bf720c53f3a611029ba45339a9 Related: OS#2975
2018-08-29measurement: add unit tests for ts45008_83_is_sub()Philipp Maier2-0/+158
The function ts45008_83_is_sub() is an integral part of the measurement calculation as it automatically tags incoming measurements as SUB measurements. This is important in the context of DTX. Unfortunately there is no unit test for this function yet. - Add unit test for ts45008_83_is_sub() Change-Id: Ia26774859f4bf31baee075896905079368bddd42 Related: OS#3502
2018-08-29measurement: add unit tests for is_meas_complete()Philipp Maier2-0/+181
We do not test is_meas_complete() individually yet, but it is an integral part of the measurement processings since this function decides where a measurement interval ends. - Add unit tests that test TCH/F, TCH/H, SDCCH/4 and STDCH/8 Change-Id: I8f89d9e7092cd65ba4d5c5649140692dcc20bdd6 Related: OS#2987
2018-08-28cosmetic: remove wrong commentPhilipp Maier1-3/+0
is_meas_overdue() does not use is_meas_complete() anymore. Change-Id: I5925fad161843c06e76543d9098c598fe9e72d68 Related: OS#2975
2018-08-28cosmetic: fix sourcecode formattingPhilipp Maier1-12/+12
Change-Id: Ia112af0b63478bdcf3cfab2537dc1ba08e03dfb1 Related: OS#2975
2018-08-20measurement: make sure measurement interval end is detectedPhilipp Maier2-0/+918
the measurement interval end is detected by using the measurement indication that is related to the SACCH block as a trigger to start the computation. If the measurement indication for the SACCH gets lost because the block could not be received then the processing is not executed. This may cause wrong results or when it happens condecutively an overflow of the measurement sample buffer. - Store the frame number of the last received measurement indication - Use the stored frame number to check if an interval was crossed when the next measurement indication is received. If we detect that we missed the interval, catch up by running the computation and start the next interval. Change-Id: I3a86cd8185cc6b94258373fe929f0c2f1cf27cfa Related: OS#2975
2018-08-16cosmetic: separate measurement testcase definitionsPhilipp Maier3-156/+153
the testcase definitions in meas_test.c that define different test situations for uplink measurement are quite large. Lets have them in a separate file so that the code meas_test.c is easier to maintain. - Move all mtc* and ulm* structs as well as the struct definitions to meas_testcase.h. Change-Id: I90139ec535056d2cea6de10e77f435d807ce496e Related: OS#2987
2018-06-29Add min/max/std-dev measurement reporting for TOA256Harald Welte2-0/+249
This patch adds extended processing of the high-resolution TOA256 measurement values. It adds reporting of the following values for each RSL MEAS REP for uplink measurements: * minimum TOA256 value during reporting period * maximum TOA256 value during reporting period * standard deviation of TOA256 value during reporting period Change-Id: Iea4a4781481f77c6163d82dcd71a844a5be87bf2
2018-04-04use osmo_init_logging2() with proper talloc ctxNeels Hofmeyr1-1/+1
Completely drop bts_log_init(), call osmo_init_logging2() directly instead: all callers of bts_log_init() passed NULL as category string, so all it ever did was call osmo_init_logging(). The bts_log_info is already declared in the .h. Here and there also define a proper talloc root context instead of using NULL. Change-Id: Ic049f77bef74123b95350bcae182a468e0086b9c
2018-01-25various Makefile.am: add missing CFLAGSAlexander Huemer1-1/+1
Change-Id: I0717aaaf062a7c3c8b35520fa837b51fd6aed47f
2018-01-25cosmetic: Makefile.am whitespaceAlexander Huemer1-1/+1
Change-Id: I480fbf85912de2ea3518a906b9edf23b1485e936
2018-01-10meas_test: fix header file referencesPhilipp Maier1-26/+1
The unittest module meas_test.c contains a lot of unused header files as the result of a cut and paste error made earlier. Also the reference to stdio.h is missing. remove all header file references that are not needed. add missing header reference to stdio.h Change-Id: I167be096ed25a86b1114de1ada955822a0b42856
2017-12-07cosmetic: meas_test: fix section commentPhilipp Maier2-2/+2
Change-Id: Id228620ccf5a40c8089ae1914d59b19e808ea151
2017-10-08Remove build dependency on legacy OpenBSCMax1-1/+1
* copy-paste gsm_data_shared.* from OpenBSC master * remove corresponding configure check and option * remove .deb dependency Actual refactoring with removal of unnecessary structures/parts, moving common OpenBSC/OsmoBSC parts into libraries etc. are left for further patches. Current patch will make coexistence with *BSC easier and will simplify our build infrastructure. Change-Id: I9f004fb5c4c1db29d4792dfd281d388c7063da13 Related: OS#1923
2017-08-14Fix build after recent gsm_bts_alloc() changeHarald Welte1-1/+1
In openbsc.git Change-Id I61c18a7f021fcb1ec00d34a745f4e3ab03416c2d we changed the gsm_bts_alloc() function signature to include a second argument (the BTS number). This broke omso-bts, and this commit is intended to make it build again. Change-Id: I7ef7654d48c1cfc7e4ecb0b771553ec0740ce2bf
2017-07-10measurement: fix measurment reportPhilipp Maier4-0/+3374
The end of the measurement reporting period is not aligned with the SACCH block where the results are reported. The tables that are used to detect the end of the measurement period are therefore wrong. The frame number of the SACCH block must be used and not the TDMA frame number (modulo 104) of the measurement reporing interval. The tables are oriented to the frame number of the first SACCH block, at the beginning of an interval. However, when a SACCH block is received it will always contain the result of the recently passed measurement reporting period. To match the tables, introduce another lookup table to remap each SACCH block that ends to the matching beginning block number. Change-Id: I1eef894e6f15b4449fc8926bebb118624efc7924