Michael Ossmann
0ea91e2fa0
Merge pull request #1620 from greatscottgadgets/pin-shutdown
...
Improve firmware boot process
2025-12-18 13:44:35 -05:00
Michael Ossmann
8e390c3b79
Adjust transceiver loopback self-test thresholds
2025-12-18 00:27:29 -05:00
Diego Hurtado
4ed9169f4e
fix gateware typo and update build, no DC block in loopback test ( #1621 )
2025-12-17 14:33:06 -05: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
d36805da4e
Activate Praline FPGA and RF supplies selectively
...
Do not turn them on if running from RAM
2025-12-16 21:55:37 -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
44db1674d7
Use gateware default trigger setting on Praline
...
Don't try to talk to gateware before FPGA configuration
2025-12-16 21:31:48 -05:00
Michael Ossmann
22e56a7076
Simplify pin_setup()
2025-12-16 21:30:50 -05:00
Michael Ossmann
1925e5908a
Merge pull request #1615 from mndza/xcvr-loopback-extended
...
Extend self-tests
2025-12-13 11:05:12 -05:00
mndza
d8fa93dcda
Add FPGA SPI test
2025-12-11 18:22:17 +01:00
mndza
c7cf262486
Add skipped and timeout states as possible results for self-tests
2025-12-11 12:48:43 +01:00
mndza
86850fa14f
Extend transceiver loopback self-tests
2025-12-05 09:44:42 +01:00
Michael Ossmann
9039eb063f
Merge pull request #1616 from mndza/safe-pin-setup-fpga
...
Add safe defaults for the FPGA configuration pins in `pin_setup()`
2025-12-04 21:05:46 -05:00
mndza
e4c0dd3cee
Add safe defaults for the FPGA configuration pins in pin_setup()
2025-12-04 11:17:41 +01:00
Antoine van Gelder
db73ecbf5b
firmware: fix zlp bug when IN transfer length falls on a packet boundary
2025-12-03 15:50:02 +02:00
Michael Ossmann
90e15ec85f
Merge pull request #1612 from martinling/new-rtc-test
...
New method to test RTC oscillator
2025-11-30 23:12:42 -05:00
Martin Ling
9726cf56e5
Flip Si5351 register bits back again after testing them flipped.
...
Needed since other tests expect this register to have its initial value.
2025-11-27 04:53:05 +00:00
Martin Ling
23d69bf90c
New method to test RTC oscillator.
2025-11-27 04:41:09 +00:00
mndza
24b05d6426
Do not halt when FPGA configuration fails: update report instead.
2025-11-26 20:53:49 +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
95e7e2a009
Fix readsel for RFFC5072 device ID read
2025-11-25 20:13:01 -05:00
Michael Ossmann
4832619823
Use MAX2831 RSSI mux and ADC for selftest
...
Co-authored-by: Martin Ling <martin-git@earth.li >
2025-11-25 20:12:27 -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
785c068f91
Change Praline USB product string to "HackRF Pro"
2025-11-24 21:33:21 -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
Martin Ling
2d2b6231fb
Bump CMake minimum version to 3.10.
2025-09-19 01:12:24 +01:00
Martin Ling
5c39452040
Bump CMake minimum version to 3.5.0.
...
This is the minimum now accepted by latest CMake releases.
2025-09-16 19:00:49 +01:00
mndza
cae8060d0d
firmware: disable rffc5071 dithering, tune to nearest 625000 Hz step
2025-08-21 10:04:45 +02:00
mndza
5520f8467c
firmware: round to nearest frequency when tuning
2025-08-19 11:40:09 +02:00
mndza
2e6bb0ab68
firmware: rffc5071 synth configuration accepts Hz instead of MHz
2025-08-19 11:40:09 +02:00
mndza
ac0552a5b9
firmware: optimize and rename rffc5071 synth config function
2025-08-19 11:40:08 +02:00
mndza
d3ee417807
firmware: fix max283x fractional long division
2025-08-19 11:17:04 +02:00
mndza
32870ad486
firmware: no division when calculating n_lo in RFFC5071 synth
2025-08-19 11:17:04 +02:00
Mike Walters
3b5cd8f889
Fix DFU CRC errors
...
Previously we were calculating the dfu-suffix CRC and then modifying the
image, invalidating the check.
This re-orders the operations to apply the boot image header first and
then run dfu-suffix.
2025-05-22 10:04:40 +01:00
gullradriel
9bdf731fc0
added memory clobber to prevent memory reordering
2024-12-18 17:01:18 +01:00
gullradriel
039ab0de46
define replacement for enable and disable irq for m0
2024-12-17 22:00:47 +01:00
Michael Ossmann
cfdfe8a1aa
Merge pull request #1517 from martinling/locking-api
...
Add a shim header to support locking without ldrex/strex
2024-12-17 12:14:03 -05:00
Martin Ling
f3e7d10d07
Add comment about constraints on locking primitives.
2024-12-16 21:19:12 +00:00
Martin Ling
a272e97fda
Include nvic.h via the dispatch headers.
2024-12-16 21:14:16 +00:00
gullradriel
46f43c3a9e
fix compilation warnings ( #1516 )
...
Co-authored-by: gullradriel <gullradriel@no-mail.com >
2024-12-16 19:28:16 +00:00
Martin Ling
b9945de490
Add a shim header to support locking without ldrex/strex.
...
Required to allow the USB queue code to be built for the M0.
2024-12-16 19:15:08 +00:00
Michael Ossmann
db884152dc
Merge pull request #1513 from martinling/sgpio-doc-fix
...
Update SGPIO code documentation
2024-12-05 11:31:16 -05:00
Michael Ossmann
75431531f2
Merge pull request #1510 from martinling/sgpio-deadline-check
...
SGPIO deadline check
2024-12-05 11:30:06 -05:00
Martin Ling
8b5a10c26c
Update SGPIO code documentation.
2024-12-04 16:10:07 +00:00
bernd-herzog
3175c47372
added AGM CPLD to portapack detect routine
2024-12-01 10:29:25 +01:00
Martin Ling
03551cb1fd
Detect whether the M0 missed its deadline.
...
Counter-intuitively, this actually saves us two cycles because we unroll
the first iteration of the loop that spins on the interrupt flag, saving
a branch in the case that the flag is clear the first time.
2024-11-26 19:34:29 +00:00
Martin Ling
d21f01f7b4
In conditional branch table, list one destination per line, in order.
2024-11-26 19:04:42 +00:00
Michael Ossmann
413409760a
Set version to 2024.02.1+
2024-02-23 13:09:46 -05:00
Michael Ossmann
109d7c025c
Set version to 2024.02.1
2024-02-22 14:11:01 -05:00
Michael Ossmann
24ac1edf5a
Support detection of HackRF One r10
2024-02-21 23:48:54 -05:00