62 Commits

Author SHA1 Message Date
TitanMKD
6620fe6ba9 Add host(hackrf_info)/fw(usb_performance) IAP read part id/serial no(to be confirmed). 2013-03-09 11:47:28 +01:00
TitanMKD
b1821ae8da read_spiflash fixed. (Probably need to flush SPIFI "internal cache" before to read to be sure to read real SPIFI data). 2013-03-08 02:10:51 +01:00
Michael Ossmann
6dc82ae966 finished switchctrl handling 2013-03-07 17:52:31 -07:00
Michael Ossmann
8e46c6058c switchctrl updated by set_freq() 2013-03-07 17:45:27 -07:00
Michael Ossmann
1a2f871520 moved set_freq out of hackrf_core to facilitate switchctrl fixes 2013-03-07 17:35:48 -07:00
Michael Ossmann
052d842f36 temporary fix for gpo/switchctrl. only works for TX 2013-03-07 16:56:44 -07:00
TitanMKD
64a3356a8e Merge branch 'master' of git://github.com/mossmann/hackrf
Conflicts:
	firmware/usb_performance/usb_performance.c
2013-03-07 23:47:21 +01:00
TitanMKD
e3784c886e set_freq for firmware & host. tested basicly checking with debugger value mhz/hz from host to fw. 2013-03-07 23:24:00 +01:00
Michael Ossmann
50f7481682 usb_vendor_request_set_amp_enable 2013-03-07 15:18:05 -07:00
TitanMKD
f9d72a7f87 Merge branch 'master' of git://github.com/mossmann/hackrf 2013-03-07 21:32:56 +01:00
Michael Ossmann
2039b23e20 basic rffc5071 tx/rx control from USB 2013-03-07 12:34:32 -07:00
TitanMKD
e2c05fbfe2 Draft in progress (not tested at all) set_freq(). 2013-02-26 00:17:18 +01:00
Michael Ossmann
f150732215 Merge pull request #32 from TitanMKD/master
Added ROM to RAM version (makefile) for usb_performance
2013-02-24 18:55:34 -08:00
TitanMKD
f8a8a867d3 rom to ram version (requires latest fix in libopencm3 => libopencm3_lpc43xx_rom_to_ram.ld) 2013-02-25 02:03:05 +01:00
Michael Ossmann
85dfc2a930 implemented transceiver mode OFF 2013-02-24 15:13:39 -07:00
Michael Ossmann
14c671c552 indicate RX on LED2 2013-02-24 12:55:54 -07:00
Michael Ossmann
d2b35517b3 firmware version string 2013-02-23 10:22:58 -07:00
Michael Ossmann
c703b380cf SPI flash chip erase USB command, updated hackrf_spiflash.c to operate one page at a time 2013-02-22 22:20:19 -07:00
Michael Ossmann
198857d516 got control OUT data working for usb_vendor_request_write_spiflash() 2013-02-22 21:35:31 -07:00
Michael Ossmann
6fb0aa2877 still trying to get control OUT data working 2013-02-22 19:12:51 -07:00
Michael Ossmann
3351a390ba trying to get control OUT data working 2013-02-22 18:56:07 -07:00
Michael Ossmann
0efbc6618e board id request over USB (untested) 2013-02-21 14:25:30 -07:00
Michael Ossmann
094428357c started firmware modifications for spiflash and cpld_jtag over USB 2013-02-16 13:23:20 -07:00
Michael Ossmann
44a4b02e52 oops: SWITCHCTRL_LP should be the absence of SWITCHCTRL_HP 2013-02-16 13:07:05 -07:00
Michael Ossmann
ea72dd59a6 configured usb_performance.c for 900 MHz RF 2013-02-16 07:46:00 -07:00
TitanMKD
013f1ea4f6 Modified firmware and host tools for portability Linux/Mingw, added fw rffc5071 & host hackrf_rffc5071 example. 2013-02-10 18:51:54 +01:00
Jared Boone
526a8e9e7a Add typed request return value that indicates request is OK or requires endpoint STALL.
Changed vendor request to a lookup table, instead of an ever-growing switch statement.
2012-10-18 19:47:25 -07:00
Jared Boone
e8b30f3489 Oops. Request handlers called from setup handler could access the IN side of the endpoint, which does not get a copy of the SETUP bytes.
TODO: Make a single copy of the SETUP bytes, and provide a clean way to access those bytes regardless of whether you're holding the IN or OUT endpoint. (This was a problem in the IN complete handler, and probably other places, too.)
2012-10-18 19:42:36 -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
9c4a0e94b0 Factor out sample_rate_set() from cpu_clock_init().
Implement switching between several supported sampling rates for Jellybean and Jawbreaker.
Commit bits of the Si5351C USB request support that I apparently missed in a prior commit.
2012-10-17 16:57:26 -07:00
Jared Boone
d4da08a3d7 Oops! Forgot to change MAX2837 mode from RX to TX when transceiver mode is changed.
Initialize MAX5864 earlier, in "transceiver" mode (where both ADC and DAC are active), and then shift SSP1 into MAX2837 mode and leave it there, for faster tuning and RX/TX switching.
2012-10-17 15:59:47 -07:00
Jared Boone
6babcbe579 Add USB vendor requests to read/write Si5351C registers. 2012-10-17 11:57:44 -07:00
Jared Boone
63b1a25979 Consolidate a few clock setup tasks that repeat among many projects into cpu_clock_init(). 2012-10-17 11:45:30 -07:00
Jared Boone
6cd8da6930 Return of the hand-optimized assembly for SGPIO read and write interrupt.
Reset only the one SGPIO slice flag that is actually causing the interrupt.
2012-10-16 16:57:35 -07:00
Jared Boone
1391bfc61e Flip endian-ness on USB MAX2837 register read request. 2012-10-16 16:56:25 -07:00
Jared Boone
bd2fab0a12 Move USB SET_CONFIGURATION-time initialization of SGPIO and bulk endpoints into a separate function.
Initialize transceiver mode at SET_CONFIGURATION time.
Provide switching of transceiver mode via vendor request.
Provide read/write access to MAX2837 registers via vendor requests.
Python utility to dump MAX2837 registers.
Python utility to switch transceiver RX/TX mode.
2012-10-14 12:37:16 -07:00
Jared Boone
a25d48f5d5 Switch default transceiver mode back to RX. 2012-10-14 12:25:22 -07:00
Jared Boone
f32c6b34ca Create unions in usb_setup_t so that value, index, and length can be read as words, not just high/low bytes. 2012-10-13 17:06:24 -07:00
Jared Boone
3c17bad743 Stall USB endpoint if control request is not handled. 2012-10-13 17:03:28 -07:00
Jared Boone
048feb1316 Miscellaneous USB notes and naming clean-up. 2012-10-13 17:02:55 -07:00
Jared Boone
7e34950b24 Relocate compiler #defines for PACKED, ALIGNED, SECTION. 2012-10-13 17:01:42 -07:00
Jared Boone
57866227bf Remove weird LDSCRIPT that isn't necessary now.
Change .bin generation to include only ROM-able sections.
TODO: Is there a better way to do the objcopy? It'd be great to put everything in the "rom" region into the .bin, instead of having to list out -j section for each of the sections that go to ROM.
2012-10-13 11:37:54 -07:00
Jared Boone
8d14de21ce Fixed prior commit, where I lost the switch between endpoints based on RX or TX mode. 2012-10-12 09:46:49 -07:00
Jared Boone
9b579232a7 Consolidated single-slice SGPIO configuration functions into single sgpio_configure() function. 2012-10-11 15:45:28 -07:00
Jared Boone
1b5574d2b9 RX and TX sample buffer loops turned out to be the same, so they're consolidated. 2012-10-11 15:19:01 -07:00
Jared Boone
1bad2d8536 Consolidated two "deep" SGPIO configuration functions into one, qualified by transceiver mode (RX or TX). 95-ish % of the code was common. 2012-10-11 15:18:16 -07:00
Jared Boone
6f0fda0bee Moved transceiver_mode_t to hackrf_core.h.
Changed transceiver_mode to volatile, since it's liable to be accessed at interrupt time.
2012-10-11 15:12:25 -07:00
Jared Boone
fb9ce63f7f Add (manual) switch for TX and RX mode.
Add code for configuring TX mode.
TODO: Consolidate lots of repetitive code.
2012-10-11 13:06:27 -07:00
Jared Boone
d5db378647 Put RFFC5071 code back in place. 2012-10-10 16:17:57 -07:00
Jared Boone
788140f79a Cast USB buffer address to eliminate compiler warning. 2012-10-10 16:17:23 -07:00