NRF_DESKTOP prj_keyboard.conf configuration not compiling with nrf52840 Dongle

Hi There

I am getting the following error when porting my code to the PCA10059, using the nrf_desktop prj_keyboard.conf configuration.

if someone can assist why it cant find " No such file or directory: b0_CONF_FILE: ''

It compiles fine with when the 52840DK is selected

thank you in advance 

-- Found partition manager static configuration: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dongle_nrf52840/pm_static.yml
Partition 'b0_container' is not included in the dynamic resolving since it is statically defined.
Partition 'b0' is not included in the dynamic resolving since it is statically defined.
Partition 'provision' is not included in the dynamic resolving since it is statically defined.
Partition 's0' is not included in the dynamic resolving since it is statically defined.
Partition 's0_image' is not included in the dynamic resolving since it is statically defined.
Partition 's1' is not included in the dynamic resolving since it is statically defined.
Partition 's1_image' is not included in the dynamic resolving since it is statically defined.
Partition 'settings_storage' is not included in the dynamic resolving since it is statically defined.
Dropping partition 's0_pad' since its size is 0.
Dropping partition 's1_pad' since its size is 0.
CMake Error at C:/ncs/v2.4.0/zephyr/cmake/modules/extensions.cmake:2183 (message):
  No such file or directory: b0_CONF_FILE: ''
Call Stack (most recent call first):
  CMakeLists.txt:60 (assert_exists)


-- Configuring incomplete, errors occurred!
See also "C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/CMakeFiles/CMakeError.log".
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\31f4403e35\opt\bin\cmake.EXE' '-DWEST_PYTHON=C:\ncs\toolchains\31f4403e35\opt\bin\python.exe' '-Bc:\Users\Lenovo\OneDrive\02_12\cosoft\nrf_desktop\build' -GNinja -DBOARD=nrf52840dongle_nrf52840 -DNCS_TOOLCHAIN_VERSION:STRING=NONE -DCONF_FILE:STRING=c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/prj_keyboard.conf -DDTC_OVERLAY_FILE:STRING=c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay '-Sc:\Users\Lenovo\OneDrive\02_12\cosoft\nrf_desktop'

 *  The terminal process terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

