⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demod.h

📁 通过PC并口模拟I2C信号
💻 H
字号:
#if !defined(AFX_DEMOD_H__4A527E9C_2D46_4EDA_A760_C026C8D9DCD6__INCLUDED_)
#define AFX_DEMOD_H__4A527E9C_2D46_4EDA_A760_C026C8D9DCD6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//message---
#include <time.h>
#include <sys/types.h>
#include <sys/timeb.h>
#include <string.h>
//----------



// demod.h : 僿僢僟乕 僼傽僀儖
//
	/*	Signal type enum	*/
	typedef enum
	{
		NOAGC1=0,
		AGC1OK,
		NOTIMING,
		ANALOGCARRIER,
		TIMINGOK,
		NOAGC2,
		AGC2OK,
		NOCARRIER,
		CARRIEROK,
		NODATA,
		FALSELOCK,
		DATAOK,
		OUTOFRANGE,
		RANGEOK
	} FE_288_SIGNALTYPE_t;

	typedef enum
	{
		FE_1_2	= 1,
		FE_2_3	= 1<<1,   
		FE_3_4	= 1<<2,   
		FE_5_6	= 1<<3,
		FE_6_7	= 1<<4,
		FE_7_8	= 1<<5
	}FE_288_Rate_t;

typedef struct
{
	FE_288_SIGNALTYPE_t      SignalType;		/*	Type of founded signal	*/
	//FE_288_Polarization_t    Polarization;		/*	Polarization	*/
	FE_288_Rate_t            PunctureRate;		/*	Puncture rate found	*/
	long                      Frequency_Khz;		/*	Transponder frequency (KHz)	*/
	unsigned long                      SymbolRate_Bds; 	/*	Symbol rate (Bds)	*/
} FE_288_InternalResults_t;



/////////////////////////////////////////////////////////////////////////////

class Cdemod : public CDialog
{
// 僐儞僗僩儔僋僔儑儞
public:
	void demod_288_rewrite_derotetor(int *register_);
	int democd_288_check_CF();
	int demod_288_check_TMG_LOCK();
	void message2(CString message);
	BOOL check_signal(long freq_, long baud_, int *byte_, int *register_);
	void demod_read_all_data();
	BOOL tun_setbw(long baud_,int *byte_);
	int get_elapsed_time();
	void message_result_reset();
	void message_result();
	void message_top(CString t);
	long demod_288_get_timing_loop(int *register_);
	//
	FE_288_InternalResults_t *pIntResults;
	//
	void demod_288_set_rs_onoff(BOOL flag,int *register_);
	BOOL demod_288_rs_onoff(int *register_);
	void set_dialog_button();
	void demod_288_start_coarse_algorithm(int flag, int *register_);
	void demod_288_start_fine_algorithm(int flag, int *register_);
	long demod_288_agc(int *register_);
	int demod_288_timing_lock(int *register_);
	void demod_288_read_data_read_only(int *register_);
	int demod_288_fecmode(int *register_);
	int demod_288_noe(int *register_);
	int demod_288_errsource(int *register_);
	int demod_288_errmode(int *register_);
	int demod_288_pr(int *register_);
	int demod_288_lk(int *register_);
	int demod_288_prf(int *register_);
	int demod_288_vstatus_5(int *register_);
	int demod_288_vstatus_6(int *register_);
	int demod_288_cf(int *register_);
	long demod_288_get_error_count();
	long demod_288_get_error(int *register_);
	void demod_288_init(int *register_);
	int demod_288_get_pr(int *register_);
	BOOL demod_288_waitlock(long TData,int *register_);
	long demod_288_data_timing_constant(long SymbolRate, int *register_);
	int demod_288_get_cf(int *register_);
	void demod_288_start_autocenter_algorithm(int flag,int *register_);
	long demod_288_autocenter(int *register_);
	void demod_288_fine(long Symbolrate_Bds,long Known,int *register_);
	void demod_288_froze_lock(int flag,int*register_);
	long demod_288_calc_symbolrate(int *register_);
	long demod_288_get_symbolrate(int *register_);
	long demod_288_get_derot_freq(int *register_);
	long demod_288_coarse(int *register_, long* Offset_Khz);
	void demod_288_set_frequency_offset_detector(int flag,int *register_);
	void demod_288_set_derot_freq(long DerotFreq_Hz,int *register_);
	long BinaryFloatDiv(long n1, long n2, int precision);
	long demod_288_set_symbolrate(long SymbolRate,int *register_);
	int get_iq_wiring();
	long demod_xtal();
	long demod_288_get_mclk_freq(int *register_);
	long demod_288_calc_derot_freq(int *register_);
	long tun_getfreq(int *byte_);
	BOOL tun_setfreq(long freq,long baud,int *byte);
	int demod_288_algo(long freq_, long baud_, int *byte_, int *register_);
	int demod_288_search(long freq_, long baud_, int *byte_, int *register_);
	void set_dialog_address_data(int address,int data);
	void demod_getdata(int address,int *data);
	int slave_address();
	void demod_setdata(int address, int data);
	void bus_close(int *register_);
	void bus_open(int *register_);

//******************************************************************************************************************************************************
//******************************************************************************************************************************************************
//******************************************************************************************************************************************************
	//message view
	CString	msg	;
	CString	message_gloval	;
	CString	string	;
	void message(CString message);
	void message_reset();
	void show_message();
	void message_add(CString message);

//message---
	struct _timeb tstruct,tstruct_original;
//----------


