Dominic Spill
b985d9c899
Merge branch 'abstract_buses' of https://github.com/jboone/hackrf into jboone-abstract_buses
2015-12-18 12:24:43 +00:00
Tobias Schneider
d7c162902c
fix(hackrf-ui): Make the calls weak
2015-12-09 22:26:16 +01:00
Tobias Schneider
c6e7490397
Merge remote-tracking branch 'mossmann/master' into rad1o
...
Conflicts:
host/misc/udev/53-hackrf.rules.in
host/python/max2837_dump.py
host/python/set_transceiver_mode.py
2015-12-07 21:05:39 +01:00
Tobias Schneider
86b424d9d3
feat(hackrf): Callbacks for a possible UI
2015-12-07 00:29:33 +01:00
Jared Boone
2022cc6351
Only perform W25Q80BV setup once, at startup.
...
hackrf_usb firmware does not run from SPI flash once the ROM bootloader is done. Simplify assumptions by initializing SPI flash once, early. Do not initialize it every 256 bytes that are read from or written to the device.
2015-08-28 13:03:40 -07:00
Stefan `Sec` Zehl
62799d4158
HACK: wait until si5351 is powered up
2015-07-28 02:51:52 +02: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
Tobias Schneider
d7ecde3dc1
hack(hackrf_usb): Disable reading the serial number via IAP
2015-06-13 21:56:18 +02:00
Tobias Schneider
c79c53c52f
chore(name): We are now rad1o
2015-06-07 23:33:24 +02:00
Tobias Schneider
b4b768c76f
feat(max2871.c): Set the default values after reset
2015-06-07 13:58:46 +02:00
Tobias Schneider
c05929fe25
fix(common, hackf_usb): Make it compile for rad10
2015-06-06 18:49:09 +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
Heikki Hannikainen
9e92adda79
Refactor obtaining LPC serial number and chip ID into separate API and header/source files. Remove from main().
...
Create a usb_set_descriptor_by_serial_number(), called before USB stack is started.
2015-02-24 01:12:49 +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
Jared Boone
5363ec3672
Use new GPIO API to abstract GPIO in various drivers.
...
Had to do it all at once due to name conflicts with API exposed in libopencm3.
Quite invasive patch! Also precipitated an LED API...
2014-11-15 16:26:59 -08:00
Jared Boone
32aea14318
Merge branch 'abstract_i2c' into abstract_buses
...
Conflicts:
firmware/common/hackrf_core.c
firmware/common/hackrf_core.h
firmware/hackrf-common.cmake
2014-11-13 11:26:41 -08:00
Jared Boone
e6c02bea62
MAX5864: Abstract SPI, extract target code
2014-11-10 16:55:02 -08:00
Jared Boone
3bc41f1480
Si5351C: Un-singleton the high- and low-level drivers. Proper.
2014-11-10 16:27:35 -08:00
Michael Ossmann
44df9d1f82
si5351c_activate_best_clock_source() when starting RX or TX
2014-07-01 15:21:36 -06:00
Michael Ossmann
f9c90f0d35
commented si5351c_activate_best_clock_source() trying to solve intermittent USB failures
2014-07-01 15:21:31 -06:00
Michael Ossmann
ca04d7c04b
activated CLKOUT (always on) and CLKIN (automatically used when detected)
2014-03-14 21:28:13 -06: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
Jared Boone
b285b91e4c
Merge remote-tracking branch 'mossmann/master' into jboone_refactor_20130906
...
Conflicts:
firmware/common/hackrf_core.h
firmware/common/rffc5071.c
2013-11-20 18:43:40 -08:00
Michael Ossmann
5b14636c2c
initial firmware support for HackRF One
2013-11-19 10:01:26 -07:00
Jared Boone
61a8d0f1d6
Move set_transceiver stuff back hackrf_usb.c, since it seems to fit better there.
2013-09-20 14:24:05 -07:00
Jared Boone
7b50dfa12c
Factor out USB API for transceiver control into separate files.
...
Pull out streaming control functions into common/streaming.[ch].
Remove excess #includes in hackrf_usb.c.
2013-09-20 12:54:56 -07:00
Jared Boone
9120e0b7ba
Extracted USB API for board information into separate files.
2013-09-19 22:45:38 -07:00
Jared Boone
aab36292db
Moved USB API for manipulating RF chip registers into separate files.
2013-09-19 22:37:36 -07:00
Jared Boone
cde5e1af8a
Extracted USB API for SPI flash erase/write/read into separate files.
2013-09-19 22:29:49 -07:00
Jared Boone
f7a42e0747
Move USB API for CPLD management into separate files.
2013-09-19 19:52:14 -07:00
Jared Boone
82ce660932
Broke some application-specific USB code into separate files within hackrf_usb/. Hoping I can use them as necessary in other projects, or push them into a library eventually.
2013-09-19 19:51:32 -07:00
Jared Boone
5b7b98be6c
Clean up SGPIO vector assignment code.
2013-09-17 22:37:40 -07:00
Jared Boone
c06facdd25
Push SGPIO configuration into RF path API.
2013-09-17 22:32:10 -07:00
Jared Boone
2e2275ed51
Pull out leaky tri-state transceiver_mode value from sgpio_configure(), replace with SGPIO_DIRECTION_* #defines.
2013-09-17 22:29:41 -07:00
Jared Boone
aebea16b0f
Remove USB endpoint fiddling from baseband_streaming_disable().
...
Create baseband_streaming_enable() to do SGPIO IRQ and stream enable.
2013-09-17 22:23:18 -07:00
Jared Boone
1ec9f560b4
Move more RF path stuff (initialization and MAX5864 state management) into rf_path.c.
...
Changed initial RF path mode to lowest power (OFF).
Remove initial MAX2837 IF setting -- it's a waste of effort when the first (and necessary) tuning operation will reset it anyway (perhaps to a different value).
2013-09-17 17:25:00 -07:00
Jared Boone
53415a620d
Allow set_transceiver_mode(OFF) to fall through the rest of the function, now that sgpio_configure() is expecting OFF as a value.
2013-09-17 15:33:07 -07:00
Jared Boone
0e8e3c8d53
Push MAX2837 state management into rf_path_set_direction().
2013-09-17 15:27:16 -07:00
Jared Boone
e02d2f0325
Remove dependencies on application-specific USB descriptors.
2013-09-17 15:13:12 -07:00
Jared Boone
78121f5a3e
Merge branch 'refs/heads/bgamari_usb_merge' into jboone_refactor_20130906
...
Conflicts:
firmware/hackrf_usb/hackrf_usb.c
2013-09-17 13:10:30 -07:00
Jared Boone
4984a8b681
Fix to SPIFI addressing during hackrf_spiflash read operation. This fixes mismatches between programmed and read-back data.
2013-09-17 12:18:33 -07:00
Jared Boone
d13e80b520
With bgamari's new USB configuration for CPLD, be sure to turn up CPU clock to maximum.
2013-09-16 15:21:28 -07:00
Jared Boone
c0274cd2d3
Merge remote-tracking branch 'bgamari/usb' into bgamari_usb_merge
...
Conflicts:
firmware/hackrf_usb/hackrf_usb.c
firmware/hackrf_usb/usb.c
firmware/hackrf_usb/usb_queue.c
firmware/hackrf_usb/usb_queue.h
firmware/hackrf_usb/usb_standard_request.c
2013-09-16 15:18:14 -07:00
Ben Gamari
67a181ac36
hackrf_usb: Update transceiver_mode on all configuration changes
2013-09-14 18:24:26 -04:00
Ben Gamari
64ef3f71c0
hackrf_usb: Make main loop non-blocking
2013-09-14 18:24:26 -04:00
Ben Gamari
3ba8d33de8
hackrf: Enter cpld_update from main loop
...
Otherwise we never respond to SET_CONFIGURATION
2013-09-14 18:24:26 -04: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
4773ee5a53
hackrf_usb: Port to use usb_queue
2013-09-14 18:24:25 -04:00
Jared Boone
042229ea19
Set transceiver mode to OFF whenever USB configuration changes.
2013-09-08 15:52:36 -07:00