Hi!
SDK Version: v2.6.0
I am getting build errors when trying to use PWM for an RGB LED. I have followed guides provided by Nordic but I must be getting something wrong.
Below is my prj.conf:
# # Copyright (c) 2018 Nordic Semiconductor # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # CONFIG_NCS_SAMPLES_DEFAULTS=y CONFIG_BT=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_DEVICE_NAME="AnyXXXX" # Enable the LBS service CONFIG_BT_LBS=y CONFIG_BT_LBS_POLL_BUTTON=y CONFIG_DK_LIBRARY=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 # Enable PWM CONFIG_LED=y CONFIG_PWM=y CONFIG_TIMER=y CONFIG_PWM_LOG_LEVEL_DBG=y
Below is my dts file:
// Copyright (c) 2024 Nordic Semiconductor ASA // SPDX-License-Identifier: Apache-2.0 /dts-v1/; #include <nordic/nrf52832_qfaa.dtsi> #include "centurion_anywhere_button-pinctrl.dtsi" / { model = "Centurion Anywhere Button"; compatible = "satech,centurion-anywhere-button"; chosen { zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; zephyr,console = &uart0 ; zephyr,shell-uart = &uart0 ; zephyr,uart-mcumgr = &uart0; }; buttons { compatible = "gpio-keys"; // button0: button_0 { // label = "Push button switch 0"; // gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; // }; button0: button_0 { label = "Push button switch 0"; gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; }; }; pwmleds { compatible = "pwm-leds"; pwm_ledg: pwm_led_g { pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>; }; pwm_ledb: pwm_led_b { pwms = <&pwm0 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>; }; pwm_ledr: pwm_led_r { pwms = <&pwm0 2 PWM_MSEC(20) PWM_POLARITY_INVERTED>; }; }; /* These aliases are provided for compatibility with samples */ aliases { button0 = &button0; pwm-ledg = &pwm_ledg; pwm-ledb = &pwm_ledb; pwm-ledr = &pwm_ledr; }; }; &flash0 { partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; boot_partition: partition@0 { label = "mcuboot"; reg = <0x0 0xc000>; }; slot0_partition: partition@c000 { label = "image-0"; reg = <0xc000 0x32000>; }; slot1_partition: partition@3e000 { label = "image-1"; reg = <0x3e000 0x32000>; }; scratch_partition: partition@70000 { label = "image-scratch"; reg = <0x70000 0xa000>; }; storage_partition: partition@7a000 { label = "storage"; reg = <0x7a000 0x6000>; }; }; }; &gpio0 { status = "okay"; }; &gpiote { status = "okay"; }; &uart0 { status = "okay"; current-speed = <115200>; pinctrl-0 = <&uart0_default>; pinctrl-1 = <&uart0_sleep>; pinctrl-names = "default", "sleep"; }; &pwm0 { status = "okay"; pinctrl-0 = <&pwm0_default>; pinctrl-1 = <&pwm0_sleep>; pinctrl-names = "default", "sleep"; };
Below is my dtsi file:
/* * Copyright (c) 2022 Nordic Semiconductor * SPDX-License-Identifier: Apache-2.0 */ &pinctrl { uart0_default: uart0_default { group1 { psels = <NRF_PSEL(UART_TX, 0, 6)>, <NRF_PSEL(UART_RTS, 0, 5)>; }; group2 { psels = <NRF_PSEL(UART_RX, 0, 8)>, <NRF_PSEL(UART_CTS, 0, 7)>; bias-pull-up; }; }; uart0_sleep: uart0_sleep { group1 { psels = <NRF_PSEL(UART_TX, 0, 6)>, <NRF_PSEL(UART_RX, 0, 8)>, <NRF_PSEL(UART_RTS, 0, 5)>, <NRF_PSEL(UART_CTS, 0, 7)>; low-power-enable; }; }; pwm0_default: pwm0_default { group1 { psels = <NRF_PSEL(PWM_OUT0, 0, 17)>, <NRF_PSEL(PWM_OUT1, 0, 18)>, <NRF_PSEL(PWM_OUT2, 0, 19)>; nordic,invert; }; }; pwm0_sleep: pwm0_sleep { group1 { psels = <NRF_PSEL(PWM_OUT0, 0, 17)>, <NRF_PSEL(PWM_OUT1, 0, 18)>, <NRF_PSEL(PWM_OUT2, 0, 19)>; low-power-enable; }; }; };
Below is my main.c file:
/* * Copyright (c) 2018 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ #include <zephyr/types.h> #include <stddef.h> #include <string.h> #include <errno.h> #include <zephyr/sys/util.h> //added from button sample #include <zephyr/sys/printk.h> #include <zephyr/sys/byteorder.h> #include <zephyr/kernel.h> #include <zephyr/device.h> //added from button sample #include <zephyr/drivers/gpio.h> #include <soc.h> #include <inttypes.h> //added from button sample #include <zephyr/bluetooth/bluetooth.h> #include <zephyr/bluetooth/hci.h> #include <zephyr/bluetooth/conn.h> #include <zephyr/bluetooth/uuid.h> #include <zephyr/bluetooth/gatt.h> #include <bluetooth/services/lbs.h> #include <zephyr/settings/settings.h> // #include <dk_buttons_and_leds.h> #include <zephyr/drivers/pwm.h> #define DEVICE_NAME CONFIG_BT_DEVICE_NAME #define DEVICE_NAME_LEN (sizeof(DEVICE_NAME) - 1) /* Taken from button sample **************************************************************************************/ /* * Get button configuration from the devicetree sw0 alias. This is mandatory. */ #define BUTTON_0 DT_ALIAS(button0) #if !DT_NODE_HAS_STATUS(BUTTON_0, okay) #error "Unsupported board: button_0 devicetree alias is not defined" #endif static const struct gpio_dt_spec button = GPIO_DT_SPEC_GET_OR(BUTTON_0, gpios, {0}); static struct gpio_callback button_cb_data; void button_event(const struct device *dev, struct gpio_callback *cb, uint32_t pins) { int val = gpio_pin_get_dt(&button); if (val >= 0) { printk("Button PRESSED at %" PRIu32 "\n", k_cycle_get_32()); }else{ printk("Button RELEASED at %" PRIu32 "\n", k_cycle_get_32()); } } static bool app_button_state; //taken from lbs sample in order to differentiate button press/release events /*****************************************************************************************************************/ /* Taken from RGB LED sample *************************************************************************************/ static const struct pwm_dt_spec green_pwm_led = PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); static const struct pwm_dt_spec blue_pwm_led = PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); static const struct pwm_dt_spec red_pwm_led = PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); #define STEP_SIZE PWM_USEC(2000) /*****************************************************************************************************************/ // #define RUN_STATUS_LED DK_LED1 // #define CON_STATUS_LED DK_LED2 // #define RUN_LED_BLINK_INTERVAL 1000 // #define USER_LED DK_LED3 // #define USER_BUTTON DK_BTN1_MSK // static bool app_button_state; static const struct bt_data ad[] = { BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)), BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN), }; static const struct bt_data sd[] = { BT_DATA_BYTES(BT_DATA_UUID128_ALL, BT_UUID_LBS_VAL), }; static void connected(struct bt_conn *conn, uint8_t err) { if (err) { printk("Connection failed (err %u)\n", err); return; } printk("Connected\n"); // dk_set_led_on(CON_STATUS_LED); } static void disconnected(struct bt_conn *conn, uint8_t reason) { printk("Disconnected (reason %u)\n", reason); // dk_set_led_off(CON_STATUS_LED); } // #ifdef CONFIG_BT_LBS_SECURITY_ENABLED // static void security_changed(struct bt_conn *conn, bt_security_t level, // enum bt_security_err err) // { // char addr[BT_ADDR_LE_STR_LEN]; // bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr)); // if (!err) { // printk("Security changed: %s level %u\n", addr, level); // } else { // printk("Security failed: %s level %u err %d\n", addr, level, // err); // } // } // #endif BT_CONN_CB_DEFINE(conn_callbacks) = { .connected = connected, .disconnected = disconnected, // #ifdef CONFIG_BT_LBS_SECURITY_ENABLED // .security_changed = security_changed, // #endif }; #if defined(CONFIG_BT_LBS_SECURITY_ENABLED) static void auth_passkey_display(struct bt_conn *conn, unsigned int passkey) { char addr[BT_ADDR_LE_STR_LEN]; bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr)); printk("Passkey for %s: %06u\n", addr, passkey); } static void auth_cancel(struct bt_conn *conn) { char addr[BT_ADDR_LE_STR_LEN]; bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr)); printk("Pairing cancelled: %s\n", addr); } static void pairing_complete(struct bt_conn *conn, bool bonded) { char addr[BT_ADDR_LE_STR_LEN]; bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr)); printk("Pairing completed: %s, bonded: %d\n", addr, bonded); } static void pairing_failed(struct bt_conn *conn, enum bt_security_err reason) { char addr[BT_ADDR_LE_STR_LEN]; bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr)); printk("Pairing failed conn: %s, reason %d\n", addr, reason); } static struct bt_conn_auth_cb conn_auth_callbacks = { .passkey_display = auth_passkey_display, .cancel = auth_cancel, }; static struct bt_conn_auth_info_cb conn_auth_info_callbacks = { .pairing_complete = pairing_complete, .pairing_failed = pairing_failed }; #else static struct bt_conn_auth_cb conn_auth_callbacks; static struct bt_conn_auth_info_cb conn_auth_info_callbacks; #endif static void app_led_cb(bool led_state) { // dk_set_led(USER_LED, led_state); printk("app_led_cb HIT\n"); } static bool app_button_cb(void) { return app_button_state; } static struct bt_lbs_cb lbs_callbacs = { .led_cb = app_led_cb, .button_cb = app_button_cb, }; // static void button_changed(uint32_t button_state, uint32_t has_changed) // { // if (has_changed & USER_BUTTON) { // uint32_t user_button_state = button_state & USER_BUTTON; // bt_lbs_send_button_state(user_button_state); // app_button_state = user_button_state ? true : false; // } // } // static int init_button(void) // { // int err; // err = dk_buttons_init(button_changed); // if (err) { // printk("Cannot init buttons (err: %d)\n", err); // } // return err; // } int main(void) { // int blink_status = 0; int err; int ret; printk("Starting RES-BPB\n"); /* Taken from button sample **************************************************************************************/ if (!gpio_is_ready_dt(&button)) { printk("Error: button device %s is not ready\n", button.port->name); return 0; } ret = gpio_pin_configure_dt(&button, GPIO_INPUT); if (ret != 0) { printk("Error %d: failed to configure %s pin %d\n", ret, button.port->name, button.pin); return 0; } ret = gpio_pin_interrupt_configure_dt(&button, GPIO_INT_EDGE_BOTH); //changed to both edges from just rising edge if (ret != 0) { printk("Error %d: failed to configure interrupt on %s pin %d\n", ret, button.port->name, button.pin); return 0; } gpio_init_callback(&button_cb_data, button_event, BIT(button.pin)); gpio_add_callback(button.port, &button_cb_data); printk("Set up button at %s pin %d\n", button.port->name, button.pin); /*****************************************************************************************************************/ /*Taken from RGB LED Sample***************************************************************************************/ if (!pwm_is_ready_dt(&green_pwm_led) || !pwm_is_ready_dt(&blue_pwm_led) || !pwm_is_ready_dt(&red_pwm_led)) { printk("Error: one or more PWM devices not ready\n"); return 0; } /*****************************************************************************************************************/ // err = init_button(); // if (err) { // printk("Button init failed (err %d)\n", err); // return 0; // } if (IS_ENABLED(CONFIG_BT_LBS_SECURITY_ENABLED)) { err = bt_conn_auth_cb_register(&conn_auth_callbacks); if (err) { printk("Failed to register authorization callbacks.\n"); return 0; } err = bt_conn_auth_info_cb_register(&conn_auth_info_callbacks); if (err) { printk("Failed to register authorization info callbacks.\n"); return 0; } } err = bt_enable(NULL); if (err) { printk("Bluetooth init failed (err %d)\n", err); return 0; } printk("Bluetooth initialized\n"); if (IS_ENABLED(CONFIG_SETTINGS)) { settings_load(); } err = bt_lbs_init(&lbs_callbacs); if (err) { printk("Failed to init LBS (err:%d)\n", err); return 0; } err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd)); if (err) { printk("Advertising failed to start (err %d)\n", err); return 0; } printk("Advertising successfully started\n"); for (;;) { // dk_set_led(RUN_STATUS_LED, (++blink_status) % 2); k_sleep(K_MSEC(1000)); } }
Below is the building error:
-- Configuring done -- Generating done -- Build files have been written to: C:/nordic/myapps/RES-BPB/build -- west build: building application [4/218] Generating include/generated/version.h -- Zephyr version: 3.5.99 (C:/ncs/v2.6.0/zephyr), build: d96769faceca [65/218] Building C object CMakeFiles/app.dir/src/main.c.obj FAILED: CMakeFiles/app.dir/src/main.c.obj C:\ncs\toolchains\cf2149caf2\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -DKERNEL -DNRF52832_XXAA -DPICOLIBC_LONG_LONG_PRINTF_SCANF -D_FORTIFY_SOURCE=1 -D_POSIX_C_SOURCE=200809 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/nordic/myapps/RES-BPB/. -IC:/ncs/v2.6.0/nrf/drivers/mpsl/clock_control -IC:/ncs/v2.6.0/zephyr/include -IC:/nordic/myapps/RES-BPB/build/zephyr/include/generated -IC:/ncs/v2.6.0/zephyr/soc/arm/nordic_nrf/nrf52 -IC:/ncs/v2.6.0/zephyr/soc/common/nordic_nrf/. -IC:/ncs/v2.6.0/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v2.6.0/zephyr/subsys/bluetooth -IC:/ncs/v2.6.0/zephyr/subsys/settings/include -IC:/ncs/v2.6.0/nrf/include -IC:/ncs/v2.6.0/nrf/lib/multithreading_lock/. -IC:/ncs/v2.6.0/nrf/subsys/bluetooth/controller/. -IC:/ncs/v2.6.0/zephyr/drivers/flash -IC:/ncs/v2.6.0/nrf/tests/include -IC:/ncs/v2.6.0/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v2.6.0/zephyr/modules/cmsis/. -IC:/ncs/v2.6.0/modules/hal/nordic/nrfx -IC:/ncs/v2.6.0/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v2.6.0/modules/hal/nordic/nrfx/mdk -IC:/ncs/v2.6.0/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v2.6.0/modules/debug/segger/SEGGER -IC:/ncs/v2.6.0/modules/debug/segger/Config -IC:/ncs/v2.6.0/modules/crypto/tinycrypt/lib/include -IC:/ncs/v2.6.0/nrfxlib/mpsl/fem/common/include -IC:/ncs/v2.6.0/nrfxlib/mpsl/fem/nrf21540_gpio/include -IC:/ncs/v2.6.0/nrfxlib/mpsl/fem/nrf21540_gpio_spi/include -IC:/ncs/v2.6.0/nrfxlib/mpsl/fem/simple_gpio/include -IC:/ncs/v2.6.0/nrfxlib/mpsl/fem/include -IC:/ncs/v2.6.0/nrfxlib/mpsl/fem/include/protocol -IC:/ncs/v2.6.0/nrfxlib/mpsl/include -IC:/ncs/v2.6.0/nrfxlib/mpsl/include/protocol -IC:/ncs/v2.6.0/nrfxlib/softdevice_controller/include -isystem C:/ncs/v2.6.0/zephyr/lib/libc/common/include -fno-strict-aliasing -Os -imacros C:/nordic/myapps/RES-BPB/build/zephyr/include/generated/autoconf.h -fno-printf-return-value -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft --sysroot=C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=C:/nordic/myapps/RES-BPB=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v2.6.0/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v2.6.0=WEST_TOPDIR -ffunction-sections -fdata-sections --specs=picolibc.specs -std=c99 -MD -MT CMakeFiles/app.dir/src/main.c.obj -MF CMakeFiles\app.dir\src\main.c.obj.d -o CMakeFiles/app.dir/src/main.c.obj -c C:/nordic/myapps/RES-BPB/src/main.c In file included from C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/gcc.h:98, from C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain.h:50, from C:/ncs/v2.6.0/zephyr/include/zephyr/sys/util.h:18, from C:/nordic/myapps/RES-BPB/src/main.c:11: C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:89:41: error: '__device_dts_ord_DT_N_ALIAS_pwm' undeclared here (not in a function) 89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id) | ^~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/common.h:137:26: note: in definition of macro '_DO_CONCAT' 137 | #define _DO_CONCAT(x, y) x ## y | ^ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:89:33: note: in expansion of macro '_CONCAT' 89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:216:37: note: in expansion of macro 'DEVICE_NAME_GET' 216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id)) | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:233:34: note: in expansion of macro 'DEVICE_DT_NAME_GET' 233 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id)) | ^~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:258:24: note: in expansion of macro 'DEVICE_DT_GET' 258 | .dev = DEVICE_DT_GET(DT_PWMS_CTLR_BY_IDX(node_id, idx)), \ | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:38: error: 'ledg_P_pwms_IDX_0_PH_ORD' undeclared here (not in a function) 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/common.h:137:31: note: in definition of macro '_DO_CONCAT' 137 | #define _DO_CONCAT(x, y) x ## y | ^ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:89:33: note: in expansion of macro '_CONCAT' 89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:216:37: note: in expansion of macro 'DEVICE_NAME_GET' 216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id)) | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/common.h:138:23: note: in expansion of macro '_DO_CONCAT' 138 | #define _CONCAT(x, y) _DO_CONCAT(x, y) | ^~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:99:37: note: in expansion of macro '_CONCAT' 99 | #define Z_DEVICE_DT_DEV_ID(node_id) _CONCAT(dts_ord_, DT_DEP_ORD(node_id)) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/ordinals.h:25:29: note: in expansion of macro 'DT_CAT' 25 | #define DT_DEP_ORD(node_id) DT_CAT(node_id, _ORD) | ^~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:99:55: note: in expansion of macro 'DT_DEP_ORD' 99 | #define Z_DEVICE_DT_DEV_ID(node_id) _CONCAT(dts_ord_, DT_DEP_ORD(node_id)) | ^~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:216:53: note: in expansion of macro 'Z_DEVICE_DT_DEV_ID' 216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id)) | ^~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:233:34: note: in expansion of macro 'DEVICE_DT_NAME_GET' 233 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id)) | ^~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:258:24: note: in expansion of macro 'DEVICE_DT_GET' 258 | .dev = DEVICE_DT_GET(DT_PWMS_CTLR_BY_IDX(node_id, idx)), \ | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:1592:9: note: in expansion of macro 'DT_CAT6' 1592 | DT_CAT6(node_id, _P_, prop, _IDX_, idx, _PH) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:52:9: note: in expansion of macro 'DT_PHANDLE_BY_IDX' 52 | DT_PHANDLE_BY_IDX(node_id, pwms, idx) | ^~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:258:38: note: in expansion of macro 'DT_PWMS_CTLR_BY_IDX' 258 | .dev = DEVICE_DT_GET(DT_PWMS_CTLR_BY_IDX(node_id, idx)), \ | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:25: note: in expansion of macro 'DT_ALIAS' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~ In file included from C:/ncs/v2.6.0/zephyr/include/zephyr/arch/arm/arch.h:20, from C:/ncs/v2.6.0/zephyr/include/zephyr/arch/cpu.h:19, from C:/ncs/v2.6.0/zephyr/include/zephyr/kernel_includes.h:37, from C:/ncs/v2.6.0/zephyr/include/zephyr/kernel.h:17, from C:/nordic/myapps/RES-BPB/src/main.c:14: C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:32: error: 'DT_N_ALIAS_pwm' undeclared here (not in a function); did you mean 'DT_N_ALIAS_pwm_ledb'? 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7' 4352 | a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7 | ^~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:136:9: note: in expansion of macro 'DT_PHA_BY_IDX' 136 | DT_PHA_BY_IDX(node_id, pwms, idx, cell) | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:208:9: note: in expansion of macro 'DT_PWMS_CELL_BY_IDX' 208 | DT_PWMS_CELL_BY_IDX(node_id, idx, channel) | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:259:28: note: in expansion of macro 'DT_PWMS_CHANNEL_BY_IDX' 259 | .channel = DT_PWMS_CHANNEL_BY_IDX(node_id, idx), \ | ^~~~~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:25: note: in expansion of macro 'DT_ALIAS' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:38: error: 'ledg_P_pwms_IDX_0_VAL_channel' undeclared here (not in a function) 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7' 4352 | a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7 | ^~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:136:9: note: in expansion of macro 'DT_PHA_BY_IDX' 136 | DT_PHA_BY_IDX(node_id, pwms, idx, cell) | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:208:9: note: in expansion of macro 'DT_PWMS_CELL_BY_IDX' 208 | DT_PWMS_CELL_BY_IDX(node_id, idx, channel) | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:259:28: note: in expansion of macro 'DT_PWMS_CHANNEL_BY_IDX' 259 | .channel = DT_PWMS_CHANNEL_BY_IDX(node_id, idx), \ | ^~~~~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:25: note: in expansion of macro 'DT_ALIAS' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:38: error: 'ledg_P_pwms_IDX_0_VAL_period' undeclared here (not in a function) 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7' 4352 | a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7 | ^~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:136:9: note: in expansion of macro 'DT_PHA_BY_IDX' 136 | DT_PHA_BY_IDX(node_id, pwms, idx, cell) | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:249:9: note: in expansion of macro 'DT_PWMS_CELL_BY_IDX' 249 | DT_PWMS_CELL_BY_IDX(node_id, idx, period) | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:260:27: note: in expansion of macro 'DT_PWMS_PERIOD_BY_IDX' 260 | .period = DT_PWMS_PERIOD_BY_IDX(node_id, idx), \ | ^~~~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:66:25: note: in expansion of macro 'DT_ALIAS' 66 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledg)); | ^~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:38: error: 'ledb_P_pwms_IDX_0_PH_ORD' undeclared here (not in a function) 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/common.h:137:31: note: in definition of macro '_DO_CONCAT' 137 | #define _DO_CONCAT(x, y) x ## y | ^ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:89:33: note: in expansion of macro '_CONCAT' 89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:216:37: note: in expansion of macro 'DEVICE_NAME_GET' 216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id)) | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/common.h:138:23: note: in expansion of macro '_DO_CONCAT' 138 | #define _CONCAT(x, y) _DO_CONCAT(x, y) | ^~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:99:37: note: in expansion of macro '_CONCAT' 99 | #define Z_DEVICE_DT_DEV_ID(node_id) _CONCAT(dts_ord_, DT_DEP_ORD(node_id)) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/ordinals.h:25:29: note: in expansion of macro 'DT_CAT' 25 | #define DT_DEP_ORD(node_id) DT_CAT(node_id, _ORD) | ^~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:99:55: note: in expansion of macro 'DT_DEP_ORD' 99 | #define Z_DEVICE_DT_DEV_ID(node_id) _CONCAT(dts_ord_, DT_DEP_ORD(node_id)) | ^~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:216:53: note: in expansion of macro 'Z_DEVICE_DT_DEV_ID' 216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id)) | ^~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:233:34: note: in expansion of macro 'DEVICE_DT_NAME_GET' 233 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id)) | ^~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:258:24: note: in expansion of macro 'DEVICE_DT_GET' 258 | .dev = DEVICE_DT_GET(DT_PWMS_CTLR_BY_IDX(node_id, idx)), \ | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:1592:9: note: in expansion of macro 'DT_CAT6' 1592 | DT_CAT6(node_id, _P_, prop, _IDX_, idx, _PH) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:52:9: note: in expansion of macro 'DT_PHANDLE_BY_IDX' 52 | DT_PHANDLE_BY_IDX(node_id, pwms, idx) | ^~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:258:38: note: in expansion of macro 'DT_PWMS_CTLR_BY_IDX' 258 | .dev = DEVICE_DT_GET(DT_PWMS_CTLR_BY_IDX(node_id, idx)), \ | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:25: note: in expansion of macro 'DT_ALIAS' 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:38: error: 'ledb_P_pwms_IDX_0_VAL_channel' undeclared here (not in a function) 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7' 4352 | a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7 | ^~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:136:9: note: in expansion of macro 'DT_PHA_BY_IDX' 136 | DT_PHA_BY_IDX(node_id, pwms, idx, cell) | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:208:9: note: in expansion of macro 'DT_PWMS_CELL_BY_IDX' 208 | DT_PWMS_CELL_BY_IDX(node_id, idx, channel) | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:259:28: note: in expansion of macro 'DT_PWMS_CHANNEL_BY_IDX' 259 | .channel = DT_PWMS_CHANNEL_BY_IDX(node_id, idx), \ | ^~~~~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:25: note: in expansion of macro 'DT_ALIAS' 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:38: error: 'ledb_P_pwms_IDX_0_VAL_period' undeclared here (not in a function) 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7' 4352 | a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7 | ^~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:136:9: note: in expansion of macro 'DT_PHA_BY_IDX' 136 | DT_PHA_BY_IDX(node_id, pwms, idx, cell) | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:249:9: note: in expansion of macro 'DT_PWMS_CELL_BY_IDX' 249 | DT_PWMS_CELL_BY_IDX(node_id, idx, period) | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:260:27: note: in expansion of macro 'DT_PWMS_PERIOD_BY_IDX' 260 | .period = DT_PWMS_PERIOD_BY_IDX(node_id, idx), \ | ^~~~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:68:25: note: in expansion of macro 'DT_ALIAS' 68 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledb)); | ^~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:38: error: 'ledr_P_pwms_IDX_0_PH_ORD' undeclared here (not in a function) 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/common.h:137:31: note: in definition of macro '_DO_CONCAT' 137 | #define _DO_CONCAT(x, y) x ## y | ^ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:89:33: note: in expansion of macro '_CONCAT' 89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:216:37: note: in expansion of macro 'DEVICE_NAME_GET' 216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id)) | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/toolchain/common.h:138:23: note: in expansion of macro '_DO_CONCAT' 138 | #define _CONCAT(x, y) _DO_CONCAT(x, y) | ^~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:99:37: note: in expansion of macro '_CONCAT' 99 | #define Z_DEVICE_DT_DEV_ID(node_id) _CONCAT(dts_ord_, DT_DEP_ORD(node_id)) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/ordinals.h:25:29: note: in expansion of macro 'DT_CAT' 25 | #define DT_DEP_ORD(node_id) DT_CAT(node_id, _ORD) | ^~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:99:55: note: in expansion of macro 'DT_DEP_ORD' 99 | #define Z_DEVICE_DT_DEV_ID(node_id) _CONCAT(dts_ord_, DT_DEP_ORD(node_id)) | ^~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:216:53: note: in expansion of macro 'Z_DEVICE_DT_DEV_ID' 216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id)) | ^~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/device.h:233:34: note: in expansion of macro 'DEVICE_DT_NAME_GET' 233 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id)) | ^~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:258:24: note: in expansion of macro 'DEVICE_DT_GET' 258 | .dev = DEVICE_DT_GET(DT_PWMS_CTLR_BY_IDX(node_id, idx)), \ | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:1592:9: note: in expansion of macro 'DT_CAT6' 1592 | DT_CAT6(node_id, _P_, prop, _IDX_, idx, _PH) | ^~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:52:9: note: in expansion of macro 'DT_PHANDLE_BY_IDX' 52 | DT_PHANDLE_BY_IDX(node_id, pwms, idx) | ^~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:258:38: note: in expansion of macro 'DT_PWMS_CTLR_BY_IDX' 258 | .dev = DEVICE_DT_GET(DT_PWMS_CTLR_BY_IDX(node_id, idx)), \ | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:25: note: in expansion of macro 'DT_ALIAS' 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:38: error: 'ledr_P_pwms_IDX_0_VAL_channel' undeclared here (not in a function) 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7' 4352 | a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7 | ^~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:136:9: note: in expansion of macro 'DT_PHA_BY_IDX' 136 | DT_PHA_BY_IDX(node_id, pwms, idx, cell) | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:208:9: note: in expansion of macro 'DT_PWMS_CELL_BY_IDX' 208 | DT_PWMS_CELL_BY_IDX(node_id, idx, channel) | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:259:28: note: in expansion of macro 'DT_PWMS_CHANNEL_BY_IDX' 259 | .channel = DT_PWMS_CHANNEL_BY_IDX(node_id, idx), \ | ^~~~~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:25: note: in expansion of macro 'DT_ALIAS' 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:38: error: 'ledr_P_pwms_IDX_0_VAL_period' undeclared here (not in a function) 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7' 4352 | a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7 | ^~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:136:9: note: in expansion of macro 'DT_PHA_BY_IDX' 136 | DT_PHA_BY_IDX(node_id, pwms, idx, cell) | ^~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree/pwms.h:249:9: note: in expansion of macro 'DT_PWMS_CELL_BY_IDX' 249 | DT_PWMS_CELL_BY_IDX(node_id, idx, period) | ^~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:260:27: note: in expansion of macro 'DT_PWMS_PERIOD_BY_IDX' 260 | .period = DT_PWMS_PERIOD_BY_IDX(node_id, idx), \ | ^~~~~~~~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/drivers/pwm.h:326:34: note: in expansion of macro 'PWM_DT_SPEC_GET_BY_IDX' 326 | #define PWM_DT_SPEC_GET(node_id) PWM_DT_SPEC_GET_BY_IDX(node_id, 0) | ^~~~~~~~~~~~~~~~~~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:9: note: in expansion of macro 'PWM_DT_SPEC_GET' 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~~~~~~~~~~~~ C:/ncs/v2.6.0/zephyr/include/zephyr/devicetree.h:238:25: note: in expansion of macro 'DT_CAT' 238 | #define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias) | ^~~~~~ C:/nordic/myapps/RES-BPB/src/main.c:70:25: note: in expansion of macro 'DT_ALIAS' 70 | PWM_DT_SPEC_GET(DT_ALIAS(pwm-ledr)); | ^~~~~~~~ [66/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/printk.c.obj [67/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap.c.obj [68/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/rb.c.obj [69/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/sem.c.obj [70/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/bitarray.c.obj [71/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/multi_heap.c.obj [72/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/reboot.c.obj [73/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap-validate.c.obj [74/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/onoff.c.obj [75/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/notify.c.obj [76/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/thread_entry.c.obj [77/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/assert.c.obj [78/218] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/storage/flash_map/flash_map.c.obj [79/218] Building C object zephyr/CMakeFiles/zephyr.dir/misc/generated/configs.c.obj [80/218] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_complete.c.obj [81/218] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/tracing/tracing_none.c.obj [82/218] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/mem_mgmt/mem_attr.c.obj [83/218] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_minimal.c.obj [84/218] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/settings/src/settings_store.c.obj [85/218] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/storage/flash_map/flash_map_default.c.obj [86/218] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/fs/nvs/nvs.c.obj ninja: build stopped: subcommand failed. FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\cf2149caf2\opt\bin\cmake.EXE' --build 'c:\nordic\myapps\RES-BPB\build' * The terminal process terminated with exit code: 1. * Terminal will be reused by tasks, press any key to close it.
If anyone could point me towards what the issue may be that would be greatly appreciated!