196 Commits

Author SHA1 Message Date
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
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
Michael Ossmann
8a9664c0ad started amp_enable in libhackrf 2013-03-07 16:08:44 -07: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
85dfc2a930 implemented transceiver mode OFF 2013-02-24 15:13:39 -07: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
771de3c24d more fixes for bytes transferred checks 2013-02-22 21:39:03 -07:00
Michael Ossmann
000bfdd53e fixed check for number of bytes transferred (Thanks, Jared!) 2013-02-22 17:44:00 -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
Jared Boone
91a9bf5ca3 Initial commit of libhackrf. 2012-10-16 20:33:41 -07:00