OSDN Git Service

Sメーター周りを修正
[trx-305dsp/dsp.git] / trx305 / demodulator.h
index cbe5a58..dda13ac 100644 (file)
@@ -8,29 +8,43 @@
 #ifndef DEMODULATOR_H_
 #define DEMODULATOR_H_
 
-#ifndef _MACRO_ONLY
+    // Following mode macro can be used only the demodulator
+#define radio_mode_WFM  2
+#define radio_mode_NFM  4
+#define radio_mode_AM   5
+#define radio_mode_SAM  6
+#define radio_mode_LSB  7
+#define radio_mode_USB  8
+#define radio_mode_CW   9
 
+#ifndef _MACRO_ONLY
+    // These APIs are published for the demodulator programmer
 #define radio_api_getARM_mode() (radio.comdata[1])
 #define radio_api_getAIS_if_shift() (signed short)(radio.comdata[2])
 #define radio_api_getAAT_attack() (radio.comdata[3])
 #define radio_api_getAFA_fade() (radio.comdata[4])
 #define radio_api_getAST_noise_squelch_level() (radio.comdata[5])
-#define radio_api_getASP_cw_pitch() (radio.comdata[6])
+#define radio_api_getACP_cw_pitch() (radio.comdata[6])
 #define radio_api_getADN_denoiser() (radio.comdata[7])
 #define radio_api_getAAN_auto_notch() (radio.comdata[8])
 #define radio_api_getAGL_gain_level() (radio.comdata[11])
 // Flag 0
-#define radio_api_getAIF_filter() ((radio.comdata[0]>>1)|0x7)
-#define radio_api_getABN_noise_blanker_on() ((~radio.comdata[0]>>11)|0x1)
-#define radio_api_getARG_agc_on() ((radio.comdata[0]>>13)|0x1)
-
-//TASK: Flag10以下未実装
-#define radio_api_getANE_noise_squelch_on() ((~radio.comdata[10]>>1)|0x1)
-#define radio_api_getAFP_hpf() ((radio.comdata[10]>>4)|0x3)
-#define radio_api_getAFP_lpf() ((radio.comdata[10]>>2)|0x3)
-
-#define radio_api_getAVP_voice_squelch_level() ((radio.comdata[12])|0x3F)
-#define radio_api_getAVS_voice_squelch_on() ((~radio.comdata[12]>>7)|0x1)
+#define radio_api_getAIF_filter() ((radio.comdata[0]>>1)&0x7)
+#define radio_api_getABN_noise_blanker_on() ((~radio.comdata[0]>>11)&0x1)
+#define radio_api_getARG_agc_on() (~(radio.comdata[0]>>13)&0x1)
+#define radio_api_is_USB()  ((radio.comdata[0]>>6)&0x1)     // 1 if USB
+
+// Flag10
+#define radio_api_getANE_noise_squelch_on() ((radio.comdata[10]>>1)&0x1)
+#define radio_api_getAAF_hpf() ((radio.comdata[10]>>4)&0x3)
+#define radio_api_getAAF_lpf() ((radio.comdata[10]>>2)&0x3)
+
+// Flag 12
+#define radio_api_getAVP_voice_squelch_level() ((radio.comdata[12])&0x3F)
+#define radio_api_getAVS_voice_squelch_on() ((~radio.comdata[12]>>7)&0x1)
+
+// Set S meter
+#define radio_api_set_S_meter(s) radio.smeter = s
 
 
 void init_demodulator(void);