diff --git a/Configuration/ZT.cfg b/Configuration/ZT.cfg index b826da4..fb3f7a6 100644 --- a/Configuration/ZT.cfg +++ b/Configuration/ZT.cfg @@ -82,12 +82,12 @@ ENGLOG=3 #STATION=HONORE_BEAUGRAND #STATION=ANGRIGNON #STATION=HENRI_BOURASSA -STATION=COTE_VERTU +#STATION=COTE_VERTU #STATION=BERRI_UQAM #STATION=LONGUEIL #STATION=SAINT_MICHEL #STATION=SNOWDON_L5 -#STATION=MONTMORENCY +STATION=MONTMORENCY #STATION=MONTMORENCY_10_12 #STATION=MONTMORENCY_10_22 #STATION=DU_COLLEGE diff --git a/Configuration/ZTSettings.ztc b/Configuration/ZTSettings.ztc index dcfad7b..160ecff 100644 Binary files a/Configuration/ZTSettings.ztc and b/Configuration/ZTSettings.ztc differ diff --git a/Configuration/test.png b/Configuration/test.png deleted file mode 100644 index 21529e9..0000000 Binary files a/Configuration/test.png and /dev/null differ diff --git a/UpdateZT.sh b/UpdateZT.sh old mode 100644 new mode 100755 index b2c1e5c..343a2da --- a/UpdateZT.sh +++ b/UpdateZT.sh @@ -3,11 +3,13 @@ #ZT Update Script V1.0 -ZTVERSION=V1.20 -VERSIONROOT=ZoneTest_V120 #Nom du répertoire sur la clef USB contenant la nouvelle version +ZTVERSION=V1.21 +VERSIONROOT=ZoneTest_V121 #Nom du répertoire sur la clef USB contenant la nouvelle version ARCHIVEDIR=/home/zonetest/Archives ZTEXECDIR=/home/zonetest/ZT USBEXECDIR=$VERSIONROOT/EXE +ZTCONFIGFILE=/home/zonetest/ZT/Configuration/ZT.cfg + echo " " @@ -60,6 +62,15 @@ else exit 1 fi +echo " " +echo "Désactivation du log d'ingénierie" +sed -i 's/ENGLOG/#ENGLOG/g' $ZTCONFIGFILE +sed -i 's/##ENGLOG/#ENGLOG/g' $ZTCONFIGFILE +echo "OK:" + + +echo " " +echo "Synchronisation. Ceci prendra plusieurs secondes..." sync echo " " diff --git a/ZT b/ZT index c8347d8..5508e5c 100755 Binary files a/ZT and b/ZT differ diff --git a/sources/Modbus/ModbusSEIMgr.cpp b/sources/Modbus/ModbusSEIMgr.cpp old mode 100644 new mode 100755 index 0723676..272fb59 --- a/sources/Modbus/ModbusSEIMgr.cpp +++ b/sources/Modbus/ModbusSEIMgr.cpp @@ -194,7 +194,7 @@ void CModbusSEIMgr::ZTTKUpdated() } //Send the data now to NetTrac - SendWriteHoldingRegistersRequest(SEI_MODBUS_ZT_WATCHDOG_REG,SEI_MODBUS_ZT_TABLE_DATA_SIZE); + SendWriteHoldingRegistersRequest(SEI_MODBUS_ZT_DATA_BASE_REG,SEI_MODBUS_ZT_TABLE_DATA_SIZE); } diff --git a/sources/Modbus/NetworkCfgMgr.cpp b/sources/Modbus/NetworkCfgMgr.cpp old mode 100644 new mode 100755 index 59230cf..796c373 --- a/sources/Modbus/NetworkCfgMgr.cpp +++ b/sources/Modbus/NetworkCfgMgr.cpp @@ -56,7 +56,11 @@ int CNetworkCfgMgr::SetTRCPNetworkAddress(QHostAddress Address) QString ConfigText(TemplateFile->readAll()); QString WorkString; - QHostAddress Gateway(Address.toIPv4Address() & 0xFFFFFF01); //compute the gateway address xxx.xxx.xxx.1 + + //Compute the gateway address as xxx.xxx.xxx.1 + quint32 GatewayTemp = (Address.toIPv4Address() & 0xFFFFFF00); + GatewayTemp |= 0x00000001; + QHostAddress Gateway(GatewayTemp); WorkString = ConfigText.replace("[TELETRANS_IP]",Address.toString()); ConfigText = WorkString.replace("[TELETRANS_GATEWAY]",Gateway.toString()); diff --git a/sources/Station.h b/sources/Station.h old mode 100644 new mode 100755 index 6188271..797dfe3 --- a/sources/Station.h +++ b/sources/Station.h @@ -231,7 +231,7 @@ public: bool IsZT1SubsequentCDVOccupied(); bool IsZT2CDVOccupied(); bool StationHasZT2(); - bool IsZT1AlarmAutoAcquireCDVOccupied(); + virtual bool IsZT1AlarmAutoAcquireCDVOccupied(); bool IsZT2AlarmAutoAcquireCDVOccupied(); bool IsZT2ApproachCDVOccupied(); diff --git a/sources/Stations/Montmorency.cpp b/sources/Stations/Montmorency.cpp old mode 100644 new mode 100755 index c4e9699..6b45f93 --- a/sources/Stations/Montmorency.cpp +++ b/sources/Stations/Montmorency.cpp @@ -122,7 +122,7 @@ unsigned int CMontmorencyStation::UpdateStationMasks(unsigned int ExtInputData) mStationInputMasks.InputZT1ITIMask = MONTMORENCY_IN_ZT1_10_12_ITI_MASK; mStationInputMasks.InputZT1ANMask = MONTMORENCY_IN_10_12_AN1_MASK; mCurZT1Itinerary = MONTMORENCY_ZT1_10_12_ITINERARY; - mZT1AlarmAutoAcquireCDV = m10_12AlarmAutoAcquireCDV; + mZT1AlarmAutoAcquireCDV = m10_12AlarmAutoAcquireCDV_2; //Not used but it's better to assign it. mZT1SubsequentCDV = m10_12SubsequentCDV; qDebug("Itinéraire 10/12 configuré"); } @@ -135,7 +135,7 @@ unsigned int CMontmorencyStation::UpdateStationMasks(unsigned int ExtInputData) mStationInputMasks.InputZT1ITIMask = MONTMORENCY_IN_ZT1_10_22_ITI_MASK; mStationInputMasks.InputZT1ANMask = MONTMORENCY_IN_10_22_AN1_MASK; mCurZT1Itinerary = MONTMORENCY_ZT1_10_22_ITINERARY; - mZT1AlarmAutoAcquireCDV = m10_22AlarmAutoAcquireCDV; + mZT1AlarmAutoAcquireCDV = m10_22AlarmAutoAcquireCDV_2; //Not used but it's better to assign it. mZT1SubsequentCDV = m10_22SubsequentCDV; qDebug("Itinéraire 10/22 configuré"); } @@ -165,6 +165,37 @@ int CMontmorencyStation::GetCurrentITI() } } +bool CMontmorencyStation::IsZT1AlarmAutoAcquireCDVOccupied() +{ + if(GetCurrentITI() == ZT_PRIMARY_ITI) // itinéraire 10/12 + { + if(m10_12AlarmAutoAcquireCDV_1->IsOccupied()) + { + return true; + } + else if(m10_12AlarmAutoAcquireCDV_2->IsOccupied()) + { + return true; + } + + return false; + } + else // Itinéraire 10/22 + { + if(m10_22AlarmAutoAcquireCDV_1->IsOccupied()) + { + return true; + } + else if(m10_22AlarmAutoAcquireCDV_2->IsOccupied()) + { + return true; + } + + return false; + } +} + + unsigned int CMontmorencyStation::BuildStationCDVList() { CCDV *NewCDV; @@ -192,12 +223,13 @@ unsigned int CMontmorencyStation::BuildStationCDVList() NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_12_ITI_MASK,MONTMORENCY_IN_CDV_12A_MASK,CDV_NORMAL_TYPE,"12A",1,5); mZT1AlarmAutoAcquireCDV = NewCDV; - m10_12AlarmAutoAcquireCDV = NewCDV; //Memorize it... + m10_12AlarmAutoAcquireCDV_2 = NewCDV; //Memorize it... mCDVList.append(NewCDV); NewCDV->SetCDVDeck(true); NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_12_ITI_MASK,MONTMORENCY_IN_CDV_11B_MASK,CDV_NORMAL_TYPE,"11B",1,6); mCDVList.append(NewCDV); + m10_12AlarmAutoAcquireCDV_1 = NewCDV; CSwitchCDV *NewSwitchCDV = new CSwitchCDV(MONTMORENCY_IN_ZT1_10_12_ITI_MASK,MONTMORENCY_IN_ZT1_10_22_ITI_MASK,MONTMORENCY_IN_CDV_11A_MASK,CDV_SWITCH_TYPE,"11A",1,7); mCDVList.append((CCDV*)NewSwitchCDV); @@ -213,7 +245,7 @@ unsigned int CMontmorencyStation::BuildStationCDVList() mCDVList.append(NewCDV); NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_22_ITI_MASK,MONTMORENCY_IN_CDV_22A_MASK,CDV_NORMAL_TYPE,"22A",2,5); - m10_22AlarmAutoAcquireCDV = NewCDV; //Memorize it. + m10_22AlarmAutoAcquireCDV_2 = NewCDV; //Memorize it. mCDVList.append(NewCDV); @@ -224,6 +256,7 @@ unsigned int CMontmorencyStation::BuildStationCDVList() NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_22_ITI_MASK,MONTMORENCY_IN_CDV_21AB_MASK,CDV_NORMAL_TYPE,"21B",2,6); mCDVList.append(NewCDV); m10_22SubsequentCDV = NewCDV; + m10_22AlarmAutoAcquireCDV_1 = NewCDV; //Memorize it. diff --git a/sources/Stations/Montmorency.h b/sources/Stations/Montmorency.h old mode 100644 new mode 100755 index e6ed41f..eb00305 --- a/sources/Stations/Montmorency.h +++ b/sources/Stations/Montmorency.h @@ -115,12 +115,13 @@ public: virtual GenericInputMasks_t *GetInputMasks(void); virtual unsigned int UpdateStationMasks(unsigned int ExtInputData); virtual int GetCurrentITI(); + virtual bool IsZT1AlarmAutoAcquireCDVOccupied(); private: virtual unsigned int BuildStationCDVList(); int mCurZT1Itinerary; - CCDV *m10_12AlarmAutoAcquireCDV, *m10_22AlarmAutoAcquireCDV; + CCDV *m10_12AlarmAutoAcquireCDV_1,*m10_12AlarmAutoAcquireCDV_2, *m10_22AlarmAutoAcquireCDV_1, *m10_22AlarmAutoAcquireCDV_2; CCDV *m10_12SubsequentCDV, *m10_22SubsequentCDV; enum eMontmorencyZT1Itineraries diff --git a/sources/ZTStateMachine.cpp b/sources/ZTStateMachine.cpp old mode 100644 new mode 100755 index 0ea2b20..a1625f5 --- a/sources/ZTStateMachine.cpp +++ b/sources/ZTStateMachine.cpp @@ -372,6 +372,7 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S } if(abort == false) { + QString TrainCompo = "Composition : inconnue"; mZT1ActiveStatus = SB_ZT_ACTIVE_STATUS; mZTPagePTr->SetZTStatus(mNbPassages,mNbTriggers,mZT1ActiveStatus,mZT2ActiveStatus); mZTPagePTr->SetZT1ActivationState(true); @@ -388,6 +389,19 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S mZT1Log.mZT1Flags.mModbusTrainType = mModbusCCMgr->GetZT1RawTrainType(); mZT1Log.mZT1Flags.mZT1ITI = mZTStationPtr->GetCurrentITI(); mZTPagePTr->SetZT1TrainData(mTrainTypeDetected,mZT1TrainComposition); + if((mZT1TrainComposition[0] == 0) && + (mZT1TrainComposition[1] == 0) && + (mZT1TrainComposition[2] == 0)) + { + //Composition invalide... + TrainCompo = "Composition : invalide"; + } + else + { + TrainCompo.clear(); + TrainCompo = QString("Composition : %1-%2-%3").arg((int)mZT1TrainComposition[0],3,10,QChar('0')).arg(mZT1TrainComposition[1],3,10,QChar('0')).arg(mZT1TrainComposition[2],3,10,QChar('0')); + } + } InsertZT1LogItem(); @@ -402,7 +416,9 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S CZTLog::instance()->ClearBufferString(); - CZTLog::instance()->AddBufferString("ZT1 activée",true); + //TLog::instance()->AddBufferString("ZT1 activée",true); + TrainCompo.prepend("ZT1 activée. "); + CZTLog::instance()->AddBufferString(TrainCompo,true); if(mIsPGCalibON) { diff --git a/sources/ZTVersion.h b/sources/ZTVersion.h old mode 100644 new mode 100755 index 34dc586..1db0132 --- a/sources/ZTVersion.h +++ b/sources/ZTVersion.h @@ -29,9 +29,17 @@ #ifndef ZTVERSION_H #define ZTVERSION_H -#define ZT_SOFT_VERSION "V1.20" +#define ZT_SOFT_VERSION "V1.21" //LOG DES CHANGEMENTS +//Version 1.21 +//-Correction d'un bug dans le calcul de l'adresse IP du Gateway +//-Ajout de la désactivation du log d'ingénierie dans le script de mise à jour +//-Correction d'un bug d'écriture dans un registre SEI +//-Ajout de la composition du train dans le fichier LOG +//-Suite au passage du train test, changement des CDV d'acquitement des alarmes +// à Montmorency. 12A -> (12A & 11A) et 22A -> (22A & 21B). + //Version 1.20 //-Ajout de la gestion de communication modbus avec le SEI. //-Ajout de la page de visualisation des tables modbus (F4 ou menu ingénierie).