📄 commondefine.h
字号:
/**************************************************************************/
/* FILE NAME: commondefine.h COPYRIGHT (c) MOTOROLA 1999 */
/* VERSION: 1.1 */
/* */
/* DESCRIPTION: */
/* This file defines all of the data types for the family. It also */
/* defines compiler specific paramaters. This file is included by all */
/* individual modules. */
/*========================================================================*/
/* AUTHOR: kyle kong */
/* COMPILER: Diab Data VERSION: 4.2b */
/* */
/* UPDATE HISTORY */
/* REV AUTHOR DATE DESCRIPTION OF CHANGE */
/* --- ----------- --------- --------------------- */
/* 1.0 kyle kong 112905 initialization files. */
/**************************************************************************/
//#include "com_typedefine.h"
#include "typedefine.h"
#if defined(commondefine)
#define EXTERN
#else
#define EXTERN extern
#endif
#define sqr372
#define bool int
#define true 1
#define false 0
#define Engine_Stop 0
#define Engine_Start 1
#define Engine_Running 2
#define NON_Running 0
#define Idle 1
#define PartLoad 2
#define FullLoad 3
#define KEY PTIH_PTIH7
#define MAINRELAY PORTE_BIT2
#define PT6 PTH_PTH6
#define OFF 0
#define ON 1
extern void McuInit(void);
//Initialize system 40MHz
//Initialize SCI
extern void CANInit(void);
//Initialize CAN
extern void RTIInit(void);
//Initialize Real time interrupt
extern void MC33389Can(void);
//Canint for MC33389
extern void SysParametersInit(void);
extern void Sqr480_MasterIgnTiming(void);
extern void Sqr480_SlaveIgnTiming(void);
extern void Sqr480_IGNandINJ_Trig(void);
extern void Sqr480_InjTiming(void);
extern void Sqr372_IgnTiming(void);
extern void Sqr372_InjTiming(void);
extern void Sqr372_IgnInjTrig(void);
extern void Fuel(void);
extern void InjAdvAngle(void);
extern void Advance(void);
extern void CW(void);
extern void CCW(void);
extern void InitIdle(void);
extern void SEEK(void);
extern void isc_move(void);
extern void O2CloseLoop(void) ;
extern void OxygenHotup(void);
/****************诊断信息读取及存储****************************/
extern void DTCTable(void);
extern void MILControl(void);
extern void StatusOfControlSystem(void);
extern void EepromSave(void);
extern void FlashSave(void);
EXTERN UINT16 MC33389_can_delay;
//Receved Data to modify data pool
EXTERN INT8 G_n8CANSend;
//Receved Data to modify data pool
EXTERN void CANRW(void);
EXTERN unsigned char G_un8CAN0RXIDR0;
EXTERN unsigned char G_un8CAN0RXIDR1;
EXTERN unsigned char G_un8CAN0RXIDR2;
EXTERN unsigned char G_un8CAN0RXIDR3;
EXTERN unsigned char G_un8CAN0RXDSR0;
EXTERN unsigned char G_un8CAN0RXDSR1;
EXTERN unsigned char G_un8CAN0RXDSR2;
EXTERN unsigned char G_un8CAN0RXDSR3;
EXTERN unsigned char G_un8CAN0RXDSR4;
EXTERN unsigned char G_un8CAN0RXDSR5;
EXTERN unsigned char G_un8CAN0RXDSR6;
EXTERN unsigned char G_un8CAN0RXDSR7;
#define OFF 0
#define ON 1
#define NEXTOFF 2
#define NEXTON 3
#define MODE_STOP 0
#define MODE_START 1
#define MODE_IDLE 2
#define MODE_NORMAL 3
#define MODE_SPEEDLIMIT 4
#define MODE_OVERSPEED 9
/*used to difne the compress TDC and exhaust TDC
of the cylinder1# for SQR480 engine*/
#define Cyl1ExhTDC 82
#define Cyl1CompTDC 22
//used to difne the compress TDC of the cylinder1# for DieselEngine
#define CompTDC_Cylinder1 600//equal to 60 radian
#define CompTDC_Offset CompTDC_Cylinder1%60
#define CRK_CompTDC_Cyl1 CompTDC_Cylinder1/60
#define CompTDC_CAM 1
#define CompTDC_Offset_CAM 450//equal to 60 radian
/************************system *************************/
/****************main.c**************************************************/
EXTERN unsigned char G_u8Timer[20];//8bit software timer,steps=1ms
EXTERN unsigned int G_u16Timer[20];//16bit software timer,steps=1ms
EXTERN unsigned int G_u32Timer[20];//long software timer,steps=1ms,the max timing is 49days
EXTERN unsigned char Engine_State,Engine_LastState;//R// 0--Engine_Stop;1--Engine_Start;2--Engine_Running
EXTERN unsigned char Engine_Mode,Engine_LastMode;//R// 0--Idle;1--PartLoad;2--FullLoad
EXTERN unsigned int G_u16StartInj_N;//R/W start injection speed limted,user calibrated
EXTERN unsigned long G_u32WorkCycCount;//R //record the work circles of theb engine current running
EXTERN unsigned char G_bIgnKey;//R ignition key state
/****************crank signal and CAM signal process ******************/
EXTERN unsigned int G_u16CrankGear_W;//R the current crank gear pulse width
EXTERN unsigned int G_u16CrankGear_W0;//the last crank gear pulse width
EXTERN unsigned int G_u16Avr_W;//the avrage of the crank gears
EXTERN unsigned int G_u16Avr_W0;//the last avrage of the crank gears
EXTERN int G_n16dAvr_W;
EXTERN unsigned char G_u8CrankGear_SN;//R the serial number for the crank gear
#ifdef sqr480
EXTERN unsigned int G_u16ArrayCrank_W[30];//the crank gear width array
EXTERN unsigned int G_u16ArrayIntake_P[30];//the intake manifold pressure array
#else
EXTERN unsigned int G_u16ArrayCrank_W[40];//the crank gear width array
EXTERN unsigned int G_u16ArrayIntake_P[40];//the intake manifold pressure array
#endif
EXTERN unsigned char un8_CrankIndex;
EXTERN unsigned long G_u16Sum_W;//the sum of the crank gear width
EXTERN unsigned int G_u16N;//R engine real time speed
EXTERN unsigned int G_u16N0;//the speed of the last 60degree crankshaft angle
EXTERN int G_n16dN;//R
EXTERN int G_n16dN0;
EXTERN unsigned int G_u16CrankGearW_SN30;//R the NO.30 gear's width
EXTERN unsigned int G_u16CrankGearW_SN60;//R the NO.60 gear's width
EXTERN unsigned int G_u16CrankGearW_SN90;//R the NO.90 gear's width
EXTERN unsigned int G_u16CrankGearW_SN0;//R the NO.0 gear's width
EXTERN unsigned int G_u16Ign1LostCounter;//R the counter for the ign1 lost spark events
EXTERN unsigned int G_u16Ign2LostCounter;//R the counter for the ign2 lost spark events
EXTERN unsigned int G_u16Ign3LostCounter;//R the counter for the ign3 lost spark events
EXTERN unsigned int G_u16Ign4LostCounter;//R the counter for the ign4 lost spark events
EXTERN unsigned char G_bCamError;//1--cam signal normally;0--there is no cam signal
EXTERN unsigned char G_u8CRK_GearsCounter;//counte the crank gears
//EXTERN unsigned char G_u8CRKCounterMax;//counte the crank gears
EXTERN BIT_Union _CrankShaftCtrl;
#define CrankShaft _CrankShaftCtrl.Byte
#define G_bMissing _CrankShaftCtrl.Bits.BIT0//crankshaft lack gear flag
#define G_bCrankError _CrankShaftCtrl.Bits.BIT1//crank signal error
/******************ignition and injection timing calculation************/
EXTERN unsigned char IgnStart_M[4];//the master ignition start gear No.
EXTERN unsigned char IgnStartCMP_Error[3];//the master ignition start gear No.
EXTERN unsigned char IgnStart_S[4];//the slave ignition start gears No
EXTERN unsigned char IgnEnd_M[4];//the master ignition end gears No
EXTERN unsigned char IgnEndCMP_Error[3];//the master ignition end gears No
EXTERN unsigned char IgnEnd_S[4];//the slave ignition end gears No.
EXTERN unsigned int IgnStartDelay_M[4];//the master ignition start gear No.
EXTERN unsigned int IgnStartDelay_S[4];//the slave ignition start gears No
EXTERN unsigned int IgnEndDelay_M[4];//the master ignition end gears No
EXTERN unsigned int IgnEndDelay_S[4];//the slave ignition end gears No.
EXTERN unsigned char G_u8IgnAdvance_M;//R the master ignition advance data
EXTERN float flo_IgnAdvAngle_M;//the master ignition advance angle
EXTERN unsigned char G_u8IgnAdvance_S;//R the slave ignition advance data
EXTERN char G_n8SlaveIgnOffset;//R G_n8SlaveIgnOffset=G_u8IgnAdvance_M-G_u8IgnAdvance_S
EXTERN float flo_IgnAdvAngle_S;//the slave ignition advance angle
EXTERN unsigned char G_u8IgnAdvBase;//R the base advanced angle of the ingnition
EXTERN char G_n8IgnAdvAdap;//R the ignition advance adaption to the environment
EXTERN char G_n8IgnIdleOsAdap;//R the ignition advace adation to oxygen closed loop
EXTERN unsigned char IgnAdvReserve[4];//R the ignition advance reserve data(点火推迟角)
EXTERN unsigned int G_u16PreIgnDelay;//
EXTERN unsigned char G_u8PreIgnGear;//
EXTERN unsigned char InjStart[4];//the injection start gear No.
EXTERN unsigned int InjTimer[4];//the injection start time
EXTERN unsigned char G_u8InjAdvance;//R the injection advance
EXTERN unsigned char G_u8InjGear;//conversion the injection width as gears
EXTERN unsigned int G_u16InjWidth_Base;//R the injection width base value
EXTERN unsigned int G_u16InjWidth;//R the injection width witch has been revised
EXTERN BIT_Union _IgnInjCtrl;
#define IgnInjCtrl _IgnInjCtrl.Byte
#define G_bIgn1Misfire _IgnInjCtrl.Bits.BIT0//cylinder1 lost spark
#define G_bIgn2Misfire _IgnInjCtrl.Bits.BIT1//cylinder2 lost spark
#define G_bIgn3Misfire _IgnInjCtrl.Bits.BIT2//cylinder3 lost spark
#define G_bIgn4Misfire _IgnInjCtrl.Bits.BIT3//cylinder4 lost spark
#define G_bMasterIgn _IgnInjCtrl.Bits.BIT4//master ignition status bit
#define G_bSlaveIgn _IgnInjCtrl.Bits.BIT5//slave ignition status bit
#define G_bInjection _IgnInjCtrl.Bits.BIT6//injection status bit
#define G_bInjCutoff _IgnInjCtrl.Bits.BIT7//injection status bit
EXTERN BIT_Union _TimingCalculation;
#define TimingCalculation _TimingCalculation.Byte
#define G_bIgn1Timing _TimingCalculation.Bits.BIT0
#define G_bIgn2Timing _TimingCalculation.Bits.BIT1
#define G_bIgn3Timing _TimingCalculation.Bits.BIT2
#define G_bIgn4Timing _TimingCalculation.Bits.BIT3
#define G_bInj1Timing _TimingCalculation.Bits.BIT4
#define G_bInj2Timing _TimingCalculation.Bits.BIT5
#define G_bInj3Timing _TimingCalculation.Bits.BIT6
#define G_bInj4Timing _TimingCalculation.Bits.BIT7
EXTERN BIT_Union _InjDownCount;
#define InjDownCount _InjDownCount.Byte
#define G_bInj1Down _InjDownCount.Bits.BIT0
#define G_bInj2Down _InjDownCount.Bits.BIT1
#define G_bInj3Down _InjDownCount.Bits.BIT2
#define G_bInj4Down _InjDownCount.Bits.BIT3
/*********************idleMotor.c**************************/
EXTERN unsigned int G_u16MotorRestTiming;
EXTERN unsigned char NEW,POS;
EXTERN BIT_Union _ISC_Ctrl;
#define ISC_Ctrl _ISC_Ctrl.Byte
#define G_bISCmoving _ISC_Ctrl.Bits.BIT0
#define G_bISCmin _ISC_Ctrl.Bits.BIT1
#define G_bISCreset _ISC_Ctrl.Bits.BIT2
/*********************analog.c**************************
AN00--CRP signal voltage sqr480 used
AN01--voltage of the battery sqr480 used
AN02--intake pressure sqr480 used
AN03--intake tempreture sqr480 used
AN04--tempreture of the air condition sqr480 used
AN05--throttle postion sqr480 used
AN06--EGR vavle position
AN07--coolant water tempreture sqr480 used
AN08--voltage of the vechle speed signal sqr480 used
AN09--the NO.1 oxygen signal voltage sqr480 used
AN10--the NO.2 oxygen signal voltage
AN11--knock signal voltage sqr480 used
AN12--option analog signal input
AN13--CMP signal voltage sqr480 used
AN14--MAF in
AM15--knock signal integral value
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -