uart30 receive issue

Dear Nordic,

i have started my application with toolchain & sdk both v3.3.0, using custom services & charachteristics, with BLE advertising @500ms interval works fine. but when i disabled VCOM0 from board configurator and then in overlay declaring uart30 pinsP0.0 as TX and P0.1 as RX . Transmit works fine, But recieve not, even in polling mode. when i downgrade sdk and tool chain both to 2.8.0 it started works with all other functionality.

is it issue with sdk and toolchain  3.3.0 &3.31 , or any other method to get it work.

below is prj.conf

CONFIG_GPIO=y

# Bluetooth
CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y

CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=y
CONFIG_BT_DEVICE_NAME="Lock_Poc_1.8"
CONFIG_BT_GATT_SERVICE_CHANGED=y
CONFIG_BT_MAX_PAIRED=5
CONFIG_BT_DEVICE_APPEARANCE=0
CONFIG_BT_EXT_ADV=y
CONFIG_BT_PRIVACY=n

CONFIG_BT_SMP=y
CONFIG_BT_BONDABLE=y
CONFIG_BT_FIXED_PASSKEY=y

CONFIG_BT_SETTINGS=y
CONFIG_BT_GATT_DYNAMIC_DB=y

CONFIG_BT_ID_MAX=2

# Buffer parameters to support secure connections and DFU framing packets
CONFIG_BT_L2CAP_TX_MTU=247
CONFIG_BT_BUF_ACL_RX_SIZE=251
CONFIG_BT_BUF_ACL_TX_SIZE=251

#CONFIG_BT_PRIVACY=y
#CONFIG_BT_SMP_SC_ONLY=y

#CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
#CONFIG_BT_CTLR_TX_PWR_PLUS_7
#CONFIG_BT_CTLR_TX_PWR_PLUS_6
#CONFIG_BT_CTLR_TX_PWR_PLUS_5
#CONFIG_BT_CTLR_TX_PWR_PLUS_4
#CONFIG_BT_CTLR_TX_PWR_PLUS_3
#CONFIG_BT_CTLR_TX_PWR_PLUS_2
#CONFIG_BT_CTLR_TX_PWR_0
#CONFIG_BT_CTLR_TX_PWR_MINUS_4
#CONFIG_BT_CTLR_TX_PWR_MINUS_8
#CONFIG_BT_CTLR_TX_PWR_MINUS_12
#CONFIG_BT_CTLR_TX_PWR_MINUS_16
#CONFIG_BT_CTLR_TX_PWR_MINUS_20
CONFIG_BT_CTLR_TX_PWR_MINUS_40=y

#CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y
#CONFIG_BT_CTLR_ADVANCED_FEATURES=y
#CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y

CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_MCUMGR=y

CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
#===============For Sleep Mode===========#
CONFIG_PM=y
CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
CONFIG_CRC=y
CONFIG_POWEROFF=y
CONFIG_HWINFO=y
#=============for store variable in internal Flash==========#
CONFIG_FLASH=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
#======================for Button2/GPIO Input==============//
CONFIG_INPUT=y
CONFIG_INPUT_MODE_THREAD=y
#CONFIG_DK_BUTTONS_AND_LEDS=y

CONFIG_REBOOT=y #for Factory reset

# Enable C library extensions and POSIX RTC & Time management
CONFIG_POSIX_API=y

#===================for stack information================#
CONFIG_THREAD_STACK_INFO=y
CONFIG_INIT_STACKS=y
CONFIG_STACK_SENTINEL=y
#===================for change stack ================#
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096

#==========================For I2C==================#
#CONFIG_STDOUT_CONSOLE=y
#CONFIG_CBPRINTF_FP_SUPPORT=y
CONFIG_I2C=y
CONFIG_SENSOR=y
CONFIG_I2C_NRFX=y


#==================Fro Consol & UART ouput ==================#

CONFIG_SERIAL=y
CONFIG_UART_LINE_CTRL=n
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_UART_ASYNC_API=n
CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n
CONFIG_PRINTK=n
#=============detach pins from low power crystal=========#
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n


below is overlay

/* For more help, browse the devicetree documentation at docs.zephyrproject.org/.../index.html
* You can also visit the nRF DeviceTree extension documentation at docs.nordicsemi.com/.../ncs_configure_app.html
*/
&uicr {
nfct-pins-as-gpios;
};
&pinctrl {
i2c22_default: i2c22_default {
group1 {
psels = <NRF_PSEL(TWIM_SCL, 1, 3)>,
<NRF_PSEL(TWIM_SDA, 1, 2)>;
bias-pull-up;
};
};

i2c22_sleep: i2c22_sleep {
group1 {
psels = <NRF_PSEL(TWIM_SCL, 1, 3)>,
<NRF_PSEL(TWIM_SDA, 1, 2)>;
low-power-enable;
};
};
};

&i2c22 {
status = "okay";
clock-frequency = <I2C_BITRATE_STANDARD>;
pinctrl-0 = <&i2c22_default>;
pinctrl-1 = <&i2c22_sleep>;
pinctrl-names = "default", "sleep";

rx8111: rtc@32 {
status = "okay";
compatible = "epson,rx8111";
reg = <0x32>;
};
};


&uart20 {
status = "disabled";
};

/ {
chosen {
// /delete-property/ zephyr,console;
// /delete-property/ zephyr,shell-uart;
// /delete-property/ zephyr,uart-mcumgr;

};

};

&uart30 {
status = "okay";
current-speed = <115200>;
pinctrl-0 = <&uart30_default>;
pinctrl-1 = <&uart30_sleep>;
pinctrl-names = "default", "sleep";
};

&pinctrl {
uart30_default: uart30_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 0)>;
};
group2 {
psels = <NRF_PSEL(UART_RX, 0, 1)>;
bias-pull-up;
};
};

uart30_sleep: uart30_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 0)>,
<NRF_PSEL(UART_RX, 0, 1)>;
low-power-enable;
};
};
};



Related