Hirado  0.9.1
 All Data Structures Files Functions Variables Macros Groups
demodulator.h
Go to the documentation of this file.
1 
7 #ifndef DEMODULATOR_H_
8 #define DEMODULATOR_H_
9 
10 
11 #ifndef _MACRO_ONLY
12 
13  // Following mode macro can be used only the demodulator
14 
16 #define radio_mode_WFM 2
17 
18 #define radio_mode_NFM 4
19 
20 #define radio_mode_AM 5
21 
22 #define radio_mode_SAM 6
23 
24 #define radio_mode_LSB 7
25 
26 #define radio_mode_USB 8
27 
28 #define radio_mode_CW 9
29 
30 
43 
70 
71 
72  // These APIs are published for the demodulator programmer
93 #define radio_api_getARM_mode() (radio.comdata[1])
94 
101 #define radio_api_getAIS_if_shift() (signed short)(radio.comdata[2])
102 
109 #define radio_api_getAAT_attack() (radio.comdata[3])
110 
117 #define radio_api_getAFA_fade() (radio.comdata[4])
118 
125 #define radio_api_getAST_noise_squelch_level() (radio.comdata[5])
126 
138 #define radio_api_getACP_cw_pitch() (signed short)(radio.comdata[6])
139 
146 #define radio_api_getADN_denoiser() (radio.comdata[7])
147 
154 #define radio_api_getAAN_auto_notch() (radio.comdata[8])
155 
162 #define radio_api_getAGL_gain_level() (radio.comdata[11])
163 // Flag 0
172 #define radio_api_getAIF_filter() ((radio.comdata[0]>>1)&0x7)
173 
182 #define radio_api_getABN_noise_blanker_on() ((~radio.comdata[0]>>11)&0x1)
183 
184 
194 #define radio_api_getARG_agc_on() (~(radio.comdata[0]>>13)&0x1)
195 
205 #define radio_api_is_USB() ((radio.comdata[0]>>6)&0x1) // 1 if USB
206 
207 // Flag10
220 #define radio_api_getANE_noise_squelch_on() ((radio.comdata[10]>>1)&0x1)
221 
222 
231 #define radio_api_getAAF_hpf() ((radio.comdata[10]>>4)&0x3)
232 
241 #define radio_api_getAAF_lpf() ((radio.comdata[10]>>2)&0x3)
242 
243 // Flag 12
255 #define radio_api_getAVP_voice_squelch_level() ((radio.comdata[12])&0x3F)
256 
267 #define radio_api_getAVS_voice_squelch_on() ((~radio.comdata[12]>>7)&0x1)
268 
269 /* end of defgroup getInfo */
270 
276 
284 #define radio_api_set_S_meter(s) radio.smeter = s
285 
294 #define radio_api_set_stereo(s) s ? radio.flags |= (1<<1) : radio.flags &= ~(1<<1)
295 
304 #define radio_api_set_voice_squelch(s) s ? radio.flags |= (1<<2) : radio.flags &= ~(1<<2)
305 
314 #define radio_api_set_noise_squelch(s) s ? radio.flags |= (1<<3) : radio.flags &= ~(1<<3)
315 
316 
318 /* end of defgroup setStat */
319 
321 /* end of defgroup radioAPI */
322 
334 
335 
346 void init_demodulator(void);
347 
348 
373 void radio_demodulate_wide_FM( short idata[], short qdata[], short* left, short* right );
374 
409 void radio_demodulate_non_wide_FM( int idata, int qdata, short* left, short* right );
410 
412 /* end of defgroupt callbacks */
413 
414 #endif /* _MACRO_ONLY */
415 
416 #endif /* DEMODULATOR_H_ */
void radio_demodulate_non_wide_FM(int idata, int qdata, short *left, short *right)
ワイドFM以外の復調コールバック関数
void init_demodulator(void)
復調器の初期化
void radio_demodulate_wide_FM(short idata[], short qdata[], short *left, short *right)
ワイドFMの復調コールバック関数