Mike Walters
790b5d35cf
operacake: add get/set switching mode functions
2021-10-14 14:36:18 +01:00
Mike Walters
7fd3db9b2b
operacake: create struct for operacake state
2021-10-14 14:36:18 +01:00
Mike Walters
7f21c93c33
Copy M0 image directly from ROM, instead of shadow region.
...
This changes m0_rom_to_ram to read directly from the ROM region, rather
than copying from where .text has been copied to RAM.
Previously the second .text section would be merged with the first one,
so the M0 image would be copied to RAM during `pre_main`. However, on
newer linkers the sections are not merged together so the second .text
section did not get copied to RAM.
fixes #936
2021-10-06 18:40:34 +01:00
Mike Walters
0293cf23db
Opera Cake: use 0-7 instead of I2C addresses & bump USB API version
2021-07-14 18:35:31 +01:00
Mike Walters
1cb2abf747
Disable USB interrupts during sweep set_freq call
...
Previously, a USB vendor request could interrupt in the middle of
set_freq and make conflicting changes, leaving the HackRF in an
undefined state.
fixes #772
2021-03-17 13:03:06 +00:00
Mike Walters
54bdb86a89
Fix CPLD update
2020-02-12 18:53:59 +00:00
Michael Ossmann
7d900268de
fix compiler warnings
2020-02-11 16:59:59 +00:00
Michael Ossmann
c0aed2edb7
firmware: clean up transceiver modes
2020-02-11 16:59:59 +00:00
Mike Walters
d8250c6396
Don't re-init bulk endpoints on every set_transceiver_mode call
...
Previously the firmware would re-initialise the bulk endpoints on
every transceiver mode change including a USB data toggle reset,
which could cause the first bulk packet (512-bytes) to be dropped
by the host if the PID no longer matched.
2020-02-10 15:46:55 +00:00
Mike Walters
4aac303480
Add option to disable HackRF UI
...
Fixes #608
2020-01-22 21:23:30 +00:00
Mike Walters
c6e1a5f7f7
Fix Operacake GPIO mode initialisation
2020-01-22 14:21:03 +00:00
Mike Walters
05b1650a6a
Rename hackrf-ui.[ch]
...
Every other source file uses underscores! :(
2020-01-22 14:20:23 +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
Michael Ossmann
208fae7538
Merge pull request #645 from jboone/master
...
Sync up PortaPack UI changes.
2020-01-06 16:31:28 -07:00
Michael Ossmann
1569737109
Merge pull request #607 from dominicgs/portapack_ui_opera_cake_coexistence
...
Allow portapack and opera cake to coexist and still enable the PP UI
2020-01-06 16:28:58 -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
Jared Boone
b4d8ee678e
PortaPack: Lots of clean-up
...
Perform PortaPack initialization separately from and earlier than UI initialization. Track if PortaPack was detected, provide (mostly useless) pointer if so. Put "weak" declarations into respective headers. Moving #includes around.
2019-03-20 10:46:46 -07: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
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
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
5b5d82be56
Build rad1o UI wrapper to patch the portapack one
...
Also, fix building of blinky.
2019-03-02 21:12:31 -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
75adda314e
LED: Refactor halt function from CPLD update to core API.
...
Also call if CPLD load fails.
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
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
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
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
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
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
Dominic Spill
82656b8f14
HackRF Opera Cake - GPIO test mode
2018-11-09 22:10:16 -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
bde5ca9f58
DFU serial number - avoid reading serial from flash chip
...
Set a DFU mode specific serial number
2018-03-27 18:08:49 -06:00
Dominic Spill
5f560d6ad3
Merge branch 'mossmann-master' into flash-investigation
2017-12-05 16:18:19 -07:00
Dominic Spill
3f569a8ad4
hackrf_clock: Allow CLKOUT to be enabled / disabled
...
hackrf_clock -o 1 / hackrf_clock -o 0
2017-11-07 11:23:48 -07:00
Dominic Spill
c416fa1294
SPI Flash: add function to clear SPI flash status register
2017-11-06 10:42:19 -07:00
Dominic Spill
8f544ee60d
Add flash status read
2017-09-12 17:52:07 -06:00