1052 Commits

Author SHA1 Message Date
Jared Boone
e7424dfcdc CPLD tool: Tweaks to produce cleaner program and verify structs. 2019-03-02 14:18:29 -08:00
Jared Boone
9aa3a78d78 CPLD tool: Add code generation, more bitstream checks.
Code is now generated from programming block, checked against verify block, and also provides mask for verification process.
2019-03-02 14:18:29 -08:00
Jared Boone
f70186644c CPLD tool: Add checksum and code generation mode flags. 2019-03-02 14:18:29 -08:00
Jared Boone
5695f29c8d CPLD tool: Add arguments help. 2019-03-02 14:18:29 -08:00
Jared Boone
0b4c714e0d CPLD tool: Remove commented code. 2019-03-02 14:18:29 -08:00
Jared Boone
30cd9586de CPLD tool: Flag to use crcmod library. 2019-03-02 14:18:29 -08:00
Jared Boone
fd1e5e77bf CPLD tool: Move imports to smallest scopes. 2019-03-02 14:18:29 -08:00
Jared Boone
20975e9313 CPLD: Tool argument parsing. 2019-03-02 14:18:29 -08:00
Jared Boone
d60389445d CPLD: Extract library code from CRC tool. 2019-03-02 14:18:29 -08:00
Jared Boone
257dbc749f CPLD: Checksum tool. 2019-03-02 14:18:29 -08:00
Dominic Spill
e12866f81e Remove PLL1 low speed settings (it's out of spec) 2019-02-11 16:38:07 -07:00
Dominic Spill
b701579906 Allow portapack and opera cake to coexist and still enable the PP UI
The side effect of this is to disable GPIO mode for OC, but I2C still
works
Using both addons together is super unlikely
2019-02-01 12:04:40 -07:00
Dominic Spill
4507130608 Merge pull request #584 from jboone/cpld_checksum
Cpld checksum
2019-01-31 15:16:05 -07:00
Jared Boone
fa2a9acd1a USB: initial CPLD checksum API support. 2019-01-31 21:19:21 +00:00
Jared Boone
499ac3ad4a PortaPack: Move UI code to hackrf_usb project.
Was in common/ and in the common CMake file, which meant it was being included in the blinky project, which was unnecessary.
2019-01-31 09:37:48 +00:00
Jared Boone
7b86403ce8 PortaPack: If hardware not detected, try to init OperaCake. 2019-01-31 09:24:59 +00:00
Dominic Spill
bc2b8568a0 Merge branch 'master' of https://github.com/jboone/hackrf into jboone-master 2019-01-30 15:33:16 -07:00
Dominic Spill
31079258e9 Workaround for avoiding conflicting libopencm3 targets 2019-01-30 15:29:17 -07:00
Jared Boone
1820c67aee PortaPack: Add build option info to firmware README 2019-01-30 22:17:36 +00:00
Dominic Spill
62efaf5ddb Merge branch 'master' of https://github.com/jboone/hackrf into jboone-master 2019-01-30 11:47:30 -07:00
Jared Boone
e433bee0b8 CMake: Move libopencm3 dependency out of CMake include file.
Don't declare the libopencm3 target once from each project subdirectory. CMake will complain terribly.
2019-01-22 15:21:43 -08:00
Jared Boone
65b41fb80e blinky: Remove dependency on CPLD JTAG API.
Shouldn't need that just to blink an LED!
2019-01-22 15:20:14 -08:00
Jared Boone
77e4cfe992 Merge remote-tracking branch 'jboone/cpld_fixes' 2019-01-21 17:37:48 -08:00
Jared Boone
f22fcd6083 CPLD: Finish fixing up timing re-validation for RX and TX. 2019-01-21 16:19:41 -08:00
Jared Boone
2f1eedcf23 CPLD: Tweak ISE tool settings for speed instead of density. 2019-01-18 16:10:21 -08:00
Jared Boone
d103c31187 CPLD: Rework timing between ADC, CPLD, SGPIO
Capture ADC and codec clock state with sufficient timing margin.
Increase drive strength on codec clock and invert CPLD capture clock to provide margin for capturing codec clock (I vs. Q channel).
2019-01-18 16:09:14 -08:00
Jared Boone
fd7b64d83c CPLD: Add files for making bitstreams via Makefile. 2019-01-18 12:11:32 -08:00
Jared Boone
60085e8892 CPLD: Set SLEW=SLOW as default, remove from UCF. 2019-01-16 18:09:00 -08:00
Jared Boone
9a66cefc81 CPLD: Set default IOSTANDARD to LVCMOS33, remove from UCF. 2019-01-16 18:06:01 -08:00
Jared Boone
f8b6e9145c CPLD: Pull up HOST_SYNC signal, which is usually floating.
HOST_SYNC is only connected to connector P28, and is therefore not driven (left to float) unless connected to some synchronization signal. Pull it up to keep it steady.

In doing so, I had to switch all unused pins to pull-up, and all input-only and tri-state pins to float. All input/tri-state pins except for HOST_SYNC are tied to the microcontroller and can be pulled up there.
2019-01-16 17:55:45 -08:00
Jared Boone
3932c5694e PortaPack: Add .SVF of current JEDEC bitstream file.
PortaPack build consumes this file to embed the bitstream into the firmware.
2019-01-15 15:31:53 -08:00
Jared Boone
97806e8159 PortaPack: Build DFU binary without forcing serial number to "RunningFromRAM".
This was causing problems for HackRF mode, where some host PC software was depending on a valid serial number.
2019-01-15 11:31:39 -08:00
Jared Boone
909066cdf8 PortaPack: Replace OperaCake handlers, they were tripping up host tools. Skip operacake_init if PortaPack compiled in, letting operacake_boards be all zero. Should be safe, right? 2019-01-14 20:42:39 -08:00
Jared Boone
07f370bfba PortaPack: Silence warnings about unused functions/variables I'm liable to use soon.
I don't like the __attribute__((unused)) markup, but woud rather not delete or comment out the code.
2019-01-09 15:48:59 -08:00
Jared Boone
e87b3f4fea PortaPack: Address some unused variable/function warnings. 2019-01-09 15:30:24 -08:00
Jared Boone
e05677ab0d OperaCake: Bring together with PortaPack code.
The plan is to have them coexist in the firmware binary, even if the hardware is mutually exclusive at runtime.
2019-01-07 15:35:41 -08:00
Jared Boone
5e88bb8565 USB: Set Opera Cake USB handlers to null unless hardware is detected. 2019-01-07 15:30:32 -08:00
Jared Boone
0666dc961d USB: Bring in constants from host source code.
TODO: Deduplicate this when I'm not feeling so lazy.
2019-01-07 15:29:51 -08:00
Jared Boone
c7d761089f USB: Make vendor request handler table read/write (not const). 2019-01-07 15:29:18 -08:00
Dominic Spill
90d4014859 SPI flash: check busy flag is clear BEFORE enabling writes 2019-01-04 19:58:04 -07:00
Mike Walters
a357a7b1f0 Fix hang in w25q80bv_write_enable
This line is meant to wait for the WEL bit to be set, to signify that
the WRITE_ENABLE command has finished.

The previous code didn't do any masking, so would hang if any other
status bits were set.
2019-01-05 00:53:43 +00:00
Kate J. Temkin
73b5089581 Fix communications failures on USB suspend. (#97)
Linux issues a `GET_STATUS` request to validate that a USB device has
correctly resumed after an idle suspend; but HackRF has thus far not
implemented `GET_STATUS`. As a result, Linux assumes our USB devices
are failing to resume, and winds up resetting them. Oops. ^-^
2019-01-03 15:17:47 +00:00
Jared Boone
46ba0512d4 PortaPack: Remove noisy, extraneous "+" for amplifier gain labels, add space before "dB". 2019-01-02 09:37:43 -08:00
Jared Boone
c477317408 PortaPack: Improve baseband filter frequency label readability. 2019-01-02 09:35:15 -08:00
Jared Boone
a2902d7d3a PortaPack: Hide first-IF mixer icon when bypassed. 2018-12-31 14:58:10 -08:00
Jared Boone
d0681933e6 PortaPack: Update TX gain label.
Turns out the HackRF code refers to MAX2837 TX VGA gain, which is mis-labeled as a baseband setting. It's actually in the IF portion of the TX path.
2018-12-31 14:47:42 -08:00
Jared Boone
bb059ddfa7 PortaPack: Store LNA state for use when radio path direction changes. 2018-12-31 14:22:49 -08:00
Jared Boone
fd65f35872 PortaPack: Draw gain value for LNA. 2018-12-31 14:22:22 -08:00
Jared Boone
9cce90b02e PortaPack: Define draw-dB function earier so it can be used for LNA. 2018-12-31 14:21:47 -08:00
Jared Boone
1775c44b79 PortaPack: Don't draw sample rate.
It looks ugly, needs fixing.
2018-12-31 14:21:08 -08:00