65 Commits

Author SHA1 Message Date
Dominic Spill
82656b8f14 HackRF Opera Cake - GPIO test mode 2018-11-09 22:10:16 -07:00
Georg von Zengen
73ca8c09dd libhackrf: counts the open devices, prevents exit if not all closed
fixes #435, osmosdr calls hackrf_exit for the last sink and the last
source. If both are in one flow graph the desctructor of the source
fails as the sink already closed the usb context.
This prevents hackrf_exit to close the context if not all devices are closed
2017-12-07 15:21:29 +01:00
Dominic Spill
5f560d6ad3 Merge branch 'mossmann-master' into flash-investigation 2017-12-05 16:18:19 -07:00
Dominic Spill
3f569a8ad4 hackrf_clock: Allow CLKOUT to be enabled / disabled
hackrf_clock -o 1 / hackrf_clock -o 0
2017-11-07 11:23:48 -07:00
Dominic Spill
c416fa1294 SPI Flash: add function to clear SPI flash status register 2017-11-06 10:42:19 -07:00
Dominic Spill
8f544ee60d Add flash status read 2017-09-12 17:52:07 -06:00
Dominic Spill
8c7941b0ef Opera glasses: allow user specified ranges for operacake ports
- HackRF switches antenna when tuning
 - ports specified using hackrf_operacake cmdline tool
 hackrf_operacake -f 2350:2800:0 -f 0:400:1 -f 400:700:2 -f 700:6000:3
2017-05-16 17:18:54 -06:00
Michael Ossmann
79f95abdb3 correct discrepancy between number of samples and number of bytes in blocks of samples
related to #346
2017-02-16 12:46:17 -07:00
Michael Ossmann
e1b1dbd647 Moved sweep mode frequency computation into firmware.
Changed from long list of tuning frequencies to short list of ranges.
2017-02-07 13:57:49 -07:00
Dominic Spill
38c67f7e89 Add printable libhackrf and hackrf tools version strings 2017-02-05 21:40:57 -07:00
Dominic Spill
255b7b4705 Add USB API versioning 2017-01-30 18:30:17 -07:00
Dominic Spill
b047dd0cb4 Add software controlled reset 2017-01-27 15:03:53 -07:00
Dominic Spill
439ddaaa40 Support compiling with Visual Studio 2017-01-26 17:00:41 -07:00
Michael Ossmann
3474ad50c0 Merge branch 'multi-device-hardware-sync' of https://github.com/dodgymike/hackrf into dodgymike-multi-device-hardware-sync 2017-01-24 16:18:33 -07:00
Dominic Spill
60f64928d3 Merge branch 'master' into operacake 2017-01-23 17:50:09 -07:00
Mike Davis
ddb19a86fe Add vendor request for enabling/disabling gpio-based sync 2017-01-22 22:28:11 +02:00
Dominic Spill
a95d1ac027 Add dwell time argument to hackrf sweep
- untested because I'm not able to fire up my HackRF right now
2016-12-27 21:08:12 +00:00
Dominic Spill
c127cdc0a4 Frequency list PoC 2016-12-27 21:08:12 +00:00
Dominic Spill
dc0b5a5798 Fix missed scan -> sweep changes 2016-12-27 21:08:12 +00:00
Dominic Spill
8c96d9cf32 Change granularity of scan mode to MHz 2016-12-27 21:08:12 +00:00
Mike Walters
97c317e9a4 Add init_scan call to libhackrf 2016-12-27 21:08:12 +00:00
Dominic Spill
b528af46c1 Tidy unused operacake code and use addresses to refer to boards 2016-12-25 11:01:55 +00:00
Dominic Spill
c54e31f397 Add support for multiple operacake boards connected to one HackRF 2016-12-23 21:59:45 +00:00
Dominic Spill
9d7b55ccb1 Add host functions to set operacake ports 2016-12-22 17:22:04 +00:00
Martin Müller
dccc48ad13 Add CCCamp 2015 rad1o badge board id to libhackrf
The rad1o is the badge of the Chaos Communication Camp 2015 (CCCamp15).

The rad1o badge contains a full-featured SDR (software defined radio)
half-duplex transceiver, operating in a frequency range of about 50 MHz
- 4000 MHz, and is software compatible to the HackRF.

See https://rad1o.badge.events.ccc.de for more information.
2016-10-06 23:34:42 +02:00
Dominic Spill
11ef7f74f6 Tidy clang build warnings
- Remove transceiver enums from hackrf.h
 - convert uint64_ts to int64_ts for frequency maths
