processdata.cpp

説明を見る。
00001 #include "afw.h"
00002 #include "param.h"
00003 
00004 /** \file processdata.cpp
00005  *  \brief オーディオコールバック関数
00006  *  \author アナログ・デバイセズ株式会社
00007  *  \version 1.1
00008  *  \date    2006.Jan.16
00009  *
00010  * このファイルは、オーディオ処理のコールバック関数を含む。
00011  */
00012 namespace afw{
00013 /** コールバック関数の処理化
00014 *
00015 * コールバック関数を呼ぶ前に初期化の必要がある場合は、この関数内部で行う。
00016 */
00017     void initProcessData(void)
00018     {
00019     }
00020 /** オーディオ・コールバック関数
00021    *
00022    * @param leftIn 左チャンネルの入力データバッファ
00023    * @param rightIn 右チャンネルの入力データバッファ
00024    * @param leftOut 左チャンネルの出力データバッファ
00025    * @param rightOut 右チャンネルの出力データバッファ
00026    * @param count 各バッファに格納されているオーディオデータの数
00027    *
00028    * この関数はDMAが受信バッファをいっぱいにするたびに割り込み経由で呼ばれる。
00029    * 引数として渡されるのは受信データを含む入力バッファのほか、送信データを
00030    * 格納するために使う出力バッファとデータ個数である。
00031    * ユーザーは関数内部で入力バッファのデータを加工して、出力バッファに送信すべき
00032    * データをおく。
00033    *
00034    * 配列はshortfract型である。この16bit固定小数点型はshortと同じ大きさを
00035    * 持つが、四則は固定小数点領域で定義されている。
00036    * 
00037    * for文の内部では、1サンプルづつ、左右チャンネルコピーを行う。これで
00038    * 入力データが出力にコピーされる。コピーする際、
00039    * 
00040    * 割り込みソースのクリアなどは、この関数の呼び出し側で行うので、関数内で
00041    * 処理する必要はない。
00042    */
00043 
00044     void processData( 
00045                       const shortfract leftIn[], 
00046                       const shortfract rightIn[], 
00047                       shortfract leftOut[], 
00048                       shortfract rightOut[],
00049                       int count
00050                      )
00051     {    
00052 
00053         for ( int i=0; i<count; i++ ){      // 引数配列のすべてのデータをコピーする。
00054             leftOut[i] = leftIn[i] * param::gain;
00055             rightOut[i] = rightIn[i] * param::gain;
00056         }
00057 
00058     }   // processData
00059 
00060 };  // namespace afw

Push Buttonに対してTue Jan 16 14:13:22 2007に生成されました。  doxygen 1.5.1-p1