Commit Graph

1286 Commits

Author SHA1 Message Date
Antoine van Gelder
2b8b61879a firmware: use consistent indentation across gpio/scu assignments 2026-03-23 12:31:25 +02:00
Antoine van Gelder
0c5b893868 firmware: exclude signals not used by praline 2026-03-23 10:49:04 +02:00
Antoine van Gelder
ce5cd7b052 firmware: replace static gpio & scu definitions 2026-03-19 14:38:38 +02:00
Antoine van Gelder
5d8e23953b firmware: define platform scu 2026-03-19 14:38:38 +02:00
Antoine van Gelder
a25ca541df firmware: define platform gpio 2026-03-19 14:38:37 +02:00
Martin Ling
431becb190 Support customization of FPGA image loading mechanism. 2026-03-16 17:55:42 +00:00
Antoine van Gelder
bd87a5a1b4 firmware: add MAX2831 support to max283x.c 2026-03-11 11:56:41 +00:00
Michael Ossmann
5275150bf0 Merge pull request #1695 from martinling/nostring-freq
Add nostring attribute to buffer used for UI frequency display
2026-03-10 14:05:39 -04:00
Michael Ossmann
60417db27d Merge pull request #1688 from greatscottgadgets/radio-config-rate 2026-03-10 13:17:49 -04:00
Michael Ossmann
25bd7dad1b Use external callback to set radio sample rate 2026-03-10 09:40:50 -04:00
Michael Ossmann
2e1fbd5960 Remove fractional sample rate radio register 2026-03-10 09:40:50 -04:00
Michael Ossmann
67b5617373 Configure sample rate more precisely 2026-03-10 09:40:42 -04:00
Martin Ling
880bc57ed1 Add nostring attribute to buffer used for UI frequency display. 2026-03-07 23:51:35 +00:00
Michael Ossmann
bb670f9af7 Add 40.24 fixed-point type 2026-03-03 11:21:42 -05:00
Michael Ossmann
30229730b4 Fix baseband bandwidth configuration 2026-03-03 11:21:42 -05:00
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
a2b2728234 Implement bias tee with radio registers 2026-02-20 11:31:06 -05:00
Michael Ossmann
b1bfc246bf Do not apply radio configuration inside ISRs 2026-02-20 11:30:50 -05:00
Michael Ossmann
b4041dd550 Add radio register access from host 2026-02-20 11:29:18 -05:00
Michael Ossmann
547a851fba Store radio configuration in register banks 2026-02-20 11:28:56 -05:00
Michael Ossmann
aaad548b0b Track RFFC5071 enabled state
Re-lock PLL when re-tuning while enabled
2026-02-20 11:28:15 -05:00
Michael Ossmann
d60ebc2781 Add clock generator power supply start-up comments 2026-02-20 11:28:15 -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
Michael Ossmann
19d00fb5f9 Remove full-duplex support for RFFC5071
This eliminates unnecessary disable/enable cycles for our half-duplex
RFFC5072.
2026-02-20 11:28:15 -05:00
Martin Ling
8d1b1a5f9a Rename gpio.not to gpio.inv to avoid conflict with C++ keyword. 2026-02-19 00:32:31 +00:00
Martin Ling
cc63a764ab Don't allocate large LZ4 buffers on stack; use some dedicated RAM. (#1670) 2026-02-11 14:13:32 -05:00
Martin Ling
bce1b871c6 Update libopencm3 for recent compiler warning fixes. 2026-02-09 19:08:06 +00:00
Michael Ossmann
f6be9d54f1 Merge pull request #1669 from martinling/delay
Firmware: Move delay functions, add M0 version of `delay_us_at_mhz`.
2026-02-09 12:44:34 -05:00
Martin Ling
3ef784b830 Add delay loop implementation for M0 core. 2026-02-09 08:35:16 +00:00
Michael Ossmann
67d61bae6e Merge pull request #1672 from martinling/nonstring
Add `nonstring` attribute to firmware_info magic field
2026-02-06 19:45:31 -05:00
Martin Ling
a246f9a35a Add 'nonstring' attribute to firmware_info magic field.
Fixes compiler warnings such as:

firmware_info.c:49:18: warning: initializer-string for array of 'char'
truncates NUL terminator but destination lacks 'nonstring' attribute (9
chars into 8 available) [-Wunterminated-string-initialization]
   49 |         .magic = "HACKRFFW",
      |                  ^~~~~~~~~~
2026-02-06 21:30:01 +00:00
Martin Ling
84aed3a67c Add -Wold-style-definition to compiler flags. 2026-02-06 20:58:00 +00:00
Martin Ling
afb6d1372f Move delay functions out of hackrf_core. 2026-02-06 18:29:54 +00:00
Martin Ling
2ffcc908fb Enable -Wstrict-prototypes warnings. 2026-02-06 17:30:56 +00:00
Martin Ling
ead77b91cf Always use void argument type for functions taking no arguments. 2026-02-06 17:30:56 +00:00
stafur
1ee45eaaa2 Toolchain 9.2.1 support fix (#1666)
Added -B arm flag to firmware/hackrf_usb/CMakeLists.txt to support builds with v9.2.1 toolchains.
2026-02-05 11:36:56 -05:00
Michael Ossmann
a7dc78612f Set version to 2026.01.3+ 2026-01-29 23:03:34 -05:00
Michael Ossmann
a0066ded51 Set version to 2026.01.3 2026-01-29 22:21:45 -05:00
Michael Ossmann
3233cd56cf Set USB API version to 1.10 2026-01-29 22:19:42 -05:00
Michael Ossmann
3ffda68f18 Merge pull request #1655 from martinling/flash-size
Provide access to the larger SPI flash on Praline
2026-01-29 21:58:15 -05:00
Martin Ling
06c1163d64 Provide access to the larger SPI flash on Praline. 2026-01-30 00:06:16 +00:00
Michael Ossmann
16355f8e5d Update RFFC5072 default registers 2026-01-29 18:59:42 +00:00
Michael Ossmann
ec784cbfbc Change from 5th order to 3rd order DSM modulator 2026-01-29 18:59:25 +00:00
Mike Walters
72636b53f5 Move dithering disable to rffc5071_setup 2026-01-29 18:03:57 +00:00
Michael Ossmann
b516631743 Use lower feedback divider when possible
This reverts a previous change that was a workaround for tuning glitches
in sweep mode. Increase of TVCO is a better solution.
2026-01-29 17:43:54 +00:00
Michael Ossmann
40bdea769b Increase RFFC5072 VCO warm-up time TVCO 2026-01-29 17:43:47 +00:00
Michael Ossmann
38abc35e23 Output RFFC5072 LD to test point on HackRF One 2026-01-29 17:42:28 +00:00
Michael Ossmann
845c0c8394 Enable RFFC5072 reference oscillator standby 2026-01-29 17:42:28 +00:00
Michael Ossmann
e95b3afbc3 Zero only the bits we want to be zero
Previously we zeroed all RFFC5072 frequency synthesizer control
registers, resulting in an invalid configuration which could adversely
affect start-up if the part is enabled before a valid frequency is set.
2026-01-29 17:42:28 +00:00
Martin Ling
f4e120e50d Test RFFC5072 PLL lock during startup. 2026-01-26 19:00:53 +00:00