127 Commits

Author SHA1 Message Date
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
Mike Davis
c5e0cfef45 Merge remote-tracking branch 'remotes/origin/master' 2016-12-09 23:38:03 +02: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
Mike Davis
03155691ae Merge branch 'mossmann-master' 2016-08-29 06:38:13 +02:00
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
Mike Davis
4b56d88024 Use strndup instead of strdup, to handle situations where the reported length and the actual length are different, or not null terminated 2016-07-29 16:02:56 +02:00
Vinayak Kariappa Chettimada
4f9665fb3b Fixed missing reset of do_exit, which prevented calls to callback when thread is created once again. 2016-04-03 07:36:48 +02: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