1612 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
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
Michael Ossmann
50a6622ff8 nudged refs for assembly diagram 2015-01-27 10:13:09 -07:00
Michael Ossmann
4e98bc6b1b updated DFU make instructions 2014-12-03 14:58:53 -07:00
Michael Ossmann
017a80604a removed .svn directory that never should have been there 2014-12-03 14:01:35 -07: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
7eee145365 Add "pin" interface to abstract GPIO pins. 2014-11-13 16:12:54 -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
02cc5814b1 I2C: Interface: Rename init()->start(), add stop(). 2014-11-13 10:32:38 -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
28d629e099 Si5351C: Bring I2C wrapper into main driver. 2014-11-12 18:32:00 -08:00
Jared Boone
eb0dea483f I2C: Finish extracting from Si5351C code. 2014-11-12 14:03:27 -08:00
Jared Boone
080a1ba9ac Si5351C: Extract I2C code into single transfer function. 2014-11-12 10:45:26 -08:00
Jared Boone
35b549816a Si5351C: Widen write() data_count argument type to size_t. 2014-11-12 10:38:22 -08:00
Jared Boone
4ea0f28d14 SI5351C: Rewrite si5351c_write_single() to use si5351c_write(). 2014-11-12 10:23:00 -08:00
Jared Boone
721f748677 Si5351C: Change write data arg to be const. 2014-11-12 10:21:34 -08:00
Jared Boone
81dfde2a29 RFFC5071: Remove extraneous #include. 2014-11-10 17:05:31 -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
8ced9415c2 SPI: Remove MAX2837/5864, W25Q80BV driver dependence on target code.
Conflicts:
	firmware/common/tuning.c
2014-11-10 17:05:02 -08:00
Jared Boone
6d57c08e28 MAX2837: Add virtual function for setting device mode. 2014-11-10 17:02:57 -08:00
Jared Boone
905cd2b919 SSP: Merge SSP0 and SSP1 code into single unit.
Conflicts:
	firmware/common/hackrf_core.c
2014-11-10 17:02:45 -08:00
Jared Boone
264ee53d47 SPI: Move SCU/pin config to target layers. 2014-11-10 17:00:25 -08:00
Jared Boone
21eb27c3f3 SSP0: Extract SPI interface from W25Q80BV code. 2014-11-10 17:00:15 -08:00
Jared Boone
79fd31d5d6 SSP1: Fix argument name to match SPI naming. 2014-11-10 17:00:06 -08:00
Jared Boone
b8421cc14f SSP1: Merge MAX2837 and MAX5864 SPI code to use single SPI interface.
Conflicts:
	firmware/common/hackrf_core.c
	firmware/common/hackrf_core.h
2014-11-10 16:59:47 -08:00
Jared Boone
58e3465ce5 W25Q80BV: Finish abstracting SPI code. 2014-11-10 16:55:22 -08:00
Jared Boone
20d6d5a5a2 MAX2837: Header clean-up. 2014-11-10 16:55:12 -08:00
Jared Boone
e6c02bea62 MAX5864: Abstract SPI, extract target code 2014-11-10 16:55:02 -08:00
Jared Boone
579f8212a6 MAX2837: Finish SPI abstraction.
Conflicts:
	firmware/common/hackrf_core.c
2014-11-10 16:54:46 -08:00
Jared Boone
58e7ef4171 MAX2837: Refactoring toward abstracted SPI.
Conflicts:
	firmware/common/hackrf_core.c
	firmware/common/hackrf_core.h
	firmware/common/tuning.c
2014-11-10 16:53:27 -08:00
Jared Boone
f034bc82ca RFFC5071: Further work abstracting SPI details out of driver. 2014-11-10 16:48:41 -08:00
Jared Boone
786a8fd2e1 RFFC5071: Rename rffc5071_drv->rffc5071_spi. 2014-11-10 16:48:31 -08:00
Jared Boone
69867bb637 RFFC5071: Further refactoring to create common SPI interface. 2014-11-10 16:48:09 -08:00
Jared Boone
487b8cc168 RFFC5071: Delay switching data direction until after target unselected. 2014-11-10 16:47:55 -08:00
Jared Boone
e1d1274523 RFFC5071: Refactor a bunch. 2014-11-10 16:47:45 -08:00
Jared Boone
55ed2c1aff RFFC5071: Remove debug/test code. 2014-11-10 16:47:34 -08:00
Jared Boone
e2c33aac88 MAX2837: Remove test code.
Hardware abstraction should make for easier test harnessing in the future.
2014-11-10 16:47:20 -08:00
Jared Boone
6668c2706b W25Q80BV: Consolidate API to perform entire transfers in one call. 2014-11-10 16:46:49 -08:00
Jared Boone
8edeaaa21e W25Q80BV: Move SPI functions to top of file, since they're static and used later. 2014-11-10 16:46:35 -08:00
Jared Boone
466c674248 W25Q80BV: Un-const data argument to program function. 2014-11-10 16:46:21 -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
2dd0283549 W25Q80BV: Make flash command details private. 2014-11-10 16:46:00 -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
0c69d0a7f7 RFFC5071: Separate hardware-specific code.
Conflicts:
	firmware/CMakeLists.txt
	firmware/hackrf_usb/Makefile
	firmware/mixertx/Makefile
	firmware/sgpio/CMakeLists.txt
	firmware/simpletx/Makefile
	firmware/spiflash/CMakeLists.txt
	firmware/startup/Makefile
	firmware/startup_systick/Makefile
	firmware/startup_systick_perfo/Makefile
2014-11-10 16:41:51 -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