* 左右チャンネルそれぞれに配列を与える。配列内部にはサンプル順にデータが並ぶ。
* ステレオは2系統あるので左チャンネルも2系統分のデータがある。
*/
-static int leftIn[AUDIOBUFSIZE];
+static int leftIn[UZUME_BLOCKSIZE];
/**
* @brief 右入力データ引渡し変数
*
* 左右チャンネルそれぞれに配列を与える。配列内部にはサンプル順にデータが並ぶ。
* ステレオは2系統あるので右チャンネルも2系統分のデータがある。
*/
-static int rightIn[AUDIOBUFSIZE];
+static int rightIn[UZUME_BLOCKSIZE];
/**
* @brief 左出力データ引渡し変数
*
* @ref codec_callback()関数から出力オーディオデータをうけとるための引数。
* 左右チャンネルそれぞれに配列を与える。配列内部にはサンプル順にデータが並ぶ。
*/
-static int leftOut[AUDIOBUFSIZE];
+static int leftOut[UZUME_BLOCKSIZE];
/**
* @brief 右出力データ引渡し変数
*
* @ref codec_callback()関数から出力オーディオデータをうけとるための引数。
* 左右チャンネルそれぞれに配列を与える。配列内部にはサンプル順にデータが並ぶ。
*/
-static int rightOut[AUDIOBUFSIZE];
+static int rightOut[UZUME_BLOCKSIZE];
/**
* @brief コーデックの初期化
rxDesc[0].next = &rxDesc[1];
rxDesc[0].start = RxBuffer[0].data;
rxDesc[0].config = 0x7700 | WNR | WDSIZE_32 | DI_EN | DMAEN; // Large List, 7 short word.
- rxDesc[0].x_count = SLOT_PER_SAMPLE * AUDIOBUFSIZE;
+ rxDesc[0].x_count = SLOT_PER_SAMPLE * UZUME_BLOCKSIZE;
rxDesc[0].x_modify = 4;
rxDesc[0].avairableBuf = 1; // DMA_NEXT_PTRがデスクリプタ[0]なら、バッファ1を使える。
rxDesc[1].next = &rxDesc[2];
rxDesc[1].start = RxBuffer[1].data;
rxDesc[1].config = 0x7700 | WNR | WDSIZE_32 | DI_EN | DMAEN; // Large List, 7 short word.
- rxDesc[1].x_count = SLOT_PER_SAMPLE * AUDIOBUFSIZE;
+ rxDesc[1].x_count = SLOT_PER_SAMPLE * UZUME_BLOCKSIZE;
rxDesc[1].x_modify = 4;
rxDesc[1].avairableBuf = 2; // DMA_NEXT_PTRがデスクリプタ[1]なら、バッファ2を使える。
rxDesc[2].next = &rxDesc[0];
rxDesc[2].start = RxBuffer[2].data;
rxDesc[2].config = 0x7700 | WNR | WDSIZE_32 | DI_EN | DMAEN; // Large List, 7 short word.
- rxDesc[2].x_count = SLOT_PER_SAMPLE * AUDIOBUFSIZE;
+ rxDesc[2].x_count = SLOT_PER_SAMPLE * UZUME_BLOCKSIZE;
rxDesc[2].x_modify = 4;
rxDesc[2].avairableBuf = 0; // DMA_NEXT_PTRがデスクリプタ[2]なら、バッファ0を使える。
txDesc[0].next = &txDesc[1];
txDesc[0].start = TxBuffer[0].data;
txDesc[0].config = 0x7700 | WDSIZE_32 | DMAEN; // Large List, 7 short word.
- txDesc[0].x_count = SLOT_PER_SAMPLE * AUDIOBUFSIZE;
+ txDesc[0].x_count = SLOT_PER_SAMPLE * UZUME_BLOCKSIZE;
txDesc[0].x_modify = 4;
txDesc[0].avairableBuf = 1; // DMA_NEXT_PTRがデスクリプタ[0]なら、バッファ1を使える。
txDesc[1].next = &txDesc[2];
txDesc[1].start = TxBuffer[1].data;
txDesc[1].config = 0x7700 | WDSIZE_32 | DMAEN; // Large List, 7 short word.
- txDesc[1].x_count = SLOT_PER_SAMPLE * AUDIOBUFSIZE;
+ txDesc[1].x_count = SLOT_PER_SAMPLE * UZUME_BLOCKSIZE;
txDesc[1].x_modify = 4;
txDesc[1].avairableBuf = 2; // DMA_NEXT_PTRがデスクリプタ[1]なら、バッファ2を使える。
txDesc[2].next = &txDesc[0];
txDesc[2].start = TxBuffer[2].data;
txDesc[2].config = 0x7700 | WDSIZE_32 | DMAEN; // Large List, 7 short word.
- txDesc[2].x_count = SLOT_PER_SAMPLE * AUDIOBUFSIZE;
+ txDesc[2].x_count = SLOT_PER_SAMPLE * UZUME_BLOCKSIZE;
txDesc[2].x_modify = 4;
txDesc[2].avairableBuf = 0; // DMA_NEXT_PTRがデスクリプタ[2]なら、バッファ1を使える。
init_codec();
- init_audio( AUDIOBUFSIZE ); // コールバックの初期化
+ init_audio( UZUME_BLOCKSIZE ); // コールバックの初期化
setup_sport0(); // SPORT0 設定
setup_sport0_dma(); // SPORT DMA 設定
bufRx = (( struct DMA_DESCRIPTOR * ) *pDMA1_NEXT_DESC_PTR )->avairableBuf;
// CODECの受信データを引数バッファにコピー
- for ( sample = 0; sample < AUDIOBUFSIZE; sample++ ){
+ for ( sample = 0; sample < UZUME_BLOCKSIZE; sample++ ){
leftIn[sample] = RxBuffer[bufRx].data[sample][ADC_L0];
rightIn[sample] = RxBuffer[bufRx].data[sample][ADC_R0];
}
leftIn,
rightIn,
leftOut,
- rightOut,
- AUDIOBUFSIZE);
+ rightOut
+ );
// 引数データをCODEC用送信バッファにコピー
- for ( sample = 0; sample < AUDIOBUFSIZE; sample++ ){
+ for ( sample = 0; sample < UZUME_BLOCKSIZE; sample++ ){
TxBuffer[bufRx].data[sample][DAC_L0] = leftOut[sample];
TxBuffer[bufRx].data[sample][DAC_R0] = rightOut[sample];
}
* @param in0_right 右チャンネル0入力配列
* @param out0_left 左チャンネル0出力配列
* @param out0_right 右チャンネル0出力配列
- * @param count 受け渡しするサンプル数
* @ingroup AUDIO
*
* ユーザーが信号処理を行う関数。オーディオ信号に同期して呼び出される。それぞれの引数は
* 中で初期化しておく。
*/
void process_audio(
- int input_left[],
- int input_right[],
- int output_left[],
- int output_right[],
- int count)
+ AUDIOSAMPLE input_left[],
+ AUDIOSAMPLE input_right[],
+ AUDIOSAMPLE output_left[],
+ AUDIOSAMPLE output_right[]
+ )
{
// ループ変数
int sample;
// count個のサンプルすべてを処理する
- for ( sample = 0; sample < count; sample++ ){
+ for ( sample = 0; sample < UZUME_BLOCKSIZE; sample++ ){
output_left[sample] = input_left[sample];
output_right[sample] = input_right[sample];
}