EC200U_CN not able to read anything

[ql_uart_demo][ql_uart_notify_cb, 60] UART port 0 receive ind type:0x82060003, receive data size:0

hi all,

please help to identify above issue ,i am using main port (com(main)) to read and write but from QCOM_V1.6 i am unable to send message to coolwatcher but still its coming like [ql_uart_demo][ql_uart_notify_cb, 60] UART port 0 receive ind type:0x82060003, receive data size:0

please help me with pins and dcb configuration and coding part

/*=================================================================

					EDIT HISTORY FOR MODULE

This section contains comments describing changes made to the module.
Notice that changes are listed in reverse chronological order.

WHEN WHO WHAT, WHERE, WHY


=================================================================*/

/*===========================================================================

  • include files
    ===========================================================================*/
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

#include “ql_api_osi.h”
#include “ql_log.h”
#include “ql_uart.h”
#include “ql_gpio.h”

/*===========================================================================
Definition
===========================================================================
/
#define QL_UART_DEMO_LOG_LEVEL QL_LOG_LEVEL_INFO
#define QL_UART_DEMO_LOG(msg, …) QL_LOG(QL_UART_DEMO_LOG_LEVEL, “ql_uart_demo”, msg, ##VA_ARGS)

#define QL_UART_TASK_STACK_SIZE 4096
#define QL_UART_TASK_PRIO APP_PRIORITY_NORMAL
#define QL_UART_TASK_EVENT_CNT 5

#define QL_UART_RX_BUFF_SIZE 2048
#define QL_UART_TX_BUFF_SIZE 2048

#define MIN(a,b) ((a) < (b) ? (a) : (b))

/*===========================================================================

  • Variate
    ===========================================================================*/

/*===========================================================================

  • Functions
    ===========================================================================*/

void ql_uart_notify_cb(unsigned int ind_type, ql_uart_port_number_e port, unsigned int size)
{
unsigned char *recv_buff = calloc(1, QL_UART_RX_BUFF_SIZE+1);
unsigned int real_size = 0;
int read_len = 0;

QL_UART_DEMO_LOG("UART port %d receive ind type:0x%x, receive data size:%d", port, ind_type, size);
switch(ind_type)
{
    //case QUEC_UART_RX_OVERFLOW_IND:  //rx buffer overflow
    //case QUEC_UART_RX_RECV_DATA_IND:
    {
        while(size > 0)
        {
            memset(recv_buff, 0, QL_UART_RX_BUFF_SIZE+1);
            real_size= MIN(size, QL_UART_RX_BUFF_SIZE);
            
            read_len = ql_uart_read(port, recv_buff, real_size);
            QL_UART_DEMO_LOG("read_len=%d, recv_data=%s", read_len, recv_buff);
            if((read_len > 0) && (size >= read_len))
            {
                size -= read_len;
            }
            else
            {
                break;
            }
        }
        break;
    }
    case QUEC_UART_TX_FIFO_COMPLETE_IND: 
    {
        QL_UART_DEMO_LOG("tx fifo complete");
        break;
    }
}
free(recv_buff);
recv_buff = NULL;

}

static void ql_uart_demo_thread(void *param)
{
int ret = 0;
QlOSStatus err = 0;
ql_uart_config_s uart_cfg = {0};
int write_len = 0;
unsigned char data[] = “hello uart demo\r\n”;

uart_cfg.baudrate = QL_UART_BAUD_115200;
uart_cfg.flow_ctrl = QL_FC_NONE;
uart_cfg.data_bit = QL_UART_DATABIT_8;
uart_cfg.stop_bit = QL_UART_STOP_1;
uart_cfg.parity_bit = QL_UART_PARITY_NONE;

ret = ql_uart_set_dcbconfig(QL_UART_PORT_1, &uart_cfg);
QL_UART_DEMO_LOG("ret: 0x%x", ret);
if(QL_UART_SUCCESS != ret)
{
	goto exit;
}

/***********************************************************
Note start:
	1. If QL_UART_PORT_1 is selected for use, there is no need to set TX and RX pin and function
	2. According to the QuecOpen GPIO table, user should select the correct PIN to set function
	3. CTS and RTS pins (UART2 and UART3) also need to be initialized if hardware flow control function is required
************************************************************/


ret = ql_uart_open(QL_UART_PORT_1);
QL_UART_DEMO_LOG("ret: 0x%x", ret);



    ret = ql_uart_register_cb(QL_UART_PORT_1, ql_uart_notify_cb);
    QL_UART_DEMO_LOG("ret: 0x%x", ret);

    memset(&uart_cfg, 0, sizeof(ql_uart_config_s));
    ret = ql_uart_get_dcbconfig(QL_UART_PORT_1, &uart_cfg);
    QL_UART_DEMO_LOG("ret: 0x%x, baudrate=%d, flow_ctrl=%d, data_bit=%d, stop_bit=%d, parity_bit=%d", 
                        ret, uart_cfg.baudrate, uart_cfg.flow_ctrl, uart_cfg.data_bit, uart_cfg.stop_bit, uart_cfg.parity_bit);
    
    while(1)
    {   
        write_len = ql_uart_write(QL_UART_PORT_1, data, strlen((char *)data));
        QL_UART_DEMO_LOG("write_len:%d", write_len);

        ql_rtos_task_sleep_ms(20000);
    }

exit:
err = ql_rtos_task_delete(NULL);
if(err != QL_OSI_SUCCESS)
{
QL_UART_DEMO_LOG(“task deleted failed”);
}
}

void ql_uart_app_init(void)
{
QlOSStatus err = 0;
ql_task_t uart_task = NULL;

err = ql_rtos_task_create(&uart_task, QL_UART_TASK_STACK_SIZE, QL_UART_TASK_PRIO, "QUARTDEMO", ql_uart_demo_thread, NULL, QL_UART_TASK_EVENT_CNT);
if (err != QL_OSI_SUCCESS)
{
	QL_UART_DEMO_LOG("demo task created failed");
    return;
}

}

Hi @manpreet
May I ask if this problem has been solved?

@lyman-Q We are facing the same issue “receive data size:0” alway even though the MCU is sending data on main UART port.

Please help?

Hi @trakbond
I’m not sure I understand your question. Can you describe your problem in more detail?