00001 #pragma once 00002 /** \file ad7998.h 00003 * \brief AD7998, AD7997用インクルードファイル 00004 */ 00005 #include <shortfract> 00006 /** AD7998 ADコンバーター用ネームスーペース 00007 * AD7998, AD7997のレジスタアドレスとコマンドを定義する 00008 */ 00009 namespace ad7998{ 00010 /** AD7998 ADCチャンネル指定型 00011 * AD7998, AD7997の入力チャンネルを指定するために使用する。 00012 */ 00013 enum adcChannel { 00014 Vin1 = 0, ///< Mode2コマンド。Vin1からの入力を取得 00015 Vin2, ///< Mode2コマンド。Vin2からの入力を取得 00016 Vin3, ///< Mode2コマンド。Vin3からの入力を取得 00017 Vin4, ///< Mode2コマンド。Vin4からの入力を取得 00018 Vin5, ///< Mode2コマンド。Vin5からの入力を取得 00019 Vin6, ///< Mode2コマンド。Vin6からの入力を取得 00020 Vin7, ///< Mode2コマンド。Vin7からの入力を取得 00021 Vin8 ///< Mode2コマンド。Vin8からの入力を取得 00022 }; 00023 00024 /** AD7998 初期化 00025 * 00026 * TWI上のAD7998を初期化する。 00027 */ 00028 void init(void); 00029 00030 /** AD7998 変換開始 00031 * 00032 * TWI上のAD7998でのMode2での変換を開始する。変換は連続的に行われる。 00033 * 変換結果は 7998::getValueによって取得できる。 00034 */ 00035 void start(void); 00036 00037 /** AD7998から取得したデータを獲得 00038 * @param vin AD7997のアナログ入力チャンネル番号。1..8の値を指定する。 00039 * 00040 * AD7998から取得したデータを取り出す。vinはピン名である。返り値は 00041 * 0..1.0の値をとる。 00042 */ 00043 shortfract getValue( adcChannel vin ); 00044 }; 00045