Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Studio Bluetooth Forum Discussions

ryli_4531716
Level 1
Level 1
First like given

Hello,

I would like to access high speed baud rate (4M) for testing

here are my configuration

1.using wiced studio to download a 4m fw which wiced_transport_cfg_t is set as 4M

2.try to use cybluetool and sent reset command , assume this is work and in HCI mode

3.pull open all J26 connect with MCU using UART_TXD, UART_RXD, and UART_CTS is connect to 20706 eval board J19_8

4.sent a hci_reset command in MCU's Linux terminal

5.see nothing outcome

but those steps work fine when setting as baud 115200, what am I missong  or anything wrong with high baud rate settings?

thank you for your comment.

Best regards,

0 Likes
2 Replies
SheetalJ
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi ryli_4531716​,

The maximum baud rate supported for HCI is 3M, therefore setting it to 4M will not work here.

Can you try setting it to 3M and test if it works.

0 Likes

Hi SheetalJ_96​,

yes, I noticed that.

and I found when start with 921600-3M ,and try to sent a dummy hci command first. it's not work as well

is anything shall notice with handling high speed?

there is my simple code:

-----------------------------------------------------------------------------------------------------

//set up

    char hci_reset[] = {0x01, 0x03, 0x0C, 0x00};

    char hci_dummy[] = {0x0a, 0x05};

//configure uart

    printf("config start\n\r");

    tcgetattr(fd, &options);

    options.c_cflag &= ~PARENB;

    options.c_cflag &= ~CSTOPB;

    options.c_cflag &= ~CSIZE;

    options.c_cflag |= CS8;

    options.c_cc[VTIME] = 20; // read timeout 10*100ms

    options.c_cc[VMIN] = 0;

    options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);

    options.c_oflag &= ~OPOST;

    options.c_iflag &= ~(ICRNL | IXON);

    cfsetispeed(&options, B921600);

    cfsetospeed(&options, B921600);

    options.c_cflag |= (CLOCAL | CREAD);

    tcflush(fd, TCIFLUSH);

    tcsetattr(fd, TCSANOW, &options);

    printf("config complete\n\r");

//write in hci command

        printf("write uart\n\r");

//send a fummy first        

ret = write(fd, hci_dummy, sizeof(hci_dummy));

        if (ret != sizeof( hci_dummy))

            printf("ERROR write ret=%d\n", ret);

//sleep

       sleep(1);

//send reset

        printf("write uart\n\r");

         ret = write(fd, hci_reset, sizeof(hci_reset));

        if (ret != sizeof( hci_reset))

            printf("ERROR write ret=%d\n", ret);

//read out

        printf("read uart\n\r");

        while ((ret = read(fd, rx_buf, 1)) > 0) {

          rx_buf[1] = 0;

          printf("0x%x\n", rx_buf[0]);

        }

    //}

//close

        close(fd);

-----------------------------------------------------------------------------------------------------   

thank you.

0 Likes