/************************************************************
 **
 **     Object name : rasp-netapi-arg.h
 **
 **     Description
 **     -- -- -- -- -- -- -- --
 **     RASPをネットワーク経由で利用するためのAPIにおける
 **     クライアント＆サーバ共通ヘッダファイル
 **
 **     通信コマンドで使用する引数関係を記述
 **
 **
 **     History
 **     -- -- -- -- -- -- -- --
 **     [ver2履歴]
 **     2011.05.06 K.Takagi 24bitデータフォーマットも一応定義
 **     2011.04.21 K.Takagi A/D停止中のスリープモードフラグを追加
 **     2011.04.12 K.Takagi 統合化のために整理
 **
 **     [ver1履歴]
 **     2011.02.07 K.Takagi コメント類の整備
 **     2010.10.16 K.Takagi 新規作成
 **                         従来のシステムをベースに移植
 **
 **     Copyright (c) 2010-2011
 **     System In Frontier,Inc.
 **
 **     All rights reserved. 
 **
 **     当社の許可なしに複製および転載を禁ず
 **
 */

/*=========================================================*/
/*               Special Macro Definition                  */
/*=========================================================*/

#ifndef _INCLUDE_RASP_NET_API_COMMON_ARG_H_
#define _INCLUDE_RSAP_NET_API_COMMON_ARG_H_

/*=========================================================*/
/*                   Include Files                         */
/*=========================================================*/

/*=========================================================*/
/*                   Macro Definition                      */
/*=========================================================*/

/* チャネル数 */
#define RASP_WL_MAX_CH_NUM          16
#define RASP24_MAX_CH_NUM           9
#define RASPZX_MAX_CH_NUM           8

/* サンプリングレート */
#define CLOCK_FREQ_11_025K          11025
#define CLOCK_FREQ_16K              16000
#define CLOCK_FREQ_22_05K           22050
#define CLOCK_FREQ_32K              32000
#define CLOCK_FREQ_44_1K            44100
#define CLOCK_FREQ_48K              48000
#define CLOCK_FREQ_64K              64000
#define CLOCK_FREQ_EXT_SYNC         0

/* データフォーマット */
#define DATA_FORMAT_SYSTEM_DEFAULT  0
#define DATA_FORMAT_FLOAT           1

#define DATA_FORMAT_32BIT_PCM       0x10
#define DATA_FORMAT_24BIT_PCM       0x11
#define DATA_FORMAT_16BIT_PCM       0x12


/* A/D同期サンプルCH数用 */
#define AD_16CH_MODE                0    /* CH0 - CH15同期サンプリング */
#define AD_8CH_MODE                 1    /* CH0 - CH 7同期サンプリング */
#define AD_CUSTOM_CH_MODE           0xF  /* 下記AD_CH*_CAPTUREによる任意指定 */

/* チャネル単位で取り込みを有効にするフラグ */
#define AD_CH0_CAPTURE              (1 <<  0)
#define AD_CH1_CAPTURE              (1 <<  1)
#define AD_CH2_CAPTURE              (1 <<  2)
#define AD_CH3_CAPTURE              (1 <<  3)
#define AD_CH4_CAPTURE              (1 <<  4)
#define AD_CH5_CAPTURE              (1 <<  5)
#define AD_CH6_CAPTURE              (1 <<  6)
#define AD_CH7_CAPTURE              (1 <<  7)
#define AD_CH8_CAPTURE              (1 <<  8)
#define AD_CH9_CAPTURE              (1 <<  9)
#define AD_CH10_CAPTURE             (1 << 10)
#define AD_CH11_CAPTURE             (1 << 11)
#define AD_CH12_CAPTURE             (1 << 12)
#define AD_CH13_CAPTURE             (1 << 13)
#define AD_CH14_CAPTURE             (1 << 14)
#define AD_CH15_CAPTURE             (1 << 15)

/* A/Dコンバータの動作モード */
#define AD_LOW_POWER_MODE           0
#define AD_HIGH_RESOLUTION_MODE     1
#define AD_HIGH_SPEED_MODE          2 /* No-Used */

/* A/D停止中のコンバータ状態 */
#define AD_SLEEP_MODE_OFF           0
#define AD_SLEEP_MODE_ON            1


/* 外部同期用クロック用 */
#define WORD_CLOCK_DISABLE          0
#define WORD_CLOCK_ENABLE           1

/* D/Aチャネルモード */
#define DA_MONORAL_MODE             1 /* ホストPCからボード単位にデータを与え2chに分配 */
#define DA_STEREO_MODE              2 /* ホストPCからCHごとにデータを与えるモード      */
#define DA_SINGLE_MODE              3 /* ホストPCから1ch分のデータを与え全てに分配     */

#define DA_OUTPUT_DISABLE           0
#define DA_OUTPUT_ENABLE            1

/* A/D-->D/Aループバック用 */
#define DA_L_CH                     0
#define DA_R_CH                     1

#define DA_NORMAL_MODE              0
#define DA_LOOP_BACK_MODE           1

/* D/A Mute 制御 */
#define DA_MUTE_ON                  1
#define DA_MUTE_OFF                 0

/* D/A Over Sampling Rate */
#define DA_OVER_SAMPLING_RATE_64    0
#define DA_OVER_SAMPLING_RATE_128   1


/*=========================================================*/
/*                 Structure Declaration                   */
/*=========================================================*/

/*=========================================================*/
/*                    Private Valiable                     */
/*=========================================================*/

/*=========================================================*/
/*                    Public Valiable                      */
/*=========================================================*/


#endif /* _INCLUDE_RASP_NET_API_COMMON_ARG_H_ */

/* EOF */

