101 Commits

Author SHA1 Message Date
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
TitanMKD
5225477164 * Modified API hackrf_is_streaming() now it returns an int HACKRF_TRUE when streaming is running.
* Added new hackrf_error especially for streaming to return more details.
* Adding management of usb transfer cancelled for hackrf_stop_rx()/hackrf_stop_tx().
* Added robustness on hackrf_close() to correctly close libusb related stuff even if USB device is removed or other problems.
* Fixed threading problems (start, stop() then start() ...).
* Cleanup the whole code.
2013-05-08 15:03:30 +02:00
TitanMKD
281c8701f8 Example cleanup/warning fix for better compatibility with GNU g++.
Adding hackrf_compute_baseband_filter_bw_round_down_lt() & hackrf_compute_baseband_filter_bw() in libhackrf.
Adding DLL export for _WIN32 (cdecl ..).
2013-04-01 18:35:32 +02:00
TitanMKD
6620fe6ba9 Add host(hackrf_info)/fw(usb_performance) IAP read part id/serial no(to be confirmed). 2013-03-09 11:47:28 +01:00
TitanMKD
9ad6758af1 Added hackrf_set_amp_enable() in hackrf_transfer. 2013-03-08 00:47:17 +01:00
TitanMKD
e3784c886e set_freq for firmware & host. tested basicly checking with debugger value mhz/hz from host to fw. 2013-03-07 23:24:00 +01:00
TitanMKD
e2c05fbfe2 Draft in progress (not tested at all) set_freq(). 2013-02-26 00:17:18 +01:00
Michael Ossmann
d2b35517b3 firmware version string 2013-02-23 10:22:58 -07:00
Michael Ossmann
c703b380cf SPI flash chip erase USB command, updated hackrf_spiflash.c to operate one page at a time 2013-02-22 22:20:19 -07:00
Michael Ossmann
0efbc6618e board id request over USB (untested) 2013-02-21 14:25:30 -07:00
Michael Ossmann
b873a8c85a started libhackrf modifications for spiflash and cpld_jtag over USB 2013-02-20 14:45:54 -07:00
TitanMKD
013f1ea4f6 Modified firmware and host tools for portability Linux/Mingw, added fw rffc5071 & host hackrf_rffc5071 example. 2013-02-10 18:51:54 +01:00
Jared Boone
549c943979 Add USB control of LPF baseband filter.
Add max2837_set_lpf_bandwidth() function to choose available LPF filter bandwidth based on bandwidth in Hz.
Change configuration of MAX2837 to set LPF_EN and FT at max2837_setup(), not in max2837_rx() or max2837_tx() (which was overriding prior filter configuration).
2012-10-17 17:00:36 -07:00
Jared Boone
9c4a0e94b0 Factor out sample_rate_set() from cpu_clock_init().
Implement switching between several supported sampling rates for Jellybean and Jawbreaker.
Commit bits of the Si5351C USB request support that I apparently missed in a prior commit.
2012-10-17 16:57:26 -07:00
Jared Boone
6babcbe579 Add USB vendor requests to read/write Si5351C registers. 2012-10-17 11:57:44 -07:00