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!