OSDN Git Service

動作検証済み。DSPの負荷率を%で表示できるようになった。出力はsyslog()
[trx-305dsp/dsp.git] / trx305 / framework.h
index 43d1a52..33cd39f 100644 (file)
  *  @(#) $Id: sample1.h,v 1.3 2009/05/13 13:10:13 suikan Exp $
  */
 
-#ifndef _RX_IF_H_
-#define _RX_IF_H_
+#ifndef _FRAMEWORK_H_
+#define _FRAMEWORK_H_
 
 /*
  *  RX_IFアプリケーションのヘッダファイル
  */
 
 #include <t_services.h>
+#include "demodulator.h"
+
+
+/*
+ * デバッグマクロ
+ *
+ * コメントアウトすると機能がディセーブルになる
+*/
+#define DEBUG_QUEUEDEPTH    // シリアルポートから、タスク間Queueの深さを表示させる
+#define DEBUG_DSPLOAD       // シリアルポートからDSP負荷率を表示させる
+
 
 /**
  * \brief RX_IF受信SPORTバッファのDMAサイズ
  * 領域が必要である。
  *
  * なお、このソフトウェアは1サンプルあたり2[エントリ]をキューに格納するため、
- * キューの長さ[エントリ]は、割り込み周期[サンプル]の4四倍になる。
+ * キューの長さ[エントリ]は、割り込み周期[サンプル]の四倍になる。
  *
  *
  */
-#define AF_QUESIZE          32      /* 送受信タスクの間のキューの長さ。8サンプルが最長割り込み周期と仮定 */
+#define AF_QUESIZE          80      /* 送受信タスクの間のキューの長さ。8サンプルが最長割り込み周期と仮定してさらにマージンをもたせている */
+
+#define WIDE_FM_OVERSAMPE   8       /* AF1サンプルあたりのWide FM サンプル数 */
+
+#define WIDE_FM_FLAG        2       /* プライマリ・チャンネルのWIDE FM Modeを表すフラグのマスク */
 
 /*
  *  各タスクの優先度の定義
  */
 
-#define TASK_PRIORITY_RX_IF 10  /* RX-IF DMA処理タスクの優先度。復調も行う */
-#define TASK_PRIORITY_AF     5  /* AF DMAタスクの優先度。送信なので優先度高 */
+#define TASK_PRIORITY_RX_IF   10  /* RX-IF DMA処理タスクの優先度。復調も行う */
+#define TASK_PRIORITY_AF       5  /* AF DMAタスクの優先度。送信なので優先度高 */
+#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 */
 
 
 #ifndef _MACRO_ONLY
 
 extern void rx_if_task(VP_INT exinf);   /* SPORT0 RX DMAバッファの内容を復調するタスク */
-extern void af_task(VP_INT exinf);   /* SPORT0 TX DMAバッファにAFデータを書き込むタスク */
 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);        /* ペリフェラルの初期化関数 */
@@ -142,4 +159,4 @@ void init_peripherals(VP_INT p);        /* ペリフェラルの初期化関数
 
 #endif /* _MACRO_ONLY */
 
-#endif /* _RX_IF_H */
+#endif /* _FRAMEWORK_H_ */