/******************************************************************************* * * * Société de Transports de Montréal. * * 2012 * * * * Projet Zones Tests * * * * * * * *******************************************************************************/ /* Description: Classe instantiable dérivée de la classe de base CStation. Les paramètres physiques de la station sont définis et initialisés ici. Ils sont ensuite accédés de manière générique à travers la classe CStation. Les paramètres dépend du câblage de l'armoire ZT et de la configuration particulière des CDVs de la station. */ /* ************************************************************************** */ /* Revision: ### 20121220 JFM Verision d'origine. ### YYYYMMDD Description du besoin ou du bug Description du changement. */ /* ************************************************************************** */ #include "Montmorency1022.h" #include #include "SwitchCDV.h" CMontmorency1022Station::CMontmorency1022Station() { //All the inherited variables from base class must be initialized here //according to the physical implementation in the station. mNbExtInputModules430 = MONTMORENCY1022_NB_EXTERNAL_INPUT_430_MODULES; mNbExtOutputModules440 = MONTMORENCY1022_NB_EXTERNAL_OUTPUT_440_MODULES; mNbExtMixedModules470 = MONTMORENCY1022_NB_EXTERNAL_MIXED_470_MODULES; mStationPhysicalKey = MONTMORENCY1022_STATION_KEY; //Initialize mask structures // mStationInputMasks.InputZT1S1Mask = MONTMORENCY1022_ZT1_S1_MASK; mStationInputMasks.InputZT1S2Mask = MONTMORENCY1022_ZT1_S2_MASK; mStationInputMasks.InputZT1PIMask = MONTMORENCY1022_ZT1_PI_MASK; mStationInputMasks.InputZT1PEMask = MONTMORENCY1022_ZT1_PE_MASK; mStationInputMasks.InputZT1FNMask = MONTMORENCY1022_ZT1_FN_MASK; mStationInputMasks.InputZT2S1Mask = MONTMORENCY1022_ZT2_S1_MASK; mStationInputMasks.InputZT2PIMask = MONTMORENCY1022_ZT2_PI_MASK; mStationInputMasks.InputZT2PEMask = MONTMORENCY1022_ZT2_PE_MASK; //External (ethernet) input module masks mStationInputMasks.InputZT1ITIMask = MONTMORENCY1022_IN_ZT1_ITI_MASK; // mStationInputMasks.InputZT1ITIMask = MONTMORENCY1022_IN_ZT1_10_22_ITI_MASK; mStationInputMasks.InputZT2ITIMask = MONTMORENCY1022_IN_ZT2_ITI_MASK; mStationInputMasks.InputZT1ANMask = MONTMORENCY1022_IN_ZT1_AN_MASK; mStationInputMasks.InputZT2ANMask = MONTMORENCY1022_IN_ZT2_AN_MASK; mStationInputMasks.InputZT1ARFMask = MONTMORENCY1022_IN_ZT1_ARF_MASK; mStationInputMasks.InputZT2ARFMask = MONTMORENCY1022_IN_ZT2_ARF_MASK; mStationInputMasks.InputStationIDMask = MONTMORENCY1022_IN_STATION_ID_MASK; //Logic input masks mStationInputMasks.InputCDVZT1ApproachMask = MONTMORENCY1022_IN_CDV_10B_MASK; mStationInputMasks.InputCDVZT1Mask = MONTMORENCY1022_IN_CDV_10B_MASK; mStationInputMasks.InputCDVZT2ApproachMask = 0; mStationInputMasks.InputCDVZT2Mask = 0; //Output masks mStationOutputMasks.OutputVP1Mask = MONTMORENCY1022_OUT_VP1_MASK; mStationOutputMasks.OutputVP2Mask = MONTMORENCY1022_OUT_VP2_MASK; mStationOutputMasks.OutputVP3Mask = MONTMORENCY1022_OUT_VP3_MASK; mStationOutputMasks.OutputVP4Mask = MONTMORENCY1022_OUT_VP4_MASK; mStationOutputMasks.OutputVP5Mask = MONTMORENCY1022_OUT_VP5_MASK; mStationOutputMasks.OutputVP6Mask = MONTMORENCY1022_OUT_VP6_MASK; mStationOutputMasks.OutputVF1Mask = MONTMORENCY1022_OUT_VF1_MASK; mStationOutputMasks.OutputVF2Mask = MONTMORENCY1022_OUT_VF2_MASK; mStationOutputMasks.OutputVF3Mask = MONTMORENCY1022_OUT_VF3_MASK; mStationOutputMasks.OutputVF4Mask = MONTMORENCY1022_OUT_VF4_MASK; mStationOutputMasks.OutputVF5Mask = MONTMORENCY1022_OUT_VF5_MASK; mStationOutputMasks.OutputWP1Mask = MONTMORENCY1022_OUT_WP1_MASK; mStationOutputMasks.OutputWP2Mask = MONTMORENCY1022_OUT_WP2_MASK; mStationOutputMasks.OutputWP3Mask = MONTMORENCY1022_OUT_WP3_MASK; mStationOutputMasks.OutputWP4Mask = MONTMORENCY1022_OUT_WP4_MASK; mStationOutputMasks.OutputWP5Mask = MONTMORENCY1022_OUT_WP5_MASK; mStationOutputMasks.OutputWP6Mask = MONTMORENCY1022_OUT_WP6_MASK; mStationOutputMasks.OutputDPEMask = MONTMORENCY1022_OUT_DPE_MASK; mStationOutputMasks.OutputDPIMask = MONTMORENCY1022_OUT_DPI_MASK; mStationOutputMasks.OutputV00Mask = MONTMORENCY1022_OUT_V00_MASK; mStationOutputMasks.OutputDPGMask = MONTMORENCY1022_OUT_DPG_MASK; mStationOutputMasks.OutputDFRMask = MONTMORENCY1022_OUT_DFR_MASK; mStationOutputMasks.OutputRFMask = MONTMORENCY1022_OUT_RF_MASK; mStationOutputMasks.OutputRF2Mask = MONTMORENCY1022_OUT_RF2_MASK; mStationOutputMasks.OutputVELMask = MONTMORENCY1022_OUT_VEL_MASK; mStationOutputMasks.OutputVEL2Mask = MONTMORENCY1022_OUT_VEL2_MASK; mStationOutputMasks.OutputDPI2Mask = MONTMORENCY1022_OUT_DPI2_MASK; mStationOutputMasks.OutputDPE2Mask = MONTMORENCY1022_OUT_DPE2_MASK; mStationOutputMasks.OutputV002Mask = MONTMORENCY1022_OUT_V002_MASK; mStationOutputMasks.OutputPEQ1Mask = MONTMORENCY1022_OUT_PEQ1_MASK; mStationOutputMasks.OutputPEQ2Mask = MONTMORENCY1022_OUT_PEQ2_MASK; mStationOutputMasks.OutputWatchdogMask = MONTMORENCY1022_OUT_WATCHDOG_MASK; mAnalogAcqChannels.SDFAcquisitionChannel = MONTMORENCY1022_SDF_ACQUISITION_CHANNEL; mStationHasZT2 = false; mTextualStationName = "Montmorency (10/22)"; mTextualShortName = "MMO2"; } unsigned int CMontmorency1022Station::BuildStationCDVList() { CCDV *NewCDV; mCDVList.empty(); NewCDV = new CCDV(MONTMORENCY1022_IN_ZT1_ITI_MASK,MONTMORENCY1022_IN_CDV_11A_MASK,CDV_NORMAL_TYPE,"11A",1,5); mCDVList.append(NewCDV); mZT1SubsequentCDV = NewCDV; NewCDV = new CCDV(MONTMORENCY1022_IN_ZT1_ITI_MASK,MONTMORENCY1022_IN_CDV_10B_MASK,CDV_NORMAL_TYPE,"10B ZT1",1,6); mZT1CDV = NewCDV; mZT1ApproachCDV = NewCDV; mCDVList.append(NewCDV); NewCDV = new CCDV(MONTMORENCY1022_IN_ZT1_ITI_MASK,MONTMORENCY1022_IN_CDV_22BC_MASK,CDV_NORMAL_TYPE,"22BC",2,2); mCDVList.append(NewCDV); NewCDV->SetCDVDeck(true); mZT1AlarmAutoAcquireCDV = NewCDV; NewCDV = new CCDV(MONTMORENCY1022_IN_ZT1_ITI_MASK,MONTMORENCY1022_IN_CDV_22A_MASK,CDV_NORMAL_TYPE,"22A",2,3); mCDVList.append(NewCDV); NewCDV->SetCDVDeck(true); NewCDV = new CCDV(MONTMORENCY1022_IN_ZT1_ITI_MASK,MONTMORENCY1022_IN_CDV_21AB_MASK,CDV_NORMAL_TYPE,"21AB",2,4); mCDVList.append(NewCDV); return RET_OK; }