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

📄 searchalarmerobj.h

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 H
字号:
/****************************************************************
**                                                              *
**  FILE         : SearchAlarmerObj.h                           *
**  COPYRIGHT    :  (c) 2001 .Xiamen Yaxon NetWork CO.LTD       *
**                                                              *
**                                                              *
**  By : Cyb 2006.12.06                                         *
****************************************************************/

#include "gpsrecer.h"
#include "structs.h"

#ifndef SEARCHALARMEROBJ_H
#define SEARCHALARMEROBJ_H

# define MAX_DIRECS  4
/*
********************************************************************************
*                  DEFINE ALARMER DISTANCE (A(larmer),D(istance))
********************************************************************************
*/
#define  A_RDR_D1000       1000
#define  A_RDR_D500        500
#define  A_RDR_D200        200
#define  A_RDR_D100        100
#define  A_ELECEYE_D       200
#define  A_CROSSING_D      100

/*
********************************************************************************
*                  DEFINE ROAD ABBRIBUTE
********************************************************************************
*/

#define HAVE_ELECEYE_SORT    0x01             /* The sort of objects as eleceye*/
#define HAVE_VECLMTSECTION   0x02             /* The vector limited road section */
#define HAVE_LANE            0x04             /* The lane */
#define HAVE_ACCIDENT_SPOT   0x08             /* The spot prone to accident*/
#define HAVE_RADAR_SORT      0x10             /* The sort of objects as radar*/

/*
********************************************************************************
*                  DEFINE ZONE TYPE OF VECTORLIMTED SECTIONS
********************************************************************************
*/

#define TYPE_LATITUDE            1
#define TYPE_LONGTITUDE          2

/*
********************************************************************************
*                  DEFINE TYPE OF ALARMER OBJECTS
********************************************************************************
*/

#define ELECEYE_SORT     0 
#define RADAR_SORT       1
#define FREEWAY_EXIT     2
#define CROOKED_ROAD     3
#define TUNNEL           4
#define DECLINE          5
#define ASCENT           6
#define SERVICE          7
#define GAS_STATION      8
#define TOLL_GATE        9

/*
********************************************************************************
*                  DEFINE WORKING STATUS
********************************************************************************
*/
#define ISGETCROSSING           0x00000001
#define ISGETELECEYE            0x00000002
#define ISGETRDR1000            0x00000004
#define ISGETRDR500             0x00000008
#define ISGETRDR200             0x00000010
#define ISGETRDR100             0x00000020
#define ISFINDVECLIMITZ         0x00000040
#define ISSETOVERSPEED          0x00000080
#define ISDELOVERSPEED          0x00000100
#define ISSAVEGETVECLIM         0x00000200
#define ISHAVEVECLIM            0x00000400
#define ISHAVELANE              0x00000800
#define ISSAVELANE              0x00001000
/*
********************************************************************************
*                  DEFINE TURN  STATUS
********************************************************************************
*/
#define  RIGHTLIMIT             1
#define  LEFTLIMIT              2
/*
********************************************************************************
*                  DEFINE DATA STRUCTURE
********************************************************************************
*/

/*DOT POSITION STRUCTURE*/
typedef struct{
        INT8U       latitude[4];
        INT8U       longitude[4];
}POS_STRUCT;

/* ALARMER OBJECT STRUCTURE WITHOUT DIRECTION */
typedef struct{
       INT16U       type;                        
       POS_STRUCT  posidata;                    
}ALARMEROBJ_STR;

/* ALARMER OBJECT STRUCTURE WITH DIRECTION */
typedef struct{
       INT16U        type;                       
       INT16U       direction;                   
       POS_STRUCT   posidata;                    
}D_ALARMEROBJ_STR;

/* ROAD ABBTRIBUTE STRUCTURE */
typedef struct{                        
                                 
       INT16U        direction;                        
       INT8U         attribute;                         
	   INT8U         veclimrd;
	   INT16U        turnsts;
	   INT16U        roadindex;                        
}ROADATTRI_STR;

/* OFFSET STRUCTURE */
typedef struct{
	     INT16U        pos;
	     INT16U       nums;
}OFFSET_STRUCT;

/*CROSSING DOT STRUCTURE*/
typedef struct{                       
       INT16U            direc_nums;                                                   
       ROADATTRI_STR    road[MAX_DIRECS];                  
	   POS_STRUCT       gpsdata;
} CROSSINGDOT_STR;                           

/*ZONE STRUCTURE*/ 
typedef struct{                        
        INT8U  downorleft[4];
        INT8U  uporright[4];
}ZONE_STRUCT;

/*VECTORLIMITED ZONE STRUCTURE*/ 
typedef struct {
          INT8U     vector;          
          INT8U     zonetype;        
        ZONE_STRUCT zone;           
}VECLMTZONE_STR;


BOOLEAN  SearchCrossingDot(CROSSINGDOT_STR *crossingdot);
BOOLEAN  SearchElecEyeSort(void);
BOOLEAN  FindVecLimitedZone(void);
BOOLEAN  SearchRadarSort(INT16U alarmlen, INT16U *distance);
BOOLEAN  SearchOtherElecEyes(void);
BOOLEAN  SearchOtherRadars(INT16U alarmlen, INT16U *distance);

void     SearchAlarmerObjInit(void);
INT8U    GetCurRoadindex(void);

#endif


⌨️ 快捷键说明

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