Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,11 @@ jobs:
{boardname: "aerorx_r1_uf2/nrf52840", filename: "SlimeNRF_AeroRX_R1_Receiver_DataCollect_CDC", with_data_collect_cdc: true},
{boardname: "nekonya_uf2/nrf52833", filename: "SlimeNRF_NekoNya_Receiver"},
{boardname: "foxdongle33_uf2/nrf52833", filename: "SlimeNRF_FoxDongle33_Receiver"},
{boardname: "foxdongle33_uf2/nrf52833", filename: "SlimeNRF_FoxDongle33_Receiver_DataCollect_CDC", with_data_collect_cdc: true},
{boardname: "foxdongle_uf2/nrf52840", filename: "SlimeNRF_FoxDongle_Receiver"},
{boardname: "foxdongle_uf2/nrf52840", filename: "SlimeNRF_FoxDongle_Receiver_DataCollect_CDC", with_data_collect_cdc: true},
{boardname: "foxpromicro_rfek_uf2/nrf52840", filename: "SlimeNRF_FoxProMicro_RFEK_Receiver"},
{boardname: "foxpromicro_rfek_uf2/nrf52840", filename: "SlimeNRF_FoxProMicro_RFEK_Receiver_DataCollect_CDC", with_data_collect_cdc: true},
]
runs-on: ubuntu-latest
steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ CONFIG_HW_STACK_PROTECTION=y
CONFIG_GPIO=y

CONFIG_SLIMEVR_USB_DEVICE_MANUFACTURER="FoxApplication"
CONFIG_SLIMEVR_USB_DEVICE_PRODUCT="FoxApplication FoxDongle33"
CONFIG_SLIMEVR_USB_DEVICE_PRODUCT="FoxApplication Receiver FoxDongle33"

CONFIG_USE_SEGGER_RTT=y
CONFIG_RTT_CONSOLE=y
Expand Down
37 changes: 37 additions & 0 deletions boards/foxapplication/foxdongle_uf2/Kconfig.foxdongle_uf2
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config BOARD_FOXDONGLE_UF2
select SOC_NRF52840_QIAA

if BOARD_FOXDONGLE_UF2

config BOARD_SERIAL_BACKEND_CDC_ACM
bool "USB CDC"
default y

config MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
bool "Use FEM"
default y
help
Use RF front-end module (FEM) is a device that amplifies the RF signal, to increase the range distance, the strength, and the robustness of a link connection.

config BOARD_ENABLE_FEM
bool "FEM enabled"
default y
select MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
help
Enabke front-end module (FEM).

config CONFIG_MPSL
bool "Enable MPSL"
default true
help
Enable Nordic Multi Protocol Service Layer

config MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
bool
default y


endif # BOARD_FOXDONGLE_UF2
9 changes: 9 additions & 0 deletions boards/foxapplication/foxdongle_uf2/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

board_runner_args(jlink "--device=nrf52840_xxaa" "--speed=4000")
board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000")

include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
8 changes: 8 additions & 0 deletions boards/foxapplication/foxdongle_uf2/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

board:
name: foxdongle_uf2
vendor: foxapplication
socs:
- name: nrf52840
154 changes: 154 additions & 0 deletions boards/foxapplication/foxdongle_uf2/foxdongle_uf2.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
// Copyright (c) 2024 Nordic Semiconductor ASA
// SPDX-License-Identifier: Apache-2.0

/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>

&pinctrl {
pwm0_default: pwm0_default {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 9)>,<NRF_PSEL(PWM_OUT0, 0, 8)>,<NRF_PSEL(PWM_OUT0, 0, 12)>;
nordic,drive-mode = <NRF_DRIVE_D0S1>;
};
};

pwm0_sleep: pwm0_sleep {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 9)>,<NRF_PSEL(PWM_OUT0, 0, 8)>,<NRF_PSEL(PWM_OUT0, 0, 12)>;
low-power-enable;
};
};
};

