Ajout des flags d'etat des fonctions de détection dans le fichier log

This commit is contained in:
jfmartel
2024-08-15 14:02:55 -04:00
parent c1ce25c4c6
commit 4be063c141
9 changed files with 135 additions and 85 deletions
+2 -1
View File
@@ -52,7 +52,8 @@
#define DEFAULT_PASSWORD "zonetest"
#define BASE_FILE_MAGICNBR 0xDEADBEEF
#define TRAINLOG_FILE_MAGICNBR BASE_FILE_MAGICNBR + 15
//#define TRAINLOG_FILE_MAGICNBR BASE_FILE_MAGICNBR + 15
#define TRAINLOG_FILE_MAGICNBR BASE_FILE_MAGICNBR + 16 //Ajout de l'état d'inhibition des fonctions de détection dans le fichier Log
//Misc definitions
+71 -71
View File
@@ -107,103 +107,103 @@ unsigned int CSimulationScenario::CreateScenario()
/// //ZT2
// InsertNewStep(STEP_ACTION_REGISTER_ZT2_ITI,300);
// InsertNewStep(STEP_ACTION_OCCUPY_ZT2,300);
InsertNewStep(STEP_ACTION_REGISTER_ZT2_ITI,300);
InsertNewStep(STEP_ACTION_OCCUPY_ZT2,300);
// for(int bogie = 1; bogie <= 18; bogie++)
// {
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
for(int bogie = 1; bogie <= 18; bogie++)
{
InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
// // if(bogie == 5 || bogie == 2)
// {
// // InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPE,5);
// // InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPE,1);
// if(bogie == 5 || bogie == 2)
{
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPE,5);
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPE,1);
// }
}
// // if(bogie == 3 || bogie == 10)
// {
//// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPI,3);
//// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPI,1);
// if(bogie == 3 || bogie == 10)
{
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPI,3);
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPI,1);
// }
}
// //if(bogie != 3)
// {
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
// }
//if(bogie != 3)
{
InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
}
// }
}
// InsertNewStep(STEP_ACTION_DESTROY_ZT2_ITI,800);
// InsertNewStep(STEP_ACTION_FREE_ZT2,800);
InsertNewStep(STEP_ACTION_DESTROY_ZT2_ITI,800);
InsertNewStep(STEP_ACTION_FREE_ZT2,800);
//// MR
// InsertNewStep(STEP_ACTION_REGISTER_ZT1_ITI,300);
InsertNewStep(STEP_ACTION_OCCUPY_ZT1_APPROACH,300);
InsertNewStep(STEP_ACTION_OCCUPY_ZT1,300);
////// MR
// // InsertNewStep(STEP_ACTION_REGISTER_ZT1_ITI,300);
// InsertNewStep(STEP_ACTION_OCCUPY_ZT1_APPROACH,300);
// InsertNewStep(STEP_ACTION_OCCUPY_ZT1,300);
InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
for(int bogie = 1; bogie <= 18; bogie++)
{
// if(bogie != 5 && bogie != 7)
// InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
// InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
//V00 DETECTION
// if(bogie != 9)
// {
InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
// }
InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
// for(int bogie = 1; bogie <= 18; bogie++)
// {
// // if(bogie != 5 && bogie != 7)
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
////V00 DETECTION
//// if(bogie != 9)
//// {
// InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
//// }
// InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
//FN DETECTION
// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
InsertNewStep(STEP_ACTION_ACTIVATE_FN,0);
////FN DETECTION
//// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
// InsertNewStep(STEP_ACTION_ACTIVATE_FN,0);
InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
// InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
// InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
//PPI DETECTION
if(bogie == 6 || bogie == 9)
InsertNewStep(STEP_ACTION_ACTIVATE_PPI,0);
////PPI DETECTION
// if(bogie == 6 || bogie == 9)
// InsertNewStep(STEP_ACTION_ACTIVATE_PPI,0);
//FN DETECTION
// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
InsertNewStep(STEP_ACTION_DEACTIVATE_FN,0);
////FN DETECTION
//// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
// InsertNewStep(STEP_ACTION_DEACTIVATE_FN,0);
InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
// InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
//PPI DETECTION
if(bogie == 6 || bogie == 9)
InsertNewStep(STEP_ACTION_DEACTIVATE_PPI,0);
////PPI DETECTION
// if(bogie == 6 || bogie == 9)
// InsertNewStep(STEP_ACTION_DEACTIVATE_PPI,0);
// if(bogie != 2 && bogie != 11)
// InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
// if(bogie != 2 && bogie != 11)
// InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
// // if(bogie != 2 && bogie != 11)
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
// // if(bogie != 2 && bogie != 11)
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
// InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
}
// }
InsertNewStep(STEP_ACTION_DESTROY_ZT1_ITI,800);
// InsertNewStep(STEP_ACTION_DESTROY_ZT1_ITI,800);
InsertNewStep(STEP_ACTION_FREE_ZT1,800);
// InsertNewStep(STEP_ACTION_FREE_ZT1,800);
InsertNewStep(STEP_ACTION_FREE_ZT1_APPROACH,800);
// InsertNewStep(STEP_ACTION_FREE_ZT1_APPROACH,800);
return RET_OK;
}
+36 -4
View File
@@ -171,7 +171,7 @@ QDataStream &operator<<(QDataStream &out, const CZT1FlagsData &source)
<< source.mTrainCompo3
<< source.mModbusTrainType
<< source.mZT1ITI
<< source.mUnusedFlag13
<< source.mZTDetectionsConfig
<< source.mUnusedFlag14
<< source.mUnusedFlag15
<< source.mUnusedFlag16
@@ -198,7 +198,7 @@ QDataStream &operator>>(QDataStream &in, CZT1FlagsData &dest)
>> dest.mTrainCompo3
>> dest.mModbusTrainType
>> dest.mZT1ITI
>> dest.mUnusedFlag13
>> dest.mZTDetectionsConfig
>> dest.mUnusedFlag14
>> dest.mUnusedFlag15
>> dest.mUnusedFlag16
@@ -218,7 +218,7 @@ QDataStream &operator<<(QDataStream &out, const CZT2FlagsData &source)
<< source.mTrainCompo2
<< source.mTrainCompo3
<< source.mModbusTrainType
<< source.mUnusedFlag6
<< source.mZTDetectionsConfig
<< source.mUnusedFlag7
<< source.mUnusedFlag8
<< source.mUnusedFlag9
@@ -235,7 +235,7 @@ QDataStream &operator>>(QDataStream &in, CZT2FlagsData &dest)
>> dest.mTrainCompo2
>> dest.mTrainCompo3
>> dest.mModbusTrainType
>> dest.mUnusedFlag6
>> dest.mZTDetectionsConfig
>> dest.mUnusedFlag7
>> dest.mUnusedFlag8
>> dest.mUnusedFlag9
@@ -412,6 +412,38 @@ CZTDetectionFunctionConfig::CZTDetectionFunctionConfig()
}
}
qint32 CZTDetectionFunctionConfig::GetDetectionsConfigMask()
{
qint32 DetectionsMask = 0;
if(mZTDetectionConfig[DETECTION_FCT_FN].TKActive == true && mZTDetectionConfig[DETECTION_FCT_FN].AnalysisActive == true)
{
DetectionsMask |= DETECTION_FCT_FN_MASK;
}
if(mZTDetectionConfig[DETECTION_FCT_PG].TKActive == true && mZTDetectionConfig[DETECTION_FCT_PG].AnalysisActive == true)
{
DetectionsMask |= DETECTION_FCT_PG_MASK;
}
if(mZTDetectionConfig[DETECTION_FCT_PP].TKActive == true && mZTDetectionConfig[DETECTION_FCT_PP].AnalysisActive == true)
{
DetectionsMask |= DETECTION_FCT_PP_MASK;
}
if(mZTDetectionConfig[DETECTION_FCT_PP2].TKActive == true && mZTDetectionConfig[DETECTION_FCT_PP2].AnalysisActive == true)
{
DetectionsMask |= DETECTION_FCT_PP2_MASK;
}
if(mZTDetectionConfig[DETECTION_FCT_ZT1].TKActive == true && mZTDetectionConfig[DETECTION_FCT_ZT1].AnalysisActive == true)
{
DetectionsMask |= DETECTION_FCT_ZT1_MASK;
}
if(mZTDetectionConfig[DETECTION_FCT_ZT2].TKActive == true && mZTDetectionConfig[DETECTION_FCT_ZT2].AnalysisActive == true)
{
DetectionsMask |= DETECTION_FCT_ZT2_MASK;
}
return DetectionsMask;
}
void CZTDetectionFunctionConfig::operator =(CZTDetectionFunctionConfig& DF)
{
for(int i = 0; i < DETECTION_FCT_MAX_FCT; i++)
+13 -2
View File
@@ -100,6 +100,16 @@ enum eDetectionFunctionID
DETECTION_FCT_MAX_FCT
};
enum eDetectionFunctionMask
{
DETECTION_FCT_FN_MASK = 0x00000001,
DETECTION_FCT_PG_MASK = 0x00000002,
DETECTION_FCT_PP_MASK = 0x00000004,
DETECTION_FCT_PP2_MASK = 0x00000008,
DETECTION_FCT_ZT1_MASK = 0x00000010,
DETECTION_FCT_ZT2_MASK = 0x00000020
};
enum ePEQ1Types
{
PEQ1_UNKNOWN_TYPE,
@@ -215,7 +225,7 @@ public:
qint32 mTrainCompo3;
qint32 mModbusTrainType;
qint32 mZT1ITI;
qint32 mUnusedFlag13;
qint32 mZTDetectionsConfig;
qint32 mUnusedFlag14;
qint32 mUnusedFlag15;
qint32 mUnusedFlag16;
@@ -235,7 +245,7 @@ public:
qint32 mTrainCompo2;
qint32 mTrainCompo3;
qint32 mModbusTrainType;
qint32 mUnusedFlag6;
qint32 mZTDetectionsConfig;
qint32 mUnusedFlag7;
qint32 mUnusedFlag8;
qint32 mUnusedFlag9;
@@ -342,6 +352,7 @@ public:
CZTDetectionConfig mZTDetectionConfig[DETECTION_FCT_MAX_FCT];
void operator=(CZTDetectionFunctionConfig& a);
qint32 GetDetectionsConfigMask();
};
+3
View File
@@ -308,6 +308,7 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S
mNbPassages++;
InsertZT1LogItem();
mZT1Log.mZT1Flags.mPGCalibrationON = (mIsPGCalibON == true);
mZT1Log.mZT1Flags.mZTDetectionsConfig = mZTDetectionConfig->GetDetectionsConfigMask();
mZT1State = ZT1_TRAIN_ON_APPROACH_CDV_STATE;
}
}
@@ -318,6 +319,7 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S
mNbPassages++;
InsertZT1LogItem();
mZT1Log.mZT1Flags.mPGCalibrationON = (mIsPGCalibON == true);
mZT1Log.mZT1Flags.mZTDetectionsConfig = mZTDetectionConfig->GetDetectionsConfigMask();
mZT1State = ZT1_TRAIN_ON_APPROACH_CDV_STATE;
}
break;
@@ -1257,6 +1259,7 @@ unsigned int CZTStateMachine::ZT2StateMachine(unsigned int Event, unsigned int S
mZTActivationDateTime = QDateTime::currentDateTime();
mZTPagePTr->SetZTStatus(mNbPassages,mNbTriggers,mZT1ActiveStatus,mZT2ActiveStatus);
mZTPagePTr->ResetZT2Stats();
mZT2Log.mZT2Flags.mZTDetectionsConfig = mZTDetectionConfig->GetDetectionsConfigMask();
if(mModbusCCMgr != 0)
{
//update train info received from the CC Modbus interface
+4 -1
View File
@@ -29,9 +29,12 @@
#ifndef ZTVERSION_H
#define ZTVERSION_H
#define ZT_SOFT_VERSION "V1.31"
#define ZT_SOFT_VERSION "V1.32"
//LOG DES CHANGEMENTS
//Version 1.32
//-Ajout des flags d'etat des fonctions de détection dans le fichier log
//Version 1.31
//-Finalement finalement pour vrai réglé le problème de reset des stats aujourd'hui.