aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/device
AgeCommit message (Collapse)AuthorFilesLines
2020-05-06ipc: add master socket number/path parametershoernchen/ipcEric3-11/+68
osmo-trx-ipc needs to know which master socket it should talk to, so pass this path in the config device args like this: dev-args ipc_msock=/path/to/socket Additionally, add a master socket suffix number parameter to the ipc backend, ipc-driver-test -n 0 to start serving /tmp/ipc_sock0 Change-Id: I24857fbb74e5fc808b2a218957c723291de2ba04
2020-05-06shm: fix alignmentEric1-4/+4
Change-Id: I8b593d792a992973e76dd19f7b678c9caa9c5e16
2020-04-22ipc: gain settingEric1-6/+25
Change-Id: I674d51fdcab2691853681f661b441364ed75207a
2020-04-22ipc: make ipc server uhd output more verboseEric1-0/+6
Change-Id: I9f2c15adff96e71a806ef09f17152c11d7c043aa
2020-04-22ipc: print received path delay valueEric1-0/+2
Change-Id: Ib072b01451084e055882d2867b558a5f8ede95ea
2020-04-29ipc: adjust over/underflow reportingEric1-5/+14
Change-Id: Iec2ca94ed8b6cf96d8797540cff43af6542e6437
2020-04-29ipc: remove intermediate class used for debuggingEric4-261/+16
Change-Id: I2e8a93389cf2f6fc0b9a591f800c019427cf37e6
2020-04-29ipc: update the licensesEric12-29/+145
Change-Id: If523884e76166c11e88944bb7633ff3b54a3a88b
2020-04-27v1Eric21-845/+2379
Change-Id: I057e272623b41421f442206f550bcc8c60f4a747
2020-04-20scaling valEric2-0/+2
Change-Id: I6ddfd792ea42655e12fae0b195e362c98792b96f
2020-04-20spawn the client as a threadEric8-55/+131
Change-Id: I86cd659e74ebdbf43c4352e83e5adb78f8fe6de5
2020-04-19silence warningsEric1-6/+6
Change-Id: I01b2dce8e04cdc21872e5bbc3eec7e0a5e3d1b0b
2020-04-16no undefined behavior by adding/substracting values != 0 from null ptrEric1-6/+7
Change-Id: Id2dc21e884991b3cca9f617aece12ac35959c1b2
2020-04-16shm: fix warningsEric1-4/+4
Change-Id: I0e56539f699c39ab6e3546c96973184552da4d5f
2020-04-15ipc: fix shm size calculationEric1-5/+5
Total size was previously only as large as sizeof(struct ipc_shm_raw_stream) + sizeof(uint32_t)*num_buffers.... Change-Id: I1205b56a4b11bdf32fbdbfb82b67da36965a7981
2020-04-15WIP: commentsPau Espin Pedrol1-0/+41
Change-Id: Ia2631a869e23af520b9eade192dfdb032174c689
2020-04-15WIP: osmo-trx-ipcPau Espin Pedrol7-0/+1823
Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756
2020-03-12radioDevice: Drop unused isControl param from WriteSamples APIPau Espin Pedrol7-26/+18
The out "isControl" parameter is only used by internal callers of USRPDevice, and not used at all by any user of the generic API (radioInterface*.cpp). Hence, we can get rid of it and keep it as a flag for an internal API of USRPDevice. Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3
2020-03-12radioDevice: Drop unused RSSI param from readSamples APIPau Espin Pedrol7-14/+11
The out "RSSI" parameter is only filled by USRPDevice, and not used at all by any user of the API (radioInterface*.cpp). RSSI seems to be computed nowadays in the common path in Transceiver::pullRadioVector(). Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784
2020-01-15lms: Initial multi-arfcn supportPau Espin Pedrol1-7/+17
With current state multi-arfcn can be used (eg. I can place a call between 2 phones using TRX1 and sustain for as long as wanted), but from time to time (around every 20seconds), a burst of Tx packed dropped events from LimeSuite appears. LimeNet-micro coefficients have yet not been tested. Related: OS#4362 Change-Id: I7e67d90a8126546eeeeba376f816ec5d158d4712
2020-01-15lms: Make ts_offset and smpl rate coefs device-specificPau Espin Pedrol1-8/+12
Right now the values are the same for all devices, but they will differ in forthcoming commits once multi-arfcn support is added. Change-Id: I262d3a71848fc3070473e29e42820848e7591d02
2020-01-15lms: Store device type specific parameters in one placePau Espin Pedrol2-25/+117
Add an enum containing each supported device type (LimeSDR-USB, LimeSDR-Mini and LimeNet-Micro) plus "unknown", to leave some room for yet-to-come devices to run with some generic parameters without rebuilding osmo-trx. Each device type is assigned a dev_desc structure, and all of them are put in HashMap, similar to what's already done in UHDDevice.cpp. Device type is infered from string provided by LMS_GetDeviceInfo(), as it was already done before in several places. From now on, we only need to parse the string once since we store the device type after first during open time. Later on, more fields will be moved to device-type specific structure, such as Tx timing offset, clock rate, etc. Change-Id: I7658615787c5bc41c365bab9c11733b701ac2ae5
2020-01-15lms: Move rx_buffers allocation to constructorPau Espin Pedrol1-4/+5
Release is done in destructor, so let's move allocation to constructor since there's really no need to have them in open() which is already quite complex and large. Change-Id: I8a4fd973590c4c165abd8f2837b2da8fc14a2066
2020-01-15lms: Make reference to std::vector unambiguousPau Espin Pedrol1-1/+1
Change-Id: Ieebdbd3d5082a02aea2441e6737783370511cbc1
2020-01-13lms: Change radioDevice constructor arg name to avoid masking instance attrPau Espin Pedrol6-9/+9
channel number mangling based on multi-arfcn feature being enabled was moved to generic radioDevice() to reuse code. Hence, the generic parent constructor sets this->chans to 1 if multi-arfcn feature is requested. However, LMSDevice constructor argument had same name as the class instance attribute, taking preference. As a result, if multi-arfcn is enabled in LMSDevice, the generic constructor first sets this->chans=1 but afterwards LMSDEvice constructor keeps calling .resize() with the argument value "chans" instead of using this->chans. Let's rename the argument in all radioDevice child class constructors to avoid potential future bugs in all of them. Change-Id: Id6c837e9133f22783dd92a81dfcc493e51bf2d21
2020-01-13lms: Improve smpl_buf error loggingPau Espin Pedrol1-2/+3
Change-Id: I511abe2c333443b978a3767bd7b7e320e07c4930
2020-01-13smpl_buf: Fix str_code() param and print unknown error valPau Espin Pedrol2-3/+5
Change-Id: I95fadac15b9ad337ebc7cfb44a20dcf803ff8a47
2020-01-07lms: Drop unused definePau Espin Pedrol1-1/+0
Change-Id: Iaf3361ed29dd552e5e52b62bc738fa20c6b583fe
2020-01-07lms: Move initialization of field started to constructorPau Espin Pedrol1-3/+1
Change-Id: I135a2ff4a419775169452be1128c7b30f7d638ad
2020-01-07uhd: Improve some logging lines printing UHD pretty-print outputPau Espin Pedrol1-3/+6
Change-Id: If5aba28aaf8a3312d89b3e963184f9f20966d199
2020-01-07uhd: Use DEVDRV log category and support UHD >=3.11 logging frameworkPau Espin Pedrol1-12/+48
Change-Id: I36f1ff7d425a2144fb512ff393af02741eb4a3d4
2020-01-07Make logging category DLMS generic and reusable for other backendsPau Espin Pedrol1-1/+1
Make sure old configs using "logging level lms <level>" are still accepted. Initialization order of VTY componenets need to be resorted since newly introduced command requires logging VTY node to be already setup beforehand. Change-Id: Ia195a74a62a8a3dd6267fb1359acaa5628208d8e
2019-12-19uhd: use value already cached in tmp variablePau Espin Pedrol1-1/+1
Change-Id: I4568eaed6db3da12f83f2f503a50032f7bfb482c
2019-10-17Fix common misspellings and typosMartin Hauke5-5/+5
Change-Id: I4ec7accb1912c052b446be7c399bed32a8c62253
2019-09-20Move multi-ARFCN chan amount modification from UHDDevice to parent classPau Espin Pedrol2-3/+7
This way switch is applied correctly to parent structures and features can be used later by other children classes (other devices). Change-Id: I24d6c66bb3195ba2513b4a67daa14cdfbacdce6d
2019-09-13UHDDevice: Drop unneeded MULTI_ARFCN checksPau Espin Pedrol1-12/+0
After previous changes, radioInterfaceMulti is expected to handle channel conversion correctly, so it will always use chan 0 for all these functions. This simplifies code in radioDevice avoiding need to add checks to all devices supporting multi-arfcn in the future. Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba
2019-09-13radioDevice: Introduce getTxGain() APIPau Espin Pedrol5-0/+25
It will be used in later commits by radioInterfaceMulti. Change-Id: Ie3caca8971ed1e5370dfed6fb60716a24e7d82a5
2019-09-13LMSDevice: Return previous txGain/rxGain if setting value failedPau Espin Pedrol2-6/+10
Change-Id: I11e853e11bec99fc88e81642f9b2cd87d5815398
2019-09-13USRPDevice: Return previous txGain if setting value failedPau Espin Pedrol2-2/+5
Change-Id: I0d8fd51586ef01141d4e5896f0fc3029a22743f8
2019-09-13USRPDevice: Fix setRxGain return on error and getRxGain() returning always 0Pau Espin Pedrol1-2/+3
field rxGain is set to 0 during constructor and never set after that point. Change-Id: I7fae7a315e5ab98a15c27628a88a92226ef89469
2019-08-26device: Use LOGCHAN in set_antennas()Pau Espin Pedrol1-4/+4
Change-Id: I3099498e3a3f26b53d55a96a36cc056f7b25b27a
2019-08-26lms: Log available antennas if requested antenna failsPau Espin Pedrol2-2/+23
Related: OS#3343 Change-Id: Icd328e85b0a75ef67f371a7ed72638053b1854f9
2019-08-21Drop old setPriority related codePau Espin Pedrol5-18/+0
This code is not needed anymore since we are setting SCHED_RR scheduler with a real time priority in main thread during startup, so all threads will inherit same rt priority, which should be enough to keep the process working reliably even on high system loads (from non rt processes). osmo-trx was tested to be reliable during test with stress-ng as explained in related ticket below. Related: OS#2344 Change-Id: I3a88946dd71e9aeeaac9d19d396e2236c302b608
2019-08-01Move std_inband.rbf under device/usrp1/ dirPau Espin Pedrol2-0/+6
This file is only used by USRP1, so let's move it there and avoid processing it in Makefiles if build for USRP1 is not requested at configure time. Change-Id: Ibb40ba487581e76d2ae3e8a420d631670f876cf0
2019-08-01lms: Drop rx_underruns rate ctr, add tx_drop_* rate ctrPau Espin Pedrol2-28/+61
After discussion in [1] and further look at the code, it became obvios rx_underrun events are not happening in general for any SDR (don't exist), so let's drop that counter. Instead, add Tx Dropped Packet counters, which were not accounted prior to this commit. [1] https://github.com/osmocom/osmo-trx/commit/bde55afd29fc9aae10eb11f6515821afa39b772d Change-Id: Iff1535c219a4695a511d383d7c4b06ef6eff959d
2019-07-29usrp1: don't check for non-null underrun pointerPau Espin Pedrol1-2/+2
The pointer can't never be null, so avoid checking it. Change-Id: I12e14641713a6494bc89570f02cecfc6f8fd4b5e
2019-07-22Add SPDX annotationPau Espin Pedrol8-2/+20
Related: OS#3515 Change-Id: I3719bd8dc015569ecd81928fc079e27593cdca09
2019-06-09lms: Fix stream_stats checks with overrun/underrunPau Espin Pedrol1-4/+4
It was initially thought that underruns/overrun fields were increasing-over-time values. However, after reading LimeSuite code, it seems overrun and underrun fields are actually reset upon every call to LMS_GetStreamStatus(). Related: osmo-trx.git 928177125654c1e596ec3450a68882c031ebb929 Related: https://github.com/myriadrf/LimeSuite/issues/265 Change-Id: I677232a7b12ee83d26aa34d92f76a91d4b5a63a6
2019-06-06lms: Drop unusued variable masterClockRatePau Espin Pedrol2-5/+0
Change-Id: I19192925d008046f474615a0476b52ddee9a9d78
2019-06-05Add rate_ctr support to store/retrieve SDR errors through VTYPau Espin Pedrol3-37/+54
Introduce a unified implementation-agnostic interface for radioDevice to signal SDR error counters to upper layers and manage them. This patch only implements counters for osmo-trx-lms (other devices will show all counters unchanged during time). Sample use through VTY: """ OsmoTRX> show rate-counters osmo-trx statistics 0: device:rx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Rx underruns device:rx_overruns: 0 (0/s 0/m 0/h 0/d) Number of Rx overruns device:tx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Tx underruns device:rx_drop_events: 4 (0/s 2/m 3/h 0/d) Number of times Rx samples were dropped by HW device:rx_drop_samples: 513 (0/s 196/m 425/h 0/d) Number of Rx samples dropped by HW """ Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439