253 Commits

Author SHA1 Message Date
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
7fdfde9314 Make use of i2c0_init() argument to control duty cycle, when APB1 clock shifts from IRC (~12MHz) to PLL1 (204MHz). 2012-10-17 11:48:35 -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
14e90781be Merge branch 'master' of https://github.com/mossmann/hackrf 2012-10-14 12:37:28 -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
Will Code
334366aac3 Merge remote-tracking branch 'upstream/master' 2012-10-14 08:15:23 -04: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
d398cfcc1d Use new ssp_transfer() function instead of ssp_write().
Implement max2837_spi_read().
2012-10-13 16:58:22 -07:00
Jared Boone
5a428a460f Merge branch 'master' of https://github.com/mossmann/hackrf 2012-10-13 13:48:21 -07:00
Will Code
4c9df75d84 max2837: fix a couple math errors in the def file 2012-10-13 16:27:02 -04:00
Michael Ossmann
0d53da8593 fixed MAX2837 zero length register fields 2012-10-13 13:59:37 -06:00
Jared Boone
4cf0ba236d Extended common Makefile to include targets for DFU file generation and programming. 2012-10-13 12:29:03 -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
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
Jared Boone
f4b6f08500 Fixed incorrect field with for MAX2837 VGAgain_SPI_EN field. For boards that have no B7:B1 connections, this could prove extra problematic...and for boards that do, but aren't driving those pins from the LPC. 2012-10-13 11:06:39 -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
9824a723b7 Moved invariant in sgpio_configure() loop out of loop. Originally, so I could use the value to calculate another invariant. 2012-10-12 09:45:18 -07:00
Jared Boone
a1af4356b6 Reworked sgpio.c to make use of #defines for fields, instead of hard-coding shifts. Proper. 2012-10-11 20:46:21 -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
8291d7fac0 Add SGPIO configuration function for "deep" (8-slice) TX mode. 2012-10-11 13:04:30 -07:00
Michael Ossmann
04160f49cc increased MAX2837 RX output common-mode voltage to maximum 2012-10-10 21:38:03 -06:00
Jared Boone
3a9d7432c3 Changed compile optimization flag to -Os from -O2. TitanMKD demonstrated conclusively that it's a good thing. 2012-10-10 16:27:05 -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
8a54e09e15 Elimination of unused argument warnings. 2012-10-10 16:13:37 -07:00
Jared Boone
c02bf358d1 Added license/copyright to several Makefiles. 2012-10-10 15:50:31 -07:00
Jared Boone
092c5b7b0f Removed removing of .usbram section from .bin file output. Because there's no more .usbram section! 2012-10-10 15:42:30 -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
5989465eb9 Add SGPIO configuration API and code, extracted from existing SGPIO projects. 2012-10-10 14:30:28 -07:00
Jared Boone
39eb2682f9 Split ram_ahb memory region into two, with a 32K hole where the USB buffers live.
Split ram region into two, representing the two local RAM buses.
Remove reference to usbram.ld, since it's no longer necessary.
2012-10-10 14:27:21 -07:00
Jared Boone
f34e30510d Added fault handler header file, where I've defined the Cortex-M3/M4 SCB using a struct instead of a slew of #defines. This deviates from the libopencm3 method, but is superior in other ways. So, there you go. It's not in libopencm3, it's here.
Added example (er, "reminder") code comment about registers to look at when debugging a Hard Fault.
2012-10-10 13:36:10 -07:00
Jared Boone
685f5cdd6e More detail in comments about Jellybean/Lemondrop clock destinations. 2012-10-10 11:51:06 -07:00
Jared Boone
4f9a5a1ba4 Fix-ups to copyrights -- missing e-mail address and inconsistent formatting. 2012-10-06 19:14:55 -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