亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cspeedview.cpp

?? 采集電壓 用研華6220板卡采集電壓值 實時顯示 電壓變化
?? CPP
字號:
// CSpeedView.cpp : implementation of the CCSpeedView class
//

#include "stdafx.h"
#include "CSpeed.h"

#include "CSpeedSet.h"
#include "CSpeedDoc.h"
#include "CSpeedView.h"

#include "SpeedCollect.h"
#include "RecordCurse.h"
#include "public.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define PI 3.1415926
/////////////////////////////////////////////////////////////////////////////
// CCSpeedView

IMPLEMENT_DYNCREATE(CCSpeedView, CRecordView)

BEGIN_MESSAGE_MAP(CCSpeedView, CRecordView)
	//{{AFX_MSG_MAP(CCSpeedView)
	ON_WM_CREATE()
	ON_WM_PAINT()
	ON_WM_TIMER()
	ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
	ON_COMMAND(ID_FILE_SAVE, OnFileSave)
	ON_COMMAND(ID_FILE_SAVE_AS, OnFileSaveAs)
	ON_BN_CLICKED(IDC_BUTTON_SAVE_PARAM, OnButtonSaveParam)
	ON_BN_CLICKED(IDC_BUTTON_BEGIN, OnButtonBegin)
	ON_BN_CLICKED(IDC_WATCH_RECORD, OnWatchRecord)
	ON_BN_CLICKED(IDC_CLEAR_ALARM, OnClearAlarm)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()



//CString GLastFname;
//CONTROLPARAM ControlParam;
/////////////////////////////////////////////////////////////////////////////
// CCSpeedView construction/destruction
	int rpm_num=1;
	double rpm;
	double fr;
CCSpeedView::CCSpeedView()
	: CRecordView(CCSpeedView::IDD)
{
	//{{AFX_DATA_INIT(CCSpeedView)
	m_pSet = NULL;
	m_test_no = _T("");
	m_alarm_rspeed = 2000.0;
	m_set_r = 530.5;

	//}}AFX_DATA_INIT
	// TODO: add construction code here

}

CCSpeedView::~CCSpeedView()
{
}

void CCSpeedView::DoDataExchange(CDataExchange* pDX)
{
	CRecordView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCSpeedView)
	DDX_Text(pDX, IDC_TEST_NO, m_test_no);
	DDX_Text(pDX, IDC_EDIT_ALARM_SPEED, m_alarm_rspeed);
	DDX_Text(pDX, IDC_EDIT_R, m_set_r);
	//}}AFX_DATA_MAP
}

BOOL CCSpeedView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CRecordView::PreCreateWindow(cs);
}

void CCSpeedView::OnInitialUpdate()
{
	m_pSet = &GetDocument()->m_cSpeedSet;
	CRecordView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();

	CFileFind finder;
    if(finder.FindFile(GLastFname))
	{
		GetDocument()->OnOpenDocument(GLastFname);
		GetDocument()->SetPathName(GLastFname);
		trantoview();
	}
	
	SetTimer(1,5000,NULL);

}

/////////////////////////////////////////////////////////////////////////////
// CCSpeedView diagnostics

#ifdef _DEBUG
void CCSpeedView::AssertValid() const
{
	CRecordView::AssertValid();
}

void CCSpeedView::Dump(CDumpContext& dc) const
{
	CRecordView::Dump(dc);
}

CCSpeedDoc* CCSpeedView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCSpeedDoc)));
	return (CCSpeedDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CCSpeedView database support
CRecordset* CCSpeedView::OnGetRecordset()
{
	return m_pSet;
}


/////////////////////////////////////////////////////////////////////////////
// CCSpeedView message handlers

int CCSpeedView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CRecordView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	nTime=0;
	 
	rpm=0;
	sample_first = TRUE;
	return 0;
}
CString m_time2;
void CCSpeedView::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	
	char t_ch[3];
	int t_h,t_m,t_s;
	
	t_h=int(ControlParam.run_time/3600);
	t_m=int((ControlParam.run_time-t_h*3600)/60);
	t_s=int(ControlParam.run_time-t_h*3600-t_m*60);
	m_time2="";
	ftoat1(t_h,3,t_ch);
	m_time2+=t_ch;
	m_time2+=":";
	ftoat1(t_m,2,t_ch);
	m_time2+=t_ch;
	m_time2+=":";
	ftoat1(t_s,2,t_ch);
	m_time2+=t_ch;
	UpdateData(FALSE);
	// Do not call CRecordView::OnPaint() for painting messages
}