Parents
  • Hi,

     

    It looks like cmake is unable to pick up the "B0" configuration file (which is in ../configuration/nrf52840dongle_nrf52840/child_image/b0/prj.conf). Could this be a problem with the overall path length of your project?

     

    Can you try to move it to a shorter path and see if CMake is able to pick up the variable correctly then?

     

    Kind regards,

    Håkon

  • HI Hakon, I dont think so, it works if I select the nrf52840DK.

    It also works fine if I chose the normal prj.conf file.

    Its only the combination of PCA10059 dongle and keyboard.conf that gives me that error

  • Hi,

     

    Can you share how you configure the project?

    Either a screenshot of the vscode configuration window and/or the west build command echoed in the terminal?

     

    Kind regards,

    Håkon

  • Not sure exactly what you need here but here is the prj_keyboard.conf file. I have not changed it from original example,

    #
    # Copyright (c) 2019 Nordic Semiconductor ASA
    #
    # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
    #
    ################################################################################
    # ZDebug: Keyboard version
    #
    # This ZDebug build type configuration acts as a keyboard.
    #
    # Application Configuration
    
    CONFIG_DESKTOP_INIT_LOG_MOTION_EVENT=n
    CONFIG_DESKTOP_INIT_LOG_HID_REPORT_EVENT=n
    CONFIG_DESKTOP_INIT_LOG_HID_REPORT_SENT_EVENT=n
    CONFIG_CAF_INIT_LOG_KEEP_ALIVE_EVENTS=n
    
    CONFIG_DESKTOP_ROLE_HID_PERIPHERAL=y
    CONFIG_DESKTOP_PERIPHERAL_TYPE_KEYBOARD=y
    CONFIG_DESKTOP_DEVICE_PID=0x52DD
    CONFIG_DESKTOP_HID_BOOT_INTERFACE_KEYBOARD=y
    CONFIG_DESKTOP_HID_STATE_HID_KEYMAP_DEF_PATH="hid_keymap_def_keyboard.h"
    CONFIG_DESKTOP_HID_STATE_HID_KEYBOARD_LEDS_DEF_PATH="hid_keyboard_leds_def_keyboard.h"
    CONFIG_DESKTOP_HID_REPORT_EXPIRATION=10000
    CONFIG_DESKTOP_HID_EVENT_QUEUE_SIZE=60
    
    CONFIG_CAF_BUTTONS=y
    CONFIG_CAF_BUTTONS_POLARITY_INVERSED=y
    CONFIG_CAF_BUTTONS_PM_KEEP_ALIVE=n
    
    CONFIG_CAF_CLICK_DETECTOR=y
    
    CONFIG_CAF_LEDS=y
    
    CONFIG_DESKTOP_BUTTONS_SIM_ENABLE=y
    CONFIG_DESKTOP_BUTTONS_SIM_INTERVAL=100
    CONFIG_DESKTOP_BUTTONS_SIM_LOOP_FOREVER=y
    CONFIG_DESKTOP_BUTTONS_SIM_TRIGGER_KEY_ID=0x03
    
    CONFIG_DESKTOP_USB_ENABLE=y
    
    CONFIG_DESKTOP_BLE_PEER_CONTROL=y
    CONFIG_DESKTOP_BLE_PEER_CONTROL_BUTTON=0x0000
    CONFIG_DESKTOP_BLE_PEER_ERASE_ON_START=y
    
    CONFIG_DESKTOP_BLE_USE_DEFAULT_ID=y
    
    CONFIG_DESKTOP_BLE_SECURITY_FAIL_TIMEOUT_S=10
    CONFIG_DESKTOP_BLE_LOW_LATENCY_LOCK=y
    
    CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE=y
    CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=y
    
    CONFIG_DESKTOP_HFCLK_LOCK_ENABLE=y
    
    ################################################################################
    # Zephyr Configuration
    
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1536
    CONFIG_ISR_STACK_SIZE=1536
    CONFIG_MAIN_STACK_SIZE=840
    CONFIG_BT_RX_STACK_SIZE=2048
    CONFIG_BT_HCI_TX_STACK_SIZE_WITH_PROMPT=y
    CONFIG_BT_HCI_TX_STACK_SIZE=1536
    
    CONFIG_BOOT_BANNER=n
    
    CONFIG_NUM_COOP_PRIORITIES=10
    CONFIG_NUM_PREEMPT_PRIORITIES=11
    
    CONFIG_HEAP_MEM_POOL_SIZE=4096
    
    CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000
    CONFIG_SYSTEM_CLOCK_NO_WAIT=y
    
    CONFIG_HW_STACK_PROTECTION=y
    CONFIG_RESET_ON_FATAL_ERROR=n
    
    CONFIG_GPIO=y
    
    
    CONFIG_REBOOT=y
    
    CONFIG_SIZE_OPTIMIZATIONS=y
    
    CONFIG_PWM=y
    
    CONFIG_LED=y
    CONFIG_LED_PWM=y
    
    CONFIG_BT_MAX_PAIRED=2
    CONFIG_BT_ID_MAX=3
    
    CONFIG_BT_CTLR_SDC_LLPM=y
    CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y
    CONFIG_BT_CONN_TX_MAX=6
    
    CONFIG_ENTROPY_CC3XX=n
    
    ################################################################################
    
    CONFIG_ASSERT=y
    CONFIG_ASSERT_LEVEL=2
    CONFIG_DESKTOP_LOG=y
    
    ################################################################################
    # Bootloader Configuration
    
    CONFIG_SECURE_BOOT=y
    CONFIG_BUILD_S1_VARIANT=y
    CONFIG_FW_INFO=y
    CONFIG_FW_INFO_FIRMWARE_VERSION=1
    CONFIG_SB_SIGNING_KEY_FILE="b0_private.pem"
    
    CONFIG_CAF_BUTTONS_EVENT_LIMIT=20
     

    *

    * Executing task: nRF Connect: Build [pristine]: nrf_desktop/build (active)

    Building nrf_desktop
    C:\WINDOWS\system32\cmd.exe /d /s /c "west build --build-dir c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop --pristine --board nrf52840dongle_nrf52840 --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DDTC_OVERLAY_FILE:STRING="c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay" -DCONF_FILE:STRING="c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/prj_keyboard.conf""

    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop
    -- CMake version: 3.20.5
    -- Found Python3: C:/ncs/toolchains/31f4403e35/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.4.0/zephyr/.cache
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr)
    -- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
    -- Board: nrf52840dongle_nrf52840
    -- Found host-tools: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/31f4403e35/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
    -- Found devicetree overlay: c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay
    -- Generated zephyr.dts: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/dts.cmake

    warning: USB_DEVICE_REMOTE_WAKEUP (defined at
    C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/Kconfig.defconfig:48,
    drivers/usb/device/Kconfig:18) was assigned the value 'n' but got the value 'y'. See
    docs.zephyrproject.org/.../kconfig.html and/or look up
    USB_DEVICE_REMOTE_WAKEUP in the menuconfig/guiconfig interface. The Application Development Primer,
    Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
    helpful too.

    Parsing C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/Kconfig
    Loaded configuration 'C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840_defconfig'
    Merged configuration 'c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/prj_keyboard.conf'
    Configuration saved to 'C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/.config'
    Kconfig header saved to 'C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe

    === child image b0 - begin ===
    loading initial cache file C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/child_image_preload.cmake
    CMake Warning (dev) at C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/child_image_preload.cmake:7 (set):
    Syntax error in cmake code at

    C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/child_image_preload.cmake:7

    when parsing string

    C:\ncs\toolchains\31f4403e35\opt\bin\python.exe

    Invalid escape sequence \3

    Policy CMP0010 is not set: Bad variable reference syntax is an error. Run
    "cmake --help-policy CMP0010" for policy details. Use the cmake_policy
    command to set the policy and suppress this warning.
    This warning is for project developers. Use -Wno-dev to suppress it.

    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.4.0/nrf/samples/bootloader
    -- CMake version: 3.20.5
    -- Found Python3: C:/ncs/toolchains/31f4403e35/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.4.0/zephyr/.cache
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr)
    -- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
    -- Board: nrf52840dongle_nrf52840
    -- Found host-tools: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/31f4403e35/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
    -- Generated zephyr.dts: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/dts.cmake

    warning: HW_STACK_PROTECTION (defined at arch/Kconfig:258) was assigned the value 'y' but got the
    value 'n'. Check these unsatisfied dependencies: ARCH_HAS_STACK_PROTECTION (=n). See
    docs.zephyrproject.org/.../kconfig.html and/or look up
    Parsing C:/ncs/v2.4.0/zephyr/Kconfig
    Loaded configuration 'C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840_defconfig'
    Merged configuration 'C:/ncs/v2.4.0/nrf/samples/bootloader/prj.conf'
    Merged configuration 'C:/ncs/v2.4.0/nrf/subsys/partition_manager/partition_manager_enabled.conf'
    Configuration saved to 'C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/.config'
    Kconfig header saved to 'C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/include/generated/autoconf.h'
    HW_STACK_PROTECTION in the menuconfig/guiconfig interface. The Application Development Primer,
    Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
    helpful too.

    -- Found GnuLd: c:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    CMake Warning at C:/ncs/v2.4.0/zephyr/subsys/usb/device/CMakeLists.txt:22 (message):
    CONFIG_USB_DEVICE_VID has default value 0x2FE3.

    This value is only for testing and MUST be configured for USB products.


    CMake Warning at C:/ncs/v2.4.0/zephyr/subsys/usb/device/CMakeLists.txt:28 (message):
    CONFIG_USB_DEVICE_PID has default value 0x100.

    This value is only for testing and MUST be configured for USB products.


    CMake Warning at ../../lib/flash_patch/CMakeLists.txt:8 (message):

    ----------------------------------------------------------
    --- WARNING: To maintain the integrity of secure boot, ---
    --- enable CONFIG_DISABLE_FLASH_PATCH in production. ---
    ----------------------------------------------------------


    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:838 (message):
    No SOURCES given to Zephyr library: lib__libc__common

    Excluding target from build.


    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0
    === child image b0 - end ===


    === child image s1_image - begin ===
    loading initial cache file C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/image_preload.cmake
    CMake Warning (dev) at build/image_preload.cmake:8 (set):
    Syntax error in cmake code at

    C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/image_preload.cmake:8

    when parsing string

    C:\ncs\toolchains\31f4403e35\opt\bin\python.exe

    Invalid escape sequence \3

    Policy CMP0010 is not set: Bad variable reference syntax is an error. Run
    "cmake --help-policy CMP0010" for policy details. Use the cmake_policy
    command to set the policy and suppress this warning.
    This warning is for project developers. Use -Wno-dev to suppress it.

    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop
    -- CMake version: 3.20.5
    -- Found Python3: C:/ncs/toolchains/31f4403e35/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.4.0/zephyr/.cache
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr)
    -- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
    -- Board: nrf52840dongle_nrf52840
    -- Found host-tools: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/31f4403e35/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
    -- Found devicetree overlay: c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay
    -- Generated zephyr.dts: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/s1_image/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/s1_image/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/s1_image/zephyr/dts.cmake
    -- Found GnuLd: c:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:838 (message):
    No SOURCES given to Zephyr library: lib__libc__common

    Excluding target from build.


    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:1864 (message):
    __ASSERT() statements are globally ENABLED


    -- Found partition manager static configuration: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dongle_nrf52840/pm_static.yml
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/s1_image
    === child image s1_image - end ===

    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:838 (message):
    No SOURCES given to Zephyr library: lib__libc__common

    Excluding target from build.


    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:1864 (message):
    __ASSERT() statements are globally ENABLED


    -- Found partition manager static configuration: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dongle_nrf52840/pm_static.yml
    Partition 'b0_container' is not included in the dynamic resolving since it is statically defined.
    Partition 'b0' is not included in the dynamic resolving since it is statically defined.
    Partition 'provision' is not included in the dynamic resolving since it is statically defined.
    Partition 's0' is not included in the dynamic resolving since it is statically defined.
    Partition 's0_image' is not included in the dynamic resolving since it is statically defined.
    Partition 's1' is not included in the dynamic resolving since it is statically defined.
    Partition 's1_image' is not included in the dynamic resolving since it is statically defined.
    Partition 'settings_storage' is not included in the dynamic resolving since it is statically defined.
    Dropping partition 's1_pad' since its size is 0.
    Dropping partition 's0_pad' since its size is 0.
    CMake Error at C:/ncs/v2.4.0/zephyr/cmake/modules/extensions.cmake:2183 (message):
    No such file or directory: b0_CONF_FILE: ''
    Call Stack (most recent call first):
    CMakeLists.txt:60 (assert_exists)


    -- Configuring incomplete, errors occurred!
    See also "C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/CMakeFiles/CMakeOutput.log".
    See also "C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/CMakeFiles/CMakeError.log".
    FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\31f4403e35\opt\bin\cmake.EXE' '-DWEST_PYTHON=C:\ncs\toolchains\31f4403e35\opt\bin\python.exe' '-Bc:\Users\Lenovo\OneDrive\02_12\cosoft\nrf_desktop\build' -GNinja -DBOARD=nrf52840dongle_nrf52840 -DNCS_TOOLCHAIN_VERSION:STRING=NONE -DDTC_OVERLAY_FILE:STRING=c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay -DCONF_FILE:STRING=c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/prj_keyboard.conf '-Sc:\Users\Lenovo\OneDrive\02_12\cosoft\nrf_desktop'

    * The terminal process terminated with exit code: 1.
    * Terminal will be reused by tasks, press any key to close it.

    * Executing task: nRF Connect: Build [pristine]: nrf_desktop/build (active)

    Building nrf_desktop
    C:\WINDOWS\system32\cmd.exe /d /s /c "west build --build-dir c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop --pristine --board nrf52840dongle_nrf52840 --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DDTC_OVERLAY_FILE:STRING="c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay" -DCONF_FILE:STRING="c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/prj_keyboard.conf""

    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop
    -- CMake version: 3.20.5
    -- Found Python3: C:/ncs/toolchains/31f4403e35/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.4.0/zephyr/.cache
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr)
    -- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
    -- Board: nrf52840dongle_nrf52840
    -- Found host-tools: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/31f4403e35/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
    -- Found devicetree overlay: c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay
    -- Generated zephyr.dts: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/dts.cmake

    warning: USB_DEVICE_REMOTE_WAKEUP (defined at
    C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/Kconfig.defconfig:48,
    drivers/usb/device/Kconfig:18) was assigned the value 'n' but got the value 'y'. See
    docs.zephyrproject.org/.../kconfig.html and/or look up
    USB_DEVICE_REMOTE_WAKEUP in the menuconfig/guiconfig interface. The Application Development Primer,
    Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
    helpful too.

    Parsing C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/Kconfig
    Loaded configuration 'C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840_defconfig'
    Merged configuration 'c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/prj_keyboard.conf'
    Configuration saved to 'C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/.config'
    Kconfig header saved to 'C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe

    === child image b0 - begin ===
    loading initial cache file C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/child_image_preload.cmake
    CMake Warning (dev) at C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/child_image_preload.cmake:7 (set):
    Syntax error in cmake code at

    C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/child_image_preload.cmake:7

    when parsing string

    C:\ncs\toolchains\31f4403e35\opt\bin\python.exe

    Invalid escape sequence \3

    Policy CMP0010 is not set: Bad variable reference syntax is an error. Run
    "cmake --help-policy CMP0010" for policy details. Use the cmake_policy
    command to set the policy and suppress this warning.
    This warning is for project developers. Use -Wno-dev to suppress it.

    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.4.0/nrf/samples/bootloader
    -- CMake version: 3.20.5
    -- Found Python3: C:/ncs/toolchains/31f4403e35/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.4.0/zephyr/.cache
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr)
    -- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
    -- Board: nrf52840dongle_nrf52840
    -- Found host-tools: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/31f4403e35/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
    -- Generated zephyr.dts: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/dts.cmake

    warning: HW_STACK_PROTECTION (defined at arch/Kconfig:258) was assigned the value 'y' but got the
    value 'n'. Check these unsatisfied dependencies: ARCH_HAS_STACK_PROTECTION (=n). See
    docs.zephyrproject.org/.../kconfig.html and/or look up
    HW_STACK_PROTECTION in the menuconfig/guiconfig interface. The Application Development Primer,
    Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
    Parsing C:/ncs/v2.4.0/zephyr/Kconfig
    Loaded configuration 'C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840_defconfig'
    Merged configuration 'C:/ncs/v2.4.0/nrf/samples/bootloader/prj.conf'
    Merged configuration 'C:/ncs/v2.4.0/nrf/subsys/partition_manager/partition_manager_enabled.conf'
    Configuration saved to 'C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/.config'
    Kconfig header saved to 'C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0/zephyr/include/generated/autoconf.h'
    helpful too.

    -- Found GnuLd: c:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    CMake Warning at C:/ncs/v2.4.0/zephyr/subsys/usb/device/CMakeLists.txt:22 (message):
    CONFIG_USB_DEVICE_VID has default value 0x2FE3.

    This value is only for testing and MUST be configured for USB products.


    CMake Warning at C:/ncs/v2.4.0/zephyr/subsys/usb/device/CMakeLists.txt:28 (message):
    CONFIG_USB_DEVICE_PID has default value 0x100.

    This value is only for testing and MUST be configured for USB products.


    CMake Warning at ../../lib/flash_patch/CMakeLists.txt:8 (message):

    ----------------------------------------------------------
    --- WARNING: To maintain the integrity of secure boot, ---
    --- enable CONFIG_DISABLE_FLASH_PATCH in production. ---
    ----------------------------------------------------------


    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:838 (message):
    No SOURCES given to Zephyr library: lib__libc__common

    Excluding target from build.


    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/b0
    === child image b0 - end ===


    === child image s1_image - begin ===
    loading initial cache file C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/image_preload.cmake
    CMake Warning (dev) at build/image_preload.cmake:8 (set):
    Syntax error in cmake code at

    C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/image_preload.cmake:8

    when parsing string

    C:\ncs\toolchains\31f4403e35\opt\bin\python.exe

    Invalid escape sequence \3

    Policy CMP0010 is not set: Bad variable reference syntax is an error. Run
    "cmake --help-policy CMP0010" for policy details. Use the cmake_policy
    command to set the policy and suppress this warning.
    This warning is for project developers. Use -Wno-dev to suppress it.

    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop
    -- CMake version: 3.20.5
    -- Found Python3: C:/ncs/toolchains/31f4403e35/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.4.0/zephyr/.cache
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr)
    -- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
    -- Board: nrf52840dongle_nrf52840
    -- Found host-tools: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/31f4403e35/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.4.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
    -- Found devicetree overlay: c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay
    -- Generated zephyr.dts: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/s1_image/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/s1_image/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/s1_image/zephyr/dts.cmake
    -- Found GnuLd: c:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:838 (message):
    No SOURCES given to Zephyr library: lib__libc__common

    Excluding target from build.


    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:1864 (message):
    __ASSERT() statements are globally ENABLED


    -- Found partition manager static configuration: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dongle_nrf52840/pm_static.yml
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/s1_image
    === child image s1_image - end ===

    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:838 (message):
    No SOURCES given to Zephyr library: lib__libc__common

    Excluding target from build.


    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:1864 (message):
    __ASSERT() statements are globally ENABLED


    -- Found partition manager static configuration: C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dongle_nrf52840/pm_static.yml
    Partition 'b0_container' is not included in the dynamic resolving since it is statically defined.
    Partition 'b0' is not included in the dynamic resolving since it is statically defined.
    Partition 'provision' is not included in the dynamic resolving since it is statically defined.
    Partition 's0' is not included in the dynamic resolving since it is statically defined.
    Partition 's0_image' is not included in the dynamic resolving since it is statically defined.
    Partition 's1' is not included in the dynamic resolving since it is statically defined.
    Partition 's1_image' is not included in the dynamic resolving since it is statically defined.
    Partition 'settings_storage' is not included in the dynamic resolving since it is statically defined.
    Dropping partition 's0_pad' since its size is 0.
    Dropping partition 's1_pad' since its size is 0.
    CMake Error at C:/ncs/v2.4.0/zephyr/cmake/modules/extensions.cmake:2183 (message):
    No such file or directory: b0_CONF_FILE: ''
    Call Stack (most recent call first):
    CMakeLists.txt:60 (assert_exists)


    -- Configuring incomplete, errors occurred!
    See also "C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/CMakeFiles/CMakeOutput.log".
    See also "C:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/build/CMakeFiles/CMakeError.log".
    FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\31f4403e35\opt\bin\cmake.EXE' '-DWEST_PYTHON=C:\ncs\toolchains\31f4403e35\opt\bin\python.exe' '-Bc:\Users\Lenovo\OneDrive\02_12\cosoft\nrf_desktop\build' -GNinja -DBOARD=nrf52840dongle_nrf52840 -DNCS_TOOLCHAIN_VERSION:STRING=NONE -DDTC_OVERLAY_FILE:STRING=c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/app.overlay -DCONF_FILE:STRING=c:/Users/Lenovo/OneDrive/02_12/cosoft/nrf_desktop/configuration/nrf52840dk_nrf52840/prj_keyboard.conf '-Sc:\Users\Lenovo\OneDrive\02_12\cosoft\nrf_desktop'

    * The terminal process terminated with exit code: 1.
    * Terminal will be reused by tasks, press any key to close it.

    App Overlay file for pin assignments to match dongle.

    /// {
    //	chosen {
    //		nordic,pm-ext-flash = &mx25r64;
    //	};
    //};
    
    / {
    	chosen {
    		/*
    		 * In some default configurations within the nRF Connect SDK,
    		 * e.g. on nRF52840 and nRF9160, the chosen zephyr,entropy node
    		 * is &cryptocell. This devicetree overlay ensures that default
    		 * is overridden wherever it is set, as this application uses
    		 * the RNG node for entropy exclusively.
    		 */
    		zephyr,entropy = &rng;
    	};
    
    //for 52840 dongle
     col {
    		compatible = "gpio-keys";
            col4: col_4 {
    			gpios = <&gpio0 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol4";
            };
            col3: col_3 {
                gpios = <&gpio0 15 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol3";
            };
            col2: col_2 {
                gpios = <&gpio0 17 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol2";
            };
            col1: col_1 {
                gpios = <&gpio0 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
                label = "keypadcol1";
            };
        };
    
    	rows {
            compatible = "gpio-leds";
            row4: row_4 {
    			gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
                label = "keypadrow4";
            };
            row3: row_3 {
                gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
                label = "keypadrow3";
            };
           row2: row_2 {
                gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
                label = "keypadrow2";
            };
           row1: row_1 {
                gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
                label = "keypadrow1";
            };
         };
     
    //	 for 52840DK
     /* 	col {
    		compatible = "gpio-keys";
            col4: col_4 {
    			gpios = <&gpio1 8 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol4";
            };
            col3: col_3 {
                gpios = <&gpio1 7 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol3";
            };
            col2: col_2 {
                gpios = <&gpio1 6 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol2";
            };
            col1: col_1 {
                gpios = <&gpio1 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
                label = "keypadcol1";
            };
        };
    
    	rows {
            compatible = "gpio-leds";
            row4: row_4 {
    			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
                label = "keypadrow4";
            };
            row3: row_3 {
                gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
                label = "keypadrow3";
            };
           row2: row_2 {
                gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
                label = "keypadrow2";
            };
           row1: row_1 {
                gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
                label = "keypadrow1";
            };
         };
    */
    
    
    	pwmleds1 {
    		compatible = "pwm-leds";
    		status = "okay";
    
    		pwm_led1: led_pwm_1 {
    			status = "okay";
    			pwms = <&pwm1 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
    			label = "LED Conn State";
    		};
    	};
    
    	pwmleds2 {
    		compatible = "pwm-leds";
    		status = "okay";
    
    		pwm_led2: led_pwm_2 {
    			status = "okay";
    			pwms = <&pwm2 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
    			label = "LED Caps Lock";
    		};
    	};
    
    	pwmleds3 {
    		compatible = "pwm-leds";
    		status = "okay";
    
    		pwm_led3: led_pwm_3 {
    			status = "okay";
    			pwms = <&pwm3 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
    			label = "LED Num Lock";
    		};
    	};
    };
    
    &pwm0 {
    	status = "okay";
    	pinctrl-0 = <&pwm0_default_alt>;
    	pinctrl-1 = <&pwm0_sleep_alt>;
    	pinctrl-names = "default", "sleep";
    };
    
    &pwm1 {
    	status = "okay";
    	pinctrl-0 = <&pwm1_default_alt>;
    	pinctrl-1 = <&pwm1_sleep_alt>;
    	pinctrl-names = "default", "sleep";
    };
    
    &pwm2 {
    	status = "okay";
    	pinctrl-0 = <&pwm2_default_alt>;
    	pinctrl-1 = <&pwm2_sleep_alt>;
    	pinctrl-names = "default", "sleep";
    };
    
    &pwm3 {
    	status = "okay";
    	pinctrl-0 = <&pwm3_default_alt>;
    	pinctrl-1 = <&pwm3_sleep_alt>;
    	pinctrl-names = "default", "sleep";
    };
    
    
    
    &pinctrl {
    	pwm0_default_alt: pwm0_default_alt {
    		group1 {
    			psels = <NRF_PSEL(PWM_OUT0, 0, 13)>;
    			nordic,invert;
    		};
    	};
    
    	pwm0_sleep_alt: pwm0_sleep_alt {
    		group1 {
    			psels = <NRF_PSEL(PWM_OUT0, 0, 13)>;
    			low-power-enable;
    		};
    	};
    
    	pwm1_default_alt: pwm1_default_alt {
    		group1 {
    			psels = <NRF_PSEL(PWM_OUT0, 0, 14)>;
    			nordic,invert;
    		};
    	};
    
    	pwm1_sleep_alt: pwm1_sleep_alt {
    		group1 {
    			psels = <NRF_PSEL(PWM_OUT0, 0, 14)>;
    			low-power-enable;
    		};
    	};
    
    	pwm2_default_alt: pwm2_default_alt {
    		group1 {
    			psels = <NRF_PSEL(PWM_OUT0, 0, 15)>;
    			nordic,invert;
    		};
    	};
    
    	pwm2_sleep_alt: pwm2_sleep_alt {
    		group1 {
    			psels = <NRF_PSEL(PWM_OUT0, 0, 15)>;
    			low-power-enable;
    		};
    	};
    
    	pwm3_default_alt: pwm3_default_alt {
    		group1 {
    			psels = <NRF_PSEL(PWM_OUT0, 0, 16)>;
    			nordic,invert;
    		};
    	};
    
    	pwm3_sleep_alt: pwm3_sleep_alt {
    		group1 {
    			psels = <NRF_PSEL(PWM_OUT0, 0, 16)>;
    			low-power-enable;
    		};
    	};
    };
    
    &spi1_default {
    	group1 {
    		psels = <NRF_PSEL(SPIM_SCK, 0, 31)>, <NRF_PSEL(SPIM_MOSI, 0, 30)>;
    	};
    };
    
    
    
    &spi1_sleep {
    	group1 {
    		psels = <NRF_PSEL(SPIM_SCK, 0, 31)>, <NRF_PSEL(SPIM_MOSI, 0, 30)>;
    	};
    };
     
    

  • Good Morning, After some more testing over the weekend. I loaded the DK build of keyboard.conf on the dongle. It does get picked up as an HID by a PC and so does the bluetooth, which tells me the program is running.

    As soon as I try to change the GPIO to my Dongle pins the program stops. I do find it strange that the example does not work out the box on the dongle.

    //for 52840 dongle
     col {
    		compatible = "gpio-keys";
            col4: col_4 {
    			gpios = <&gpio0 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol4";
            };
            col3: col_3 {
                gpios = <&gpio0 15 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol3";
            };
            col2: col_2 {
                gpios = <&gpio0 17 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol2";
            };
            col1: col_1 {
                gpios = <&gpio0 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
                label = "keypadcol1";
            };
        };
    
    	rows {
            compatible = "gpio-leds";
            row4: row_4 {
    			gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
                label = "keypadrow4";
            };
            row3: row_3 {
                gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
                label = "keypadrow3";
            };
           row2: row_2 {
                gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
                label = "keypadrow2";
            };
           row1: row_1 {
                gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
                label = "keypadrow1";
            };
         };
     
    //	 for 52840DK
      /* 	col {
    		compatible = "gpio-keys";
            col4: col_4 {
    			gpios = <&gpio0 8 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol4";
            };
            col3: col_3 {
                gpios = <&gpio1 7 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol3";
            };
            col2: col_2 {
                gpios = <&gpio1 6 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                label = "keypadcol2";
            };
            col1: col_1 {
                gpios = <&gpio1 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
                label = "keypadcol1";
            };
        };
    
    	rows {
            compatible = "gpio-leds";
            row4: row_4 {
    			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
                label = "keypadrow4";
            };
            row3: row_3 {
                gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
                label = "keypadrow3";
            };
           row2: row_2 {
                gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
                label = "keypadrow2";
            };
           row1: row_1 {
                gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
                label = "keypadrow1";
            };
         };
    */

  • Hi,

     

    The nrf52840dongle_nrf52840 board is not setup to have keyboard functionality, but rather function only as a usb receiver, which means it does not have all the external setup (matrix, leds, etc) compared to nrf52840dk_nrf52840.

     

    I am able to reproduce this error:

    melt said:
    No such file or directory: b0_CONF_FILE: ''

    And it can be resolved by manually adding b0_CONF_FILE:

     

    However, you will run into more issues, due to mismatch in the board setup on nrf52840dk_nrf52840 vs. nrf52840dongle_nrf52840.

    It might be easier if you add usb to the nrf52840dk_nrf52840 target instead.

     

    Kind regards,

    Håkon

  • It might be easier if you add usb to the nrf52840dk_nrf52840 target instead.

    The DK has USB functionality that why I loaded the "working" DK build and code on a dongle and both USB and BLE HID works. But cant choose my GPIO accordingly.

    If I am to take the dongle schematics and change the GPIO to match the pins im using in the DK code, would that work? Im trying to avoid manufacturing my own PCB but if I have to I will.

Reply Children
Related