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

📄 record.h

📁 wince外部中断计数小驱动
💻 H
字号:
// Record.h: interface for the CRecord class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_RECORD_H__92B0C4E6_1424_42F3_BF80_5AC87DAA03DA__INCLUDED_)
#define AFX_RECORD_H__92B0C4E6_1424_42F3_BF80_5AC87DAA03DA__INCLUDED_

#include "Fram.h"	// Added by ClassView
#include "Record.h"
#include <tchar.h>
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define SENSER_PAUSE 8//传感器每次转一圈的脉冲数
#define DEFAULT_K_MODULUS 640//默认的K值

//*********************************************************************
//文件头
#define ADD_CORTOI_DESCRIB 0x00
#define SIZEOF_CORTOI_DESCRIB 48//科泰英文描述文件

#define ADD_ELABLE 0x0030
#define ADD_K_MODULUS 0xec


//速度
#define MAX_VI_RECORD_MEM 32000
#define VI_FOR_HOUR_MEM 64
//Address in FRAM definition;


#define ADD_VEC_INF 0x0060
#define ADD_DRIVER 0x00a0
#define ADD_BLOCK_INDEX 0x0100
#define ADD_MIN_INDEX 0x0102
//平均速度存储区
#define ADD_VI_START 0x110
#define VI_SIZE 64
#define MAX_HOUR_NUM 480
//速度最大值
#define MAX_VI 250


//里程日统计
#define MAX_NUMBER_OF_MILEAGE_RECORD 30
#define NUM_OF_BYTE_IN_ITEM 9
// #define ADD_MILEAGE_INDEX 0x8000
// #define ADD_MILEAGE_START 0x8001
#define ADD_MILEAGE_INDEX 0x79a0
#define ADD_MILEAGE_START 0x79a1


//进出站记录
#define NUM_OF_STATION_REC 2000
#define SIZEOF_STATION_ITEM 10
#define IN_STTION 0xa
#define OUT_STTION 0xb
#define DIR_UP 0xaa
#define DIR_DOWN 0xbb
#define ADD_STATION_INDEX 0x7b00
#define ADD_STATION_START 0x7b02

//疑点数据
#define SIZEOF_A_DOUT_REC 313
#define SIZEOF_ITEM_HEAD 13
#define MAX_NUM_OF_DOUT_REC 20
#define ADD_DOUBT_INDEX 0xc9ff
#define ADD_DOUBT_START 0xca00


//超速记录
#define MAX_NUM_OF_OVERSPEED_REC 500
#define SIZEOF_A_OVERSPEED_REC 14
#define ADD_OVERSPEED_START 0Xe2a0
#define ADD_OVERSPEED_INDEX (ADD_OVERSPEED_START - 2)

///#define 


typedef struct _SATION 
{
	unsigned char year;//1
	unsigned char month;//2
	unsigned char day;//3
	unsigned char hour;//4
	unsigned char minutes;//5
	unsigned char second;//6
	unsigned char direct;//7
	unsigned char inOrOUt;//8
	unsigned char number;//9
	unsigned char reserved;//10
} SATION;

typedef struct _ELABLE
{
    unsigned char hardVer;
	unsigned char sysVer;
	unsigned char UID[4];
	unsigned char year;
	unsigned char month;
	unsigned char day;
	unsigned char hour;
	unsigned char min;
	unsigned char QAid;
	unsigned char isRepair;
	unsigned char customerID[2];
}ELABLE;


typedef struct _VEC_INF
{
    unsigned char VIN[17];
	unsigned char type;
	unsigned char ID[11];
	unsigned char ID_self[5];
}VEC_INF;


typedef struct _OVER_SPEED
{
	unsigned char byear;
	unsigned char bmonth;
	unsigned char bday;
	unsigned char bhour;
	unsigned char bmin;
	unsigned char bsecond;	
	unsigned char oyear;
	unsigned char omonth;
	unsigned char oday;
	unsigned char ohour;
	unsigned char omin;
	unsigned char osecond;
	unsigned char limitspeed;
	unsigned char maxspeed;
}OVER_SPEED;




class CRecord  
{
public:
	BOOL InsertDoubt(unsigned char vi,unsigned char byteValue1,unsigned char byteValue2);
	BOOL InsertStation(const SATION station);
	BOOL SetKModulus(unsigned int KModulus);
	BOOL GetKModulus(unsigned int& KModulus);
	unsigned int defaultKModulus;
	BOOL CRecord::AddMileage(unsigned long numberOfPause);
	unsigned char counter;
	unsigned long minuVi;
	unsigned long SeekPointer(unsigned int& blockIndex,unsigned char minuIndex);
	LPSYSTEMTIME lastTime;
	BOOL InsertVi(unsigned char vi);
	BOOL SetVIIndex();
	unsigned char VIMinIndex;
	unsigned char VIBlockIndex[2];
	BOOL Overspeed(const OVER_SPEED over_speed);


	
	BOOL SetDriver();
	BOOL SetVecInf(const VEC_INF* inf);
	BOOL WriteElable(const ELABLE* elable);
	BOOL HighLevelFormat();
	CRecord();
	virtual ~CRecord();


	CFram* pFramOnBorad;
};

#endif // !defined(AFX_RECORD_H__92B0C4E6_1424_42F3_BF80_5AC87DAA03DA__INCLUDED_)

⌨️ 快捷键说明

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