67 Commits

Author SHA1 Message Date
Radoslav Gerganov
8ba15ad0b1 Make the 'do_exit' flag static
Both libhackrf and hackrf_transfer are using boolean flag named
"do_exit" which is not static. This is problematic because the flag is
used for different things. This patch fixes the problem by making the
flag static in both places.
2016-08-05 16:53:36 +03:00
Dominic Spill
3f4d1a44e7 Apply C89 patch from guruofquality to support older compilers 2016-01-26 08:16:25 +00:00
Dominic Spill
8cd0cf1b0e Use rad1o's PID 2015-07-21 17:01:07 +01:00
Chris Kuethe
c0c8d619ab Merge branch 'master' of https://github.com/mossmann/hackrf 2015-07-08 11:44:33 -07: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
9cfa4048e9 Free config descriptor once we have the number of interfaces 2015-06-29 13:41:45 +01:00
Dominic Spill
f3a9e66924 Remove duplicate call to set configuration
+ tidy calls to libusb_close()
2015-06-29 13:08:41 +01:00
Dominic Spill
1acd6a6ad6 Fix GitHub issue #163 - Detach the kernel driver automatically 2015-06-26 17:50:27 +01:00
Chris Kuethe
edf8c23cfd Derp. That's what I get for hacking after bedtime... 2015-05-29 09:25:24 -07: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
faddb1b320 squish invalid gain values to acceptable levels 2015-05-29 00:26:14 -07:00
Heikki Hannikainen
3f523326fd Fix compiling on GCC 4.9 ('for' loop initial declarations not allowed with -std=gnu90) 2015-05-25 09:58:40 +03:00
mrbubble62
19d22eb838 Update hackrf.c
Small change to allow build in Visual Studio 2012
2015-03-02 02:40:06 -05:00
Heikki Hannikainen
7c95f8bb5f hackrf_init: only call libusb_init() once 2015-02-24 14:56:19 +02: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
893fef3fcf Bug fix, open the correct device in hackrf_device_list_open 2015-02-24 01:28:13 +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
Heikki Hannikainen
b14d77a173 Adjust debug printf's a bit 2015-02-24 01:13:24 +02:00
Heikki Hannikainen
8e21b9882f Permit serial number without leading zeros so you don't have to type as much. In fact, permit any suffix of the serial number. 2015-02-24 01:13:18 +02:00
Heikki Hannikainen
c9f8bb2a05 libhackrf: refactor serial number searching to hackrf_open_usb() 2015-02-24 01:13:13 +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
Postmodern
2ee29a9e71 Fixed setting of partid in hackrf_board_partid_serialno_read
partid[1] was never being set, so partid[0] would incorrectly be set to partid[1].
2014-08-20 15:29:16 -07: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
Ben Gamari
693c262134 libhackrf: Stop streaming before killing transfer thread 2013-09-14 18:24:25 -04:00
Hoernchen
3c7bc948f1 lib: if freq 2013-06-16 20:24:07 +02:00
Hoernchen
ecdaf40fb7 lib: un-break msvc 2013-06-11 12:55:10 +02:00
Michael Ossmann
fcae60b77a fix type-punning warning with -fstrict-aliasing 2013-06-10 08:01:03 -06: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
cf8f7644c9 fix indent, fix unused vars 2013-06-07 23:46:45 +02:00
Hoernchen
675c9493e3 lib: rename the define, gcc already defines BIG_ENDIAN 2013-06-07 20:36:50 +02:00
Hoernchen
d3d9038697 lib: actually handle the value returned by the fw when setting the gains 2013-06-07 18:17:55 +02:00
Hoernchen
222d518bb7 lib: make BE people happy 2013-06-07 15:30:49 +02:00
Hoernchen
cd7da974d5 lib: fractional sample rates 2013-06-07 14:29:14 +02:00
Sylvain Munaut
fce132d266 libhackrf: Fix early exit of transfer thread in case of syscal interruption
libusb can return LIBUSB_ERROR_INTERRUPTED and it's not really an error,
just a sign some syscall got interrupted by something. Don't abort on
that.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-06-06 22:55:06 +02:00
Michael Ossmann
14257a0032 fix #define false 1 2013-05-28 22:50:54 -06:00
Hoernchen
233c56c79d libhackrf/firmware: merge txvga gain into one gain range of 0-47 2013-05-29 00:53:41 +02:00
Hoernchen
a9c301cfd4 windows, pt3 2013-05-27 14:02:15 +02:00
Hoernchen
d18159cf62 libhackrf: gain control 2013-05-27 14:01:21 +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
294e958472 sgpio_if (top.vhd) CPLD VHDL fix for IQ/aliasing problems for ADC. (cpldjtagprog => sgpio_if_xsvf.h updated to rebuild).
usb_performance.c SGPIO IQ fix for ADC (QI->IQ) for new CPLD (use usb_performance_rom_to_ram version else there is some packet lost even at 10Mhz sampling rate => make -f Makefile_rom_to_ram.)
2013-04-04 19:43: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
cb2b82e9c4 Adding "sample_rate_hz" option, Ctrl C exit shall be fixed with also minor fix in hackrf lib (manage do_exit in thread).
Need more test on linux.
2013-03-23 18:14:49 +01:00