/ {
model = "Foxapplication nRF52840 FoxDongle";
compatible = "foxdongle_uf2";

chosen {
zephyr,console = &cdc_acm_uart;
zephyr,shell-uart = &cdc_acm_uart;
zephyr,uart-mcumgr = &cdc_acm_uart;
zephyr,bt-mon-uart = &cdc_acm_uart;
zephyr,bt-c2h-uart = &cdc_acm_uart;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,ieee802154 = &ieee802154;
};

nrf_radio_fem: skyFem {
compatible = "skyworks,sky66112-11", "generic-fem-two-ctrl-pins";
ctx-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
ctx-settle-time-us = <23>;
crx-gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
crx-settle-time-us = <8>;
tx-gain-db = <22>;
rx-gain-db = <12>;
};

leds {
compatible = "gpio-leds";
led0_green: led_0 {
gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
label = "Green LED 0";
};
led1_red: led_1 {
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
label = "Red LED 1";
};
led2_blue: led_2 {
gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
label = "Red LED 1";
};
};


pwmleds {
compatible = "pwm-leds";
green_pwm_led: pwm_led_0 {
pwms = <&pwm0 0 PWM_MSEC(1) PWM_POLARITY_INVERTED>;
};
};

buttons {
compatible = "gpio-keys";
button0: button_0 {
gpios = <&gpio0 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button switch 0";
zephyr,code = <INPUT_KEY_0>;
};
};

aliases {
sw0 = &button0;
led0 = &led0_green;
led1 = &led1_red;
led2 = &led2_blue;
led0-green = &led0_green;
led1-red = &led1_red;
led2-blue = &led2_blue;
pwm-led0 = &green_pwm_led;
green-pwm-led = &green_pwm_led;
watchdog0 = &wdt0;
};
};

&reg0 {
status = "disabled";
};

&reg1 {
regulator-initial-mode = <NRF5X_REG_MODE_LDO>;
};

&radio {
fem = <&nrf_radio_fem>;
};

&adc {
status = "okay";
};

&gpio0 {
status = "okay";
};

&gpio1 {
status = "okay";
};

&gpiote {
status = "okay";
};

&uicr {
nfct-pins-as-gpios;
gpio-as-nreset;
};

&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_default>;
pinctrl-1 = <&pwm0_sleep>;
pinctrl-names = "default", "sleep";
};

&ieee802154 {
status = "okay";
};

zephyr_udc0: &usbd {
compatible = "nordic,nrf-usbd";
status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
};

&cryptocell {
status = "disabled";
};

&nfct {
status = "disabled";
};
24 changes: 24 additions & 0 deletions boards/foxapplication/foxdongle_uf2/foxdongle_uf2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

identifier: foxdongle_uf2
name: foxdongle_uf2
vendor: foxapplication
type: mcu
arch: arm
ram: 256
flash: 1024
toolchain:
- zephyr
- gnuarmemb
- xtools
supported:
- adc
- usb_device
- ble
- pwm
- spi
- watchdog
- counter
- netif:openthread
- gpio
23 changes: 23 additions & 0 deletions boards/foxapplication/foxdongle_uf2/foxdongle_uf2_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_GPIO=y

CONFIG_SLIMEVR_USB_DEVICE_MANUFACTURER="FoxApplication"
CONFIG_SLIMEVR_USB_DEVICE_PRODUCT="FoxApplication Receiver FoxDongle"

CONFIG_USE_SEGGER_RTT=y
CONFIG_RTT_CONSOLE=y
CONFIG_LOG_BACKEND_RTT=y

CONFIG_MPSL=y
CONFIG_MPSL_FEM=y
CONFIG_MPSL_FEM_SIMPLE_GPIO=y
CONFIG_MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT=y

#generate for adafruit uf2 bootloader flashing
CONFIG_BUILD_OUTPUT_UF2=y
CONFIG_FLASH_LOAD_OFFSET=0x1000
CONFIG_RADIO_TX_POWER=30
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config BOARD_FOXPROMICRO_RFEK_UF2
select SOC_NRF52840_QIAA

if BOARD_FOXPROMICRO_RFEK_UF2

config BOARD_SERIAL_BACKEND_CDC_ACM
bool "USB CDC"
default y

config MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
bool "Use FEM"
default y
help
Use RF front-end module (FEM) is a device that amplifies the RF signal, to increase the range distance, the strength, and the robustness of a link connection.

config BOARD_ENABLE_FEM
bool "FEM enabled"
default y
select MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
help
Enabke front-end module (FEM).

config CONFIG_MPSL
bool "Enable MPSL"
default true
help
Enable Nordic Multi Protocol Service Layer

config MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
bool
default y


endif # BOARD_FOXPROMICRO_RFEK_UF2
9 changes: 9 additions & 0 deletions boards/foxapplication/foxpromicro_rfek_uf2/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

board_runner_args(jlink "--device=nrf52840_xxaa" "--speed=4000")
board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000")

include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
8 changes: 8 additions & 0 deletions boards/foxapplication/foxpromicro_rfek_uf2/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

board:
name: foxpromicro_rfek_uf2
vendor: foxapplication
socs:
- name: nrf52840
Loading
Loading