OSDN Git Service

コマンドAPIのテスト済み。解釈は特に行っておらず、SHから渡された値をAPIがそのまま返している。
[trx-305dsp/dsp.git] / trx305 / framework.c
index 451c6b1..6e5a840 100644 (file)
@@ -13,6 +13,7 @@ static void init_sport0_tx(void);
 static void pack_af_sample( short left, short right, unsigned int * pri_ch, unsigned int * sec_ch);
 static void unpack_wide_fm ( unsigned int pri_ch, unsigned int sec_ch, int* idata, int* qdata );
 static void unpack_non_wide_fm(  unsigned int pri_ch, unsigned int sec_ch, int* idata, int* qdata, int* valid_iq );
+static void set_command_data( unsigned int command, unsigned int data );
 
 
 
@@ -376,11 +377,7 @@ static void unpack_wide_fm ( unsigned int pri_ch, unsigned int sec_ch, int* idat
         // パラメータ・データをrx_parameter.data配列に格納する。
         // 配列インデックスは comaddr、データはcomdataから。
 
-#ifdef DEBUG_COMMAND
-    if ( radio.comdata[command] != data ){
-       syslog(LOG_NOTICE, "pri_ch : %8x, sec_ch : %8x, Command : %d, Data : %d", pri_ch, sec_ch, command, data );
-    }
-#endif
+    set_command_data( command, data);
 
     radio.comdata[ command ] = data;
 }
@@ -416,15 +413,30 @@ static void unpack_non_wide_fm(  unsigned int pri_ch, unsigned int sec_ch, int*
             // パラメータ・データをrx_parameter.data配列に格納する。
             // 配列インデックスは comaddr、データはcomdataから。
 
+        set_command_data( command, data);
+
+            // IQデータが無効であると通知する
+        *valid_iq = FALSE;
+    }
+}
+
+/**
+ * \brief SHからのコマンドとパラメタを保存する
+ * \param command
+ * \param data
+ * \details このルーチンはcfgファイルで宣言され、SPORT0 RX 割り込みハンドラとして登録される。
+ * SPORT0 RX DMAがバッファの受信を終えるたびに呼び出される。
+ * 割り込み専有時間を小さくするため、実際には、割り込みのクリアと受信タスクへの通知しかしていない。
+ */
+static void set_command_data( unsigned int command, unsigned int data )
+{
 #ifdef DEBUG_COMMAND
        if ( radio.comdata[command] != data ){
-           syslog(LOG_NOTICE, "pri_ch : %8x, sec_ch : %8x, Command : %d, Data : %d", pri_ch, sec_ch, command, data );
+           syslog(LOG_NOTICE, "Command : %d, Data : %d", command, data );
        }
 #endif
         radio.comdata[ command ] = data;
-            // IQデータが無効であると通知する
-        *valid_iq = FALSE;
-    }
+
 }
 
 
@@ -698,5 +710,25 @@ void monitor_task(VP_INT exinf)
         }
 #endif // DEBUG_QUEUEDEPTH
 
+#ifdef DEBUG_COMMAND_API
+        syslog( LOG_NOTICE, "radio_api_getARM_mode() %d",  radio_api_getARM_mode() );
+        syslog( LOG_NOTICE, "radio_api_getAIS_if_shift() %d",  radio_api_getAIS_if_shift() );
+        syslog( LOG_NOTICE, "radio_api_getAAT_attack() %d",  radio_api_getAAT_attack() );
+        syslog( LOG_NOTICE, "radio_api_getAFA_fade() %d",  radio_api_getAFA_fade() );
+        syslog( LOG_NOTICE, "radio_api_getAST_noise_squelch_level() %d",  radio_api_getAST_noise_squelch_level() );
+        syslog( LOG_NOTICE, "radio_api_getACP_cw_pitch() %d",  radio_api_getACP_cw_pitch() );
+        syslog( LOG_NOTICE, "radio_api_getADN_denoiser() %d",  radio_api_getADN_denoiser() );
+        syslog( LOG_NOTICE, "radio_api_getAAN_auto_notch() %d",  radio_api_getAAN_auto_notch() );
+        syslog( LOG_NOTICE, "radio_api_getAGL_gain_level() %d",  radio_api_getAGL_gain_level() );
+        syslog( LOG_NOTICE, "radio_api_getAIF_filter() %d",  radio_api_getAIF_filter() );
+        syslog( LOG_NOTICE, "radio_api_getABN_noise_blanker_on() %d",  radio_api_getABN_noise_blanker_on());
+        syslog( LOG_NOTICE, "radio_api_getARG_agc_on() %d",  radio_api_getARG_agc_on());
+        syslog( LOG_NOTICE, "radio_api_getANE_noise_squelch_on() %d",  radio_api_getANE_noise_squelch_on());
+        syslog( LOG_NOTICE, "radio_api_getAAF_hpf() %d",  radio_api_getAAF_hpf() );
+        syslog( LOG_NOTICE, "radio_api_getAAF_lpf() %d",  radio_api_getAAF_lpf() );
+        syslog( LOG_NOTICE, "radio_api_getAVP_voice_squelch_level() %d",  radio_api_getAVP_voice_squelch_level() );
+        syslog( LOG_NOTICE, "radio_api_getAVS_voice_squelch_on() %d",  radio_api_getAVS_voice_squelch_on() );
+#endif // DEBUG_COMMAND_API
+
     }
 }