Creation de la version V1.21

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).
This commit is contained in:
jfmartel 2020-06-30 09:52:00 -04:00
parent 3acaaf72bb
commit e499518e8f
12 changed files with 87 additions and 14 deletions

View File

@ -82,12 +82,12 @@ ENGLOG=3
#STATION=HONORE_BEAUGRAND #STATION=HONORE_BEAUGRAND
#STATION=ANGRIGNON #STATION=ANGRIGNON
#STATION=HENRI_BOURASSA #STATION=HENRI_BOURASSA
STATION=COTE_VERTU #STATION=COTE_VERTU
#STATION=BERRI_UQAM #STATION=BERRI_UQAM
#STATION=LONGUEIL #STATION=LONGUEIL
#STATION=SAINT_MICHEL #STATION=SAINT_MICHEL
#STATION=SNOWDON_L5 #STATION=SNOWDON_L5
#STATION=MONTMORENCY STATION=MONTMORENCY
#STATION=MONTMORENCY_10_12 #STATION=MONTMORENCY_10_12
#STATION=MONTMORENCY_10_22 #STATION=MONTMORENCY_10_22
#STATION=DU_COLLEGE #STATION=DU_COLLEGE

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

15
UpdateZT.sh Normal file → Executable file
View File

@ -3,11 +3,13 @@
#ZT Update Script V1.0 #ZT Update Script V1.0
ZTVERSION=V1.20 ZTVERSION=V1.21
VERSIONROOT=ZoneTest_V120 #Nom du répertoire sur la clef USB contenant la nouvelle version VERSIONROOT=ZoneTest_V121 #Nom du répertoire sur la clef USB contenant la nouvelle version
ARCHIVEDIR=/home/zonetest/Archives ARCHIVEDIR=/home/zonetest/Archives
ZTEXECDIR=/home/zonetest/ZT ZTEXECDIR=/home/zonetest/ZT
USBEXECDIR=$VERSIONROOT/EXE USBEXECDIR=$VERSIONROOT/EXE
ZTCONFIGFILE=/home/zonetest/ZT/Configuration/ZT.cfg
echo " " echo " "
@ -60,6 +62,15 @@ else
exit 1 exit 1
fi 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 sync
echo " " echo " "

BIN
ZT

Binary file not shown.

2
sources/Modbus/ModbusSEIMgr.cpp Normal file → Executable file
View File

@ -194,7 +194,7 @@ void CModbusSEIMgr::ZTTKUpdated()
} }
//Send the data now to NetTrac //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);
} }

6
sources/Modbus/NetworkCfgMgr.cpp Normal file → Executable file
View File

@ -56,7 +56,11 @@ int CNetworkCfgMgr::SetTRCPNetworkAddress(QHostAddress Address)
QString ConfigText(TemplateFile->readAll()); QString ConfigText(TemplateFile->readAll());
QString WorkString; 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()); WorkString = ConfigText.replace("[TELETRANS_IP]",Address.toString());
ConfigText = WorkString.replace("[TELETRANS_GATEWAY]",Gateway.toString()); ConfigText = WorkString.replace("[TELETRANS_GATEWAY]",Gateway.toString());

2
sources/Station.h Normal file → Executable file
View File

@ -231,7 +231,7 @@ public:
bool IsZT1SubsequentCDVOccupied(); bool IsZT1SubsequentCDVOccupied();
bool IsZT2CDVOccupied(); bool IsZT2CDVOccupied();
bool StationHasZT2(); bool StationHasZT2();
bool IsZT1AlarmAutoAcquireCDVOccupied(); virtual bool IsZT1AlarmAutoAcquireCDVOccupied();
bool IsZT2AlarmAutoAcquireCDVOccupied(); bool IsZT2AlarmAutoAcquireCDVOccupied();
bool IsZT2ApproachCDVOccupied(); bool IsZT2ApproachCDVOccupied();

41
sources/Stations/Montmorency.cpp Normal file → Executable file
View File

