ANT

BCA_Libとは?

"BCA_Lib"は、BC-ANT-USBを使用するためのライブラリです。ANTデバイスの通信を簡単に行うことができます。
ANTについての詳細は、こちらのページをご覧ください。また、BC-ANT-USBの詳細はこちらをご覧下さい。

機能

主な機能は以下の通りです。

APIは

ファイル

定義

通信について

(例)
[送信側]
チャンネルNo:0
チャンネルタイプ:0 (MASTER)
共有チャンネル:0
デバイスNo:33
デバイスタイプ:1
トランスミッションタイプ:1
周波数:66 (2466Mhz)
送受信間隔:4Hz

コールバックI/Fを使用したサンプルコード

main() {
    //  ANTデバイスのオープン
    dev = BCA_OpenDevice(0);
    //  ANTデバイスの初期化
    res = BCA_Init(dev);
    //  送信コールバック関数の登録
    BCA_RegisterSendFunc(dev, SendFunc, NULL);
    //  チャンネルのオープン
    res = BCA_OpenChannel(dev,                          //      device context
                      0,                                //      channel no(0)
                      BCA_CHANNEL_TYPE_MASTER,          //      channel type(Master)
                      BCA_CHANNEL_NOSHARED,             //      shared channel
                      33,                               //      device no
                      1,                                //      device type
                      1,                                //      trans typs
                      66,                               //      freq 2466Hz = 2400 + 66
                      4);                               //      hz
    // 
    //  送信中...
    // 
    //  チャンネルのクローズ
    BCA_CloseChannel(dev, 0); 
    //  デバイスのクローズ
    BCA_CloseDevice(dev);
}
/////////////////////////////////////////////////////////////////
//      送信コールバック関数
/////////////////////////////////////////////////////////////////
void SendFunc(void* cookie, int channel, void* cookie)
{
        static unsigned char val = 0;
        unsigned char dat[8];
        memset(dat, val,8);
        val++;
        //      送信処理
        //      データは8バイト固定
        BCA_SendData(dev, channel, dat, 8);
}

[受信側]
チャンネルNo:0
チャンネルタイプ:1 (SLAVE)
共有チャンネル:0
デバイスNo:0(ワイルドカード)
デバイスタイプ:0(ワイルドカード)
トランスミッションタイプ:0(ワイルドカード)
周波数:66 (2466Mhz)
送受信間隔:4Hz

サンプルコード

main() {
    //  ANTデバイスのオープン
    dev = BCA_OpenDevice();
    //  ANTデバイスの初期化
    res = BCA_Init(dev);
    //  受信コールバック関数の登録
    BCA_RegisterReceiveFunc(dev,ReceiveFunc, NULL);
    //  チャンネルのオープン
    res = BCA_OpenChannel(dev,
                          0,                                    //      channel
                          BCA_CHANNEL_TYPE_SLAVE,               //      slave
                          BCA_CHANNEL_NOSHARED,                 //      shared channel
                          0,                                    //      device no
                          0,                                    //      device type
                          0,                                    //      tarans type
                          66,                                   //      freq
                          4);                                   //      Hz
    //
    //  受信中...
    //
    //  チャンネルのクローズ
    BCA_CloseChannel(dev, 0); 
    //  デバイスのクローズ
    BCA_CloseDevice(dev);
}
/////////////////////////////////////////////////////////////////
//      受信コールバック関数
/////////////////////////////////////////////////////////////////
void ReceiveFunc(void* cookie, int channel, unsigned char evnt, void* data, unsigned int length, void* cookie)
{
        unsigned char* dat = (unsigned char*)data;
        printf("DATA[%x][%d][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x]\n",
                        evnt,
                        channel,
                        dat[0],
                        dat[1],
                        dat[2],
                        dat[3],
                        dat[4],
                        dat[5],
                        dat[6],
                        dat[7]);
}

ペアリングについて

(例)
[送信側1]

チャンネルNo:0~
チャンネルタイプ:0 (MASTER)~
デバイスNo:1234~
周波数:66 (2466Mhz)~
送受信間隔:4Hz~


[送信側2]
チャンネルNo:0
チャンネルタイプ:0 (MASTER)
デバイスNo:5678
周波数:66 (2466Mhz)
送受信間隔:4Hz

[受信側]
チャンネルNo:0
チャンネルタイプ:1 (SLAVE)
デバイスNo:0
周波数:66 (2466Mhz)
送受信間隔:4Hz


BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   新規 一覧 単語検索 最終更新   最終更新のRSS