2 Replies Latest reply on Apr 16, 2020 8:11 PM by ryli_4531716

    using CYW920706WCDEVAL high speed baud rate

    ryli_4531716

      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,

        • 1. Re: using CYW920706WCDEVAL high speed baud rate
          SheetalJ_96

          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.

          • 2. Re: using CYW920706WCDEVAL high speed baud rate
            ryli_4531716

            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.