51 Commits

Author SHA1 Message Date
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
Jared Boone
693e61b31c Removed block of assembly in favor of C code. TODO: Look at assembly and compiler -O options to avoid assembly. 2012-10-10 16:17:02 -07:00
Jared Boone
0253642b2e Added extern for usb_set_configuration() to eliminate compiler warning. TODO: Eventually, this should be just a callback, not the complete SET_CONFIGURATION implementation. 2012-10-10 16:15:12 -07:00
Jared Boone
5dbbae6d9c Removed unused functions to silence warnings. 2012-10-10 16:14:22 -07:00
Jared Boone
155d81da4e Reworked USB code to pump SGPIO with an interrupt.
Relocated USB buffers to be split across two AHB memory regions, so that USB endpoint priming doesn't choke SGPIO transfers.
Added code to configure 2.4GHz front-end.
Changed USB and SGPIO priority levels (probably unnecessary because sample corruption was due to USB priming bursts).
2012-10-10 14:39:41 -07:00
Jared Boone
165997d09b Changed USB queue head and transfer descriptor attributes to be explicitly aligned, instead of targeting a section.
Added miscellaneous internal USB functions.
Improved disabling of endpoints -- now clearing pending interrupts and flushing as well.
2012-10-10 14:39:03 -07:00
Jared Boone
aff5cc0c69 Oops, forgot license header on new files... 2012-10-06 19:11:19 -07:00
Jared Boone
749671029a New version of the usb_performance test firmware, with the new (and functional) USB "stack". 2012-10-06 18:58:59 -07:00
Jared Boone
3451a3c3d8 Tons of new USB code. It should eventually migrate into common, or even libopencm3, once it's not a steaming pile of crap... 2012-10-06 18:58:18 -07:00
Jared Boone
cbd42cf970 Adjustments for new auto-generated #defines. 2012-09-27 17:04:14 -07:00
Jared Boone
c662309489 Hot steaming pile of in-progress USB test code. Eventually, this will morph into a proper stack. But first, to "make it work". 2012-09-11 11:36:30 -07:00
Jared Boone
ddd3796803 Makefile change to use RAM-only LDScript. 2012-09-11 11:33:26 -07:00