	long PowOf2(int number);
	BOOL Create();
	void i2c_write(int *data, int num);
	void set_dialog_parameter();
	void nim_receive(long freq_,long baud_,int *byte_,int *register_);
	//	void nim_receive();
	void clear_list();
	void set_register_from_address_baseaddress();
	void get_register_from_address_baseaddress();
	void stb0899_setdata(long address, long baseaddress,long data,BOOL pointed,int size);
	long stb0899_getdata(long address, long baseaddress);
	void set_list();
	void get_register();
	void set_register();
	void init_combo();
	void get_status();
//	struct STATUS
//	{
//		BOOL lock_demod_uwp;
//		BOOL lock_packet_delineator;
//		long agc;//IF
//		long agc2;//BB
//		CString modcode;
//		int spectral_inversion;
//		double ldpc_ber;
//		double bch_ber;
//		double df;
//		long TEST;
//	} m_status;

//******************************************************************************************************************************************************
//******************************************************************************************************************************************************
//******************************************************************************************************************************************************

	Cdemod(CWnd* pParent = NULL);   // 昗弨偺僐儞僗僩儔僋僞

// 僟僀傾儘僌 僨乕僞
	//{{AFX_DATA(Cdemod)
	enum { IDD = IDD_DIALOG_demod };
	CString	m_address;
	CString	m_data;
	CString	m_mclk;
	CString	m_xtal;
	BOOL	m_rs_onoff;
	CString	m_edit_rs_onoff;
	CString	m_slave_address;
	//}}AFX_DATA


// 僆乕僶乕儔僀僪
	// ClassWizard 偼壖憐娭悢偺僆乕僶乕儔僀僪傪惗惉偟傑偡丅
	//{{AFX_VIRTUAL(Cdemod)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 僒億乕僩
	//}}AFX_VIRTUAL

// 僀儞僾儕儊儞僥乕僔儑儞
protected:
	CWnd* m_pParent;
	int m_nID;

	// 惗惉偝傟偨儊僢僙乕僕 儅僢僾娭悢
	//{{AFX_MSG(Cdemod)
	virtual void OnOK();
	virtual void OnCancel();
	virtual BOOL OnInitDialog();
	afx_msg void OnKillfocusCOMBOaddress();
	afx_msg void OnBUTTONwrite();
	afx_msg void OnBUTTONread();
	afx_msg void OnCHECKrsonoff();
	afx_msg void OnBUTTONtest();
	afx_msg void OnDblclkLISTdemod();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ 偼慜峴偺捈慜偵捛壛偺愰尵傪憓擖偟傑偡丅

#endif // !defined(AFX_DEMOD_H__4A527E9C_2D46_4EDA_A760_C026C8D9DCD6__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -