diff --git a/firmware/common/hackrf_core.c b/firmware/common/hackrf_core.c index d7666322..eeb364b4 100644 --- a/firmware/common/hackrf_core.c +++ b/firmware/common/hackrf_core.c @@ -22,7 +22,7 @@ */ #include "hackrf_core.h" -#include "hackrf-ui.h" +#include "hackrf_ui.h" #include "si5351c.h" #include "spi_ssp.h" #include "max2837.h" @@ -916,4 +916,4 @@ void halt_and_flash(const uint32_t duration) { led_off(LED3); delay(duration); } -} \ No newline at end of file +} diff --git a/firmware/common/hackrf-ui.c b/firmware/common/hackrf_ui.c similarity index 95% rename from firmware/common/hackrf-ui.c rename to firmware/common/hackrf_ui.c index bb1a045d..39518f60 100644 --- a/firmware/common/hackrf-ui.c +++ b/firmware/common/hackrf_ui.c @@ -19,7 +19,7 @@ * Boston, MA 02110-1301, USA. */ -#include "hackrf-ui.h" +#include "hackrf_ui.h" #include "ui_portapack.h" #include "ui_rad1o.h" @@ -42,6 +42,7 @@ void hackrf_ui_set_first_if_frequency_null(const uint64_t frequency) { UNUSED(fr void hackrf_ui_set_filter_null(const rf_path_filter_t filter) { UNUSED(filter); } void hackrf_ui_set_antenna_bias_null(bool antenna_bias) { UNUSED(antenna_bias); } void hackrf_ui_set_clock_source_null(clock_source_t source) { UNUSED(source); } +bool hackrf_ui_operacake_gpio_compatible_null(void) { return true; } /* Null UI function table, used if there's no hardware UI detected. Eliminates the * need to check for null UI before calling a function in the table. @@ -60,6 +61,7 @@ static const hackrf_ui_t hackrf_ui_null = { &hackrf_ui_set_filter_null, &hackrf_ui_set_antenna_bias_null, &hackrf_ui_set_clock_source_null, + &hackrf_ui_operacake_gpio_compatible_null }; static const hackrf_ui_t* ui = NULL; diff --git a/firmware/common/hackrf-ui.h b/firmware/common/hackrf_ui.h similarity index 95% rename from firmware/common/hackrf-ui.h rename to firmware/common/hackrf_ui.h index 5ac07ada..a3252b54 100644 --- a/firmware/common/hackrf-ui.h +++ b/firmware/common/hackrf_ui.h @@ -38,6 +38,7 @@ typedef void (*hackrf_ui_set_first_if_frequency_fn)(const uint64_t frequency); typedef void (*hackrf_ui_set_filter_fn)(const rf_path_filter_t filter); typedef void (*hackrf_ui_set_antenna_bias_fn)(bool antenna_bias); typedef void (*hackrf_ui_set_clock_source_fn)(clock_source_t source); +typedef bool (*hackrf_ui_operacake_gpio_compatible_fn)(void); typedef struct { hackrf_ui_init_fn init; @@ -53,6 +54,7 @@ typedef struct { hackrf_ui_set_filter_fn set_filter; hackrf_ui_set_antenna_bias_fn set_antenna_bias; hackrf_ui_set_clock_source_fn set_clock_source; + hackrf_ui_operacake_gpio_compatible_fn operacake_gpio_compatible; } hackrf_ui_t; /* TODO: Lame hack to know that PortaPack was detected. diff --git a/firmware/common/rf_path.c b/firmware/common/rf_path.c index 0e7bb42f..daae972f 100644 --- a/firmware/common/rf_path.c +++ b/firmware/common/rf_path.c @@ -26,7 +26,7 @@ #include -#include "hackrf-ui.h" +#include "hackrf_ui.h" #include #include diff --git a/firmware/common/tuning.c b/firmware/common/tuning.c index 3c500eec..6f42c154 100644 --- a/firmware/common/tuning.c +++ b/firmware/common/tuning.c @@ -22,7 +22,7 @@ #include "tuning.h" -#include "hackrf-ui.h" +#include "hackrf_ui.h" #include #include diff --git a/firmware/common/ui_portapack.c b/firmware/common/ui_portapack.c index d9dc90da..24383b7d 100644 --- a/firmware/common/ui_portapack.c +++ b/firmware/common/ui_portapack.c @@ -549,6 +549,10 @@ static void portapack_ui_set_clock_source(clock_source_t source) { portapack_lcd_draw_string(label_point, s); } +static bool portapack_ui_operacake_gpio_compatible(void) { + return false; +} + const hackrf_ui_t portapack_hackrf_ui = { &portapack_ui_init, &portapack_ui_set_frequency, @@ -563,6 +567,7 @@ const hackrf_ui_t portapack_hackrf_ui = { &portapack_ui_set_filter, &portapack_ui_set_antenna_bias, &portapack_ui_set_clock_source, + &portapack_ui_operacake_gpio_compatible, }; const hackrf_ui_t* portapack_hackrf_ui_init() { diff --git a/firmware/common/ui_portapack.h b/firmware/common/ui_portapack.h index 22d27d9c..ac5fe330 100644 --- a/firmware/common/ui_portapack.h +++ b/firmware/common/ui_portapack.h @@ -22,7 +22,7 @@ #ifndef __UI_PORTAPACK_H__ #define __UI_PORTAPACK_H__ -#include "hackrf-ui.h" +#include "hackrf_ui.h" const hackrf_ui_t* portapack_hackrf_ui_init() __attribute__((weak)); diff --git a/firmware/common/ui_rad1o.c b/firmware/common/ui_rad1o.c index af4e4fb8..d94fb53b 100644 --- a/firmware/common/ui_rad1o.c +++ b/firmware/common/ui_rad1o.c @@ -88,6 +88,10 @@ static void rad1o_ui_set_clock_source(clock_source_t source) { hackrf_ui_setClockSource(source); } +static bool rad1o_ui_operacake_gpio_compatible(void) { + return true; +} + static const hackrf_ui_t rad1o_ui = { &rad1o_ui_init, &rad1o_ui_set_frequency, @@ -102,6 +106,7 @@ static const hackrf_ui_t rad1o_ui = { &rad1o_ui_set_filter, &rad1o_ui_set_antenna_bias, &rad1o_ui_set_clock_source, + &rad1o_ui_operacake_gpio_compatible, }; const hackrf_ui_t* rad1o_ui_setup(void) { diff --git a/firmware/common/ui_rad1o.h b/firmware/common/ui_rad1o.h index 7c14a79a..daeddb04 100644 --- a/firmware/common/ui_rad1o.h +++ b/firmware/common/ui_rad1o.h @@ -22,7 +22,7 @@ #ifndef __UI_RAD1O_H__ #define __UI_RAD1O_H__ -#include "hackrf-ui.h" +#include "hackrf_ui.h" const hackrf_ui_t* rad1o_ui_setup(void) __attribute__((weak)); diff --git a/firmware/hackrf-common.cmake b/firmware/hackrf-common.cmake index e978ca8f..cd32c082 100644 --- a/firmware/hackrf-common.cmake +++ b/firmware/hackrf-common.cmake @@ -159,7 +159,7 @@ macro(DeclareTargets) ${PATH_HACKRF_FIRMWARE_COMMON}/spi_bus.c ${PATH_HACKRF_FIRMWARE_COMMON}/spi_ssp.c ${PATH_HACKRF_FIRMWARE_COMMON}/gpio_lpc.c - ${PATH_HACKRF_FIRMWARE_COMMON}/hackrf-ui.c + ${PATH_HACKRF_FIRMWARE_COMMON}/hackrf_ui.c ) if(BOARD STREQUAL "RAD1O") diff --git a/firmware/hackrf_usb/hackrf_usb.c b/firmware/hackrf_usb/hackrf_usb.c index 195250a2..88159db4 100644 --- a/firmware/hackrf_usb/hackrf_usb.c +++ b/firmware/hackrf_usb/hackrf_usb.c @@ -50,7 +50,7 @@ #include "cpld_xc2c.h" #include "portapack.h" -#include "hackrf-ui.h" +#include "hackrf_ui.h" extern uint32_t __m0_start__; extern uint32_t __m0_end__; @@ -241,7 +241,7 @@ int main(void) { rf_path_init(&rf_path); - if( hackrf_ui() == NULL ) { + if( hackrf_ui()->operacake_gpio_compatible() ) { operacake_allow_gpio = true; } else { operacake_allow_gpio = false; diff --git a/firmware/hackrf_usb/usb_api_transceiver.c b/firmware/hackrf_usb/usb_api_transceiver.c index 86c044d4..f75eb55f 100644 --- a/firmware/hackrf_usb/usb_api_transceiver.c +++ b/firmware/hackrf_usb/usb_api_transceiver.c @@ -22,7 +22,7 @@ #include "usb_api_transceiver.h" -#include "hackrf-ui.h" +#include "hackrf_ui.h" #include #include "usb_bulk_buffer.h"