?? hd_mcu_cfg.h
字號:
/************************************************************************/
/************ predefine constant for hardware ************/
/************ including config and pin assemble ************/
/************ created by matiancai 2008/04/12 ************/
/************ used for water cooling system only ************/
/************************************************************************/
#ifndef _HD_CFG_H
#define _HD_CFG_H
#include <hidef.h> /* common defines and macros */
#include <mc9s12dp256.h> /* derivative information */
/****************Hardware config*******************/
/****************Pins for Drivers******************/
#define Drsg0 PORTA_BIT0 //DriverEnable port
#define Drsg1 PORTA_BIT1 //Hydrogen in EV
#define Drsg2 PORTA_BIT2 //Hydrogen out EV
#define Drsg3 PORTA_BIT3 //Compressor MC
#define Drsg4 PORTA_BIT4 //Stack MC
#define Drsg5 PORTA_BIT5 //Cooling Fan1
#define Drsg6 PORTA_BIT6 //Cooling Fan2
#define Drsg7 PORTA_BIT7 //Cooling pump
#define Drsg8 PTP_PTP7 //Water separator drain valve
#define Drsg9 PTP_PTP6 //TBD1
#define Drsg10 PTP_PTP5 //TBD2
#define Drsg11 PTP_PTP4 //TBD3
/****************Pins for Signals input***********/
#define CMPFt PORTB_BIT0 //fault signal of compressor
#define WPSIN PORTB_BIT2 //signal for water tank
/****************Pins for DA Control*************/
#define DASS PTH_PTH3 //SPIDA enable Pin
/****************action macro define*************/
#define DriverEnable Drsg0=0;SetFlgDrv
#define DriverDisable Drsg0=1;ClcFlgDrv
#define ACT_SUPPLY_HYDROGEN Drsg1=1;SetFlgHEV2 //supply hydrogen to satck
#define STP_SUPPLY_HYDROGEN Drsg1=0;ClcFlgHEV2
#define ACT_DRAIN_HYDROGEN Drsg2=1;SetFlgHEV3
#define STP_DRAIN_HYDROGEN Drsg2=0;ClcFlgHEV3
#define ACT_CMPCNT Drsg3=1;SetFlgCMP
#define STP_CMPCNT Drsg3=0;ClcFlgCMP;flgDAINI=0
#define ACT_STCNT Drsg4=1;SetFlgCNT
#define STP_STCNT Drsg4=0;ClcFlgCNT
#define ACT_FAN1 Drsg5=1;SetFlgFAN1
#define STP_FAN1 Drsg5=0;ClcFlgFAN1
#define ACT_FAN2 Drsg6=1;SetFlgFAN2
#define STP_FAN2 Drsg6=0;ClcFlgFAN2
#define ACT_CWP Drsg7=1;SetFlgCWP
#define STP_CWP Drsg7=0;ClcFlgCWP
#define ACT_DRAIN_WATER Drsg8=1;SetFlgWEV1
#define STP_DRAIN_WATER Drsg8=0;ClcFlgWEV1
#define ACT_TBD1 Drsg9=1;//SetFlgCWP
#define STP_TBD1 Drsg9=0;//ClcFlgCWP
#define ACT_TBD2 Drsg10=1;//SetFlgCWP
#define STP_TBD2 Drsg10=0;//ClcFlgCWP
#define ACT_TBD3 Drsg11=1;//SetFlgCWP
#define STP_TBD3 Drsg11=0;//ClcFlgCWP
#define SPIDAEnable DASS=0
#define SPIDADisable DASS=1
/*******Hardware related Varibles predefine**************/
/**************Flag bits of StateDevice**********/
#define StatusofActs StateDevice.Bits
#define sysFlgDrv StateDevice.StateFlags.flagDrv
#define sysFlgHEV1 StateDevice.StateFlags.flagHEV1
#define sysFlgHEV2 StateDevice.StateFlags.flagHEV2
#define sysFlgHEV3 StateDevice.StateFlags.flagHEV3
#define sysFlgWEV1 StateDevice.StateFlags.flagWEV1
#define sysFlgWEV2 StateDevice.StateFlags.flagWEV2
#define sysFlgDIP StateDevice.StateFlags.flagDIP
#define sysFlgCNT StateDevice.StateFlags.flagCNT
#define sysFlgCMP StateDevice.StateFlags.flagCMP
#define sysFlgHRP StateDevice.StateFlags.flagHRP
#define sysFlgFAN1 StateDevice.StateFlags.flagFAN1
#define sysFlgFAN2 StateDevice.StateFlags.flagFAN2
#define sysFlgCWP StateDevice.StateFlags.flagCWP
#define ErrFlgWPS StateDevice.StateFlags.flagEWPS
#define ErrFlgCMP StateDevice.StateFlags.flagFCMP
#define SetFlgDrv sysFlgDrv =1
#define ClcFlgDrv sysFlgDrv =0
#define SetFlgHEV1 sysFlgHEV1=1
#define ClcFlgHEV1 sysFlgHEV1=0
#define SetFlgHEV2 sysFlgHEV2=1
#define ClcFlgHEV2 sysFlgHEV2=0
#define SetFlgHEV3 sysFlgHEV3=1
#define ClcFlgHEV3 sysFlgHEV3=0
#define SetFlgWEV1 sysFlgWEV1=1
#define ClcFlgWEV1 sysFlgWEV1=0
#define SetFlgWEV2 sysFlgWEV2=1
#define ClcFlgWEV2 sysFlgWEV2=0
#define SetFlgDIP sysFlgDIP =1
#define ClcFlgDIP sysFlgDIP =0
#define SetFlgCNT sysFlgCNT =1
#define ClcFlgCNT sysFlgCNT =0
#define SetFlgCMP sysFlgCMP =1
#define ClcFlgCMP sysFlgCMP =0
#define SetFlgHRP sysFlgHRP =1
#define ClcFlgHRP sysFlgHRP =0
#define SetFlgFAN1 sysFlgFAN1=1
#define ClcFlgFAN1 sysFlgFAN1=0
#define SetFlgFAN2 sysFlgFAN2=1
#define ClcFlgFAN2 sysFlgFAN2=0
#define SetFlgCWP sysFlgCWP =1
#define ClcFlgCWP sysFlgCWP =0
#define SetFlgEWPS ErrFlgWPS =1
#define ClcFlgEWPS ErrFlgWPS =0
#define SetFlgFCMP ErrFlgCMP =1
#define ClcFlgFCMP ErrFlgCMP =0
/**********************************************************/
/**************Timer related marco definition**************/
/**********************************************************/
#define T0Enable TIE_C0I=1
#define T0Disable TIE_C0I=0
#define T1Enable TIE_C1I=1
#define T1Disable TIE_C1I=0
#define T2Enable TIE_C2I=1
#define T2Disable TIE_C2I=0
#define T3Enable TIE_C3I=1
#define T3Disable TIE_C3I=0
#define T4Enable TIE_C4I=1
#define T4Disable TIE_C4I=0
#define T5Enable TIE_C5I=1
#define T5Disable TIE_C5I=0
#define T6Enable TIE_C6I=1
#define T6Disable TIE_C6I=0
#define T7Enable TIE_C7I=1
#define T7Disable TIE_C7I=0
#define ALLTimerDisable TIE=0X00
#define EnableHDrain T0Enable
#define DisableHDrain T0Disable
#define EnableStepWait T1Enable
#define DisableStepWait T1Disable
#define EnableWDrain T2Enable
#define DisableWDrain T2Disable
#define EnableDAINI T3Enable;TC3=TC3+0XF424;
#define DisableDAINI T3Disable;
#define EnablePlmtCtrl T4Enable
#define DisablePlmtCtrl T4Disable
#define EnableCANVMS T7Enable;TC7=TC7+0X036B
#define DisableCANVMS T7Disable
#define TimerEnable CRGINT_RTIE=1
#define TimerDisable CRGINT_RTIE=0
/**************Bits of FCEStatus************/
#define SysStatus FCEStatus.MergedBits.baseState
#define SysErrRank FCEStatus.MergedBits.ErrRank
/**************Enum items for stepCtrl******/
#define sysIdle 0
#define sysECUReady 1
#define sysStarting 2
#define sysStartWait 3
#define sysWaitReady 4
#define sysReday 5
#define sysRunning 6
#define sysAddPset 7
#define sysDecPset 8
#define sysStopWait 9
#define sysStoping 10
#define sysStopDrain 11
/********************FceECUState***********************/
#define ECU_Ready 0 //Ready
#define ECU_Enabled 2 //Enabled
#define ECU_Powerup 4 //PowerOn
#define ECU_Error 5 //Fault
#define ECU_Calib 7 //Calibration and Dignosis
/***Following code will be effective only when not Error***/
#define ECU_Normal 0 //Run without error
#define ECU_MinorFault 1 //MinorFault
#define ECU_GeneralFault 2 //GeneralFault
/***Following code will be effective only when Error***/
#define ECU_LowError 1 //second rank error
#define ECU_HighError 2 //high rank error
/********************FceCmd***********************/
#define cmdEnable 2
#define cmdDisable 1
#define cmdShutDown 1
#define cmdCancelShutDown 2
#define sysNotReady stepCtrl!=sysECUReady
#define ReayCondOK ((Vst>IniVstLmt)&&(CVmin>IniCVLmt))
#define StopCondOK (PHin<=100)
/*******************System State macro**************************/
#define SysSetRun SysRun=1 //set system to be running
#define SysSetStop SysRun=0 //set system to be stopping
#define SysSetEmg SysEmgency=1 //set system to be emgency stopping
#define SysCancelEmg SysEmgency=0 //cancel emgency stopping
#define SysRunUpdate SysRunOld=SysRun //unpdate system run state
#define SysEmgencyUpdate SysEmgencyOld=SysEmgency //unpdate system emgency state
#define SysStateUpdate SysRunUpdate;SysEmgencyUpdate;
#define ModeIdle 0
#define ModeManual 1
#define ModeFCEAuto 2
#define ModeVMSAuto 4
#define IsSysRun (SysRun==1) //judge whether system is running
#define IsSysEmg (SysEmgency==1) //judge whether system is emgency stopping
#define SysRunChanged (SysRun!=SysRunOld) //judge whether runstate changed
#define SysEmgencyChanged (SysEmgency!=SysEmgencyOld) //judge whether emgencystate changed
#define SysEnable (SysRunChanged&&IsSysRun)
#define SysDisable (SysRunChanged&&(!IsSysRun))
#define SysFallEmg (SysEmgencyChanged&&IsSysEmg)
#define SysFreeEmg (SysEmgencyChanged&&(!IsSysEmg))
#define IsSysRunning (!(SysRunChanged)&&(IsSysRun))
#define IsIdleCtrl (modeCtrl==ModeIdle)
#define IsManualCtrl (modeCtrl==ModeManual)
#define IsFCEAutoCtrl (modeCtrl==ModeFCEAuto)
#define IsVMSAutoCtrl (modeCtrl==ModeVMSAuto)
#define flagErr 1
#define flagNormal 0
/*************Sensor config****************/
#define IstRawDate ATD0DR1
#define IcpRawDate ATD0DR2
#define TBD1RawDate ATD0DR3
#define PHSRawDate ATD0DR4
#define PWinRawDate ATD0DR5
#define THinRawDate ATD0DR6
#define TWinRawDate ATD0DR7
#define VcpRawDate ATD1DR1
#define TBD2RawDate ATD1DR2
#define PAinRawDate ATD1DR3
#define PHinRawDate ATD1DR4
#define VstRawDate ATD1DR5
#define TAinRawDate ATD1DR6
#define TWoutRawDate ATD1DR7
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -