OSDN Git Service

doxygenコメントの追加
authortakemasa <suikan@users.osdn.me>
Sun, 4 Oct 2015 12:26:28 +0000 (21:26 +0900)
committertakemasa <suikan@users.osdn.me>
Sun, 4 Oct 2015 12:26:28 +0000 (21:26 +0900)
hirado/.settings/language.settings.xml
hirado/demodulator.h
hirado/framework.h
hirado/hirado.doxyfile

index e015881..02a72a6 100644 (file)
@@ -5,7 +5,7 @@
                        <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
                        <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
                        <provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
-                       <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1049722321251258839" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+                       <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1103004093754622070" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
                                <language-scope id="org.eclipse.cdt.core.gcc"/>
                                <language-scope id="org.eclipse.cdt.core.g++"/>
                        </provider>
index 5d18571..a6920d0 100644 (file)
@@ -9,9 +9,28 @@
 
 
 #ifndef _MACRO_ONLY
+
+    // Following mode macro can be used only the demodulator
+
+    /** \brief 受信機はワイドFMモードである */
+#define radio_mode_WFM  2
+    /** \brief 受信機はナローFMモードである */
+#define radio_mode_NFM  4
+    /** \brief 受信機は振幅変調モードである */
+#define radio_mode_AM   5
+    /** \brief 受信機は振幅変調モードの同期復調モードである */
+#define radio_mode_SAM  6
+    /** \brief 受信機はLSB復調モードである */
+#define radio_mode_LSB  7
+    /** \brief 受信機はUSB復調モードである */
+#define radio_mode_USB  8
+    /** \brief 受信機はCW復調モードである */
+#define radio_mode_CW   9
+
+
 /**
  * \defgroup radioAPI ラジオAPI
- * \brief 復調器がTRX-305の制御部と情報の授受を行うためのAPI群
+ * \brief 復調器がSHマイコン/FPGAと情報の授受を行うためのAPI群
  * \details
  * このモジュールに含まれるAPIは、復調器の中でユーザー復調アルゴリズムが使うために
  * 公開されている。制御情報取得用APIはTRX-305からの制御情報を受け取るためのものである。
@@ -24,7 +43,7 @@
 
 /**
  * \defgroup getInfo 制御情報取得API
- * \brief 復調器がTRX-305から受け取る制御情報取得用のAPI
+ * \brief 復調器がSHマイコン/FPGAから受け取る制御情報取得用のAPI
  * \details
  * ここに列挙されるAPIは、いずれも復調器内のユーザーアルゴリズムから自由に使ってよい。
  *
  */
 /*@{*/
 
-    // Following mode macro can be used only the demodulator
-
-    /** \brief 受信機はワイドFMモードである */
-#define radio_mode_WFM  2
-    /** \brief 受信機はナローFMモードである */
-#define radio_mode_NFM  4
-    /** \brief 受信機は振幅変調モードである */
-#define radio_mode_AM   5
-    /** \brief 受信機は振幅変調モードの同期復調モードである */
-#define radio_mode_SAM  6
-    /** \brief 受信機はLSB復調モードである */
-#define radio_mode_LSB  7
-    /** \brief 受信機はUSB復調モードである */
-#define radio_mode_USB  8
-    /** \brief 受信機はCW復調モードである */
-#define radio_mode_CW   9
 
     // These APIs are published for the demodulator programmer
     /**
 
 /**
  * \defgroup setStat 状態報告API
+ * \brief DSPがFPGA/SHマイコンに情報を送るためのAPI群
  */
 /*@{*/
 
-// Set S meter
+/**
+ * \def radio_api_set_S_meter
+ * \brief Sメータ値のセット
+ * \details
+ * このAPIはDSPからFPGA/SHマイコンに渡すSメータ値を設定する。値の範囲は
+ * 15bit符号なし整数である。APIは受け取った値をそのままFPGAに送信する。
+ */
 #define radio_api_set_S_meter(s) radio.smeter = s
 
+       /**
+        * \def radio_api_set_stereo
+        * \brief FMステレオ受信状態の報告
+        * \details
+        * FM復調がモノラルかステレオを報告する。引数は以下のように与える
+        * \li 0 : モノラル
+        * \li 非1 : ステレオ
+        */
+#define radio_api_set_stereo(s) s ? radio.flags |= (1<<1) : radio.flags &= ~(1<<1)
+
+    /**
+     * \def radio_api_set_voice_squelch
+     * \brief ボイススケルチ状態の報告
+     * \details
+     * 復調器がボイススケルチを持っている場合、その状態を報告する。
+     * \li 0 : ボイススケルチは開いていない
+     * \li 1 : ボイススケルチは開いている
+     */
+#define radio_api_set_voice_squelch(s)  s ? radio.flags |= (1<<2) : radio.flags &= ~(1<<2)
+
+/**
+ * \def radio_api_set_noise_squelch
+ * \brief ノイズスケルチ状態の報告
+ * \details
+ * 復調器がノイズスケルチを持っている場合、その状態を報告する。
+     * \li 0 : ノイズスケルチは開いていない
+     * \li 1 : ノイズスケルチは開いている
+ */
+#define radio_api_set_noise_squelch(s) s ? radio.flags |= (1<<3) : radio.flags &= ~(1<<3)
+
+
 /*@}*/
 /*  end of defgroup setStat */
 
 
 /**
  * \defgroup callbacks 復調用コールバック関数
+ * \brief フレームワークが復調ように呼び出すコールバック関数群
  * \details
  * 復調器のためにフレームワークから呼び出すコールバック関数。復調アルゴリズムは全てこの中に記述する。
  *
  * 関数は大きく分けて2種類に分けられる。ひとつは初期化関数で \ref init_demodulator() がこれである。
  * その他の関数は実際の復調を行う関数である。
  */
- */
+
 /*@{*/
 
-/**
- * \brief 復調アルゴリズム初期化関数
- * \detail
- */
 
      /**
       * \brief 復調器の初期化
index 57a0f56..77953b5 100644 (file)
  *
  */
 
+/**
+ * \mainpage
+ * \section section_overview 概要
+ * このドキュメントは、HiradoフレームワークのAPIについて解説する
+ *
+ * HiradoはSDR無線機TRX-305のDSP部の復調器フレームワークである。
+ *
+ * プログラマは \ref callbacks の関数群を埋める形で復調器を実装する。
+ *
+ * \section section_api API
+ * コールバックの中からは \ref radioAPI にある無線APIを使って
+ * 制御用のSHマイコン/FPGAと通信を行う。通信する内容は2種類ある。
+ * \li 制御用マイコンからの制御命令
+ * \li DSPからのステータス通知
+ * \section section_debug デバッグについて
+ * フレームワークにはデバッグ支援機能があり、デバッグマクロを宣言することで利用できる。
+ * これらの機能はすべてDSPのuartを利用している。通信速度は115200baud, 8bit, parityなし、
+ * 1stopbitである。
+ *
+ * フレームワークのデバッグ機能については \ref framework.h の解説を参照。
+ *
+ *
+ */
 #ifndef _FRAMEWORK_H_
 #define _FRAMEWORK_H_
 
 #include <t_services.h>
 #include "demodulator.h"
 
+/**
+ * \defgroup radioFramework フレームワーク内部宣言
+ * \brief フレームワークの内部で使うオブジェクトの内部宣言。基本的にユーザーは参照しなくていい
+ */
+/*@{*/
 
 /*
  * デバッグマクロ
  */
 #define AF_QUESIZE          80      /* 送受信タスクの間のキューの長さ。8サンプルが最長割り込み周期と仮定してさらにマージンをもたせている */
 
-#define WIDE_FM_OVERSAMPE   8       /* AF1サンプルあたりのWide FM サンプル数 */
+       /** \brief AF1サンプルあたりのWide FM サンプル数 */
+#define WIDE_FM_OVERSAMPE   8
 
-#define WIDE_FM_FLAG        2       /* プライマリ・チャンネルのWIDE FM Modeを表すフラグのマスク */
+       /** \brief プライマリ・チャンネルのWIDE FM Modeを表すフラグのマスク */
+#define WIDE_FM_FLAG        2
 
+       /** \brief SHマイコン/FPGAから送られてくるコマンドの種類の数 */
 #define PARAMDATA_NUM 16
 
 
  *  各タスクの優先度の定義
  */
 
-#define TASK_PRIORITY_AF       5  /* AF DMAタスクの優先度。送信なので優先度高 */
-#define TASK_PRIORITY_RX_IF   10  /* RX-IF DMA処理タスクの優先度。復調も行う */
-#define LOGTASK_PRIORITY      12  /* デフォルトの初期優先度を上書きする */
-#define TASK_PRIORITY_MONITOR 15  /* モニター・タスクの優先度。優先度低 */
+       /** breif AF DMAタスクの優先度。送信なので優先度高 */
+#define TASK_PRIORITY_AF       5
+       /** breif RX-IF DMA処理タスクの優先度。復調も行う */
+#define TASK_PRIORITY_RX_IF   10
+       /** breif デフォルトの初期優先度を上書きする */
+#define LOGTASK_PRIORITY      12
+       /** breif モニター・タスクの優先度。優先度低 */
+#define TASK_PRIORITY_MONITOR 15
 
 /*
  *  ターゲット依存の定義(CPU例外ハンドラの起動方法など)
  */
 
-
-#define STACK_SIZE_RX_IF    1024    /* タスクのスタックサイズ */
-#define STACK_SIZE_AF       1024    /* タスクのスタックサイズ */
-#define STACK_SIZE_MONITOR  1024    /* タスクのスタックサイズ */
-#define TASK_PORTID         1       /* 文字入力するシリアルポートID */
+       /** breif タスクのスタックサイズ */
+#define STACK_SIZE_RX_IF    1024
+       /** breif タスクのスタックサイズ */
+#define STACK_SIZE_AF       1024
+       /** breif タスクのスタックサイズ */
+#define STACK_SIZE_MONITOR  1024
+       /** breif 文字入力するシリアルポートID */
+#define TASK_PORTID         1
 
 
 
 #ifndef _MACRO_ONLY
 
 /**
- * \brief フレームワークがラジオとのやりとりに使う変数。
+ * \brief ã\83\95ã\83¬ã\83¼ã\83 ã\83¯ã\83¼ã\82¯ã\81\8cã\83©ã\82¸ã\82ªã\81¨ã\81®ã\82\84ã\82\8aã\81¨ã\82\8aã\81«ä½¿ã\81\86å¤\89æ\95°ã\81®å\9e\8bã\80\82
  * \details
  * フレームワークはFPGAから送られてきたデータをこの変数の中に格納する。復調アルゴリズムは \ref getInfo を通してこれらの値にアクセスする。
  */
 
     // ラジオアルゴリズムとのやりとりに使う変数
 extern struct RADIO {
-    unsigned short flags;
-    unsigned short smeter;
-    unsigned short comdata[PARAMDATA_NUM];
+    unsigned short flags;      /**< DSPからFPGA/SHマイコンへ送るステータスフラグ */
+    unsigned short smeter;     /**< DSPからFPGA/SHマイコンへ送るSメータ値 */
+    unsigned short comdata[PARAMDATA_NUM];     /**< DSPへSHマイコン/FPGAから送るコマンド群 */
 } radio;
 
+/**
+ * \brief フレームワークがラジオとのやりとりに使う変数。
+ */
 extern struct RADIO radio;
 
-
-extern void rx_if_task(VP_INT exinf);   /* SPORT0 RX DMAバッファの内容を復調するタスク */
-extern void af_task(VP_INT exinf);      /* 復調済みAF信号をSPORT0 TX DMAバッファにコピーするタスク */
-extern void monitor_task(VP_INT exinf);   /* SPORT0 TX DMAバッファにAFデータを書き込むタスク */
-extern void sport0_rx_int_handler( void );  /* SPORT0 RX DMA割り込みのハンドラ */
-extern void sport0_tx_int_handler( void );  /* SPORT0 TX DMA割り込みのハンドラ */
-void init_peripherals(VP_INT p);        /* ペリフェラルの初期化関数 */
-
+       /**
+        * \brief SPORT0 RX DMAバッファの内容を復調するタスク
+        * \param exinf タスクに渡す拡張データ。このタスクには何も渡さなくていい
+        * \details
+        * このタスクは \ref sport0_rx_int_handler() 割り込みハンドラからの
+        * セマフォ・シグナルを受け取って受信処理を行う。
+        */
+
+extern void rx_if_task(VP_INT exinf);
+
+       /**
+        * \brief 復調済みAF信号をSPORT0 TX DMAバッファにコピーするタスク
+        * \param exinf タスクに渡す拡張データ。このタスクには何も渡さなくていい
+        * \details
+        * このタスクは \ref sport0_tx_int_handler() 割り込みハンドラからの
+        * セマフォ・シグナルを受け取り、タスク間キューからデータを取り出しSPORT処理を行う。
+        */
+extern void af_task(VP_INT exinf);
+
+       /**
+        * \brief デバッグ用のデータ収集を行うバックグラウン・タスク
+        * \param exinf タスクに渡す拡張データ。このタスクには何も渡さなくていい
+        */
+extern void monitor_task(VP_INT exinf);
+
+       /**
+        * \brief SPORT0 RX DMA割り込みのハンドラ
+        */
+extern void sport0_rx_int_handler( void );
+
+       /**
+        * \brief SPORT0 TX DMA割り込みのハンドラ
+        */
+extern void sport0_tx_int_handler( void );
+
+       /**
+        * \brief ペリフェラルの初期化関数
+        * \param p タスクに渡す拡張データ。このタスクには何も渡さなくていい
+        */
+void init_peripherals(VP_INT p);
+
+/*@}*/
 
 #endif /* _MACRO_ONLY */
 
index 903be2c..fd0bcf3 100644 (file)
@@ -32,13 +32,13 @@ DOXYFILE_ENCODING = UTF-8
 # title of most generated pages and in a few other places.
 # The default value is: My Project.
 
-PROJECT_NAME = Hirado 
+PROJECT_NAME = Hirado
 
 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER = 0.9
+PROJECT_NUMBER = 0.9.1
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
@@ -457,7 +457,7 @@ HIDE_UNDOC_MEMBERS = NO
 # no effect if EXTRACT_ALL is enabled.
 # The default value is: NO.
 
-HIDE_UNDOC_CLASSES = NO
+HIDE_UNDOC_CLASSES = YES
 
 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
 # (class|struct|union) declarations. If set to NO these declarations will be
@@ -794,7 +794,7 @@ EXCLUDE_SYMLINKS = NO
 # Note that the wildcards are matched against the file with absolute path, so to
 # exclude all test directories for example use the pattern */test/*
 
-EXCLUDE_PATTERNS = *.c 
+EXCLUDE_PATTERNS = *.c
 
 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
 # (namespaces, classes, functions, etc.) that should be excluded from the
@@ -857,7 +857,7 @@ INPUT_FILTER =
 # filters are used. If the FILTER_PATTERNS tag is empty or if none of the
 # patterns match the file name, INPUT_FILTER is applied.
 
-FILTER_PATTERNS = *.h 
+FILTER_PATTERNS = *.h
 
 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
 # INPUT_FILTER ) will also be used to filter the input files that are used for