@ -122,7 +122,7 @@ unsigned int CMontmorencyStation::UpdateStationMasks(unsigned int ExtInputData)
mStationInputMasks.InputZT1ITIMask = MONTMORENCY_IN_ZT1_10_12_ITI_MASK; mStationInputMasks.InputZT1ITIMask = MONTMORENCY_IN_ZT1_10_12_ITI_MASK;
mStationInputMasks.InputZT1ANMask = MONTMORENCY_IN_10_12_AN1_MASK; mStationInputMasks.InputZT1ANMask = MONTMORENCY_IN_10_12_AN1_MASK;
mCurZT1Itinerary = MONTMORENCY_ZT1_10_12_ITINERARY; 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; mZT1SubsequentCDV = m10_12SubsequentCDV;
qDebug("Itinéraire 10/12 configuré"); 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.InputZT1ITIMask = MONTMORENCY_IN_ZT1_10_22_ITI_MASK;
mStationInputMasks.InputZT1ANMask = MONTMORENCY_IN_10_22_AN1_MASK; mStationInputMasks.InputZT1ANMask = MONTMORENCY_IN_10_22_AN1_MASK;
mCurZT1Itinerary = MONTMORENCY_ZT1_10_22_ITINERARY; 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; mZT1SubsequentCDV = m10_22SubsequentCDV;
qDebug("Itinéraire 10/22 configuré"); 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() unsigned int CMontmorencyStation::BuildStationCDVList()
{ {
CCDV *NewCDV; 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); NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_12_ITI_MASK,MONTMORENCY_IN_CDV_12A_MASK,CDV_NORMAL_TYPE,"12A",1,5);
mZT1AlarmAutoAcquireCDV = NewCDV; mZT1AlarmAutoAcquireCDV = NewCDV;
m10_12AlarmAutoAcquireCDV = NewCDV; //Memorize it... m10_12AlarmAutoAcquireCDV_2 = NewCDV; //Memorize it...
mCDVList.append(NewCDV); mCDVList.append(NewCDV);
NewCDV->SetCDVDeck(true); NewCDV->SetCDVDeck(true);
NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_12_ITI_MASK,MONTMORENCY_IN_CDV_11B_MASK,CDV_NORMAL_TYPE,"11B",1,6); NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_12_ITI_MASK,MONTMORENCY_IN_CDV_11B_MASK,CDV_NORMAL_TYPE,"11B",1,6);
mCDVList.append(NewCDV); 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); 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); mCDVList.append((CCDV*)NewSwitchCDV);
@ -213,7 +245,7 @@ unsigned int CMontmorencyStation::BuildStationCDVList()
mCDVList.append(NewCDV); mCDVList.append(NewCDV);
NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_22_ITI_MASK,MONTMORENCY_IN_CDV_22A_MASK,CDV_NORMAL_TYPE,"22A",2,5); 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); 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); NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_22_ITI_MASK,MONTMORENCY_IN_CDV_21AB_MASK,CDV_NORMAL_TYPE,"21B",2,6);
mCDVList.append(NewCDV); mCDVList.append(NewCDV);
m10_22SubsequentCDV = NewCDV; m10_22SubsequentCDV = NewCDV;
m10_22AlarmAutoAcquireCDV_1 = NewCDV; //Memorize it.

3
sources/Stations/Montmorency.h Normal file → Executable file
View File

@ -115,12 +115,13 @@ public:
virtual GenericInputMasks_t *GetInputMasks(void); virtual GenericInputMasks_t *GetInputMasks(void);
virtual unsigned int UpdateStationMasks(unsigned int ExtInputData); virtual unsigned int UpdateStationMasks(unsigned int ExtInputData);
virtual int GetCurrentITI(); virtual int GetCurrentITI();
virtual bool IsZT1AlarmAutoAcquireCDVOccupied();
private: private:
virtual unsigned int BuildStationCDVList(); virtual unsigned int BuildStationCDVList();
int mCurZT1Itinerary; 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; CCDV *m10_12SubsequentCDV, *m10_22SubsequentCDV;
enum eMontmorencyZT1Itineraries enum eMontmorencyZT1Itineraries

18
sources/ZTStateMachine.cpp Normal file → Executable file
View File

@ -372,6 +372,7 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S
} }
if(abort == false) if(abort == false)
{ {
QString TrainCompo = "Composition : inconnue";
mZT1ActiveStatus = SB_ZT_ACTIVE_STATUS; mZT1ActiveStatus = SB_ZT_ACTIVE_STATUS;
mZTPagePTr->SetZTStatus(mNbPassages,mNbTriggers,mZT1ActiveStatus,mZT2ActiveStatus); mZTPagePTr->SetZTStatus(mNbPassages,mNbTriggers,mZT1ActiveStatus,mZT2ActiveStatus);
mZTPagePTr->SetZT1ActivationState(true); mZTPagePTr->SetZT1ActivationState(true);
@ -388,6 +389,19 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S
mZT1Log.mZT1Flags.mModbusTrainType = mModbusCCMgr->GetZT1RawTrainType(); mZT1Log.mZT1Flags.mModbusTrainType = mModbusCCMgr->GetZT1RawTrainType();
mZT1Log.mZT1Flags.mZT1ITI = mZTStationPtr->GetCurrentITI(); mZT1Log.mZT1Flags.mZT1ITI = mZTStationPtr->GetCurrentITI();
mZTPagePTr->SetZT1TrainData(mTrainTypeDetected,mZT1TrainComposition); 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(); InsertZT1LogItem();
@ -402,7 +416,9 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S
CZTLog::instance()->ClearBufferString(); 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) if(mIsPGCalibON)
{ {

10
sources/ZTVersion.h Normal file → Executable file
View File

@ -29,9 +29,17 @@
#ifndef ZTVERSION_H #ifndef ZTVERSION_H
#define ZTVERSION_H #define ZTVERSION_H
#define ZT_SOFT_VERSION "V1.20" #define ZT_SOFT_VERSION "V1.21"
//LOG DES CHANGEMENTS //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 //Version 1.20
//-Ajout de la gestion de communication modbus avec le SEI. //-Ajout de la gestion de communication modbus avec le SEI.
//-Ajout de la page de visualisation des tables modbus (F4 ou menu ingénierie). //-Ajout de la page de visualisation des tables modbus (F4 ou menu ingénierie).