25 Commits

Author SHA1 Message Date
Martin Ling
c3fdf402d7 Reformat all code to new clang-format standard. 2022-08-03 23:46:44 +01:00
Martin Ling
dbcc46d221 Mark code sections to be left alone by clang-format. 2022-08-03 23:03:15 +01:00
Martin Ling
445253be1e usb_descriptor: Realign descriptor comments. 2022-08-03 23:03:15 +01:00
Martin Ling
fd073e391f Add USB vendor request to read M0 state, and host support for doing so.
This adds a `hackrf_debug [-S|--state]` option, and the necessary
plumbing to libhackrf and the M4 firmware to support it.

The USB API and libhackrf versions are bumped to reflect the changes.
2022-02-13 16:46:12 +00:00
Mike Walters
0293cf23db Opera Cake: use 0-7 instead of I2C addresses & bump USB API version 2021-07-14 18:35:31 +01:00
Mike Walters
4aac303480 Add option to disable HackRF UI
Fixes #608
2020-01-22 21:23:30 +00:00
Dominic Spill
bde5ca9f58 DFU serial number - avoid reading serial from flash chip
Set a DFU mode specific serial number
2018-03-27 18:08:49 -06:00
Dominic Spill
46945205f2 Add USB product string for rad1o badge 2017-08-10 16:12:40 +01: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
schneider
c04b1cbc8d Merge remote-tracking branch 'mossmann/master' into opera-merge 2017-02-03 16:25:32 +01:00
Dominic Spill
255b7b4705 Add USB API versioning 2017-01-30 18:30:17 -07:00
schneider
35ca538c18 Merge remote-tracking branch 'mossmann/master' into rad1o
Just a very rough merge to get off the ground. Major parts are not yet
implemented. The mixer intergration is in a messed up state. Part which
need work have been marked with XXX

Conflicts:
	firmware/common/hackrf_core.c
	firmware/common/hackrf_core.h
	firmware/common/max2837.c
	firmware/common/max2837.h
	firmware/common/rf_path.c
	firmware/common/rffc5071.c
	firmware/common/rffc5071.h
	firmware/common/sgpio.c
	firmware/common/si5351c.c
	firmware/common/tuning.c
	firmware/common/w25q80bv.c
	firmware/common/w25q80bv.h
	firmware/common/xapp058/ports.c
	firmware/hackrf-common.cmake
	firmware/hackrf_usb/hackrf_usb.c
	firmware/hackrf_usb/usb_api_register.c
	firmware/hackrf_usb/usb_api_transceiver.c
	host/hackrf-tools/src/hackrf_transfer.c
2017-01-26 00:21:58 +01:00
Dominic Spill
ea2f1a8921 Reduce configuration count to 1 2016-07-21 13:47:45 +01:00
Dominic Spill
5138486b1b Add Windows Compatible ID descriptors 2016-07-17 22:20:32 +01:00
Dominic Spill
23c44b1d6e Remove unused USB configuration for CPLD update 2016-07-13 14:38:34 +01:00
Tobias Schneider
e612dfd8bf fix(usb): Use new USB PID: 0xCC15 2015-08-11 11:19:58 +02:00
Dominic Spill
510dde7485 Update rad1o firmware and libhackrf to use rad1o PID 2015-07-21 21:22:34 +02:00
Tobias Schneider
fb219b6f86 fix(usb_descriptor): Let the rad1o be a hack-rf on the usb for now 2015-06-09 14:08:57 +02:00
Heikki Hannikainen
35b9e0bea0 Create a #define/constant for the usb_descriptor_string_serial_number length.
Clean up a compilation warning, libusb headers do not like the 'const'.
2015-02-24 01:13:06 +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
dce15fa9f6 firmware support for HackRF One USB ID 2014-03-12 16:21:20 -06:00
Ben Gamari
dc9c6c9667 cpld: Stream CPLD data from host
Previously CPLD programming involved a large 64kbyte buffer into which
the the entire bitstream would be completely downloaded, and at which
point the programming process would commence. This is needlessly
wasteful of memory. Moreover, it could lead to USB timeouts as the
firmware needs to wait the entire duration of the programming process
before returning an ACK to the host after the final SETUP data phase
packet.

Instead, we now receive 512 byte chunks of the bitstream and stream them
to the CPLD one at a time. We wait for each packet to be streamed out to
the CPLD before ACKing the packet to prevent active data being
overwritten.
2013-09-14 18:24:25 -04:00
Ben Gamari
1a44890095 usb_descriptor: Add description strings for configurations 2013-09-14 18:24:25 -04:00
Ben Gamari
21ad0778d2 usb_descriptor: Fix whitespace 2013-09-14 18:24:25 -04:00
Michael Ossmann
389cbc6ac4 renamed usb_performance to hackrf_usb 2013-05-18 08:51:34 -06:00