53 Commits

Author SHA1 Message Date
Michael Ossmann
06b9d7bee0 Clean up source code copyright notices. 2022-09-23 14:46:52 -04:00
Martin Ling
c0d13de598 Add braces to all control statements without them. 2022-08-03 23:46:46 +01:00
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
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
Tobias Schneider
86b424d9d3 feat(hackrf): Callbacks for a possible UI 2015-12-07 00:29:33 +01: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
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
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
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
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
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
4f3cae2e41 MAX2837: Extract hardware/bus dependent stuff into separate layer.
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:33:00 -08:00
Jared Boone
c623e20fae MAX2837: Fix register read when dirty
Regardless of the dirty state of a register, the locally modified (but possibly uncommitted) value will always be returned.
2014-11-04 11:36:53 -08:00
Jared Boone
518c46a111 Oops, missed a spot where I should've called a MAX2837 mode function. 2013-09-06 23:09:29 -07:00
Jared Boone
a367f84d15 Add MAX2837 mode set/get functions. 2013-09-06 22:29:57 -07:00
Jared Boone
a5c0b5deeb Add MAX2837 functions to control operating mode.
Replace direct manipulation of GPIOs controlling MAX2837 with operating mode functions.
2013-09-06 21:29:31 -07:00
Hoernchen
839a1a170f fw: dc offset correction fix
pins b7 & b6 are floating, disable re-triggering
selecting a different HPC_STOP fixes the dc offset drift
disabling and enabling rx/tx after tuning triggers the dc offset
correction
2013-06-16 20:26:02 +02:00
Hoernchen
233c56c79d libhackrf/firmware: merge txvga gain into one gain range of 0-47 2013-05-29 00:53:41 +02:00
Hoernchen
19e8628650 firmware: fix plus 16db tx gain 2013-05-27 15:28:51 +02:00
Hoernchen
abc3cd1f4f firmware: gain control 2013-05-27 14:01:22 +02:00
Michael Ossmann
a74cd9fdf9 clear MAX2837 RXENABLE when going into TX mode and vice versa 2013-02-24 10:17:50 -07:00
Jared Boone
fc9632f19d Add code to control MAX2837 B1 through B7 from Jellybean. Another feeble attempt to control DC bias. 2012-10-17 22:28:10 -07:00
Jared Boone
143d845b05 Add code to control RXHP pin on MAX2837 (Jellybean only). I was hoping this would control the baseband DC offset problem, but no, it doesn't seem to help at all. 2012-10-17 21:48:41 -07: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
d398cfcc1d Use new ssp_transfer() function instead of ssp_write().
Implement max2837_spi_read().
2012-10-13 16:58:22 -07:00
Jared Boone
168c92a3d0 Now that RxVGA gain control is working correctly, gain needs to be backed WAAAY off to get a usable capture in a fairly noisy 2.4GHz environment. 2012-10-13 11:07:17 -07:00
Michael Ossmann
04160f49cc increased MAX2837 RX output common-mode voltage to maximum 2012-10-10 21:38:03 -06:00
Will Code
d7a7825f85 Fix overflows in shifts, suppress warnings for temporarily unused variables. 2012-09-04 20:08:30 -04:00
Michael Ossmann
5364c91f7b hard coded 8 MHz baseband filter for now 2012-08-23 09:52:16 -06:00
Jared Boone
570efc1361 Added max2837_rx() function. 2012-06-14 13:06:48 -07:00
Jared Boone
f08fc3bb51 Pulled SSP1 configuration for MAX2837 into hackrf_core. Added SSP1 configuration for MAX5864. Added #defines for manipulating CS of both MAX parts. Changed a couple of #define names to be consistent with other names. Added explicit manipulation of MAX2837 CS via GPIO. 2012-06-14 13:06:10 -07:00
Michael Ossmann
287e64a9c0 figured out the offending bit in register 21 2012-06-11 23:18:07 -06:00
Michael Ossmann
a47e3fd57d got simpletx working but note comment in max2837.c about one weird register 2012-06-11 22:53:06 -06:00
Michael Ossmann
d876ae7e86 max2837 and simpletx additions, still not quite working 2012-06-11 15:09:33 -06:00
Michael Ossmann
1806658d6c max2837_set_frequency() bug fix 2012-06-10 19:11:23 -06:00
Michael Ossmann
69d22ce22b setting those TX registers is unnecessary, we just have to set the TXENABLE pin 2012-06-09 21:14:25 -06:00
Michael Ossmann
65e5707e3f removed read bit from bus pirate writes, bp compile fix 2012-06-08 15:42:28 -06:00
Will Code
fa4e1ce0f7 max2837: explicit unsigned on constants >31 bits 2012-06-08 11:54:38 -04:00
Will Code
d077cf9ca1 max2837: get rid of test(), since we're starting to do real commands 2012-06-08 10:50:55 -04:00
Will Code
998352a3a3 max2837: forgot to flush in tx 2012-06-08 10:47:16 -04:00
Will Code
a6eb93897a max2837: add tx startup (maybe?) to test program 2012-06-08 10:41:12 -04:00
Michael Ossmann
52dae9ba73 added real SPI write function 2012-06-07 22:16:56 -06:00
Will Code
1b806c75e9 max2837: updates
- band setting in set_frequency()
- rework init() to copy default settings from static data
- tweak some awkward naming in reg defs to be equally awkward but consistent
2012-06-04 18:48:42 -04:00
Will Code
bd79db5884 max2837: typo 2012-05-30 21:06:42 -04:00
Will Code
9de62e27c8 max2837: divisor registers calculated using long division 2012-05-30 21:01:34 -04:00