There is no output to UART console when I set CONFIG_BT=y in prj.conf
peripheral_lbs sample project in ncs V2.0.2 can't printk anything.
There is no output to UART console when I set CONFIG_BT=y in prj.conf
peripheral_lbs sample project in ncs V2.0.2 can't printk anything.
If you have BT and UART console working, would you please post your prj.conf ? Thanks
Hi,
Unfortunately I cannot reproduce your issue.
I just now tried a brand new application based on the NCS v2.0.2 peripheral_lbs example on both the nRF52DK and the nRF5340DK, and for both printk() worked and I got data on a Serial Port.
I really don't think CONFIG_BT=y would break UART console, that would really not make sense.
Are you developing on a Development Kit or on your custom board?
By the way, as you requested, the prj.conf used to test:
# # 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="Nordic_LBS" # Enable the LBS service CONFIG_BT_LBS=y CONFIG_BT_LBS_POLL_BUTTON=y CONFIG_DK_LIBRARY=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
Best regards,
Hieu
P.s: Are you by any chance building with the example's prj_minimal.conf?
Hello Hieu,
Thanks for your quick response. I have one more request. Would you use the nrf5340dk_nrf5340_cpuapp.overlay file to disable to UART console and see if you can still receive output.? My problem seems to be complicated. The UART on nRF5340DK always work even if I intentionally disable the UART or assign different TX and RX pins. I am trying to make sure the overlay file can change the behavior first, then I will make correct adjustment on my own custom board.
I have more problem on my custom board, but one thing at a time. I want to get the UART working in different configuration/overlay first.
Thanks again.
My own. nrf5340dk_nrf5340_cpuapp.overlay. for a different custom board, but nRF5340DK is unexpectly working fine with it, so something is wrong
I may have mistakes in the overlay file
&uart0 {
//status = "okay";
status = "disabled";
label = "UART_0";
current-speed = <115200>; // 115200
pinctrl-0 = <&uart0_default_alt>;
pinctrl-1 = <&uart0_sleep_alt>;
pinctrl-names = "default", "sleep";
};
&pinctrl {
uart0_default_alt: uart0_default_alt {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 1)>; // P1.1 is TX
};
group2 {
psels = <NRF_PSEL(UART_RX, 0, 29)>; // P0.29 is RX
bias-pull-up;
};
};
uart0_sleep_alt: uart0_sleep_alt {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 1)>, // P1.1 is TX
<NRF_PSEL(UART_RX, 0, 29)>; // P0.29 is RX
low-power-enable;
};
};
};
Hi,
Sorry for being unable to keep on with the quick response. I broke my build environment somehow, and also had to learn a bit more on this topic.
Anyway, things works now. What I observe is that if I simply disable UART0 using just .overlay file, the build won't even succeed, because the Kconfig CONFIG_CONSOLE_UART depends on it. If I turn that Kconfig off, UART console stopped completely as you would expect.
If you are having a custom board, I believe the proper way would be to create your own .dts file for it rather than making .overlay to morph the nRF5340DK into your board.
Best regards,
Hieu