34 Commits

Author SHA1 Message Date
Martin Ling
1fe06b425a Rename m0_state.{c,h} to usb_api_m0_state.{c,h} 2022-02-13 17:53:34 +00:00
Martin Ling
fd073e391f Add USB vendor request to read M0 state, and host support for doing so.
This adds a `hackrf_debug [-S|--state]` option, and the necessary
plumbing to libhackrf and the M4 firmware to support it.

The USB API and libhackrf versions are bumped to reflect the changes.
2022-02-13 16:46:12 +00:00
Michael Ossmann
2c64f05ec9 Merge pull request #1034 from schneider42/rad1o-ui-cleanup
rad1o UI support
2022-02-07 23:25:01 -07:00
schneider
9404226c6a rad1o: UI code cleanup 2022-01-10 23:26:19 +01:00
schneider
0c514839ca hack: add rad1o ui code 2022-01-09 23:27:00 +01:00
Martin Ling
39c6f3385e Remove usb_bulk_buffer.c containing unused variable definition.
This removes the definition of the offset variable,

volatile uint32_t usb_bulk_buffer_offset = 0;

which is actually superfluous. This variable, along with its neighbour
usb_bulk_buffer_tx, is placed explicitly by the linker script. Its type
is defined by the declaration in usb_bulk_buffer.h.

There is no need to define it here, and doing so gives the misleading
impression that its initial value can be changed by modifying this line!

The initialization to zero never actually takes effect, because the
variable is not placed in the .data or .bss sections which are
initialised by the startup code.

The offset and tx variables are both set in set_transceiver_mode
before SGPIO streaming is started, so the M0 code does not use
them uninitialised.
2022-01-03 18:47:33 +00: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
4aac303480 Add option to disable HackRF UI
Fixes #608
2020-01-22 21:23:30 +00:00
Mike Walters
e76eace09d Use the M0 to collect SGPIO samples 2020-01-20 14:22:30 +00:00
Mike Walters
3e2ca4e6c3 Bring up the M0 & blink TX LED 2020-01-20 14:22:30 +00:00
Jared Boone
12bb516cc0 PortaPack: Extract non-UI code into separate portapack.[ch] module.
I'll be adding some non-UI API functions to the top-level PortaPack structure.
2019-03-18 15:09:11 -07:00
Jared Boone
b8f255356c CPLD: Change tool interface to accept --xsvf and --hackrf-data args.
More args coming shortly...
2019-03-10 12:22:51 -07:00
Dominic Spill
e27038a098 Merge branch 'master' into cpld_sram_load 2019-03-04 12:40:14 +00:00
Jared Boone
3af95903bc UI: No UI if not HackRF One or rad1o.
This was breaking BOARD=JAWBREAKER builds.
2019-03-02 22:46:21 -08:00
Jared Boone
4fefd829ba CMake: Fix blinky and rad1o dependencies and PortaPack-related breakage. 2019-03-02 14:23:06 -08:00
Jared Boone
c32d57158a PortaPack: Remove weak UI functions, detect and return UI function table.
TODO: Side effect was that now blinky has a lot of unreasonable dependencies.
TODO: rad1o breakage is likely...
2019-03-02 14:23:06 -08:00
Jared Boone
36cca31260 UI: Move ui_portapack.* to common.
Otherwise blinky won't build.
TODO: Tried to tease apart all the dependencies to get blinky to build without, but it's such a twisted knot...
2019-03-02 14:23:06 -08:00
Jared Boone
057b9273d5 CPLD tool: Rename to cpld_bitstream.py 2019-03-02 14:19:21 -08:00
Jared Boone
afb55e18dd CPLD: Load bitstream to SRAM at start-up. 2019-03-02 14:19:21 -08: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
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
0b46745aed OperaCake code conflicts with PortaPack code, make compile-time conditional. 2018-12-27 15:14:52 -08:00
Dominic Spill
9da826e9ef Add Windows build art(e|i)facts (#561)
This includes:
 * Cmake clean up - thanks @Qyriad
 * Windows binaries saved after each appveyor build
 * A bump to the Visual Studio version that we use to build it
 * An appveyor cygwin script for building firmware, it doesn't work but it seems like someone might pick it up and make it work, or blow it away if we switch to Travis firmware artefacts
2018-12-05 18:45:26 -07:00
Arnout Vandecappelle (Essensium/Mind)
a6284cb9ed Don't require a C++ compiler
By default, CMake assumes that the project is using both C and C++.  By
explicitly passing 'C' as argument of the project() macro, we tell CMake
that only C is used, which prevents CMake from erroring out if a C++
compiler doesn't exist.
2018-03-31 22:50:37 +02:00
Dominic Spill
60f64928d3 Merge branch 'master' into operacake 2017-01-23 17:50:09 -07:00
Dominic Spill
57e0924e0d Rename scan to sweep 2016-12-27 21:08:12 +00:00
Dominic Spill
2e17b7e884 Use vendor request to start scan mode 2016-12-27 21:08:12 +00:00
Dominic Spill
0ef1666c2a Add initial operacake support 2016-12-13 19:07:11 -07:00
Jared Boone
21eb27c3f3 SSP0: Extract SPI interface from W25Q80BV code. 2014-11-10 17:00:15 -08:00
Jared Boone
58e3465ce5 W25Q80BV: Finish abstracting SPI code. 2014-11-10 16:55:22 -08:00
Jared Boone
4ac2be5304 W25Q80BV: Extract hardware-specific code into separate layer.
Conflicts:
	firmware/hackrf_usb/Makefile
2014-11-10 16:45:23 -08:00
Jared Boone
9e95d235b4 Create separate CMake toolchain file. Add references to toolchain file in each firmware CMakeLists.txt. I suspect this can be simpler still, just not sure how, yet... 2014-08-11 16:43:58 -07:00
Jared Boone
2a7ed069c7 Firmware build system is now CMake, and seems much more sane on the whole. 2014-08-11 16:37:14 -07:00