Martin Ling
5a07b8629b
Rename 'struct gpio_t' to 'struct gpio' to distinguish from gpio_t.
2026-03-03 09:30:37 +02:00
Michael Ossmann
547a851fba
Store radio configuration in register banks
2026-02-20 11:28:56 -05:00
Michael Ossmann
72a96a77f8
Call a sample rate a sample rate
...
Previously we used "sample rate" to mean a rate that is twice the sample
rate in several places in firmware.
2026-02-20 11:28:15 -05:00
Martin Ling
afb6d1372f
Move delay functions out of hackrf_core.
2026-02-06 18:29:54 +00:00
Michael Ossmann
9949100982
Don't try to self-test during clockgen shutdown
2026-01-01 15:41:23 -05:00
Michael Ossmann
1ad8adb449
Automatically configure Praline baseband LPF
...
For compatibility with old host software, the analog baseband filter is
automatically selected based on the sample rate and offset tuning
configuration. The bandwidth set by legacy vendor request is ignored.
2025-12-30 21:57:58 -05:00
Michael Ossmann
10e8b0d934
Decimate automatically in RX and RX sweep modes
2025-12-30 20:35:25 -05:00
Michael Ossmann
0ab032c4fc
Rename hw_sync to trigger
...
Replace hw_sync_mode_t with bool.
2025-12-30 20:10:10 -05:00
Antoine van Gelder
3faf82ede6
firmware: move fpga selftest to a separate file to resolve blinky linker issues
2025-12-19 16:10:15 +02:00
Antoine van Gelder
4e90ee5c51
firmware: add register definitions for standard fpga bitstream
2025-12-19 16:10:15 +02:00
Michael Ossmann
2aaa2213c9
Ensure clock generator off before turning on
...
Do not try to activate clock generator if power supply is disabled on
Praline.
2025-12-17 09:54:24 -05:00
Michael Ossmann
6f862a1349
Add pin_shutdown()
...
Portions of pin_setup() that establish a safe, low-power state are moved
into the new pin_shutdown(). Use pin_shutdown() to prepare for sleep or
reset or prior to calling pin_setup().
2025-12-16 21:52:53 -05:00
Michael Ossmann
22e56a7076
Simplify pin_setup()
2025-12-16 21:30:50 -05:00
mndza
e4c0dd3cee
Add safe defaults for the FPGA configuration pins in pin_setup()
2025-12-04 11:17:41 +01:00
Michael Ossmann
cde5d754d3
Remove 32 kHz oscillator self-test
...
Reliable oscillator start-up requires several hundred milliseconds which
is longer than we are willing to wait at every boot. We could add an
on-demand test in the future instead of an automatic self-test.
2025-11-25 20:31:44 -05:00
Michael Ossmann
29be31bf71
Add hackrf_debug option to read ADC
...
Co-authored-by: Martin Ling <martin-git@earth.li >
2025-11-25 20:08:20 -05:00
Michael Ossmann
409acbc3c9
Add support for HackRF Pro (code name: Praline)
...
Co-authored-by: mndza <diego.hdmp@gmail.com >
Co-authored-by: Martin Ling <martin-git@earth.li >
Co-authored-by: Antoine van Gelder <antoine@greatscottgadgets.com >
2025-11-24 20:53:41 -05:00
Jacob Graves
189b5bf693
wrap clkin init in r9 board check ( #1307 )
2023-04-19 13:32:32 -04:00
Michael Ossmann
c19f85ef24
h1r9: use single SSP configuration for MAX283x
...
During r9 hardware development it was thought that the MAX2839 would use
a different GPIO pin for chip select, but it ended up being the same pin
as is used for MAX2837 on other hardware revisions.
This takes the MAX283x abstraction a bit further and fixes a bug with
hackrf_debug -m.
2023-01-08 08:21:27 -05:00
Michael Ossmann
bdb6000bb4
h1r9: fix inverted spectrum on TX
...
Unify and clean up the firmware spectrum inversion handling for all
hardware platforms.
2023-01-06 14:33:56 +00:00
Mike Walters
bfe882a2fa
h1r9: add MAX283x abstraction layer
2023-01-06 14:33:53 +00:00
Michael Ossmann
51bae663fc
h1r9: update pin assignments for board spin B
2023-01-06 14:33:53 +00:00
Michael Ossmann
3738270e4f
h1r9: use MAX2839
2023-01-06 14:33:53 +00:00
Michael Ossmann
b61c30a50d
h1r9: bring-up wip
2023-01-06 14:33:53 +00:00
Michael Ossmann
1f73f2fd25
h1r9: add Si5351A support
2023-01-06 14:33:48 +00:00
Michael Ossmann
6d48671084
h1r9: initial GPIO definitions
2023-01-06 12:45:51 +00:00
Michael Ossmann
8aa79e9fe5
h1r9: use timer to detect external clock frequency
2023-01-06 12:45:46 +00:00
Michael Ossmann
173612ac77
add --led option to hackrf_debug
...
and corresponding changes to libhackrf and firmware
2022-12-18 07:22:17 -05:00
Michael Ossmann
b026c07000
firmware: fix duration of delay_us_at_mhz()
2022-09-26 16:43:43 -04:00
Michael Ossmann
06b9d7bee0
Clean up source code copyright notices.
2022-09-23 14:46:52 -04:00
Martin Ling
6d57709000
Move delay after enabling RF power to rad1o-specific code.
2022-09-19 10:46:01 +01: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
Martin Ling
b4c828915a
Use an empty block for empty while loops.
2022-08-03 23:03:15 +01:00
Martin Ling
6b5193198b
Realign GPIO assignments with spaces rather than tabs.
2022-08-03 23:03:15 +01:00
Martin Ling
405515d5b4
Implement NXP's recommended setup sequence for the PLL and M4 clock.
...
This follows the sequence described in:
UM10503 Rev 2.4 (Aug 2018), section 13.2.1.1, page 167
2022-06-13 16:49:45 +01:00
Martin Ling
273e6a1217
Add an accurate delay loop.
...
The existing 'delay' function is not calibrated to any specific measure
of time. Add a new function using a loop with a known cycle count, to
produce delays of a given duration at a given CPU clock speed.
2022-06-13 16:32:55 +01:00
Andreas Gibhardt
fc8b3c18d6
fix stream glitch on rate change
2021-12-02 16:27:43 +01:00
Schuyler St. Leger
9ee25ab48a
operacake: add support for port switching using SCTimer
...
Based on Schuyler St. Leger's operacake-sctimer branch
2021-10-14 14:36:18 +01:00
Mike Walters
05b1650a6a
Rename hackrf-ui.[ch]
...
Every other source file uses underscores! :(
2020-01-22 14:20:23 +00:00
Jared Boone
190c3972f4
Clock reference: Add UI hook. Simplify selection code.
2019-03-20 20:18:25 -07:00
Jared Boone
891eaa9e62
Clock reference: Return enum for selected clock source.
2019-03-20 14:38:18 -07:00
Jared Boone
dccb748216
PortaPack: Add check for PortaPack clock reference, use if present.
...
Wow, it takes a lot of ugly code to keep blinky happy...
2019-03-20 13:27:20 -07:00
Jared Boone
46fd11af5b
Si5351C: Extract best block source function into hackrf_core.
...
It's not an Si5351C driver thing, but a HackRF thing. Also added a driver function to check if CLKIN signal is valid, and made use of it, instead of opaque register read code.
2019-03-20 11:16:44 -07:00
Dominic Spill
4fcfbec96a
Merge pull request #601 from jboone/hygiene
...
rad1o: Remove extra(?) SCU setup. Cut & paste oops?
2019-03-06 17:32:35 -07:00
Dominic Spill
42c1a46bb3
Fix mismatched ifdefs of my making
2019-03-06 17:17:20 -07:00
Dominic Spill
e27038a098
Merge branch 'master' into cpld_sram_load
2019-03-04 12:40:14 +00:00
Dominic Spill
19f073fc5a
Merge branch 'master' into hygiene
2019-03-03 22:29:12 +00:00
Dominic Spill
a4c1ab65c6
Merge pull request #602 from jboone/ui_restructuring
...
PortaPack and rad1o Ui restructuring, take 2
2019-03-03 22:27:57 +00:00