diff --git a/software/firmware/source/SoftRF/src/driver/radio/nordic.cpp b/software/firmware/source/SoftRF/src/driver/radio/nordic.cpp index ec23ca7aa..27d68e793 100644 --- a/software/firmware/source/SoftRF/src/driver/radio/nordic.cpp +++ b/software/firmware/source/SoftRF/src/driver/radio/nordic.cpp @@ -66,7 +66,8 @@ static bool nrf905_probe() SoC->SPI_begin(); -#if defined(ARDUINO) && !defined(RASPBERRY_PI) && !defined(ARDUINO_ARCH_MBED) +#if defined(ARDUINO) && !defined(RASPBERRY_PI) && \ + !defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_ARCH_ZEPHYR) RadioSPI.setClockDivider(SPI_CLOCK_DIV2); #endif /* ARDUINO */ diff --git a/software/firmware/source/SoftRF/src/platform/nRF52.h b/software/firmware/source/SoftRF/src/platform/nRF52.h index 3a4ae4116..deecd3f3e 100644 --- a/software/firmware/source/SoftRF/src/platform/nRF52.h +++ b/software/firmware/source/SoftRF/src/platform/nRF52.h @@ -16,13 +16,14 @@ * along with this program. If not, see . */ -#if defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) +#if defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) || \ + (defined(ARDUINO_ARCH_ZEPHYR) && defined(NRF52840_XXAA)) #ifndef PLATFORM_NRF52_H #define PLATFORM_NRF52_H #include -#if !defined(ARDUINO_ARCH_MBED) +#if !defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_ARCH_ZEPHYR) #include #endif /* ARDUINO_ARCH_MBED */ @@ -53,7 +54,11 @@ #define SerialOutput Serial1 #define USBSerial Serial +#if !defined(ARDUINO_ARCH_ZEPHYR) #define Serial_GNSS_In Serial2 +#else +#define Serial_GNSS_In Serial1 /* TBD */ +#endif /* ARDUINO_ARCH_ZEPHYR */ #define Serial_GNSS_Out Serial_GNSS_In #define UATSerial Serial1 @@ -258,7 +263,7 @@ struct rst_info { #define USE_OGN_ENCRYPTION #define ENABLE_ADSL #define ENABLE_PROL -#if !defined(ARDUINO_ARCH_MBED) +#if !defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_ARCH_ZEPHYR) #define USE_BLE_MIDI #define ENABLE_REMOTE_ID #define USE_EXT_I2S_DAC @@ -277,6 +282,11 @@ struct rst_info { #define USE_ARDUINOBLE #define EXCLUDE_IMU #define EXCLUDE_BME280AUX +#if defined(ARDUINO_ARCH_ZEPHYR) +#define EXCLUDE_BLUETOOTH +#define EXCLUDE_EEPROM +#undef USE_NMEALIB +#endif /* ARDUINO_ARCH_ZEPHYR */ #endif /* ARDUINO_ARCH_MBED */ //#define EXCLUDE_PMU @@ -302,11 +312,11 @@ struct rst_info { extern Adafruit_NeoPixel strip; #endif /* EXCLUDE_LED_RING */ -#if !defined(PIN_SERIAL2_RX) && !defined(PIN_SERIAL2_TX) +#if !defined(PIN_SERIAL2_RX) && !defined(PIN_SERIAL2_TX) && !defined(ARDUINO_ARCH_ZEPHYR) extern Uart Serial2; #endif -#if !defined(ARDUINO_ARCH_MBED) +#if !defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_ARCH_ZEPHYR) extern PCF8563_Class *rtc; #endif /* ARDUINO_ARCH_MBED */ extern const char *nRF52_Device_Manufacturer, *nRF52_Device_Model, *Hardware_Rev[]; diff --git a/software/firmware/source/SoftRF/src/system/SoC.cpp b/software/firmware/source/SoftRF/src/system/SoC.cpp index 73d76c1db..0f0705e28 100644 --- a/software/firmware/source/SoftRF/src/system/SoC.cpp +++ b/software/firmware/source/SoftRF/src/system/SoC.cpp @@ -34,7 +34,8 @@ byte SoC_setup() SoC = &STM32_ops; #elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) SoC = &PSoC4_ops; -#elif defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) +#elif defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) || \ + (defined(ARDUINO_ARCH_ZEPHYR) && defined(NRF52840_XXAA)) SoC = &nRF52_ops; #elif defined(HACKRF_ONE) SoC = &LPC43_ops; diff --git a/software/firmware/source/SoftRF/src/system/SoC.h b/software/firmware/source/SoftRF/src/system/SoC.h index 6e3a1a3d8..f43559481 100644 --- a/software/firmware/source/SoftRF/src/system/SoC.h +++ b/software/firmware/source/SoftRF/src/system/SoC.h @@ -140,7 +140,8 @@ extern const SoC_ops_t STM32_ops; #if defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) extern const SoC_ops_t PSoC4_ops; #endif -#if defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) +#if defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) || \ + (defined(ARDUINO_ARCH_ZEPHYR) && defined(NRF52840_XXAA)) extern const SoC_ops_t nRF52_ops; #endif #if defined(HACKRF_ONE) diff --git a/software/firmware/source/libraries/Adafruit_BMP280_Library/Adafruit_BMP280.h b/software/firmware/source/libraries/Adafruit_BMP280_Library/Adafruit_BMP280.h index b758b7799..b7f76eb43 100644 --- a/software/firmware/source/libraries/Adafruit_BMP280_Library/Adafruit_BMP280.h +++ b/software/firmware/source/libraries/Adafruit_BMP280_Library/Adafruit_BMP280.h @@ -30,7 +30,8 @@ defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_AVR) || \ defined(ARDUINO_ARCH_RP2040) || defined(HACKRF_ONE) || \ defined(ARDUINO_ARCH_RENESAS) || defined(ARDUINO_ARCH_SILABS) || \ - defined(ARDUINO_ARCH_CH32)) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_CH32) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR)) #include #endif diff --git a/software/firmware/source/libraries/OGN/manchester.h b/software/firmware/source/libraries/OGN/manchester.h index fcaeb03a0..e6b793fcb 100644 --- a/software/firmware/source/libraries/OGN/manchester.h +++ b/software/firmware/source/libraries/OGN/manchester.h @@ -6,7 +6,8 @@ (defined(ARDUINO_ARCH_RP2040) && defined(ARDUINO_ARCH_MBED)) || \ (defined(ARDUINO_ARCH_NRF52840) && defined(ARDUINO_ARCH_MBED)) || \ defined(ARDUINO_ARCH_RENESAS) || defined(ARDUINO_ARCH_SAMD) || \ - defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) + defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) || \ + defined(ARDUINO_ARCH_ZEPHYR) #include #endif diff --git a/software/firmware/source/libraries/libmodes/src/mode-s.c b/software/firmware/source/libraries/libmodes/src/mode-s.c index ecd9b8686..64450aa31 100644 --- a/software/firmware/source/libraries/libmodes/src/mode-s.c +++ b/software/firmware/source/libraries/libmodes/src/mode-s.c @@ -46,7 +46,8 @@ static mag_t maglut[129*129]; -#if (defined(ENERGIA_ARCH_CC13X2) || defined(ARDUINO_ARCH_SILABS)) && !defined(M_PI) +#if (defined(ENERGIA_ARCH_CC13X2) || defined(ARDUINO_ARCH_SILABS) || \ + defined(ARDUINO_ARCH_ZEPHYR)) && !defined(M_PI) #define M_PI 3.14159265358979323846 #endif /* ENERGIA_ARCH_CC13X2 */ #else diff --git a/software/firmware/source/libraries/nRF905/nRF905.cpp b/software/firmware/source/libraries/nRF905/nRF905.cpp index 1e58af3f0..49eb7c811 100644 --- a/software/firmware/source/libraries/nRF905/nRF905.cpp +++ b/software/firmware/source/libraries/nRF905/nRF905.cpp @@ -15,7 +15,7 @@ !defined(ARDUINO_ARCH_ASR650X) && !defined(ARDUINO_ARCH_ASR6601) && \ !defined(ARDUINO_ARCH_RP2040) && !defined(ARDUINO_ARCH_RENESAS) && \ !defined(ARDUINO_ARCH_SILABS) && !defined(ARDUINO_ARCH_CH32) && \ - !defined(ARDUINO_ARCH_RP2350) + !defined(ARDUINO_ARCH_RP2350) && !defined(ARDUINO_ARCH_ZEPHYR) #include #include @@ -32,6 +32,7 @@ defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_RP2040) || \ defined(ARDUINO_ARCH_RENESAS) || defined(ARDUINO_ARCH_SILABS) || \ defined(ARDUINO_ARCH_CH32) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) || \ (defined(ARDUINO_ARCH_STM32) && defined(ARDUINO_WisDuo_RAK3172_Evaluation_Board)) #define _BV(bit) (1 << (bit)) #endif /* ENERGIA_ARCH_CC13XX || ENERGIA_ARCH_CC13X2 || ARDUINO_ARCH_NRF52 */ @@ -190,7 +191,7 @@ void nRF905_init() !defined(ARDUINO_ARCH_ASR650X) && !defined(ARDUINO_ARCH_ASR6601) && \ !defined(ARDUINO_ARCH_RP2040) && !defined(ARDUINO_ARCH_RENESAS) && \ !defined(ARDUINO_ARCH_SILABS) && !defined(ARDUINO_ARCH_MBED) && \ - !defined(ARDUINO_ARCH_RP2350) + !defined(ARDUINO_ARCH_RP2350) && !defined(ARDUINO_ARCH_ZEPHYR) SPI.setClockDivider(SPI_CLOCK_DIV2); #endif /* RASPBERRY_PI */ #else diff --git a/software/firmware/source/libraries/nRF905/nRF905_config.h b/software/firmware/source/libraries/nRF905/nRF905_config.h index 5120281f9..33e6bfc7f 100644 --- a/software/firmware/source/libraries/nRF905/nRF905_config.h +++ b/software/firmware/source/libraries/nRF905/nRF905_config.h @@ -29,7 +29,8 @@ defined(ARDUINO_ARCH_ASR650X) || defined(ARDUINO_ARCH_ASR6601) || \ defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_RENESAS) || \ defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) || \ - defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) #define NRF905_INTERRUPTS 0 #else #define NRF905_INTERRUPTS 1 @@ -58,7 +59,8 @@ defined(ARDUINO_ARCH_ASR650X) || defined(ARDUINO_ARCH_ASR6601) || \ defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_RENESAS) || \ defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) || \ - defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) #define NRF905_AM_SW 1 #else #define NRF905_AM_SW 0 @@ -77,7 +79,8 @@ defined(ARDUINO_ARCH_ASR650X) || defined(ARDUINO_ARCH_ASR6601) || \ defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_RENESAS) || \ defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) || \ - defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) #define NRF905_COLLISION_AVOID 0 #else #define NRF905_COLLISION_AVOID 1 @@ -204,7 +207,8 @@ #elif defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_RP2040) || \ defined(ARDUINO_ARCH_RENESAS) || defined(ARDUINO_ARCH_SILABS) || \ - defined(ARDUINO_ARCH_CH32) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_CH32) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) // TBD #define TRX_EN 0 // Enable/standby pin @@ -347,7 +351,8 @@ defined(ARDUINO_ARCH_ASR650X) || defined(ARDUINO_ARCH_ASR6601) || \ defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_RENESAS) || \ defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) || \ - defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) #define NRF905_FREQ 868400000UL #else #define NRF905_FREQ 433200000UL @@ -364,7 +369,8 @@ defined(ARDUINO_ARCH_ASR650X) || defined(ARDUINO_ARCH_ASR6601) || \ defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_RENESAS) || \ defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) || \ - defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) #define NRF905_BAND NRF905_BAND_868 #else #define NRF905_BAND NRF905_BAND_433 @@ -415,7 +421,8 @@ defined(ARDUINO_ARCH_ASR650X) || defined(ARDUINO_ARCH_ASR6601) || \ defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_RENESAS) || \ defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) || \ - defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) #define NRF905_ADDR_SIZE NRF905_ADDR_SIZE_3 //#define NRF905_ADDR_SIZE NRF905_ADDR_SIZE_2 #else @@ -430,7 +437,8 @@ defined(ARDUINO_ARCH_ASR650X) || defined(ARDUINO_ARCH_ASR6601) || \ defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_RENESAS) || \ defined(ARDUINO_ARCH_SILABS) || defined(ARDUINO_ARCH_CH32) || \ - defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) + defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_RP2350) || \ + defined(ARDUINO_ARCH_ZEPHYR) #define NRF905_PAYLOAD_SIZE 24 #else #define NRF905_PAYLOAD_SIZE 32 //NRF905_MAX_PAYLOAD diff --git a/software/firmware/source/libraries/nmealib/src/local.h b/software/firmware/source/libraries/nmealib/src/local.h index f7f54b0d4..11214f236 100644 --- a/software/firmware/source/libraries/nmealib/src/local.h +++ b/software/firmware/source/libraries/nmealib/src/local.h @@ -4,7 +4,7 @@ #if !defined(ENERGIA_ARCH_CC13XX) && !defined(ENERGIA_ARCH_CC13X2) && \ !defined(ARDUINO_ARCH_NRF52) && !defined(ARDUINO_ARCH_NRF52840) && \ - !defined(ARDUINO_ARCH_SAMD) + !defined(ARDUINO_ARCH_SAMD) && !defined(ARDUINO_ARCH_ZEPHYR) #include #if defined(ARDUINO_ARCH_ESP32) #include "esp_idf_version.h" @@ -19,7 +19,7 @@ #else #include #if defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) || \ - defined(ARDUINO_ARCH_SAMD) + defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_ZEPHYR) #define _AND , #define _CONST const #define _EXFUN(name, proto) name proto