2016-09-15 13:50:50 -06:00
Sebastian Koslowski
e480a28c0a Comment style fixup to prevent warning in c90 complier mode 2015-10-27 20:16:43 +01:00
Dominic Spill
8cd0cf1b0e Use rad1o's PID 2015-07-21 17:01:07 +01:00
Dominic Spill
ce9ad343e0 Fix issue #113 - CPLD update fails on Windows
Using the patch from @supersat
2015-07-06 21:25:01 +01:00
Dominic Spill
a1b8535ac0 Merge pull request #158 from hessu/feature/multidev
Multiple device support - fixes issue #87
2015-05-29 17:13:03 +01:00
Chris Kuethe
8f9db4456b quick reminder of gain control mappings
So that I don't have to keep googling for this every time I forget which
knob is which.

From http://nine.pairlist.net/pipermail/hackrf-dev/2014-March/000276.html
2015-04-04 12:55:54 -07:00
Heikki Hannikainen
1fae679af3 device enumeration: Return usb_board_ids as an enum 2015-02-24 12:28:07 +02:00
Heikki Hannikainen
9b9466f02a libhackrf: The usb firmware reports board type as USB product id. Provide hackrf_usb_board_id_name() to decode that. 2015-02-24 12:15:05 +02:00
Heikki Hannikainen
c0b3638cce Do not break hackrf_open() API, provide a hackrf_open_by_serial() instead for the new functionality. 2015-02-24 07:43:45 +02:00
Heikki Hannikainen
856d9a6354 libhackrf: hackrf_device_list() API for device enumeration and opening of any device (with or without serial numbers).
hackrf_info uses hackrf_device_list to list devices, with or without serial number API support.
2015-02-24 01:13:42 +02:00
Jared Boone
9dbe967bf2 Serial number firmware and host-side changes. Very hacky at this point.
Among the TODOs:
* Refactor obtaining LPC serial number and chip ID into separate API and header/source files. Remove from main().
* Create a usb_set_serial_number_descriptor() or similar function to be called before USB stack is started.
* Ensure USB serial number descriptor is valid even if code forgets to initialize the serial number before the USB stack is started. May be as simple as providing default initializer for usb_descriptor_string_serial_number[].
* Create a #define/constant for the usb_descriptor_string_serial_number length.
* Identify what's causing intermittent crashes in hackrf_transfer when no serial number is specified. I'm probably misusing getopt.
* Permit serial number without leading zeros so you don't have to type as much.
* Add support for serial number argument in other hackrf_* tools.
* Provide libhackrf support for enumerating multiple HackRFs, so that hackrf_info can list all devices. May require an additional libhackrf function, outside of hackrf_open().

...and anything else that makes this less of a hack.
2015-02-23 19:23:31 +02:00
Michael Ossmann
d4a5c2290b replaced set_freq_if() with set_freq_explicit() and implemented explicit tuning option in hackrf_transfer 2014-03-13 16:06:51 -06:00
Michael Ossmann
7c3f6340ed HackRF One antenna port power control in firmware, libhackrf, and hackrf_transfer 2014-03-12 17:21:49 -06:00
Michael Ossmann
716d140dfb libhackrf support for HackRF One USB ID and board ID 2014-03-12 16:29:07 -06:00
Ben Gamari
d21d616576 libhackrf: Rework hackrf_cpld_write to use new firmware interface
We now use a separate USB configuration for CPLD updates. To avoid
misuse of the interface, hackrf_cpld_write is now a one-shot call,
expecting the entire CPLD buffer. The library will then take care that
the device is placed in the CPLD update configuration and the entire
buffer uploaded. Unfortunately, this means that users of the interface
will have substantially fewer opportunities to provide status updates to
the user.
2013-09-14 18:24:26 -04:00
Hoernchen
b33f534da0 firmware, lib: update comments, doc 2013-06-17 12:32:12 +02:00
Hoernchen
3c7bc948f1 lib: if freq 2013-06-16 20:24:07 +02:00
Hoernchen
fe7558fcf3 lib/fw: rename the sample rate function 2013-06-09 00:09:46 +02:00
Sylvain Munaut
791476b422 libhackrf: Update the library with new fractional sample rate API
And send the new USB command

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-06-09 00:08:18 +02:00
Hoernchen
cd7da974d5 lib: fractional sample rates 2013-06-07 14:29:14 +02:00
Hoernchen
233c56c79d libhackrf/firmware: merge txvga gain into one gain range of 0-47 2013-05-29 00:53:41 +02:00
Hoernchen
d18159cf62 libhackrf: gain control 2013-05-27 14:01:21 +02:00
Hoernchen
2200e4c109 windows, pt2 2013-05-27 14:01:20 +02:00
TitanMKD
bf964e769d New license for libhackrf based on http://opensource.org/licenses/BSD-3-Clause 2013-05-17 00:00:46 +02:00
TitanMKD
418680aed2 Fixed libhackrf, hackrf_cpldjtag (host) & usb_performance (firmware) to update CPLD through USB.
Use latest CPLD bitstream with following command line:
hackrf_cpldjtag.exe -x hackrf\hardware\jellybean\sgpio_if\default.xsvf
2013-05-09 00:29:42 +02:00