Dominic Spill
1b8e1d18c5
Add scan mode function separate to main loop
2016-12-27 21:08:12 +00:00
Dominic Spill
2e17b7e884
Use vendor request to start scan mode
2016-12-27 21:08:12 +00:00
Mike Walters
9f2d6cdbea
WIP scanning
2016-12-27 21:08:12 +00:00
Dominic Spill
2dffba9c47
Remove unude set_configuration() code for CPLD updates
...
- now handled under the default configuration
2016-07-21 13:50:14 +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
Dominic Spill
87f59de104
Merge "abstract buses" changes with "fix SPI flash read"
2015-12-20 15:28:29 +00:00
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
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
Jared Boone
a4e447cb9e
Use W25Q80BV read function to retrieve SPI flash contents.
2015-08-28 12:50:07 -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
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
ea136038a9
SPI: Rename spi_t to spi_bus_t to match I2C naming.
2014-11-13 10:16:39 -08:00
Jared Boone
05b8c4c153
SPI: Interface: Rename init()->start(), add stop().
2014-11-13 09:51:48 -08:00
Jared Boone
569f320826
SPI: Pull remaining hardware bits out of MAX2837/5864/W25Q80BV device drivers.
2014-11-10 17:05:19 -08:00
Jared Boone
21eb27c3f3
SSP0: Extract SPI interface from W25Q80BV code.
2014-11-10 17:00:15 -08:00
Jared Boone
58e3465ce5
W25Q80BV: Finish abstracting SPI code.
2014-11-10 16:55:22 -08:00
Jared Boone
e6c02bea62
MAX5864: Abstract SPI, extract target code
2014-11-10 16:55:02 -08:00
Jared Boone
5a77d196ea
W25Q80BV: Separate structures into algorithm and hardware access layers.
...
Also extract #define constants for W25Q80BV into driver structure. Driver could eventually extend to other devices.
2014-11-10 16:46:12 -08:00
Jared Boone
7639ef0e3e
W25Q80BV: De-singleton the driver.
2014-11-10 16:45:44 -08:00
Jared Boone
4ac2be5304
W25Q80BV: Extract hardware-specific code into separate layer.
...
Conflicts:
firmware/hackrf_usb/Makefile
2014-11-10 16:45:23 -08:00
Jared Boone
d55bd529e2
RFFC507x: De-singleton the driver code.
2014-11-10 16:42:08 -08:00
Jared Boone
453f622b74
MAX2837: De-singleton the driver.
...
Conflicts:
firmware/common/hackrf_core.c
firmware/common/hackrf_core.h
2014-11-10 16:37:34 -08:00
Jared Boone
3bc41f1480
Si5351C: Un-singleton the high- and low-level drivers. Proper.
2014-11-10 16:27:35 -08:00
Jared Boone
0bf84d974e
Si5351C: Extract low-level driver code.
2014-11-10 16:27:09 -08:00
Jared Boone
9bf640895f
Quiet warning about unused args in cpld_buffer_refilled().
2014-11-10 11:11:49 -08:00
Jared Boone
9e95d235b4
Create separate CMake toolchain file. Add references to toolchain file in each firmware CMakeLists.txt. I suspect this can be simpler still, just not sure how, yet...
2014-08-11 16:43:58 -07:00
Jared Boone
2a7ed069c7
Firmware build system is now CMake, and seems much more sane on the whole.
2014-08-11 16:37:14 -07: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
Michael Ossmann
dce15fa9f6
firmware support for HackRF One USB ID
2014-03-12 16:21:20 -06:00
Jared Boone
847289bf31
Fix attempt #2 for proper tuning frequency calculation.
2014-02-19 13:17:47 -08:00
Jared Boone
b1eccd4e79
Add integer promotion to tuning frequency calculation.
2014-02-19 13:08:02 -08:00
Jared Boone
a51eb9dd60
Remove usb_bulk_buffer declaration, it was causing duplicate buffers to exist in RAM. Allow ldscript to determine symbol's address by making buffer "extern" only.
2014-02-14 10:48:38 -08:00
Jared Boone
ba2cc32ac6
Combine ram_usb[01] into a single region.
...
Assign usb_bulk_buffer symbol to ram_usb origin, instead of hard-coding a pointer in C.
Change declaration of usb_bulk_buffer from a pointer to an array.
2014-01-11 17:07:49 -08:00
Jared Boone
63292419c8
Moved M0 memory region to larger first AHB region (32K), moved USB bulk buffers to smaller AHB RAM area.
2014-01-02 15:10:09 -08:00
Jared Boone
7920490f1e
Change USB bulk endpoint for baseband data to have only one queue item. Since there are only two baseband buffers, and one is transferring with the codec and the other with USB, enqueueing more than one buffer at a time would result in transferring an incomplete buffer.
2013-12-31 20:34:01 -08:00
Jared Boone
fc5ec03353
Adjust tuning API to use a single 64-bit integer for frequency in Hz, since the Cortex-M4F has good support for uint64_t.
2013-12-31 20:12:47 -08: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
Jared Boone
986e4dec93
Massive rework of Makefile_inc.mk, to support building of heterogeneous (M4+M0) binaries, and easy switching between RAM and SPIFI-bootable builds. Constructive criticism welcome -- I'm sure there's better ways to do this.
2013-11-20 15:28:28 -08:00
Michael Ossmann
5b14636c2c
initial firmware support for HackRF One
2013-11-19 10:01:26 -07:00
Jared Boone
89eafaa79a
Remove sample-pair reordering in SGPIO interrupt -- CPLD fixes address this.
2013-11-16 13:32:41 -08:00