CYW20706のHCI Raw Dataモードの使い方 - KBA225970- Community Translated (JA)

Version 1

    Community Translated by KoKi_1693136           Version: **

     

    Translation - English: How to Use HCI Raw Data Mode in CYW20706 - KBA225970

     

    CYW20706のHCI UARTは、HCIモードとRaw Dataモードの二つのモードをサポートします。

    HCIモードに関して、SDKの中の“WICED HCI Control Protocol.pdf”に記載されているように、デバイスを制御するためのHCIコマンドを送ることができます。また、アプリケーションのUARTインターフェースとしても使うことができます。

    本KBAでは、HCI Raw Dataモードの使い方について説明します。SPPをベースにしたデモコードが添付されています。これは、BT SPPを介してHCI UARTとピアデバイス間をデータ転送するHCI UART to SPPブリッジのデモです。

     

    1.transport_cfg.でHCI UARTをRaw Dataモードに設定してください。

    下記は、トランスポートインタフェースをHCI UART(Raw Dataモード、ボーレートは115200)に設定します。UARTによって受信したデータはhci_control_proc_rx_cmd 関数で処理されます。

     

    const wiced_transport_cfg_t transport_cfg =

    {

        WICED_TRANSPORT_UART,

        {  WICED_TRANSPORT_UART_RAW_MODE, 115200 },

        {  TRANS_UART_BUFFER_SIZE, 2 },

        NULL,

        hci_control_proc_rx_cmd,

        NULL

    };

     

    2.受信したデータを処理するためにhci_control_proc_rx_cmd 関数を定義します。*p_buffer パラメータは受信データのポインタで、length はデータのバイト長です。

     

    uint32_t hci_control_proc_rx_cmd( uint8_t *p_buffer, uint32_t length )

    {

       uint8_t *p_data = p_buffer;

       …

       …

    }

     

    3.HCIモードとは少し違いがあります。RAW Dataトランスポートがデータを受信するのにサーキュラーバッファを使うため、hci_control_proc_rx_cmd 関数によって読まれたデータ長を返す必要があります。

     

              return length;

     

    4.SPPピアデバイスからデータを受信したとき、下記APIでHCI UARTにデータを送ります。

    wiced_result_t wiced_transport_send_data ( uint16_t code, uint8_t* p_data, uint16_t length );

     

     

    デモの使い方

     

    1.添付のファイルをダウンロードして解凍してください。解凍したファイルをCYW20706プロジェクト(例えば、20706-A2_Bluetooth\apps\demo)にコピーしてください。

    2.demo.spp-CYW920706WCDEVAL download のように、新しいMake Targetを作ってください。

    3.CYW920706WCDEVALボードをパソコンにつなぎ、プロジェクトをビルドしてデバイスにダウンロードしてください。

    4.“SPP test”という名前のデバイスを、SPPをサポートしたアプリをインストールした携帯電話と接続してください。

    5.パソコン上でUARTアプリケーションを開き、HCI UARTを選択してください。

    6.パソコンもしくは携帯電話からデータを送ると、相手側でそのデータを受け取ることができます。