Commit Graph

53 Commits

Author SHA1 Message Date
Dimitri Stolnikov 20a5fd1a68 hackrf: correct gcc6 warnings 2017-02-27 23:01:51 +01:00
Jiří Pinkava ac15e7897b do not check for NULL before calling free 2016-01-10 22:48:31 +01:00
Dimitri Stolnikov 2ca720cfee hackrf: change hackrf i/o from default char to explicit int8_t
original patch provided via github by Dirk Grunwald
2015-12-07 20:37:32 +01:00
Dimitri Stolnikov 69ec75a0b4 hackrf: since devicecount is signed, make comparisons signed as well 2015-12-07 20:27:02 +01:00
Dimitri Stolnikov 46e95395e0 cmake: move check for hackrf_device_list to hackrf subdirectory 2015-06-06 22:01:33 +02:00
Dimitri Stolnikov f33f30815a hackrf: use #ifdef just like in hackrf_sink_c 2015-06-01 22:24:32 +02:00
Heikki Hannikainen dd6690b6ca hackrf: Add cmake magic to figure out if multiple devices support is available in libhackrf, so that backwards compatibility with old libhackrf is maintained.
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:02 +02:00
Heikki Hannikainen 254e1b1981 hackrf_source: adjust error message
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:02 +02:00
Heikki Hannikainen e847176f3e hackrf_source: Support selecting device with index number (hackrf=0)
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:02 +02:00
Heikki Hannikainen dd6536757a hackrf_sink_c: device enumeration
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:02 +02:00
Heikki Hannikainen 485b02e615 hackrf device enumeration: Use only 6 characters of serial (should be unique per user?) and append it in device name
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:02 +02:00
Heikki Hannikainen 592a814bdb hackrf_source: Truncate serial numbers to 16 chars when enumerating, parse USB board IDs correctly
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:01 +02:00
Heikki Hannikainen 8e6ecd0644 hackrf_source: attempt device enumeration with hackrf_device_list
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:01 +02:00
Heikki Hannikainen 69181b0e85 hackrf_sink: support hackrf_open_by_serial
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:01 +02:00
Heikki Hannikainen 5dca656745 style update to match surroundings
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:01 +02:00
Heikki Hannikainen d4387f436d Require hackrf argument to have a non-zero-length value to trigger serial number search
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:01 +02:00
Heikki Hannikainen 9595b044b6 hackrf: support for hackrf_open_by_serial in hackrf source
Signed-off-by: Heikki Hannikainen <hessu@hes.iki.fi>
2015-06-01 22:01:01 +02:00
Dimitri Stolnikov 5943919828 hackrf: introduce bias=0|1 and bias_tx=0|1 parameters
... to support antenna/phantom power via a new device argument "bias"
(to match Airspy's existing bias power syntax). 0=disable and 1=enable.
I also added a device argument to control bias power at transmit time. I
named this option differently - "bias_tx" - to avoid accidentally
enabling bias power in transmit mode when an LNA may be attached in an
input amplifier configuration.

Original patch provided by Brad Hein
2015-05-27 23:55:00 +02:00
Dimitri Stolnikov 42c66fdd70 hackrf: update copyright for SSE/AVX routines 2014-10-21 22:14:52 +02:00
Dimitri Stolnikov 39230788d7 hackrf: disable AMP gain stage by default to protect it from damage
patch proivided by Paul Connolly
2014-10-21 22:13:08 +02:00
Dimitri Stolnikov ab582493dd hackrf: extend frequency range down to BW/2 2014-08-25 23:02:39 +02:00
Dimitri Stolnikov 3afecd6adf hackrf: extend frequency range down to 10MHz 2014-08-14 23:16:31 +02:00
Hoernchen cc083037fe hackrf: signed samples, following commit fd77cfe8a6 2014-02-20 19:47:20 +01:00
Dimitri Stolnikov eb76e35689 osmosdr/rtl/miri/hackrf: use 15 buffers by default
folowing rtl-sdr commit 89f73b183f2dac9c0dd75beca4cf2f77f20c4a36

So far we had 32 * 256KB which was a bit overkill, 15 are more than
enough.

15 was chosen instead of 16 because at least on Linux there seems to be
a system-wide limit of 63 transfers (when they are 256KB large), so 4
dongles can be used on a single machine without lowering the default
transfer number.
2014-02-11 20:52:56 +01:00
Dimitri Stolnikov a71fbeeaa5 hackrf: implement device discovery
Unfortunately libhackrf still doesn't offer a way to enumerate devices
*or* to open a specific device by index or it's serial number. Thus we
have implemented a rather hack-ish way to detect the presence of a
device by trying to open it and closing right after that.
2013-10-25 23:36:32 +02:00
Dimitri Stolnikov c1fb07bca7 hackrf: enable AMP gain stage by default 2013-09-28 13:49:09 +02:00
Dimitri Stolnikov b3bbe0935e hackrf: don't set automatic bandwidth on samplerate change
automatic bandwidth selection may be triggered by calling
set_bandwidth(0) after changing the sample rate
2013-09-28 13:49:00 +02:00
Dimitri Stolnikov 656a9a014f hackrf: select narrower filters in auto bw mode to prevent aliasing 2013-06-09 13:10:16 +02:00
Dimitri Stolnikov ef37d1caae hackrf: use new sample rate function introduced in libhackrf b892bc34ad 2013-06-09 09:01:00 +02:00
Dimitri Stolnikov 40fb250e8f hackrf: add fractional sample rate support introduced in libhackrf
d9c46cbdac
2013-06-07 22:32:21 +02:00
Dimitri Stolnikov 40483d09c8 hackrf: add human readable error prints for all libhackrf funcs 2013-06-07 21:43:52 +02:00
Dimitri Stolnikov 7a129238b7 hackrf: set the default sample rate to 10M
this prevents a regression with early firmware who did not have 8M rate
but 5M instead. they both had 10M, so we use this as default.
2013-06-05 19:20:08 +02:00
Dimitri Stolnikov e17ee6d96e hackrf: change out-of-spec rate 5e6 to 8e6 default 2013-06-03 22:01:20 +02:00
Dimitri Stolnikov 40ca42013b hackrf: disable start/stop as it has caused lock-ups 2013-06-02 15:53:45 +02:00
Dimitri Stolnikov cf06b3caef hackrf: migrate to gain API introduced in libhackrf b5f275abc5 2013-06-02 15:29:19 +02:00
Dimitri Stolnikov 7e55cb9224 introduce osmosdr namespace, remove _c suffix
- the namespace conversion adopts the common gnuradio coding guidelines
- suffix removal is a preparation to support 8/16 bit complex data types
2013-05-30 16:14:22 +02:00
Dimitri Stolnikov 3e6a24e5d9 convert to gnuradio 3.7 interface 2013-05-29 22:34:40 +02:00
Dimitri Stolnikov ceb14f0f13 hackrf: enable buffers argument for the source block 2013-05-26 13:04:06 +02:00
Dimitri Stolnikov 7c22e6975c hackrf: update to libhackrf 6f0ae9bc99 API 2013-05-08 21:37:30 +02:00
Hoernchen 905dd03ac6 hackrf: silence warning 2013-05-08 20:41:52 +02:00
Hoernchen eab1b61253 hackrf: default to sse2 on x86/64 2013-05-08 20:25:23 +02:00
Hoernchen 80b4ad2921 offer avx and sse to speed up float->uint8 for tx 2013-05-06 21:52:19 +02:00
Dimitri Stolnikov 2d9e29ee46 hackrf: replace non-portable usleep with boost sleep 2013-05-02 23:08:32 +02:00
Dimitri Stolnikov a0c50c2df1 source/sink: rename antennas to express their function 2013-04-30 21:44:31 +02:00
Dimitri Stolnikov 13477f279f source/sink: return freq_range_t in get_bandwidth_range()
it was meta_range_t (which is binary compatible) before.
2013-04-30 21:00:57 +02:00
Dimitri Stolnikov a5bdb27240 hackrf: add TX support (wip)
features:

- gain control for AMP & VGA
- frequency error correction
- automatic baseband filter
- up to 20M sampling rate

limitations:

- no DC offset correction implemented (yet)
- high sampling rates may not work on slow machines

the following TX named gain stages are available:

RF: MGA-81563, switchable 0 or 14dB
IF: MAX2837 VGA, 0 to 47dB in 1dB steps
2013-04-28 12:36:31 +02:00
Dimitri Stolnikov 882b6da6ac hackrf: updated source comments 2013-04-28 12:28:04 +02:00
Dimitri Stolnikov 37f6383c7c hackf: implement start & stop methods
This allows a block to enable an associated driver to begin
transfering data just before we start to execute the scheduler.
The end result is that this reduces latency in the pipeline
when dealing with audio devices, usrps, etc.
2013-04-26 21:50:50 +02:00
Dimitri Stolnikov e157449a9e hackrf: don't skip first samples when streaming 2013-04-26 21:04:30 +02:00
Dimitri Stolnikov 98a805481e hackrf: make failures more verbose 2013-04-26 20:43:06 +02:00