void CCSpeedView::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	
	CRecordView::OnTimer(nIDEvent);
}

void CCSpeedView::OnFileOpen() 
{
	// TODO: Add your command handler code here
	char parfilepath[180]; 
	CString ttt;
	ttt.Format("%s\\param",exepath);
	strcpy(parfilepath,ttt);
	
	CFileDialog OpenDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_NOCHANGEDIR | OFN_OVERWRITEPROMPT,"*.par|*.par||",NULL);
	OpenDlg.m_ofn.lpstrInitialDir=parfilepath;
	int retval=OpenDlg.DoModal();
	CString filename;
	CString filepath;
	if(retval==IDOK)
	{
		filename=OpenDlg.GetFileName();
		filepath=OpenDlg.GetPathName();
		GLastFname=filepath;
		GetDocument()->OnOpenDocument(filepath);
		GetDocument()->SetPathName(filename);
		trantoview();
	}		
}

void CCSpeedView::OnFileSave() 
{
	// TODO: Add your command handler code here
	tranparam();
	
	char lpFileName[180]; 
	CString ttt;
	ttt.Format("%s\\param\\%s.par",exepath,m_test_no);
	strcpy(lpFileName,ttt);

    WIN32_FIND_DATA FindFileData ;
    HANDLE  hFindFile=FindFirstFile(lpFileName,&FindFileData); 
    if(hFindFile==INVALID_HANDLE_VALUE)//不存在該文件
	{
		
		ControlParam.run_time = 0;
		UpdateData(FALSE);
	}
	else
		FindClose(hFindFile);
	
	GLastFname = ttt;
	
	GetDocument()->OnSaveDocument(ttt);
	GetDocument()->SetPathName(ttt);
}

void CCSpeedView::OnFileSaveAs() 
{
	// TODO: Add your command handler code here
	OnFileSave();
}

void CCSpeedView::OnButtonSaveParam() 
{
	// TODO: Add your control notification handler code here
	GetDlgItem(IDC_BUTTON_BEGIN)->EnableWindow(FALSE);
	UpdateData();
	ControlParam.OtherParam.r=m_set_r;
	ControlParam.OtherParam.v_max=m_alarm_rspeed;
	ControlParam.speed_model=m_test_no;

	fr=ControlParam.OtherParam.r;
	rpm = 2*PI*(ControlParam.OtherParam.r)/(rpm_num*1000.); 
	GetDlgItem(IDC_BUTTON_BEGIN)->EnableWindow(TRUE);
}

void CCSpeedView::OnButtonBegin() 
{
	// TODO: Add your control notification handler code here
	int answer=MessageBox("請確保已經設置參數并保存","提示信息",MB_YESNOCANCEL);
	if(answer!=IDYES)  return;
		
	KillTimer(1);
	ControlParam.RunDataArray.start_num = 0;
	SpeedCollect mdl;
	mdl.DoModal();
	IsStartTest=TRUE;
	count = -1;
	PostMessage(WM_COMMAND,ID_FILE_SAVE,0);
	GetRunData(m_test_no);
	UpdateData(FALSE);
	SetTimer(1,200,NULL);
}

void CCSpeedView::OnWatchRecord() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	RecordCurse mdgl;
	mdgl.DoModal();
}


void CCSpeedView::tranparam()
{
	UpdateData(TRUE); 
	
	ControlParam.speed_model =m_test_no;
	
	ControlParam.RunDataArray.data.RemoveAll();
	ControlParam.RunDataArray.start_num = 0;

	
	int len=ControlParam.RunDataArray.data.GetSize();
	BOOL PLAY=TRUE;
	int mode;
	for(int n=0;n<len;n++)
	{
		mode=ControlParam.RunDataArray.data[n];
		if(mode>9)
		{
			PLAY=FALSE;
			break;
		}
	}
		
	UpdateData(FALSE); 


	ControlParam.OtherParam.v_max=m_alarm_rspeed;			
	ControlParam.OtherParam.r=m_set_r;		
	
}

void CCSpeedView::trantoview()
{
	m_test_no = ControlParam.speed_model;
	
	//環境參數:
	m_alarm_rspeed=ControlParam.OtherParam.v_max;
	m_set_r=ControlParam.OtherParam.r;	
	UpdateData(FALSE);
}


void CCSpeedView::GetRunData(CString filename)
{
	CString ttt;
	
	ttt.Format("%s\\data\\%s.ddx", exepath, filename);
	
	CFile xzfile;
	int ret;
	
	ret = xzfile.Open(ttt, CFile::modeRead);
	
	if(ret == NULL)
	{
		ControlParam.run_time = 0;
		ret = xzfile.Open(ttt,CFile::modeCreate);
		if(ret == NULL)
		{
			AfxMessageBox("Create File Default.");			
			return;
		}
	}
	else
	{				
		int file_num = xzfile.GetLength();
		if(file_num < 1)
		{
		}
		else
		{
			SPEEDSAMPLE mysearchcurve;
			int mm = sizeof(SPEEDSAMPLE);
			xzfile.Seek(-mm,CFile::end);
			xzfile.Read((char*)&mysearchcurve,mm);
            ControlParam.run_time = mysearchcurve.t;
		}
	}
	xzfile.Close();
}

void CCSpeedView::timerProc()
{
	if(IsSetSysParam)
		return;
	
	
	
	if(sample_first)
		sample_first=FALSE;
	
	
	////////按鈕檢測
	int code;
	code=0;
	int kk;
	int nn;
	nn = nTime%20;
	if(nn == 0)//200毫秒采樣1按鈕,采樣一組數據
	{
		kk=-1;
		int i;
		long NowInData= ~InportD(SysParam.basein+0);  //6110 0x288
		
		for(i=2;i<8;i++)
		{
			if((NowInData&(0x01<<(2*i))&&!(SampleParam.InData&(0x01<<(2*i)))))
			{
				kk=i;
			}
		}
		SampleParam.InData = NowInData;
		if(IsStartTest&&kk>=2&&kk<8)
		{
			//		err_Lock.Lock();
			SampleParam.InData = kk;
			//		err_Lock.Unlock();
		}
		if(kk==ALARMKEY)
		{
			code=ALARMSTOP;			
		}
	}
		
		
		if(SampleParam.speed_meas_v>ControlParam.OtherParam.v_max)
		{
				OutAlarmLampOn(TRUE);
		}
	
	if(code!=0)
		FaultCode = code;
	
	if(nTime >= 20)
	{
		nTime = 0;
	}
	nTime++;
	
}







void CCSpeedView::OnClearAlarm() 
{
	// TODO: Add your control notification handler code here
		OutAlarmLampOn(FALSE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本丶国产丶欧美色综合| 国产精品综合久久| ㊣最新国产の精品bt伙计久久| 69av一区二区三区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 成人免费观看视频| 成人黄色av电影| 国产a久久麻豆| 东方aⅴ免费观看久久av| 国产米奇在线777精品观看| 国产一区二区电影| 激情综合网av| 波波电影院一区二区三区| 成人小视频免费在线观看| 成人激情免费电影网址| 91同城在线观看| 欧美视频在线一区二区三区| 欧美日韩久久久久久| 制服丝袜av成人在线看| 欧美成人a∨高清免费观看| 精品日韩欧美在线| 久久久久久久久久久99999| 国产欧美一区二区精品婷婷 | 一区二区三区精品| 一区二区在线观看免费| 日韩激情在线观看| 国产一区二区在线影院| 99久久伊人精品| 欧美放荡的少妇| 国产午夜精品福利| 亚洲最新视频在线观看| 久久精品国产亚洲一区二区三区| 国产一区三区三区| 欧美视频日韩视频在线观看| 欧美精品一区二区蜜臀亚洲| 亚洲人被黑人高潮完整版| 日韩成人av影视| 成人综合在线网站| 欧美一区二区三区在线| 国产精品久久综合| 日本不卡中文字幕| 成人激情免费视频| 日韩欧美黄色影院| 一区二区成人在线| 国产成人亚洲综合a∨婷婷| 在线观看91视频| 久久久亚洲精品石原莉奈| 一区二区三区欧美日| 精品系列免费在线观看| 91成人在线精品| 久久亚洲一级片| 日韩在线a电影| 色一情一乱一乱一91av| 欧美精品一区二区三区高清aⅴ | 欧美日韩国产电影| 国产精品丝袜一区| 蓝色福利精品导航| 欧美日韩中文字幕一区二区| 国产精品久久久久久久久久免费看 | 久久精品亚洲麻豆av一区二区| 亚洲激情成人在线| av资源站一区| 一区二区国产盗摄色噜噜| 国产麻豆精品久久一二三| 欧美精品xxxxbbbb| 色综合色狠狠天天综合色| 日本一区二区免费在线| 欧美在线观看一区| 日韩免费视频一区| 婷婷久久综合九色综合伊人色| kk眼镜猥琐国模调教系列一区二区| 欧美日韩精品三区| 亚洲高清免费在线| 欧美日韩在线观看一区二区| 亚洲精品视频免费看| 91视频一区二区三区| 日韩一区在线免费观看| 91亚洲永久精品| 中文字幕色av一区二区三区| 成人v精品蜜桃久久一区| 欧美国产一区二区在线观看| 国产成人无遮挡在线视频| 中国av一区二区三区| 91日韩精品一区| 一区二区免费看| 欧美日高清视频| 免费观看一级欧美片| 日韩精品一区二区三区视频播放| 久久精品国产亚洲高清剧情介绍| 日韩三级视频在线看| 国内久久精品视频| 欧美激情自拍偷拍| 99久久精品国产一区二区三区| 亚洲欧洲成人精品av97| 91久久精品网| 青椒成人免费视频| 2023国产精品视频| 丰满亚洲少妇av| 亚洲精品美国一| 91精品国产色综合久久不卡蜜臀| 青青草视频一区| 久久色中文字幕| 99精品国产91久久久久久| 亚洲国产欧美在线| 欧美变态tickle挠乳网站| 国产成人免费视频网站高清观看视频| 中文字幕亚洲在| 91精品在线免费观看| 丰满少妇久久久久久久| 亚洲一区在线视频观看| 精品剧情v国产在线观看在线| 不卡的av电影| 午夜电影网一区| 中文字幕乱码久久午夜不卡| 欧美日韩精品三区| 国产成人综合精品三级| 亚洲福利视频导航| 国产欧美一区二区三区沐欲| 欧美三区在线观看| 国产成人精品三级麻豆| 亚洲第一av色| 亚洲欧洲一区二区在线播放| 在线综合+亚洲+欧美中文字幕| 成人av午夜影院| 日本三级亚洲精品| 国产精品传媒在线| 精品福利在线导航| 精品视频在线视频| 成人高清视频免费观看| 青青国产91久久久久久| 一区二区三区精品| 国产精品美女久久久久高潮 | 亚洲毛片av在线| 久久久久免费观看| 欧美一级日韩一级| 在线精品视频一区二区| 99精品国产99久久久久久白柏| 国产在线精品视频| 免费在线欧美视频| 天堂午夜影视日韩欧美一区二区| 成人欧美一区二区三区视频网页| 日韩三级av在线播放| 欧美精品日韩精品| 日本高清无吗v一区| 成人久久久精品乱码一区二区三区 | 激情综合网av| 免费欧美在线视频| 午夜精品爽啪视频| 亚洲一区在线观看免费观看电影高清| 国产精品美女一区二区| 国产欧美日韩激情| 国产欧美一区二区精品久导航| 久久久综合网站| 国产无一区二区| 国产精品另类一区| 国产精品久久久久久户外露出| 久久久综合精品| 国产亚洲短视频| 中文字幕成人av| 成人免费一区二区三区在线观看| 国产亚洲成av人在线观看导航| 久久久久97国产精华液好用吗| 精品国产青草久久久久福利| 精品日韩一区二区三区免费视频| 精品日韩一区二区三区| 久久九九久精品国产免费直播| 国产亚洲一区二区三区在线观看| 国产三级精品视频| 亚洲人xxxx| 日韩有码一区二区三区| 奇米精品一区二区三区在线观看一| 日韩精品欧美精品| 精品一区二区三区蜜桃| 国产成人精品亚洲午夜麻豆| 99久久婷婷国产综合精品| 91国偷自产一区二区使用方法| 欧美色图一区二区三区| 欧美老肥妇做.爰bbww| 日韩欧美亚洲一区二区| 久久久国产精品麻豆| 自拍偷拍国产亚洲| 日韩黄色一级片| 国产成人av电影| 欧美手机在线视频| 精品久久一二三区| 亚洲九九爱视频| 日本不卡123| jlzzjlzz亚洲日本少妇| 欧美美女网站色| 国产精品日韩成人| 日韩va欧美va亚洲va久久| 国产传媒日韩欧美成人| 欧美色国产精品| 国产蜜臀av在线一区二区三区| 亚洲一区二区高清| 黄色小说综合网站| 欧美色老头old∨ideo| 国产清纯白嫩初高生在线观看91 | 欧美猛男超大videosgay| 日韩欧美一级二级|