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

📄 nim.h

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

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// nim.h : 僿僢僟乕 僼傽僀儖
//

/////////////////////////////////////////////////////////////////////////////
// Cnim 僟僀傾儘僌
#include"demod.h"
#include"pll.h"
#include"mop.h"

#include"ber.h"

#include"autosearch.h"

//#include"STB0899_init.h"

//iiiii
#include"i2c.h"

class Cnim : public CDialog
{
// 僐儞僗僩儔僋僔儑儞
public:
	BOOL check_lock();
	void observe_tuner();
	BOOL demod_288_algo();
	BOOL check_signal();
	void demod_288_init();
	void demod_read_all_data();
	BOOL tun_setbw(long baud_, int *byte_);
	void get_status();
	
	void demod_getdata(int address, int *data);
	void demod_setdata(int address, int data);
	int demod_address();
	long update_count;
	void set_dialog_status_error();
	long tun_getfreq(int *register_);
	// double tun_getfreq();
	long stb0899_getdata_0xFAFC(long address, long baseaddress);
	long stb0899_getdata(long address, long baseaddress);
	void start_timer();
	void init_dialog_status();
	void set_dialog_status();
	long test2();
	void update();
	void kill_timer();
	BOOL update_on_off;
	int pll_getdata(int *byte_);
	void init_pll_demod_dialog();
	void init_combo();
	void i2c_write(int *data, int num);
	void test();
	void init_i2c();
	Ci2c m_i2c;

	BOOL tun_setfreq(long freq,long baud,int *byte) ;//kHz
	//	BOOL tun_setfreq();
	BOOL nim_receive();
	BOOL nim_reset();
	void bus_close();
	void bus_open();
	void get_dialog();
	void set_dialog();

	BOOL i2c_read_write(BOOL mode, int ChipAddress, int *Data, int NbData);
	// BOOL i2c_read_write(BOOL mode, unsigned char ChipAddress, unsigned char *Data, int NbData);
	void BoxDone();
	//
	void BoxDone_demod();
	void open_dialog_demod();
	Cdemod* m_demod;
	//
	void BoxDone_pll();
	void open_dialog_pll();
	Cpll* m_pll;
	//
	void BoxDone_mop();
	void open_dialog_mop();
	Cmop* m_mop;

	//
	void BoxDone_ber();
	void open_dialog_ber();
	Cber* m_ber;
	//
	void BoxDone_autosearch();
	void open_dialog_autosearch();
	Cautosearch* m_autosearch;
	
	BOOL Create();

	struct TUNER{
		long if_freq;
		unsigned long freq;//hz
		// long freq;//hz
		//	double freq_;//kHz
		int byte[10];
		long lpf;
		long xtal;//Hz
		int iq_wiring; //tuner:I/Q <-> demod:I/Q =0 , Q/I=1
	public:
	} tuner;
	struct DEMOD{
		int slave_address;
		long symbolrate;//hz
		//	double symbolrate_;//kHz
		int reg[0x1FF];
		long xtal;//Hz
	} demod;

	struct NIM_STATUS
	{
		BOOL timing_lock;
		BOOL carrire_found;
		BOOL puncture_rate_found;
		BOOL lk;
		long viterbi_ber;
		long qpsk_ber;
		long agc;
		long df;
		int pr;
			//case 0: /* PR 1/2 */
			//case 1: /* PR 2/3 */
			//case 2: /* PR 3/4 */
			//case 3: /* PR 5/6 */
			//case 4: /* PR 6/7 */
			//case 5: /* PR 7/8 */
		int spectral_inversion;
		//
		long symbolrate;
		long freq;
		int signal_type;
		int lock_up_time;

		//V0.05[061204]
		//lock again after signal re-connected
		long df_last_locked;
	} nim_status;


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



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

// 僟僀傾儘僌 僨乕僞
	//{{AFX_DATA(Cnim)
	enum { IDD = IDD_DIALOG_nim };
	CBitmapButton	m_status_lock4;
	CBitmapButton	m_status_lock3;
	CBitmapButton	m_status_lock2;
	CBitmapButton	m_status_lock;
	CString	m_freq;
	CString	m_symbolrate;
	int		m_update_data;
	CString	m_agc;
	CString	m_agc2;
	CString	m_spectral_inversion;
	CString	m_edit_update;
	CString	m_df;
	CString	m_vber;
	CString	m_qpskber;
	CString	m_pr;
	CString	m_baud;
	//}}AFX_DATA


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

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

	// 惗惉偝傟偨儊僢僙乕僕 儅僢僾娭悢
	//{{AFX_MSG(Cnim)
	virtual void OnOK();
	virtual void OnCancel();
	afx_msg void OnBUTTONtest();
	afx_msg void OnBUTTONdemod();
	afx_msg void OnBUTTONpll();
	afx_msg void OnBUTTONmop();
	virtual BOOL OnInitDialog();
	afx_msg void OnBUTTONreceive();
	afx_msg void OnKillfocusCOMBOfreq();
	afx_msg void OnKillfocusCOMBOsymbolrate();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnRADIOupdate();
	afx_msg void OnSetfocusCOMBOfreq();
	afx_msg void OnSetfocusCOMBOsymbolrate();
	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
	afx_msg void OnBUTTONtest2();
	afx_msg void OnBUTTONinit();
	afx_msg void OnBUTTONber();
	afx_msg void OnBUTTONautosearch();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

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

#endif // !defined(AFX_NIM_H__15BCE2CE_AA54_4130_A631_74378A35AC3E__INCLUDED_)

⌨️ 快捷键说明

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