Compare commits

...

10 Commits

Author SHA1 Message Date
JF
1b1f2fed8f Ajout des stations de la phase 2 2023-09-20 09:32:59 -04:00
JF
a493a5054e Backup connecteurs_BAK.png 2020-04-30 12:34:09 -04:00
JF
d27459602d Développement et correction de bugs.
V1.2
2019-12-06 12:25:23 -05:00
JF
90f0f33252 V1.0. Premier release 2019-05-14 11:47:17 -04:00
JF
8342f88720 Dev 2019-05-13 11:49:37 -04:00
JF
ca1fd2a4aa gitgnore 2019-05-13 08:37:52 -04:00
JF
f5b3b61ce5 gitignore 2019-05-13 08:35:56 -04:00
JF
110f96c536 Dev 2019-05-10 17:11:48 -04:00
JF
2423aa27c3 Dev 2019-05-10 16:47:43 -04:00
JF
d2a37c3b5f Dev 2019-05-08 14:17:31 -04:00
58 changed files with 3848 additions and 781 deletions

3
.gitignore vendored
View File

@ -3,3 +3,6 @@ release
/OutilModbus.pro.user
/object_script.OutilModbus.Debug
/object_script.OutilModbus.Release
/%SystemDrive%
/CableTestBench.pro.user
/Rapports

View File

@ -33,7 +33,12 @@ SOURCES += \
Sources/CableTestEngine.cpp \
Sources/OptionsPage.cpp \
Sources/CableTestBenchDefs.cpp \
Sources/IOModulesInterface.cpp
Sources/IOModulesInterface.cpp \
Sources/InputConnector.cpp \
Sources/OutputConnector.cpp \
Sources/CableParametersData.cpp \
Sources/AutomatedTestReport.cpp \
Sources/TestBenchSettings.cpp
HEADERS += \
Sources/MainWindow.h \
@ -53,7 +58,13 @@ HEADERS += \
Sources/TestReport.h \
Sources/CableTestEngine.h \
Sources/OptionsPage.h \
Sources/IOModulesInterface.h
Sources/IOModulesInterface.h \
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestBenchVersion.h \
Sources/CableParametersData.h \
Sources/AutomatedTestReport.h \
Sources/TestBenchSettings.h
FORMS += \
Sources/CMainPage.ui \

View File

@ -1,239 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by Qt Creator 2.6.2, 2019-05-03T13:46:28. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QString" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.3</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 4.8.3</value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{962e6995-bc73-45ee-a3d6-d72a1ed3b9df}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">true</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">C:/ZoneTest/CableTestBench</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">true</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">C:/ZoneTest/CableTestBench</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Project.UseGlobal">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">CableTestBench</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/ZoneTest/CableTestBench/CableTestBench.pro</value>
<value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">CableTestBench.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
<value type="QString">{e7f062a5-06e1-4f66-ab2c-67d14d6f866a}</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">12</value>
</data>
</qtcreator>

BIN
Cablotron.csf Normal file

Binary file not shown.

View File

@ -1,14 +1,14 @@
#############################################################################
# Makefile for building: CableTestBench
# Generated by qmake (2.01a) (Qt 4.8.1) on: Fri May 3 13:12:37 2019
# Generated by qmake (2.01a) (Qt 4.8.1) on: Thu Sep 19 06:47:00 2019
# Project: CableTestBench.pro
# Template: app
# Command: c:\Qt\4.8.1\bin\qmake.exe -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=declarative_debug -o Makefile CableTestBench.pro
# Command: c:\Qt\4.8.1\bin\qmake.exe -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=release -o Makefile CableTestBench.pro
#############################################################################
first: debug
install: debug-install
uninstall: debug-uninstall
first: release
install: release-install
uninstall: release-uninstall
MAKEFILE = Makefile
QMAKE = c:\Qt\4.8.1\bin\qmake.exe
DEL_FILE = del
@ -27,25 +27,9 @@ MOVE = move
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
SUBTARGETS = \
debug \
release
release \
debug
debug: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_first: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall
release: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
@ -62,6 +46,22 @@ release-install: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
debug: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_first: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall
Makefile: CableTestBench.pro ../../Qt/4.8.1/mkspecs/win32-g++/qmake.conf ../../Qt/4.8.1/mkspecs/qconfig.pri \
../../Qt/4.8.1/mkspecs/modules/qt_webkit_version.pri \
@ -70,11 +70,10 @@ Makefile: CableTestBench.pro ../../Qt/4.8.1/mkspecs/win32-g++/qmake.conf ../../
../../Qt/4.8.1/mkspecs/features/exclusive_builds.prf \
../../Qt/4.8.1/mkspecs/features/default_pre.prf \
../../Qt/4.8.1/mkspecs/features/win32/default_pre.prf \
../../Qt/4.8.1/mkspecs/features/debug.prf \
../../Qt/4.8.1/mkspecs/features/release.prf \
../../Qt/4.8.1/mkspecs/features/debug_and_release.prf \
../../Qt/4.8.1/mkspecs/features/default_post.prf \
../../Qt/4.8.1/mkspecs/features/win32/default_post.prf \
../../Qt/4.8.1/mkspecs/features/declarative_debug.prf \
../../Qt/4.8.1/mkspecs/features/win32/rtti.prf \
../../Qt/4.8.1/mkspecs/features/win32/exceptions.prf \
../../Qt/4.8.1/mkspecs/features/win32/stl.prf \
@ -89,8 +88,8 @@ Makefile: CableTestBench.pro ../../Qt/4.8.1/mkspecs/win32-g++/qmake.conf ../../
../../Qt/4.8.1/mkspecs/features/yacc.prf \
../../Qt/4.8.1/mkspecs/features/lex.prf \
../../Qt/4.8.1/mkspecs/features/include_source_dir.prf \
c:/Qt/4.8.1/lib/qtmaind.prl
$(QMAKE) -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=declarative_debug -o Makefile CableTestBench.pro
c:/Qt/4.8.1/lib/qtmain.prl
$(QMAKE) -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=release -o Makefile CableTestBench.pro
..\..\Qt\4.8.1\mkspecs\qconfig.pri:
..\..\Qt\4.8.1\mkspecs\modules\qt_webkit_version.pri:
..\..\Qt\4.8.1\mkspecs\features\qt_functions.prf:
@ -98,11 +97,10 @@ Makefile: CableTestBench.pro ../../Qt/4.8.1/mkspecs/win32-g++/qmake.conf ../../
..\..\Qt\4.8.1\mkspecs\features\exclusive_builds.prf:
..\..\Qt\4.8.1\mkspecs\features\default_pre.prf:
..\..\Qt\4.8.1\mkspecs\features\win32\default_pre.prf:
..\..\Qt\4.8.1\mkspecs\features\debug.prf:
..\..\Qt\4.8.1\mkspecs\features\release.prf:
..\..\Qt\4.8.1\mkspecs\features\debug_and_release.prf:
..\..\Qt\4.8.1\mkspecs\features\default_post.prf:
..\..\Qt\4.8.1\mkspecs\features\win32\default_post.prf:
..\..\Qt\4.8.1\mkspecs\features\declarative_debug.prf:
..\..\Qt\4.8.1\mkspecs\features\win32\rtti.prf:
..\..\Qt\4.8.1\mkspecs\features\win32\exceptions.prf:
..\..\Qt\4.8.1\mkspecs\features\win32\stl.prf:
@ -117,33 +115,33 @@ Makefile: CableTestBench.pro ../../Qt/4.8.1/mkspecs/win32-g++/qmake.conf ../../
..\..\Qt\4.8.1\mkspecs\features\yacc.prf:
..\..\Qt\4.8.1\mkspecs\features\lex.prf:
..\..\Qt\4.8.1\mkspecs\features\include_source_dir.prf:
c:\Qt\4.8.1\lib\qtmaind.prl:
c:\Qt\4.8.1\lib\qtmain.prl:
qmake: qmake_all FORCE
@$(QMAKE) -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=declarative_debug -o Makefile CableTestBench.pro
@$(QMAKE) -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=release -o Makefile CableTestBench.pro
qmake_all: FORCE
make_default: debug-make_default release-make_default FORCE
make_first: debug-make_first release-make_first FORCE
all: debug-all release-all FORCE
clean: debug-clean release-clean FORCE
distclean: debug-distclean release-distclean FORCE
make_default: release-make_default debug-make_default FORCE
make_first: release-make_first debug-make_first FORCE
all: release-all debug-all FORCE
clean: release-clean debug-clean FORCE
distclean: release-distclean debug-distclean FORCE
-$(DEL_FILE) Makefile
check: first
debug-mocclean: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocclean
release-mocclean: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocclean
mocclean: debug-mocclean release-mocclean
debug-mocclean: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocclean
mocclean: release-mocclean debug-mocclean
debug-mocables: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocables
release-mocables: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocables
mocables: debug-mocables release-mocables
debug-mocables: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocables
mocables: release-mocables debug-mocables
FORCE:
$(MAKEFILE).Debug: Makefile
$(MAKEFILE).Release: Makefile
$(MAKEFILE).Debug: Makefile

View File

@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: CableTestBench
# Generated by qmake (2.01a) (Qt 4.8.1) on: Fri May 3 13:12:37 2019
# Generated by qmake (2.01a) (Qt 4.8.1) on: Thu Sep 19 06:47:00 2019
# Project: CableTestBench.pro
# Template: app
#############################################################################
@ -58,7 +58,12 @@ SOURCES = Sources\MainWindow.cpp \
Sources\CableTestEngine.cpp \
Sources\OptionsPage.cpp \
Sources\CableTestBenchDefs.cpp \
Sources\IOModulesInterface.cpp debug\moc_MainWindow.cpp \
Sources\IOModulesInterface.cpp \
Sources\InputConnector.cpp \
Sources\OutputConnector.cpp \
Sources\CableParametersData.cpp \
Sources\AutomatedTestReport.cpp \
Sources\TestBenchSettings.cpp debug\moc_MainWindow.cpp \
debug\moc_MainPage.cpp \
debug\moc_CableTestBench.cpp \
debug\moc_VisualInspectionPage.cpp \
@ -67,7 +72,11 @@ SOURCES = Sources\MainWindow.cpp \
debug\moc_ConnectorClickZoneWidget.cpp \
debug\moc_ONOFFStatusWidget.cpp \
debug\moc_ConnectorTestVisualizationWidget.cpp \
debug\moc_OptionsPage.cpp
debug\moc_TestReport.cpp \
debug\moc_CableTestEngine.cpp \
debug\moc_OptionsPage.cpp \
debug\moc_IOModulesInterface.cpp \
debug\moc_AutomatedTestReport.cpp
OBJECTS = debug/MainWindow.o \
debug/main.o \
debug/MainPage.o \
@ -86,6 +95,11 @@ OBJECTS = debug/MainWindow.o \
debug/OptionsPage.o \
debug/CableTestBenchDefs.o \
debug/IOModulesInterface.o \
debug/InputConnector.o \
debug/OutputConnector.o \
debug/CableParametersData.o \
debug/AutomatedTestReport.o \
debug/TestBenchSettings.o \
debug/moc_MainWindow.o \
debug/moc_MainPage.o \
debug/moc_CableTestBench.o \
@ -95,7 +109,11 @@ OBJECTS = debug/MainWindow.o \
debug/moc_ConnectorClickZoneWidget.o \
debug/moc_ONOFFStatusWidget.o \
debug/moc_ConnectorTestVisualizationWidget.o \
debug/moc_OptionsPage.o
debug/moc_TestReport.o \
debug/moc_CableTestEngine.o \
debug/moc_OptionsPage.o \
debug/moc_IOModulesInterface.o \
debug/moc_AutomatedTestReport.o
DIST =
QMAKE_TARGET = CableTestBench
DESTDIR = debug\ #avoid trailing-slash linebreak
@ -127,13 +145,13 @@ $(DESTDIR_TARGET): ui_CMainPage.h ui_VisualInspectionPage.h ui_CableTestPage.h u
$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.CableTestBench.Debug $(LIBS)
qmake: FORCE
@$(QMAKE) -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=declarative_debug -o Makefile.Debug CableTestBench.pro
@$(QMAKE) -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=release -o Makefile.Debug CableTestBench.pro
dist:
$(ZIP) CableTestBench.zip $(SOURCES) $(DIST) CableTestBench.pro ..\..\Qt\4.8.1\mkspecs\qconfig.pri ..\..\Qt\4.8.1\mkspecs\modules\qt_webkit_version.pri ..\..\Qt\4.8.1\mkspecs\features\qt_functions.prf ..\..\Qt\4.8.1\mkspecs\features\qt_config.prf ..\..\Qt\4.8.1\mkspecs\features\exclusive_builds.prf ..\..\Qt\4.8.1\mkspecs\features\default_pre.prf ..\..\Qt\4.8.1\mkspecs\features\win32\default_pre.prf ..\..\Qt\4.8.1\mkspecs\features\debug.prf ..\..\Qt\4.8.1\mkspecs\features\debug_and_release.prf ..\..\Qt\4.8.1\mkspecs\features\default_post.prf ..\..\Qt\4.8.1\mkspecs\features\win32\default_post.prf ..\..\Qt\4.8.1\mkspecs\features\build_pass.prf ..\..\Qt\4.8.1\mkspecs\features\declarative_debug.prf ..\..\Qt\4.8.1\mkspecs\features\win32\rtti.prf ..\..\Qt\4.8.1\mkspecs\features\win32\exceptions.prf ..\..\Qt\4.8.1\mkspecs\features\win32\stl.prf ..\..\Qt\4.8.1\mkspecs\features\shared.prf ..\..\Qt\4.8.1\mkspecs\features\warn_on.prf ..\..\Qt\4.8.1\mkspecs\features\qt.prf ..\..\Qt\4.8.1\mkspecs\features\win32\thread.prf ..\..\Qt\4.8.1\mkspecs\features\moc.prf ..\..\Qt\4.8.1\mkspecs\features\win32\windows.prf ..\..\Qt\4.8.1\mkspecs\features\resources.prf ..\..\Qt\4.8.1\mkspecs\features\uic.prf ..\..\Qt\4.8.1\mkspecs\features\yacc.prf ..\..\Qt\4.8.1\mkspecs\features\lex.prf ..\..\Qt\4.8.1\mkspecs\features\include_source_dir.prf c:\Qt\4.8.1\lib\qtmaind.prl HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES
$(ZIP) CableTestBench.zip $(SOURCES) $(DIST) CableTestBench.pro ..\..\Qt\4.8.1\mkspecs\qconfig.pri ..\..\Qt\4.8.1\mkspecs\modules\qt_webkit_version.pri ..\..\Qt\4.8.1\mkspecs\features\qt_functions.prf ..\..\Qt\4.8.1\mkspecs\features\qt_config.prf ..\..\Qt\4.8.1\mkspecs\features\exclusive_builds.prf ..\..\Qt\4.8.1\mkspecs\features\default_pre.prf ..\..\Qt\4.8.1\mkspecs\features\win32\default_pre.prf ..\..\Qt\4.8.1\mkspecs\features\debug.prf ..\..\Qt\4.8.1\mkspecs\features\debug_and_release.prf ..\..\Qt\4.8.1\mkspecs\features\default_post.prf ..\..\Qt\4.8.1\mkspecs\features\win32\default_post.prf ..\..\Qt\4.8.1\mkspecs\features\build_pass.prf ..\..\Qt\4.8.1\mkspecs\features\win32\rtti.prf ..\..\Qt\4.8.1\mkspecs\features\win32\exceptions.prf ..\..\Qt\4.8.1\mkspecs\features\win32\stl.prf ..\..\Qt\4.8.1\mkspecs\features\shared.prf ..\..\Qt\4.8.1\mkspecs\features\warn_on.prf ..\..\Qt\4.8.1\mkspecs\features\qt.prf ..\..\Qt\4.8.1\mkspecs\features\win32\thread.prf ..\..\Qt\4.8.1\mkspecs\features\moc.prf ..\..\Qt\4.8.1\mkspecs\features\win32\windows.prf ..\..\Qt\4.8.1\mkspecs\features\resources.prf ..\..\Qt\4.8.1\mkspecs\features\uic.prf ..\..\Qt\4.8.1\mkspecs\features\yacc.prf ..\..\Qt\4.8.1\mkspecs\features\lex.prf ..\..\Qt\4.8.1\mkspecs\features\include_source_dir.prf c:\Qt\4.8.1\lib\qtmaind.prl HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES
clean: compiler_clean
-$(DEL_FILE) debug\MainWindow.o debug\main.o debug\MainPage.o debug\CableTestBench.o debug\VisualInspectionPage.o debug\ConnectorSelectWidget.o debug\CableTestPage.o debug\ConnectorClickZoneWidget.o debug\ONOFFStatusWidget.o debug\ConnectorTestVisualizationWidget.o debug\Connector.o debug\Cable.o debug\VisualInspectionResult.o debug\TestReport.o debug\CableTestEngine.o debug\OptionsPage.o debug\CableTestBenchDefs.o debug\IOModulesInterface.o debug\moc_MainWindow.o debug\moc_MainPage.o debug\moc_CableTestBench.o debug\moc_VisualInspectionPage.o debug\moc_ConnectorSelectWidget.o debug\moc_CableTestPage.o debug\moc_ConnectorClickZoneWidget.o debug\moc_ONOFFStatusWidget.o debug\moc_ConnectorTestVisualizationWidget.o debug\moc_OptionsPage.o
-$(DEL_FILE) debug\MainWindow.o debug\main.o debug\MainPage.o debug\CableTestBench.o debug\VisualInspectionPage.o debug\ConnectorSelectWidget.o debug\CableTestPage.o debug\ConnectorClickZoneWidget.o debug\ONOFFStatusWidget.o debug\ConnectorTestVisualizationWidget.o debug\Connector.o debug\Cable.o debug\VisualInspectionResult.o debug\TestReport.o debug\CableTestEngine.o debug\OptionsPage.o debug\CableTestBenchDefs.o debug\IOModulesInterface.o debug\InputConnector.o debug\OutputConnector.o debug\CableParametersData.o debug\AutomatedTestReport.o debug\TestBenchSettings.o debug\moc_MainWindow.o debug\moc_MainPage.o debug\moc_CableTestBench.o debug\moc_VisualInspectionPage.o debug\moc_ConnectorSelectWidget.o debug\moc_CableTestPage.o debug\moc_ConnectorClickZoneWidget.o debug\moc_ONOFFStatusWidget.o debug\moc_ConnectorTestVisualizationWidget.o debug\moc_TestReport.o debug\moc_CableTestEngine.o debug\moc_OptionsPage.o debug\moc_IOModulesInterface.o debug\moc_AutomatedTestReport.o
distclean: clean
-$(DEL_FILE) $(DESTDIR_TARGET)
@ -145,9 +163,9 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all: debug/moc_MainWindow.cpp debug/moc_MainPage.cpp debug/moc_CableTestBench.cpp debug/moc_VisualInspectionPage.cpp debug/moc_ConnectorSelectWidget.cpp debug/moc_CableTestPage.cpp debug/moc_ConnectorClickZoneWidget.cpp debug/moc_ONOFFStatusWidget.cpp debug/moc_ConnectorTestVisualizationWidget.cpp debug/moc_OptionsPage.cpp
compiler_moc_header_make_all: debug/moc_MainWindow.cpp debug/moc_MainPage.cpp debug/moc_CableTestBench.cpp debug/moc_VisualInspectionPage.cpp debug/moc_ConnectorSelectWidget.cpp debug/moc_CableTestPage.cpp debug/moc_ConnectorClickZoneWidget.cpp debug/moc_ONOFFStatusWidget.cpp debug/moc_ConnectorTestVisualizationWidget.cpp debug/moc_TestReport.cpp debug/moc_CableTestEngine.cpp debug/moc_OptionsPage.cpp debug/moc_IOModulesInterface.cpp debug/moc_AutomatedTestReport.cpp
compiler_moc_header_clean:
-$(DEL_FILE) debug\moc_MainWindow.cpp debug\moc_MainPage.cpp debug\moc_CableTestBench.cpp debug\moc_VisualInspectionPage.cpp debug\moc_ConnectorSelectWidget.cpp debug\moc_CableTestPage.cpp debug\moc_ConnectorClickZoneWidget.cpp debug\moc_ONOFFStatusWidget.cpp debug\moc_ConnectorTestVisualizationWidget.cpp debug\moc_OptionsPage.cpp
-$(DEL_FILE) debug\moc_MainWindow.cpp debug\moc_MainPage.cpp debug\moc_CableTestBench.cpp debug\moc_VisualInspectionPage.cpp debug\moc_ConnectorSelectWidget.cpp debug\moc_CableTestPage.cpp debug\moc_ConnectorClickZoneWidget.cpp debug\moc_ONOFFStatusWidget.cpp debug\moc_ConnectorTestVisualizationWidget.cpp debug\moc_TestReport.cpp debug\moc_CableTestEngine.cpp debug\moc_OptionsPage.cpp debug\moc_IOModulesInterface.cpp debug\moc_AutomatedTestReport.cpp
debug/moc_MainWindow.cpp: Sources/MainPage.h \
Sources/VisualInspectionPage.h \
Sources/VisualInspectionResult.h \
@ -155,6 +173,7 @@ debug/moc_MainWindow.cpp: Sources/MainPage.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/MainWindow.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\MainWindow.h -o debug\moc_MainWindow.cpp
@ -169,9 +188,17 @@ debug/moc_CableTestBench.cpp: Sources/MainWindow.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h \
Sources/CableTestBench.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\CableTestBench.h -o debug\moc_CableTestBench.cpp
@ -198,9 +225,39 @@ debug/moc_ConnectorTestVisualizationWidget.cpp: Sources/Widgets/ONOFFStatusWidge
Sources/Widgets/ConnectorTestVisualizationWidget.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\Widgets\ConnectorTestVisualizationWidget.h -o debug\moc_ConnectorTestVisualizationWidget.cpp
debug/moc_OptionsPage.cpp: Sources/OptionsPage.h
debug/moc_TestReport.cpp: Sources/GlobalDefine.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/TestReport.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\TestReport.h -o debug\moc_TestReport.cpp
debug/moc_CableTestEngine.cpp: Sources/Cable.h \
Sources/CableTestBenchDefs.h \
Sources/InputConnector.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/OutputConnector.h \
Sources/GlobalDefine.h \
Sources/TestReport.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\CableTestEngine.h -o debug\moc_CableTestEngine.cpp
debug/moc_OptionsPage.cpp: Sources/TestBenchSettings.h \
Sources/OptionsPage.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\OptionsPage.h -o debug\moc_OptionsPage.cpp
debug/moc_IOModulesInterface.cpp: Sources/IOModulesInterface.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\IOModulesInterface.h -o debug\moc_IOModulesInterface.cpp
debug/moc_AutomatedTestReport.cpp: Sources/AutomatedTestReport.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\AutomatedTestReport.h -o debug\moc_AutomatedTestReport.cpp
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
@ -243,10 +300,18 @@ debug/MainWindow.o: Sources/MainWindow.cpp Sources/MainWindow.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/CableTestBench.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\MainWindow.o Sources\MainWindow.cpp
debug/main.o: Sources/main.cpp Sources/CableTestBench.h \
@ -258,9 +323,17 @@ debug/main.o: Sources/main.cpp Sources/CableTestBench.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\main.o Sources\main.cpp
debug/MainPage.o: Sources/MainPage.cpp Sources/MainPage.h \
@ -276,9 +349,17 @@ debug/CableTestBench.o: Sources/CableTestBench.cpp Sources/CableTestBench.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\CableTestBench.o Sources\CableTestBench.cpp
debug/VisualInspectionPage.o: Sources/VisualInspectionPage.cpp Sources/VisualInspectionPage.h \
@ -291,9 +372,17 @@ debug/VisualInspectionPage.o: Sources/VisualInspectionPage.cpp Sources/VisualIns
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\VisualInspectionPage.o Sources\VisualInspectionPage.cpp
debug/ConnectorSelectWidget.o: Sources/Widgets/ConnectorSelectWidget.cpp Sources/Widgets/ConnectorSelectWidget.h \
@ -310,9 +399,17 @@ debug/CableTestPage.o: Sources/CableTestPage.cpp Sources/CableTestPage.h \
Sources/VisualInspectionResult.h \
Sources/GlobalDefine.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\CableTestPage.o Sources\CableTestPage.cpp
debug/ConnectorClickZoneWidget.o: Sources/Widgets/ConnectorClickZoneWidget.cpp Sources/Widgets/ConnectorClickZoneWidget.h
@ -327,12 +424,16 @@ debug/ConnectorTestVisualizationWidget.o: Sources/Widgets/ConnectorTestVisualiza
debug/Connector.o: Sources/Connector.cpp Sources/Connector.h \
Sources/CableTestBenchDefs.h \
Sources/IOModulesInterface.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\Connector.o Sources\Connector.cpp
debug/Cable.o: Sources/Cable.cpp Sources/Cable.h \
Sources/CableTestBenchDefs.h \
Sources/InputConnector.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/OutputConnector.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\Cable.o Sources\Cable.cpp
@ -342,26 +443,90 @@ debug/VisualInspectionResult.o: Sources/VisualInspectionResult.cpp Sources/Visua
debug/TestReport.o: Sources/TestReport.cpp Sources/TestReport.h \
Sources/GlobalDefine.h \
Sources/VisualInspectionResult.h
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/TestBenchSettings.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\TestReport.o Sources\TestReport.cpp
debug/CableTestEngine.o: Sources/CableTestEngine.cpp Sources/CableTestEngine.h \
Sources/Cable.h \
Sources/CableTestBenchDefs.h \
Sources/InputConnector.h \
Sources/Connector.h \
Sources/GlobalDefine.h
Sources/IOModulesInterface.h \
Sources/OutputConnector.h \
Sources/GlobalDefine.h \
Sources/TestReport.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestBench.h \
Sources/MainWindow.h \
Sources/MainPage.h \
Sources/VisualInspectionPage.h \
Sources/CableTestPage.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\CableTestEngine.o Sources\CableTestEngine.cpp
debug/OptionsPage.o: Sources/OptionsPage.cpp Sources/OptionsPage.h \
ui_OptionsPage.h
Sources/TestBenchSettings.h \
ui_OptionsPage.h \
Sources/GlobalDefine.h \
Sources/CableTestBench.h \
Sources/MainWindow.h \
Sources/MainPage.h \
Sources/VisualInspectionPage.h \
Sources/VisualInspectionResult.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\OptionsPage.o Sources\OptionsPage.cpp
debug/CableTestBenchDefs.o: Sources/CableTestBenchDefs.cpp Sources/CableTestBenchDefs.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\CableTestBenchDefs.o Sources\CableTestBenchDefs.cpp
debug/IOModulesInterface.o: Sources/IOModulesInterface.cpp Sources/IOModulesInterface.h
debug/IOModulesInterface.o: Sources/IOModulesInterface.cpp Sources/IOModulesInterface.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\IOModulesInterface.o Sources\IOModulesInterface.cpp
debug/InputConnector.o: Sources/InputConnector.cpp Sources/InputConnector.h \
Sources/Connector.h \
Sources/CableTestBenchDefs.h \
Sources/IOModulesInterface.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\InputConnector.o Sources\InputConnector.cpp
debug/OutputConnector.o: Sources/OutputConnector.cpp Sources/OutputConnector.h \
Sources/Connector.h \
Sources/CableTestBenchDefs.h \
Sources/IOModulesInterface.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\OutputConnector.o Sources\OutputConnector.cpp
debug/CableParametersData.o: Sources/CableParametersData.cpp Sources/CableParametersData.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\CableParametersData.o Sources\CableParametersData.cpp
debug/AutomatedTestReport.o: Sources/AutomatedTestReport.cpp Sources/AutomatedTestReport.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\AutomatedTestReport.o Sources\AutomatedTestReport.cpp
debug/TestBenchSettings.o: Sources/TestBenchSettings.cpp Sources/TestBenchSettings.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\TestBenchSettings.o Sources\TestBenchSettings.cpp
debug/moc_MainWindow.o: debug/moc_MainWindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_MainWindow.o debug\moc_MainWindow.cpp
@ -389,9 +554,21 @@ debug/moc_ONOFFStatusWidget.o: debug/moc_ONOFFStatusWidget.cpp
debug/moc_ConnectorTestVisualizationWidget.o: debug/moc_ConnectorTestVisualizationWidget.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_ConnectorTestVisualizationWidget.o debug\moc_ConnectorTestVisualizationWidget.cpp
debug/moc_TestReport.o: debug/moc_TestReport.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_TestReport.o debug\moc_TestReport.cpp
debug/moc_CableTestEngine.o: debug/moc_CableTestEngine.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_CableTestEngine.o debug\moc_CableTestEngine.cpp
debug/moc_OptionsPage.o: debug/moc_OptionsPage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_OptionsPage.o debug\moc_OptionsPage.cpp
debug/moc_IOModulesInterface.o: debug/moc_IOModulesInterface.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_IOModulesInterface.o debug\moc_IOModulesInterface.cpp
debug/moc_AutomatedTestReport.o: debug/moc_AutomatedTestReport.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_AutomatedTestReport.o debug\moc_AutomatedTestReport.cpp
####### Install
install: FORCE

View File

@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: CableTestBench
# Generated by qmake (2.01a) (Qt 4.8.1) on: Fri May 3 13:12:37 2019
# Generated by qmake (2.01a) (Qt 4.8.1) on: Thu Sep 19 06:47:00 2019
# Project: CableTestBench.pro
# Template: app
#############################################################################
@ -58,7 +58,12 @@ SOURCES = Sources\MainWindow.cpp \
Sources\CableTestEngine.cpp \
Sources\OptionsPage.cpp \
Sources\CableTestBenchDefs.cpp \
Sources\IOModulesInterface.cpp release\moc_MainWindow.cpp \
Sources\IOModulesInterface.cpp \
Sources\InputConnector.cpp \
Sources\OutputConnector.cpp \
Sources\CableParametersData.cpp \
Sources\AutomatedTestReport.cpp \
Sources\TestBenchSettings.cpp release\moc_MainWindow.cpp \
release\moc_MainPage.cpp \
release\moc_CableTestBench.cpp \
release\moc_VisualInspectionPage.cpp \
@ -67,7 +72,11 @@ SOURCES = Sources\MainWindow.cpp \
release\moc_ConnectorClickZoneWidget.cpp \
release\moc_ONOFFStatusWidget.cpp \
release\moc_ConnectorTestVisualizationWidget.cpp \
release\moc_OptionsPage.cpp
release\moc_TestReport.cpp \
release\moc_CableTestEngine.cpp \
release\moc_OptionsPage.cpp \
release\moc_IOModulesInterface.cpp \
release\moc_AutomatedTestReport.cpp
OBJECTS = release/MainWindow.o \
release/main.o \
release/MainPage.o \
@ -86,6 +95,11 @@ OBJECTS = release/MainWindow.o \
release/OptionsPage.o \
release/CableTestBenchDefs.o \
release/IOModulesInterface.o \
release/InputConnector.o \
release/OutputConnector.o \
release/CableParametersData.o \
release/AutomatedTestReport.o \
release/TestBenchSettings.o \
release/moc_MainWindow.o \
release/moc_MainPage.o \
release/moc_CableTestBench.o \
@ -95,7 +109,11 @@ OBJECTS = release/MainWindow.o \
release/moc_ConnectorClickZoneWidget.o \
release/moc_ONOFFStatusWidget.o \
release/moc_ConnectorTestVisualizationWidget.o \
release/moc_OptionsPage.o
release/moc_TestReport.o \
release/moc_CableTestEngine.o \
release/moc_OptionsPage.o \
release/moc_IOModulesInterface.o \
release/moc_AutomatedTestReport.o
DIST =
QMAKE_TARGET = CableTestBench
DESTDIR = release\ #avoid trailing-slash linebreak
@ -127,13 +145,13 @@ $(DESTDIR_TARGET): ui_CMainPage.h ui_VisualInspectionPage.h ui_CableTestPage.h u
$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.CableTestBench.Release $(LIBS)
qmake: FORCE
@$(QMAKE) -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=declarative_debug -o Makefile.Release CableTestBench.pro
@$(QMAKE) -spec ..\..\Qt\4.8.1\mkspecs\win32-g++ CONFIG+=release -o Makefile.Release CableTestBench.pro
dist:
$(ZIP) CableTestBench.zip $(SOURCES) $(DIST) CableTestBench.pro ..\..\Qt\4.8.1\mkspecs\qconfig.pri ..\..\Qt\4.8.1\mkspecs\modules\qt_webkit_version.pri ..\..\Qt\4.8.1\mkspecs\features\qt_functions.prf ..\..\Qt\4.8.1\mkspecs\features\qt_config.prf ..\..\Qt\4.8.1\mkspecs\features\exclusive_builds.prf ..\..\Qt\4.8.1\mkspecs\features\default_pre.prf ..\..\Qt\4.8.1\mkspecs\features\win32\default_pre.prf ..\..\Qt\4.8.1\mkspecs\features\release.prf ..\..\Qt\4.8.1\mkspecs\features\debug_and_release.prf ..\..\Qt\4.8.1\mkspecs\features\default_post.prf ..\..\Qt\4.8.1\mkspecs\features\win32\default_post.prf ..\..\Qt\4.8.1\mkspecs\features\build_pass.prf ..\..\Qt\4.8.1\mkspecs\features\declarative_debug.prf ..\..\Qt\4.8.1\mkspecs\features\win32\rtti.prf ..\..\Qt\4.8.1\mkspecs\features\win32\exceptions.prf ..\..\Qt\4.8.1\mkspecs\features\win32\stl.prf ..\..\Qt\4.8.1\mkspecs\features\shared.prf ..\..\Qt\4.8.1\mkspecs\features\warn_on.prf ..\..\Qt\4.8.1\mkspecs\features\qt.prf ..\..\Qt\4.8.1\mkspecs\features\win32\thread.prf ..\..\Qt\4.8.1\mkspecs\features\moc.prf ..\..\Qt\4.8.1\mkspecs\features\win32\windows.prf ..\..\Qt\4.8.1\mkspecs\features\resources.prf ..\..\Qt\4.8.1\mkspecs\features\uic.prf ..\..\Qt\4.8.1\mkspecs\features\yacc.prf ..\..\Qt\4.8.1\mkspecs\features\lex.prf ..\..\Qt\4.8.1\mkspecs\features\include_source_dir.prf c:\Qt\4.8.1\lib\qtmain.prl HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES
$(ZIP) CableTestBench.zip $(SOURCES) $(DIST) CableTestBench.pro ..\..\Qt\4.8.1\mkspecs\qconfig.pri ..\..\Qt\4.8.1\mkspecs\modules\qt_webkit_version.pri ..\..\Qt\4.8.1\mkspecs\features\qt_functions.prf ..\..\Qt\4.8.1\mkspecs\features\qt_config.prf ..\..\Qt\4.8.1\mkspecs\features\exclusive_builds.prf ..\..\Qt\4.8.1\mkspecs\features\default_pre.prf ..\..\Qt\4.8.1\mkspecs\features\win32\default_pre.prf ..\..\Qt\4.8.1\mkspecs\features\release.prf ..\..\Qt\4.8.1\mkspecs\features\debug_and_release.prf ..\..\Qt\4.8.1\mkspecs\features\default_post.prf ..\..\Qt\4.8.1\mkspecs\features\win32\default_post.prf ..\..\Qt\4.8.1\mkspecs\features\build_pass.prf ..\..\Qt\4.8.1\mkspecs\features\win32\rtti.prf ..\..\Qt\4.8.1\mkspecs\features\win32\exceptions.prf ..\..\Qt\4.8.1\mkspecs\features\win32\stl.prf ..\..\Qt\4.8.1\mkspecs\features\shared.prf ..\..\Qt\4.8.1\mkspecs\features\warn_on.prf ..\..\Qt\4.8.1\mkspecs\features\qt.prf ..\..\Qt\4.8.1\mkspecs\features\win32\thread.prf ..\..\Qt\4.8.1\mkspecs\features\moc.prf ..\..\Qt\4.8.1\mkspecs\features\win32\windows.prf ..\..\Qt\4.8.1\mkspecs\features\resources.prf ..\..\Qt\4.8.1\mkspecs\features\uic.prf ..\..\Qt\4.8.1\mkspecs\features\yacc.prf ..\..\Qt\4.8.1\mkspecs\features\lex.prf ..\..\Qt\4.8.1\mkspecs\features\include_source_dir.prf c:\Qt\4.8.1\lib\qtmain.prl HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES
clean: compiler_clean
-$(DEL_FILE) release\MainWindow.o release\main.o release\MainPage.o release\CableTestBench.o release\VisualInspectionPage.o release\ConnectorSelectWidget.o release\CableTestPage.o release\ConnectorClickZoneWidget.o release\ONOFFStatusWidget.o release\ConnectorTestVisualizationWidget.o release\Connector.o release\Cable.o release\VisualInspectionResult.o release\TestReport.o release\CableTestEngine.o release\OptionsPage.o release\CableTestBenchDefs.o release\IOModulesInterface.o release\moc_MainWindow.o release\moc_MainPage.o release\moc_CableTestBench.o release\moc_VisualInspectionPage.o release\moc_ConnectorSelectWidget.o release\moc_CableTestPage.o release\moc_ConnectorClickZoneWidget.o release\moc_ONOFFStatusWidget.o release\moc_ConnectorTestVisualizationWidget.o release\moc_OptionsPage.o
-$(DEL_FILE) release\MainWindow.o release\main.o release\MainPage.o release\CableTestBench.o release\VisualInspectionPage.o release\ConnectorSelectWidget.o release\CableTestPage.o release\ConnectorClickZoneWidget.o release\ONOFFStatusWidget.o release\ConnectorTestVisualizationWidget.o release\Connector.o release\Cable.o release\VisualInspectionResult.o release\TestReport.o release\CableTestEngine.o release\OptionsPage.o release\CableTestBenchDefs.o release\IOModulesInterface.o release\InputConnector.o release\OutputConnector.o release\CableParametersData.o release\AutomatedTestReport.o release\TestBenchSettings.o release\moc_MainWindow.o release\moc_MainPage.o release\moc_CableTestBench.o release\moc_VisualInspectionPage.o release\moc_ConnectorSelectWidget.o release\moc_CableTestPage.o release\moc_ConnectorClickZoneWidget.o release\moc_ONOFFStatusWidget.o release\moc_ConnectorTestVisualizationWidget.o release\moc_TestReport.o release\moc_CableTestEngine.o release\moc_OptionsPage.o release\moc_IOModulesInterface.o release\moc_AutomatedTestReport.o
distclean: clean
-$(DEL_FILE) $(DESTDIR_TARGET)
@ -145,9 +163,9 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all: release/moc_MainWindow.cpp release/moc_MainPage.cpp release/moc_CableTestBench.cpp release/moc_VisualInspectionPage.cpp release/moc_ConnectorSelectWidget.cpp release/moc_CableTestPage.cpp release/moc_ConnectorClickZoneWidget.cpp release/moc_ONOFFStatusWidget.cpp release/moc_ConnectorTestVisualizationWidget.cpp release/moc_OptionsPage.cpp
compiler_moc_header_make_all: release/moc_MainWindow.cpp release/moc_MainPage.cpp release/moc_CableTestBench.cpp release/moc_VisualInspectionPage.cpp release/moc_ConnectorSelectWidget.cpp release/moc_CableTestPage.cpp release/moc_ConnectorClickZoneWidget.cpp release/moc_ONOFFStatusWidget.cpp release/moc_ConnectorTestVisualizationWidget.cpp release/moc_TestReport.cpp release/moc_CableTestEngine.cpp release/moc_OptionsPage.cpp release/moc_IOModulesInterface.cpp release/moc_AutomatedTestReport.cpp
compiler_moc_header_clean:
-$(DEL_FILE) release\moc_MainWindow.cpp release\moc_MainPage.cpp release\moc_CableTestBench.cpp release\moc_VisualInspectionPage.cpp release\moc_ConnectorSelectWidget.cpp release\moc_CableTestPage.cpp release\moc_ConnectorClickZoneWidget.cpp release\moc_ONOFFStatusWidget.cpp release\moc_ConnectorTestVisualizationWidget.cpp release\moc_OptionsPage.cpp
-$(DEL_FILE) release\moc_MainWindow.cpp release\moc_MainPage.cpp release\moc_CableTestBench.cpp release\moc_VisualInspectionPage.cpp release\moc_ConnectorSelectWidget.cpp release\moc_CableTestPage.cpp release\moc_ConnectorClickZoneWidget.cpp release\moc_ONOFFStatusWidget.cpp release\moc_ConnectorTestVisualizationWidget.cpp release\moc_TestReport.cpp release\moc_CableTestEngine.cpp release\moc_OptionsPage.cpp release\moc_IOModulesInterface.cpp release\moc_AutomatedTestReport.cpp
release/moc_MainWindow.cpp: Sources/MainPage.h \
Sources/VisualInspectionPage.h \
Sources/VisualInspectionResult.h \
@ -155,6 +173,7 @@ release/moc_MainWindow.cpp: Sources/MainPage.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/MainWindow.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\MainWindow.h -o release\moc_MainWindow.cpp
@ -169,9 +188,17 @@ release/moc_CableTestBench.cpp: Sources/MainWindow.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h \
Sources/CableTestBench.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\CableTestBench.h -o release\moc_CableTestBench.cpp
@ -198,9 +225,39 @@ release/moc_ConnectorTestVisualizationWidget.cpp: Sources/Widgets/ONOFFStatusWid
Sources/Widgets/ConnectorTestVisualizationWidget.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\Widgets\ConnectorTestVisualizationWidget.h -o release\moc_ConnectorTestVisualizationWidget.cpp
release/moc_OptionsPage.cpp: Sources/OptionsPage.h
release/moc_TestReport.cpp: Sources/GlobalDefine.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/TestReport.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\TestReport.h -o release\moc_TestReport.cpp
release/moc_CableTestEngine.cpp: Sources/Cable.h \
Sources/CableTestBenchDefs.h \
Sources/InputConnector.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/OutputConnector.h \
Sources/GlobalDefine.h \
Sources/TestReport.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\CableTestEngine.h -o release\moc_CableTestEngine.cpp
release/moc_OptionsPage.cpp: Sources/TestBenchSettings.h \
Sources/OptionsPage.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\OptionsPage.h -o release\moc_OptionsPage.cpp
release/moc_IOModulesInterface.cpp: Sources/IOModulesInterface.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\IOModulesInterface.h -o release\moc_IOModulesInterface.cpp
release/moc_AutomatedTestReport.cpp: Sources/AutomatedTestReport.h
C:\Qt\4.8.1\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 Sources\AutomatedTestReport.h -o release\moc_AutomatedTestReport.cpp
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
@ -243,10 +300,18 @@ release/MainWindow.o: Sources/MainWindow.cpp Sources/MainWindow.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/CableTestBench.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\MainWindow.o Sources\MainWindow.cpp
release/main.o: Sources/main.cpp Sources/CableTestBench.h \
@ -258,9 +323,17 @@ release/main.o: Sources/main.cpp Sources/CableTestBench.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\main.o Sources\main.cpp
release/MainPage.o: Sources/MainPage.cpp Sources/MainPage.h \
@ -276,9 +349,17 @@ release/CableTestBench.o: Sources/CableTestBench.cpp Sources/CableTestBench.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\CableTestBench.o Sources\CableTestBench.cpp
release/VisualInspectionPage.o: Sources/VisualInspectionPage.cpp Sources/VisualInspectionPage.h \
@ -291,9 +372,17 @@ release/VisualInspectionPage.o: Sources/VisualInspectionPage.cpp Sources/VisualI
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\VisualInspectionPage.o Sources\VisualInspectionPage.cpp
release/ConnectorSelectWidget.o: Sources/Widgets/ConnectorSelectWidget.cpp Sources/Widgets/ConnectorSelectWidget.h \
@ -310,9 +399,17 @@ release/CableTestPage.o: Sources/CableTestPage.cpp Sources/CableTestPage.h \
Sources/VisualInspectionResult.h \
Sources/GlobalDefine.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/TestReport.h
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\CableTestPage.o Sources\CableTestPage.cpp
release/ConnectorClickZoneWidget.o: Sources/Widgets/ConnectorClickZoneWidget.cpp Sources/Widgets/ConnectorClickZoneWidget.h
@ -327,12 +424,16 @@ release/ConnectorTestVisualizationWidget.o: Sources/Widgets/ConnectorTestVisuali
release/Connector.o: Sources/Connector.cpp Sources/Connector.h \
Sources/CableTestBenchDefs.h \
Sources/IOModulesInterface.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\Connector.o Sources\Connector.cpp
release/Cable.o: Sources/Cable.cpp Sources/Cable.h \
Sources/CableTestBenchDefs.h \
Sources/InputConnector.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/OutputConnector.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\Cable.o Sources\Cable.cpp
@ -342,26 +443,90 @@ release/VisualInspectionResult.o: Sources/VisualInspectionResult.cpp Sources/Vis
release/TestReport.o: Sources/TestReport.cpp Sources/TestReport.h \
Sources/GlobalDefine.h \
Sources/VisualInspectionResult.h
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/TestBenchSettings.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\TestReport.o Sources\TestReport.cpp
release/CableTestEngine.o: Sources/CableTestEngine.cpp Sources/CableTestEngine.h \
Sources/Cable.h \
Sources/CableTestBenchDefs.h \
Sources/InputConnector.h \
Sources/Connector.h \
Sources/GlobalDefine.h
Sources/IOModulesInterface.h \
Sources/OutputConnector.h \
Sources/GlobalDefine.h \
Sources/TestReport.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestBench.h \
Sources/MainWindow.h \
Sources/MainPage.h \
Sources/VisualInspectionPage.h \
Sources/CableTestPage.h \
Sources/OptionsPage.h \
Sources/TestBenchSettings.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\CableTestEngine.o Sources\CableTestEngine.cpp
release/OptionsPage.o: Sources/OptionsPage.cpp Sources/OptionsPage.h \
ui_OptionsPage.h
Sources/TestBenchSettings.h \
ui_OptionsPage.h \
Sources/GlobalDefine.h \
Sources/CableTestBench.h \
Sources/MainWindow.h \
Sources/MainPage.h \
Sources/VisualInspectionPage.h \
Sources/VisualInspectionResult.h \
Sources/CableTestPage.h \
Sources/CableTestBenchDefs.h \
Sources/Connector.h \
Sources/IOModulesInterface.h \
Sources/Cable.h \
Sources/InputConnector.h \
Sources/OutputConnector.h \
Sources/TestReport.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestEngine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\OptionsPage.o Sources\OptionsPage.cpp
release/CableTestBenchDefs.o: Sources/CableTestBenchDefs.cpp Sources/CableTestBenchDefs.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\CableTestBenchDefs.o Sources\CableTestBenchDefs.cpp
release/IOModulesInterface.o: Sources/IOModulesInterface.cpp Sources/IOModulesInterface.h
release/IOModulesInterface.o: Sources/IOModulesInterface.cpp Sources/IOModulesInterface.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\IOModulesInterface.o Sources\IOModulesInterface.cpp
release/InputConnector.o: Sources/InputConnector.cpp Sources/InputConnector.h \
Sources/Connector.h \
Sources/CableTestBenchDefs.h \
Sources/IOModulesInterface.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\InputConnector.o Sources\InputConnector.cpp
release/OutputConnector.o: Sources/OutputConnector.cpp Sources/OutputConnector.h \
Sources/Connector.h \
Sources/CableTestBenchDefs.h \
Sources/IOModulesInterface.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\OutputConnector.o Sources\OutputConnector.cpp
release/CableParametersData.o: Sources/CableParametersData.cpp Sources/CableParametersData.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\CableParametersData.o Sources\CableParametersData.cpp
release/AutomatedTestReport.o: Sources/AutomatedTestReport.cpp Sources/AutomatedTestReport.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\AutomatedTestReport.o Sources\AutomatedTestReport.cpp
release/TestBenchSettings.o: Sources/TestBenchSettings.cpp Sources/TestBenchSettings.h \
Sources/GlobalDefine.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\TestBenchSettings.o Sources\TestBenchSettings.cpp
release/moc_MainWindow.o: release/moc_MainWindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_MainWindow.o release\moc_MainWindow.cpp
@ -389,9 +554,21 @@ release/moc_ONOFFStatusWidget.o: release/moc_ONOFFStatusWidget.cpp
release/moc_ConnectorTestVisualizationWidget.o: release/moc_ConnectorTestVisualizationWidget.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_ConnectorTestVisualizationWidget.o release\moc_ConnectorTestVisualizationWidget.cpp
release/moc_TestReport.o: release/moc_TestReport.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_TestReport.o release\moc_TestReport.cpp
release/moc_CableTestEngine.o: release/moc_CableTestEngine.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_CableTestEngine.o release\moc_CableTestEngine.cpp
release/moc_OptionsPage.o: release/moc_OptionsPage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_OptionsPage.o release\moc_OptionsPage.cpp
release/moc_IOModulesInterface.o: release/moc_IOModulesInterface.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_IOModulesInterface.o release\moc_IOModulesInterface.cpp
release/moc_AutomatedTestReport.o: release/moc_AutomatedTestReport.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_AutomatedTestReport.o release\moc_AutomatedTestReport.cpp
####### Install
install: FORCE

View File

@ -0,0 +1,293 @@
#include "AutomatedTestReport.h"
#include "GlobalDefine.h"
CAutomatedTestReport::CAutomatedTestReport(QObject *parent) :
QObject(parent)
{
}
int CAutomatedTestReport::ClearAutomatedTestReport()
{
mTestPinsResult.clear();
mPinCount = 0;
mPreTestResult = AUTO_TEST_RESULT_UNKNOWN;
return RET_OK;
}
int CAutomatedTestReport::SetPinCount(int Pincount)
{
mPinCount = Pincount;
mTestPinsResult.clear();
for(int i = 0; i < Pincount; i++)
{
mTestPinsResult.append(CPinTestResult(i+1));
}
return RET_OK;
}
int CAutomatedTestReport::SetPinResult(int PinNumber, bool ContinuityPassed, bool IsolationPassed)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return RET_ERROR;
}
mTestPinsResult[ZeroBasedPinIndex].mIsolationTestPass = IsolationPassed;
mTestPinsResult[ZeroBasedPinIndex].mContinuityTestPass = ContinuityPassed;
return RET_OK;
}
int CAutomatedTestReport::SetPinTestAllPassed(int PinNumber)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return RET_ERROR;
}
mTestPinsResult[ZeroBasedPinIndex].mIsolationTestPass = true;
mTestPinsResult[ZeroBasedPinIndex].mContinuityTestPass = true;
mTestPinsResult[ZeroBasedPinIndex].mPinAssignationTestPass = true;
return RET_OK;
}
int CAutomatedTestReport::SetPinContinuityResult(int PinNumber,bool ContinuityPassed)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return RET_ERROR;
}
mTestPinsResult[ZeroBasedPinIndex].mContinuityTestPass = ContinuityPassed;
return RET_OK;
}
int CAutomatedTestReport::SetPinIsolationResult(int PinNumber, bool IsolationPassed)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return RET_ERROR;
}
mTestPinsResult[ZeroBasedPinIndex].mIsolationTestPass = IsolationPassed;
return RET_OK;
}
int CAutomatedTestReport::SetPinConcordanceTestResult(int PinNumber, bool AssignationTestPassed, int WrongPinNbr)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return RET_ERROR;
}
mTestPinsResult[ZeroBasedPinIndex].mPinAssignationTestPass = AssignationTestPassed;
if(AssignationTestPassed == false)
{
mTestPinsResult[ZeroBasedPinIndex].mWrongAssignationPinNbr = WrongPinNbr;
}
return RET_OK;
}
int CAutomatedTestReport::SetPinSecondTestResult(int PinNumber, bool SecondTestPassed)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return RET_ERROR;
}
mTestPinsResult[ZeroBasedPinIndex].mSecondTestPass = SecondTestPassed;
return RET_OK;
}
int CAutomatedTestReport::AddShortedPinToPinTest(int PinNumber, int ShortedPinNumber)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return RET_ERROR;
}
mTestPinsResult[ZeroBasedPinIndex].mShortedPinsList.append(ShortedPinNumber);
return RET_OK;
}
int CAutomatedTestReport::SetPreTestResult(bool PreTestPassed)
{
mPreTestResult = PreTestPassed;
return RET_OK;
}
CPinTestResult::CPinTestResult(int PinNumber)
{
mPinNumber = PinNumber;
mContinuityTestPass = AUTO_TEST_RESULT_UNKNOWN;
mIsolationTestPass = AUTO_TEST_RESULT_UNKNOWN;
mPinAssignationTestPass = AUTO_TEST_RESULT_UNKNOWN;
mSecondTestPass = AUTO_TEST_RESULT_UNKNOWN;
mShortedPinsList.clear();
mWrongAssignationPinNbr = 0;
}
CPinTestResult::~CPinTestResult()
{
mShortedPinsList.clear();
}
bool CPinTestResult::IsPinTestSuccess()
{
if(mPinNumber > 0 &&
mContinuityTestPass == AUTO_TEST_SUCCESS &&
mIsolationTestPass == AUTO_TEST_SUCCESS &&
mPinAssignationTestPass == AUTO_TEST_SUCCESS &&
mSecondTestPass != AUTO_TEST_FAILED)
{
return true;
}
return false;
}
QString CAutomatedTestReport::GetPinIsolationResult(int PinNumber)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return QString("?");
}
if(mTestPinsResult[ZeroBasedPinIndex].mIsolationTestPass == AUTO_TEST_RESULT_UNKNOWN)
{
return QString("N/A");
}
else if(mTestPinsResult[ZeroBasedPinIndex].mIsolationTestPass == AUTO_TEST_SUCCESS)
{
return QString("Succès");
}
else if(mTestPinsResult[ZeroBasedPinIndex].mIsolationTestPass == AUTO_TEST_FAILED)
{
QString Result("Échec[");
for(int i = 0; i < mTestPinsResult[ZeroBasedPinIndex].mShortedPinsList.size(); i++)
{
Result.append(QString("%1").arg(mTestPinsResult[ZeroBasedPinIndex].mShortedPinsList.at(i)));
if(i != mTestPinsResult[ZeroBasedPinIndex].mShortedPinsList.size() - 1)
{
Result.append(",");
}
}
Result.append("]");
return Result;
}
return QString("?");
}
QString CAutomatedTestReport::GetPinContinuityResult(int PinNumber)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return QString("?");
}
if(mTestPinsResult[ZeroBasedPinIndex].mContinuityTestPass == AUTO_TEST_RESULT_UNKNOWN)
{
return QString("N/A");
}
else if(mTestPinsResult[ZeroBasedPinIndex].mContinuityTestPass == AUTO_TEST_SUCCESS)
{
return QString("Succès");
}
else if(mTestPinsResult[ZeroBasedPinIndex].mContinuityTestPass == AUTO_TEST_FAILED)
{
return QString("Échec");
}
return QString("?");
}
QString CAutomatedTestReport::GetPinConcordanceResult(int PinNumber)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return QString("?");
}
if(mTestPinsResult[ZeroBasedPinIndex].mPinAssignationTestPass == AUTO_TEST_RESULT_UNKNOWN)
{
return QString("N/A");
}
else if(mTestPinsResult[ZeroBasedPinIndex].mPinAssignationTestPass == AUTO_TEST_SUCCESS)
{
return QString("Succès");
}
else if(mTestPinsResult[ZeroBasedPinIndex].mPinAssignationTestPass == AUTO_TEST_FAILED)
{
return QString("Échec[%1]").arg(mTestPinsResult[ZeroBasedPinIndex].mWrongAssignationPinNbr);
}
return QString("?");
}
QString CAutomatedTestReport::GetPinSecondTestResult(int PinNumber)
{
int ZeroBasedPinIndex = PinNumber - 1;
if(ZeroBasedPinIndex < 0 || ZeroBasedPinIndex >= mPinCount) //Try not to crash.
{
return QString("?");
}
if(mTestPinsResult[ZeroBasedPinIndex].mSecondTestPass == AUTO_TEST_RESULT_UNKNOWN)
{
return QString("N/A");
}
else if(mTestPinsResult[ZeroBasedPinIndex].mSecondTestPass == AUTO_TEST_SUCCESS)
{
return QString("Succès");
}
else if(mTestPinsResult[ZeroBasedPinIndex].mSecondTestPass == AUTO_TEST_FAILED)
{
return QString("Échec");
}
return QString("?");
}
bool CAutomatedTestReport::IsAutomatedTestSuccess()
{
if(mPinCount == 0)
{
return false;
}
for(int i = 0; i < mTestPinsResult.size(); i++)
{
if(mTestPinsResult[i].IsPinTestSuccess() == false)
{
return false;
}
}
return true;
}
QString CAutomatedTestReport::GetPretestResult()
{
if(mPreTestResult)
{
return "Succès";
}
return "Échec";
}

View File

@ -0,0 +1,81 @@
#ifndef AUTOMATEDTESTREPORT_H
#define AUTOMATEDTESTREPORT_H
#include <QObject>
#include <QList>
class CPinTestResult;
enum eAutoTestResultDef
{
AUTO_TEST_FAILED,
AUTO_TEST_SUCCESS,
AUTO_TEST_RESULT_UNKNOWN
};
class CAutomatedTestReport : public QObject
{
Q_OBJECT
public:
explicit CAutomatedTestReport(QObject *parent = 0);
int ClearAutomatedTestReport();
int SetPinCount(int Pincount);
int GetPinCount(){return mPinCount;}
int SetPinResult(int PinNumber,bool ContinuityPassed, bool IsolationPassed);
int SetPinTestAllPassed(int PinNumber);
int SetPinContinuityResult(int PinNumber,bool ContinuityPassed);
int SetPinIsolationResult(int PinNumber, bool IsolationPassed);
int SetPinConcordanceTestResult(int PinNumber, bool AssignationTestPassed, int WrongPinNbr);
int SetPinSecondTestResult(int PinNumber, bool SecondTestPassed);
int AddShortedPinToPinTest(int PinNumber,int ShortedPinNumber);
bool IsAutomatedTestSuccess();
QString GetPinIsolationResult(int PinNumber);
QString GetPinContinuityResult(int PinNumber);
QString GetPinConcordanceResult(int PinNumber);
QString GetPinSecondTestResult(int PinNumber);
QString GetShortedPins(int PinNumber);
QString GetWrongPin(int PinNumber);
QString GetPretestResult();
int SetPreTestResult(bool PreTestPassed);
QList<CPinTestResult> mTestPinsResult;
int mPinCount;
int mPreTestResult;
signals:
public slots:
};
class CPinTestResult
{
public:
// enum ePinTestResultDef
// {
// PIN_TEST_FAILED,
// PIN_TEST_SUCCESS,
// PIN_TEST_RESULT_UNKNOWN
// };
explicit CPinTestResult(int PinNumber);
~CPinTestResult();
bool IsPinTestSuccess();
int mPinNumber;
int mContinuityTestPass;
int mIsolationTestPass;
int mPinAssignationTestPass;
int mSecondTestPass;
QList<int> mShortedPinsList;
int mWrongAssignationPinNbr;
};
#endif // AUTOMATEDTESTREPORT_H

View File

@ -1,14 +1,20 @@
#include "Cable.h"
CCable::CCable(CConnectorDefs::eConnectorType InputConnectorType)
CCable::CCable(CConnectorDefs::eConnectorType InputConnectorType, CIOModulesInterface *IOInterface)
{
mInputConnector.SetConnectorType(CConnectorDefs::UNKNOWN_CONNECTOR_TYPE);
mOutputConnector.SetConnectorType(CConnectorDefs::UNKNOWN_CONNECTOR_TYPE);
mInputConnector.SetIOInterface(IOInterface);
mOutputConnector.SetIOInterface(IOInterface);
DefineCableByInputConnector(InputConnectorType);
// mInputConnector.SetConnectorType(CConnectorDefs::UNKNOWN_CONNECTOR_TYPE);
// mOutputConnector.SetConnectorType(CConnectorDefs::UNKNOWN_CONNECTOR_TYPE);
mCableDefined = false;
mIOInterfaceHandle = IOInterface;
}
int CCable::DefineCableByInputConnector(CConnectorDefs::eConnectorType InputConnectorType)
{
mOutputPinsBuffer.clear();
switch(InputConnectorType)
{
case CConnectorDefs::INPUT_6_PINS_CONNECTOR_TYPE:
@ -54,6 +60,7 @@ int CCable::DefineCableByInputConnector(CConnectorDefs::eConnectorType InputConn
}
mOutputPinsBuffer = QBitArray(mOutputConnector.GetPinCount());
mCableDefined = true;
return RET_OK;
@ -64,12 +71,20 @@ bool CCable::IsCableDefined()
return mCableDefined;
}
CConnector *CCable::GetInputConnector()
CInputConnector *CCable::GetInputConnector()
{
return &mInputConnector;
}
CConnector *CCable::GetOutputConnector()
COutputConnector *CCable::GetOutputConnector()
{
return &mOutputConnector;
}
int CCable::ClearAllOutputConnectorPins()
{
mOutputPinsBuffer.fill(false);
return mOutputConnector.SetOutputPins(mOutputPinsBuffer);
}

View File

@ -2,24 +2,32 @@
#define CABLE_H
#include "CableTestBenchDefs.h"
#include "Connector.h"
#include "InputConnector.h"
#include "OutputConnector.h"
#include "GlobalDefine.h"
#include "IOModulesInterface.h"
class CCable
{
public:
CCable(CConnectorDefs::eConnectorType InputConnectorType);
CCable(CConnectorDefs::eConnectorType InputConnectorType,CIOModulesInterface *IOInterface);
int DefineCableByInputConnector(CConnectorDefs::eConnectorType InputConnectorType);
CConnector *GetInputConnector();
CConnector *GetOutputConnector();
CInputConnector *GetInputConnector();
COutputConnector *GetOutputConnector();
bool IsCableDefined();
int ClearAllOutputConnectorPins();
private:
CConnector mInputConnector, mOutputConnector;
CInputConnector mInputConnector;
COutputConnector mOutputConnector;
bool mCableDefined;
CIOModulesInterface *mIOInterfaceHandle;
QBitArray mOutputPinsBuffer;
};

View File

@ -0,0 +1,38 @@
#include "CableParametersData.h"
#include "GlobalDefine.h"
CCableParametersData::CCableParametersData()
{
ResetData();
}
int CCableParametersData::ResetData()
{
mStationName.clear();
mCableIdentification.clear();
mCableType.clear();
mTestOperatorName.clear();
mInputConnectorType.clear();
mOutputConnectorType.clear();
return RET_OK;
}
int CCableParametersData::SetCableParams(QString StationName, QString StationCode, QString CableIdentification, QString CableType, QString OperatorName)
{
mStationName = StationName;
mStationCodeName = StationCode;
mCableIdentification = CableIdentification;
mCableType = CableType;
mTestOperatorName = OperatorName;
return RET_OK;
}
int CCableParametersData::SetCableType(QString InputConnectortype, QString OutputConnectorType)
{
mInputConnectorType = InputConnectortype;
mOutputConnectorType = OutputConnectorType;
return RET_OK;
}

View File

@ -0,0 +1,29 @@
#ifndef CABLEPARAMETERSDATA_H
#define CABLEPARAMETERSDATA_H
#include <QString>
#include <Connector.h>
class CCableParametersData
{
public:
CCableParametersData();
int ResetData();
int SetCableParams(QString StationName, QString StationCode, QString CableIdentification, QString CableType, QString OperatorName);
int SetCableType(QString InputConnectortype, QString OutputConnectorType);
QString mStationName;
QString mStationCodeName;
QString mCableIdentification; //Cable name
QString mCableType; //permanent or temporary
QString mTestOperatorName;
QString mInputConnectorType;
QString mOutputConnectorType;
};
#endif // CABLEPARAMETERSDATA_H

View File

@ -1,11 +1,17 @@
#include "CableTestBench.h"
#include <QDateTime>
#include "CableTestBenchDefs.h"
#include <QFileInfo>
#include <QProcess>
#include "TestBenchVersion.h"
#include <QMessageBox>
CCableTestBench::CCableTestBench(QObject *parent) :
QObject(parent),
mActualCable(CConnectorDefs::UNKNOWN_CONNECTOR_TYPE)
mActualCable(CConnectorDefs::UNKNOWN_CONNECTOR_TYPE,&mIOInterface)
{
w = new MainWindow(0,this);
w->setWindowTitle(QString("Cablotron %1").arg(TEST_BENCH_VERSION));
}
CCableTestBench::~CCableTestBench()
@ -22,12 +28,42 @@ int CCableTestBench::Start()
mMainPageHandle = w->mMainPage;
mVisualInspPageHandle = w->mVisualInspPage;
mCableTestPageHandle = w->mCableTestPage;
mOptionsPageHandle = w->mOptionsPage;
if(mTestBenchOptions.LoadSettingFromFile() == RET_OK)
{
mOptionsPageHandle->SetCurrentOptions(&mTestBenchOptions);
}
{
mOptionsPageHandle->GetCurrentOptions(&mTestBenchOptions);
}
mCableTestEngine.InitCableTestEngine(this,&mTestBenchOptions);
if(mIOInterface.OpenIOModules(mTestBenchOptions.mIOModuleIPAddress) == RET_ERROR)
{
mCableTestReport.AddLogEntry("Impossible de communiquer avec le module d'I/O.\nVérifier la connexion ou l'adresse IP.");
QMessageBox::critical(0,"Erreur de connexion","Impossible de communiquer avec le module d'I/O.\nVérifier la connexion ou l'adresse IP.");
}
mCableTestPageHandle->mGuiRefreshTimer.start();
connect(&mCableTestReport,SIGNAL(NewTestLogEntry(QString)),mCableTestPageHandle,SLOT(AddTestLogEntry(QString)));
mIOInterface.OpenIOModules();
return 1;
}
CCable * CCableTestBench::GetActualCable()
{
return &mActualCable;
}
CTestReport *CCableTestBench::GetTestReportHandle()
{
return &mCableTestReport;
}
quint8 CCableTestBench::DecToBCDByte(const quint8 byte)
{
@ -73,6 +109,8 @@ CCable* CCableTestBench::SetSelectedConnector(CConnectorDefs::eConnectorType Con
return 0;
}
CheckIfReadyForTesting();
return &mActualCable;
}
@ -90,5 +128,221 @@ int CCableTestBench::VisualInspectionQuitRequest()
w->ShowCableTestPage();
CheckIfReadyForTesting();
return RET_OK;
}
int CCableTestBench::StartPauseAutomaticTestRequest()
{
if(mCableTestEngine.GetTestEngineCurrentMode() == CCableTestEngine::CABLE_TEST_STBY_MODE)
{
int TestPinCount = mActualCable.GetOutputConnector()->GetPinCount();
if(mActualCable.GetInputConnector()->GetPinCount() < TestPinCount)
{
TestPinCount = mActualCable.GetInputConnector()->GetPinCount();
}
mCableTestPageHandle->FillReportCableParametersData(mCableTestReport.GetReportCableParameters());
mCableTestReport.GetReportCableParameters()->SetCableType(CConnectorDefs::GetConnectorDescription(mActualCable.GetInputConnector()->GetConnectorType()),
CConnectorDefs::GetConnectorDescription(mActualCable.GetOutputConnector()->GetConnectorType()));
mCableTestReport.GetAutomatedTestReport()->SetPinCount(TestPinCount);
mCableTestEngine.StartAutomatedTest();
return RET_OK;
}
if(mCableTestEngine.GetTestEngineCurrentMode() == CCableTestEngine::CABLE_AUTO_TEST_RUNNING_MODE)
{
mCableTestEngine.PauseAutomatedTest();
return RET_OK;
}
if(mCableTestEngine.GetTestEngineCurrentMode() == CCableTestEngine::CABLE_AUTO_TEST_PAUSED_MODE)
{
mCableTestEngine.ResumeAutomatedTest();
return RET_OK;
}
else //Button shouldn't be used in manual mode...
{
return RET_ERROR;
}
return RET_OK;
}
int CCableTestBench::StartStopManualTestRequest()
{
if(mCableTestEngine.GetTestEngineCurrentMode() == CCableTestEngine::CABLE_TEST_STBY_MODE)
{
mCableTestEngine.StartManualTest();
return RET_OK;
}
if(mCableTestEngine.GetTestEngineCurrentMode() == CCableTestEngine::CABLE_TEST_MANUAL_MODE)
{
mCableTestEngine.StopManualTest();
return RET_OK;
}
else //Button shouldn't be used in Automatic mode...
{
return RET_ERROR;
}
}
int CCableTestBench::NewCableRequest()
{
mActualCable.DefineCableByInputConnector(CConnectorDefs::UNKNOWN_CONNECTOR_TYPE);
mVisualInspPageHandle->ResetForm();
mCableTestPageHandle->ResetCable();
mCableTestPageHandle->DisableStartTestBtn();
mCableTestReport.CreateNewTestReport();
return RET_OK;
}
int CCableTestBench::CheckIfReadyForTesting()
{
bool VisualInspectionDone = false, ConnectorSelected = false, CableConfigured = false;
mVisualInspPageHandle->FillVisualInspectionResultReport(mCableTestReport.GetInspectionResult());
if(mCableTestReport.GetInspectionResult()->IsVisualInspectionResultComplete() == true)
{
VisualInspectionDone = true;
}
if(mTestBenchOptions.mIgnoreVisualInspection)
{
VisualInspectionDone = true;
}
if(mCableTestPageHandle->IsCableConfigured())
{
CableConfigured = true;
mCableTestPageHandle->SetCableConfigureStep(true);
}
else
{
mCableTestPageHandle->SetCableConfigureStep(false);
}
ConnectorSelected = mActualCable.IsCableDefined();
if(ConnectorSelected)
{
mCableTestPageHandle->SetConnectorSelStep();
}
else
{
mCableTestPageHandle->SetConnectorSelStep(false);
}
if(VisualInspectionDone && ConnectorSelected && CableConfigured)
{
mCableTestPageHandle->EnableStartTestBtn();
}
else
{
mCableTestPageHandle->DisableStartTestBtn();
}
return RET_OK;
}
int CCableTestBench::CableEngineModeChanged(CCableTestEngine::eCableTestEngineMode Mode)
{
switch(Mode)
{
case CCableTestEngine::CABLE_TEST_STBY_MODE:
{
mCableTestPageHandle->CableTestEnded();
if(mCableTestReport.IsAutoTestReportReady())
{
SaveReportRequest();
mCableTestPageHandle->EnableOpenReportBtn();
if(mCableTestReport.GetGlobalAutoTestResult() == true)
{
mCableTestPageHandle->SetAutoTestResult("Succès!",Qt::darkGreen);
}
else
{
mCableTestPageHandle->SetAutoTestResult("Échec",Qt::red);
}
}
break;
}
case CCableTestEngine::CABLE_AUTO_TEST_RUNNING_MODE:
{
mCableTestPageHandle->CableAutomaticTestStarted();
break;
}
case CCableTestEngine::CABLE_AUTO_TEST_PAUSED_MODE:
{
mCableTestPageHandle->CableAutomaticTestPaused();
break;
}
case CCableTestEngine::CABLE_TEST_MANUAL_MODE:
{
mCableTestPageHandle->CableManualTestStarted();
break;
}
}
return RET_OK;
}
int CCableTestBench::ResetAutomaticTestRequest()
{
return mCableTestEngine.StopAutomatedTest();
}
int CCableTestBench::ManualPinToggleRequest(int ConnectorPinNbr)
{
return mCableTestEngine.ManualPinToggle(ConnectorPinNbr);
}
int CCableTestBench::RefreshConnectorsStateRequest()
{
mCableTestPageHandle->SetInputConnectorState(mActualCable.GetInputConnector()->GetInputPinsStates());
mCableTestPageHandle->SetOutputConnectorState(mActualCable.GetOutputConnector()->GetOutputPinsStates());
return RET_OK;
}
int CCableTestBench::SaveReportRequest()
{
return mCableTestReport.SaveReportToFile(&mTestBenchOptions);
}
int CCableTestBench::OpenReportRequest()
{
QString ReportFile = mCableTestReport.GetLastReportFileName();
if(ReportFile.isEmpty())
{
return RET_ERROR;
}
QFileInfo FileInfo(ReportFile);
QString Command =FileInfo.absoluteFilePath();
Command.prepend("notepad.exe ");
QProcess *process = new QProcess;
process->start(Command);
return RET_OK;
}
int CCableTestBench::CableConfigChanged()
{
CheckIfReadyForTesting();
return RET_OK;
}
int CCableTestBench::TestBenchOptionsChanged()
{
mOptionsPageHandle->GetCurrentOptions(&mTestBenchOptions);
mTestBenchOptions.SaveSettingsToFile();
return RET_OK;
}

View File

@ -8,11 +8,16 @@
#include "Cable.h"
#include "TestReport.h"
#include "IOModulesInterface.h"
#include "CableTestEngine.h"
#include "TestBenchSettings.h"
class CMainPage;
class CVisualInspectionPage;
class CCableTestPage;
class COptionsPage;
class CCableTestBench : public QObject
{
@ -27,22 +32,47 @@ public:
CMainPage *mMainPageHandle;
CVisualInspectionPage *mVisualInspPageHandle;
CCableTestPage *mCableTestPageHandle;
COptionsPage *mOptionsPageHandle;
CCable mActualCable;
CCableTestEngine mCableTestEngine;
CTestBenchSettings mTestBenchOptions;
CIOModulesInterface mIOInterface;
int ExecVisualInspectionRequest();
int VisualInspectionQuitRequest();
int StartPauseAutomaticTestRequest();
int NewCableRequest();
int ResetAutomaticTestRequest();
int StartStopManualTestRequest();
int ManualPinToggleRequest(int ConnectorPinNbr);
int RefreshConnectorsStateRequest();
int SaveReportRequest();
int OpenReportRequest();
int CableConfigChanged();
int TestBenchOptionsChanged();
CCable *SetSelectedConnector(CConnectorDefs::eConnectorType ConType);
CCable *GetActualCable();
CTestReport* GetTestReportHandle();
int CableEngineModeChanged(CCableTestEngine::eCableTestEngineMode Mode);
private:
quint16 DecToBCDWord(const quint16 word);
quint8 DecToBCDByte(const quint8 byte);
int CheckIfReadyForTesting();
CTestReport mCableTestReport;

View File

@ -1,23 +1,37 @@
#include "CableTestBenchDefs.h"
const int CConnectorDefs::ConnIOMapping[CConnectorDefs::NB_CONNECTOR_TYPE][2] = {
const int CConnectorDefs::ConnIOMapping[CConnectorDefs::NB_CONNECTOR_TYPE][2] = { //Connectors pins mapping (zero based index)
{0,0}, //Unknown
{97,102}, //in 6 pins
{91,104}, //in 14 pins
{73,96}, //in 24 pins
{1,72}, //in 72 pins
{1,90}, //in 90 pins
{1,108}, //in 108 pins
{1,108}, //in 120 pins
{97,102}, //out 6 pins
{91,104}, //out 14 pins
{73,96}, //out 24 pins
{1,72}, //out 72 pins
{1,108}, //out 108 pins
{96,101}, //in 6 pins
{90,103}, //in 14 pins
{72,95}, //in 24 pins
{0,71}, //in 72 pins
{0,89}, //in 90 pins
{0,107}, //in 108 pins
{0,107}, //in 120 pins
{96,101}, //out 6 pins
{90,103}, //out 14 pins
{72,95}, //out 24 pins
{0,71}, //out 72 pins
{0,107}, //out 108 pins
};
const int CConnectorDefs::ConnPinCount[NB_CONNECTOR_TYPE] = {0, 6, 14, 24, 72, 90, 108, 120, 6, 14, 24, 72, 108};
const char* CConnectorDefs::ConnectorDescription[NB_CONNECTOR_TYPE] = {"Connecteur inconnu ou invalide",
"Connecteur circulaire 6 contacts",
"Connecteur circulaire 14 contacts",
"Connecteur Amphenol rectangulaire 24 contacts",
"Connecteur Amphenol rectangulaire 72 contacts",
"Connecteur Souriau rectangulaire 90 contacts",
"Connecteur Amphenol rectangulaire 108 contacts",
"Connecteur Souriau rectangulaire 120 contacts",
"Connecteur circulaire 6 contacts",
"Connecteur circulaire 14 contacts",
"Connecteur Amphenol rectangulaire 24 contacts",
"Connecteur Amphenol rectangulaire 72 contacts",
"Connecteur Amphenol rectangulaire 108 contacts"};
const int CConnectorDefs::GetPinCount(eConnectorType type)
@ -59,3 +73,14 @@ const int * CConnectorDefs::GetConnectorIOMapping(eConnectorType type)
return ConnIOMapping[type];
}
const char * CConnectorDefs::GetConnectorDescription(eConnectorType type)
{
if(type < 0 || type >= NB_CONNECTOR_TYPE)
{
return ConnectorDescription[UNKNOWN_CONNECTOR_TYPE];
}
return ConnectorDescription[type];
}

View File

@ -1,5 +1,6 @@
#ifndef CABLETESTBENCHDEFS_H
#define CABLETESTBENCHDEFS_H
#include <QString>
class CConnectorDefs
@ -29,12 +30,15 @@ public:
static const int ConnIOMapping[NB_CONNECTOR_TYPE][2];
static const int ConnPinCount[NB_CONNECTOR_TYPE];
static const char* ConnectorDescription[NB_CONNECTOR_TYPE];
static const int GetPinCount(eConnectorType type);
static const int GetConnectorIOMappingStart(eConnectorType type);
static const int GetConnectorIOMappingEnd(eConnectorType type);
static const int* GetConnectorIOMapping(eConnectorType type);
static const char* GetConnectorDescription(eConnectorType type);
};

View File

@ -1,5 +1,477 @@
#include "CableTestEngine.h"
#include "CableTestBench.h"
CCableTestEngine::CCableTestEngine()
{
mCableTestSMState = CABLE_TEST_INIT_STATE;
}
CCableTestEngine::~CCableTestEngine()
{
delete mCableTestSMTimer;
}
int CCableTestEngine::InitCableTestEngine(CCableTestBench *ProgramHandle, CTestBenchSettings *SettingsHandle)
{
mProgramHandle = ProgramHandle;
mTestCable = ProgramHandle->GetActualCable();
mTestInputConnectorHandle = mTestCable->GetInputConnector();
mTestOutputConnectorHandle = mTestCable->GetOutputConnector();
mTestReportHandle = ProgramHandle->GetTestReportHandle();
mAutoTestReportHandle = mTestReportHandle->GetAutomatedTestReport();
mCableTestSMTimer = new QTimer();
mCableTestSMTimer->setSingleShot(false);
mCableTestSMTimer->setInterval(TEST_ENGINE_SM_TIMEOUT);
mCableTestSMTimer->stop();
connect(mCableTestSMTimer,SIGNAL(timeout()),this,SLOT(SMTimerExpired()));
mTestSettingsHandle = SettingsHandle;
mIsSecondPass = false;
CableTestEngineStateMachine(CABLE_TEST_TICK_SM_EVENT);
return RET_OK;
}
void CCableTestEngine::CableTestEngineStateMachine(int Event)
{
switch(mCableTestSMState)
{
case CABLE_TEST_INIT_STATE:
{
mCableTestSMState = CABLE_TEST_STBY_STATE;
mIsSecondPass = false;
mCableTestSMTimer->start();
break;
}//case CABLE_TEST_INIT_STATE
case CABLE_TEST_STBY_STATE:
{
switch(Event)
{
case CABLE_TEST_START_AUTO_TEST_SM_EVENT:
{
mCableTestSMState = CABLE_TEST_START_AUTOMATED_TEST_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
break;
}
case CABLE_TEST_START_MANUAL_TEST_SM_EVENT:
{
mCableTestSMState = CABLE_TEST_START_MANUAL_TEST_STATE;
break;
}
default:
{
break;
}
}
break;
}// case CABLE_TEST_STBY_STATE
case CABLE_TEST_START_AUTOMATED_TEST_STATE:
{
mTestOutputConnectorHandle->ClearAllPins();
mCableTestSMState = CABLE_AUTO_TEST_SELF_TEST_STATE;
mCableTestGPTimer.start();
//qDebug("Test automatique démarré...");
mTestReportHandle->AddLogEntry(QString("Démarrage du test automatique."));
break;
}//case CABLE_TEST_START_AUTOMATED_TEST_STATE
case CABLE_AUTO_TEST_SELF_TEST_STATE:
{
if(mCableTestGPTimer.elapsed() < mTestSettingsHandle->mPinHoldTime)
{
break;
}
else
{
QBitArray Out = mTestOutputConnectorHandle->GetOutputPinsStates();
if(Out.count(true) != 0)
{
//TODO: Manage this failure mode
mAutoTestReportHandle->SetPreTestResult(false);
// qDebug("Échec de l'auto test des modules d'I/O");
QString LogString = QString("Échec de l'auto test des modules de sortie. %1 contacts sont activés : ");
for(int pin = 0; pin < Out.count(); pin++)
{
if(Out.at(pin))
{
mAutoTestReportHandle->AddShortedPinToPinTest(mCurPinUnderTest,pin+1);
LogString.append(QString("[%1], "));
}
}
mTestReportHandle->AddLogEntry(LogString);
mCableTestSMState = CABLE_AUTO_TEST_END_TEST_STATE;
break;
}
else
{
mCurPinUnderTest = 1;
mTestOutputConnectorHandle->SetSinglePin(mCurPinUnderTest);
mAutoTestReportHandle->SetPreTestResult(true);
mTestReportHandle->AddLogEntry(QString("Succès de l'auto test des modules d'I/O"));
//OK
}
mCableTestGPTimer.start();
mCableTestSMState = CABLE_AUTO_TEST_PINS_STATE;
}
break;
}//case CABLE_AUTO_TEST_SELF_TEST_STATE
case CABLE_AUTO_TEST_PINS_STATE:
{
switch(Event)
{
case CABLE_TEST_TICK_SM_EVENT:
{
if(mCableTestGPTimer.elapsed() < mTestSettingsHandle->mPinHoldTime)
{
break;
}
else
{
QBitArray Out = mTestOutputConnectorHandle->GetOutputPinsStates();
QBitArray In = mTestInputConnectorHandle->GetInputPinsStates();
//Analyse the inputs buffer...
if(In.count(true) != 1) //check if only 1 input pin is active
{
if(In.count(true) == 0) //Check if no input pin is active
{
if(mIsSecondPass == false)
{
mAutoTestReportHandle->SetPinContinuityResult(mCurPinUnderTest,false);
mTestReportHandle->AddLogEntry(QString("Échec du test du contact %1 : aucun contact activé en entrée").arg(mCurPinUnderTest));
}
else
{
mAutoTestReportHandle->SetPinSecondTestResult(mCurPinUnderTest,false);
mTestReportHandle->AddLogEntry(QString("2è passe: échec du test du contact %1 : aucun contact activé en entrée").arg(mCurPinUnderTest));
}
}
else //If here, many input pins are active...
{
if(mIsSecondPass == false)
{
QString LogString = QString("Échec du test d'isolation du contact %1 : (%2) contacts activés en entrée : ").arg(mCurPinUnderTest).arg(In.count(true));
mAutoTestReportHandle->SetPinIsolationResult(mCurPinUnderTest,false);
for(int pin = 0; pin < In.count(); pin++)
{
if(In.at(pin))
{
mAutoTestReportHandle->AddShortedPinToPinTest(mCurPinUnderTest,pin+1);
LogString.append(QString("[%1]").arg(pin+1));
}
}
// qDebug("Échec du test d'isolation du contact %d : (%d) contacts activés en entrée",mCurPinUnderTest,In.count(true));
mTestReportHandle->AddLogEntry(LogString);
}
else
{
mAutoTestReportHandle->SetPinSecondTestResult(mCurPinUnderTest,false);
QString LogString = QString("2è passe: chec du test d'isolation du contact %1 : (%2) contacts activés en entrée : ").arg(mCurPinUnderTest).arg(In.count(true));
mTestReportHandle->AddLogEntry(LogString);
}
}
}
else if(In.at(mCurPinUnderTest-1) == false)
{
//TODO: Manage this failure mode
//the wrong pin is set on the input... find which
int WrongPin = 0;
for(int pin = 0; pin < In.count(); pin++)
{
if(In.at(pin))
{
WrongPin = pin+1;
break;
}
}
if(mIsSecondPass == false)
{
mAutoTestReportHandle->SetPinConcordanceTestResult(mCurPinUnderTest,false,WrongPin);
mTestReportHandle->AddLogEntry(QString("Échec du test d'assignation du contact %1: le contact %2 est activé.").arg(mCurPinUnderTest).arg(WrongPin));
}
else
{
mAutoTestReportHandle->SetPinSecondTestResult(mCurPinUnderTest,false);
mTestReportHandle->AddLogEntry(QString("2è passe: échec du test d'assignation du contact %1: le contact %2 est activé.").arg(mCurPinUnderTest).arg(WrongPin));
}
}
else
{
//Pin test passed. Test the next one
if(mIsSecondPass == false)
{
mAutoTestReportHandle->SetPinTestAllPassed(mCurPinUnderTest);
mTestReportHandle->AddLogEntry(QString("Succès du test du contact %1").arg(mCurPinUnderTest));
}
else
{
mAutoTestReportHandle->SetPinSecondTestResult(mCurPinUnderTest,true);
mTestReportHandle->AddLogEntry(QString("2è passe: succès du test du contact %1").arg(mCurPinUnderTest));
}
}
mCurPinUnderTest++;
int TestPinCount = mTestOutputConnectorHandle->GetPinCount();
if(mTestInputConnectorHandle->GetPinCount() < TestPinCount)
{
TestPinCount = mTestInputConnectorHandle->GetPinCount();
}
if(mCurPinUnderTest > TestPinCount)
{
//Test finished.
if(mTestSettingsHandle->mExecSecondPass == true) //Check if we need to execute the test twice
{
if(mIsSecondPass == true) //Check if this was the second pass.
{
mCableTestSMState = CABLE_AUTO_TEST_END_TEST_STATE; //test finished
}
else
{
mCableTestSMState = CABLE_AUTO_TEST_START_SECOND_PASS_STATE; //start the 2nd test
}
}
else
{
mCableTestSMState = CABLE_AUTO_TEST_END_TEST_STATE; //test finished
}
}
else
{
mTestOutputConnectorHandle->SetSinglePin(mCurPinUnderTest);
mCableTestGPTimer.start();
}
}
break;
}
case CABLE_TEST_PAUSE_AUTO_TEST_SM_EVENT:
{
mCableTestSMState = CABLE_AUTO_TEST_PAUSE_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
// qDebug("Test mis en pause...");
mTestReportHandle->AddLogEntry(QString("Test mis en pause"));
break;
}
case CABLE_TEST_CANCEL_AUTO_TEST_SM_EVENT:
{
mCableTestSMState = CABLE_AUTO_TEST_END_TEST_STATE;
// qDebug("Test annulé...");
mTestReportHandle->AddLogEntry(QString("Test annulé par l'utilisateur"));
break;
}
default:
{
break;
}
}
break;
}//case CABLE_AUTO_TEST_PINS_STATE:
case CABLE_AUTO_TEST_PAUSE_STATE:
{
switch(Event)
{
case CABLE_TEST_RESUME_AUTO_TEST_SM_EVENT:
{
mCableTestSMState = CABLE_AUTO_TEST_PINS_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
// qDebug("Test redémarré...");
mTestReportHandle->AddLogEntry(QString("Test redémarré..."));
break;
}
case CABLE_TEST_CANCEL_AUTO_TEST_SM_EVENT:
{
mCableTestSMState = CABLE_AUTO_TEST_END_TEST_STATE;
// qDebug("Test annulé...");
mTestReportHandle->AddLogEntry(QString("Test annulé par l'utilisateur"));
break;
}
default:
{
break;
}
}
break;
}//case CABLE_AUTO_TEST_PAUSE_STATE
case CABLE_AUTO_TEST_START_SECOND_PASS_STATE:
{
//restart test but skip module self-test...
mIsSecondPass = true;
mCurPinUnderTest = 1;
mTestOutputConnectorHandle->SetSinglePin(mCurPinUnderTest);
mCableTestGPTimer.start();
mCableTestSMState = CABLE_AUTO_TEST_PINS_STATE;
mTestReportHandle->AddLogEntry(QString("Démarrage du deuxième test"));
break;
}//case CABLE_AUTO_TEST_START_SECOND_PASS_STATE
case CABLE_AUTO_TEST_END_TEST_STATE:
{
// qDebug("Test automatique terminé...");
mIsSecondPass = false;
mTestReportHandle->AddLogEntry(QString("Test automatique terminé"));
mTestOutputConnectorHandle->ClearAllPins();
mCableTestSMState = CABLE_TEST_STBY_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
break;
}//case CABLE_TEST_END_TEST_STATE
case CABLE_TEST_START_MANUAL_TEST_STATE:
{
mTestOutputConnectorHandle->ClearAllPins();
// qDebug("Entrée en mode test manuel");
mTestReportHandle->AddLogEntry(QString("Entrée en mode test manuel"));
mCableTestSMState = CABLE_MANUAL_TEST_PINS_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
break;
}//CABLE_TEST_START_MANUAL_TEST_STATE
case CABLE_MANUAL_TEST_PINS_STATE:
{
switch(Event)
{
case CABLE_TEST_EXIT_MANUAL_TEST_SM_EVENT:
{
mCableTestSMState = CABLE_MANUAL_TEST_END_TEST_STATE;
break;
}
default:
{
break;
}
}
break;
}//CABLE_MANUAL_TEST_PINS_STATE
case CABLE_MANUAL_TEST_END_TEST_STATE:
{
mTestOutputConnectorHandle->ClearAllPins();
mCableTestSMState = CABLE_TEST_STBY_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
mTestReportHandle->AddLogEntry(QString("Fin du test manuel"));
break;
}
}
}
void CCableTestEngine::SMTimerExpired()
{
//TODO: manage the end of the test
CableTestEngineStateMachine(CABLE_TEST_TICK_SM_EVENT);
}
int CCableTestEngine::StartAutomatedTest()
{
if(mCableTestSMState != CABLE_TEST_STBY_STATE)
{
return RET_ERROR;
}
CableTestEngineStateMachine(CABLE_TEST_START_AUTO_TEST_SM_EVENT);
return RET_OK;
}
int CCableTestEngine::PauseAutomatedTest()
{
CableTestEngineStateMachine(CABLE_TEST_PAUSE_AUTO_TEST_SM_EVENT);
return RET_OK;
}
int CCableTestEngine::ResumeAutomatedTest()
{
CableTestEngineStateMachine(CABLE_TEST_RESUME_AUTO_TEST_SM_EVENT);
return RET_OK;
}
int CCableTestEngine::StopAutomatedTest()
{
CableTestEngineStateMachine(CABLE_TEST_CANCEL_AUTO_TEST_SM_EVENT);
return RET_OK;
}
int CCableTestEngine::StartManualTest()
{
CableTestEngineStateMachine(CABLE_TEST_START_MANUAL_TEST_SM_EVENT);
return RET_OK;
}
int CCableTestEngine::StopManualTest()
{
CableTestEngineStateMachine(CABLE_TEST_EXIT_MANUAL_TEST_SM_EVENT);
return RET_OK;
}
CCableTestEngine::eCableTestEngineMode CCableTestEngine::GetTestEngineCurrentMode()
{
switch(mCableTestSMState)
{
case CABLE_TEST_INIT_STATE:
case CABLE_TEST_STBY_STATE:
case CABLE_AUTO_TEST_END_TEST_STATE:
case CABLE_MANUAL_TEST_END_TEST_STATE:
{
return CABLE_TEST_STBY_MODE;
break;
}
case CABLE_TEST_START_AUTOMATED_TEST_STATE:
case CABLE_AUTO_TEST_SELF_TEST_STATE:
case CABLE_AUTO_TEST_PINS_STATE:
{
return CABLE_AUTO_TEST_RUNNING_MODE;
break;
}
case CABLE_AUTO_TEST_PAUSE_STATE:
{
return CABLE_AUTO_TEST_PAUSED_MODE;
break;
}
case CABLE_TEST_START_MANUAL_TEST_STATE:
case CABLE_MANUAL_TEST_PINS_STATE:
default:
{
return CABLE_TEST_MANUAL_MODE;
break;
}
}
}
int CCableTestEngine::ManualPinToggle(int ConnectorPinNbr)
{
if(GetTestEngineCurrentMode() == CABLE_TEST_MANUAL_MODE)
{
return mTestOutputConnectorHandle->TogglePin(ConnectorPinNbr);
}
return RET_ERROR;
}

View File

@ -1,16 +1,98 @@
#ifndef CABLETESTENGINE_H
#define CABLETESTENGINE_H
#include "Cable.h"
#include <QTimer>
#include "InputConnector.h"
#include "OutputConnector.h"
#include <QElapsedTimer>
#include "TestReport.h"
class CCableTestEngine
class CCableTestBench;
class CTestBenchSettings;
#define TEST_ENGINE_SM_STANDBY_TIMEOUT 300 //ms
#define TEST_ENGINE_SM_TIMEOUT 100 //ms
class CCableTestEngine : public QObject
{
Q_OBJECT
public:
enum eCableTestEngineMode
{
CABLE_TEST_STBY_MODE,
CABLE_AUTO_TEST_RUNNING_MODE,
CABLE_AUTO_TEST_PAUSED_MODE,
CABLE_TEST_MANUAL_MODE
};
CCableTestEngine();
~CCableTestEngine();
int InitCableTestEngine(CCableTestBench *ProgramHandle, CTestBenchSettings *SettingsHandle);
int StartAutomatedTest();
int PauseAutomatedTest();
int ResumeAutomatedTest();
int StopAutomatedTest();
int StartManualTest();
int StopManualTest();
int ManualPinToggle(int ConnectorPinNbr);
bool IsAutomaticTestRunning();
eCableTestEngineMode GetTestEngineCurrentMode();
private:
CCable *mTestCable;
enum eCableTestState
{
CABLE_TEST_INIT_STATE,
CABLE_TEST_STBY_STATE,
CABLE_TEST_START_AUTOMATED_TEST_STATE,
CABLE_AUTO_TEST_SELF_TEST_STATE,
CABLE_AUTO_TEST_PINS_STATE,
CABLE_AUTO_TEST_PAUSE_STATE,
CABLE_AUTO_TEST_END_TEST_STATE,
CABLE_AUTO_TEST_START_SECOND_PASS_STATE,
CABLE_TEST_START_MANUAL_TEST_STATE,
CABLE_MANUAL_TEST_PINS_STATE,
CABLE_MANUAL_TEST_END_TEST_STATE
};
enum eCableTestSMEvents
{
CABLE_TEST_START_AUTO_TEST_SM_EVENT,
CABLE_TEST_TICK_SM_EVENT,
CABLE_TEST_PAUSE_AUTO_TEST_SM_EVENT,
CABLE_TEST_RESUME_AUTO_TEST_SM_EVENT,
CABLE_TEST_CANCEL_AUTO_TEST_SM_EVENT,
CABLE_TEST_START_MANUAL_TEST_SM_EVENT,
CABLE_TEST_EXIT_MANUAL_TEST_SM_EVENT
};
CCable *mTestCable;
int mCableTestSMState;
CCableTestBench *mProgramHandle;
CInputConnector *mTestInputConnectorHandle;
COutputConnector *mTestOutputConnectorHandle;
int mCurPinUnderTest;
bool mExecSecondTest;
bool mIsSecondPass;
CTestBenchSettings *mTestSettingsHandle;
QTimer *mCableTestSMTimer;
QElapsedTimer mCableTestGPTimer;
CAutomatedTestReport *mAutoTestReportHandle;
CTestReport *mTestReportHandle;
void CableTestEngineStateMachine(int Event);
public slots:
void SMTimerExpired();
};

View File

@ -2,6 +2,8 @@
#include "ui_CableTestPage.h"
#include "CableTestBench.h"
#include <QTextCodec>
#include "CableParametersData.h"
#include <QScrollBar>
CCableTestPage::CCableTestPage(QWidget *parent) :
QWidget(parent),
@ -13,6 +15,23 @@ CCableTestPage::CCableTestPage(QWidget *parent) :
ui->setupUi(this);
mProgramHandle = 0;
ui->mStationNameCombo->insertItem(0,"Frontenac",QVariant("1S52"));
ui->mStationNameCombo->insertItem(1,"Côte-Vertu",QVariant("2S22"));
ui->mStationNameCombo->insertItem(2,"Angrignon",QVariant("1S18"));
ui->mStationNameCombo->insertItem(3,"Garage Angrignon",QVariant("1G17"));
ui->mStationNameCombo->insertItem(4,"Atwater",QVariant("1S34"));
ui->mStationNameCombo->insertItem(5,"Lionel-Groulx",QVariant("1S32"));
ui->mStationNameCombo->insertItem(6,"Viau",QVariant("1S60"));
ui->mStationNameCombo->insertItem(6,"Terminus Beaugrand",QVariant("1S70"));
ui->mStationNameCombo->insertItem(6,"Bonaventure",QVariant("2S53"));
ui->mStationNameCombo->insertItem(6,"Lionel-Groulx L2",QVariant("2S46"));
ui->mStationNameCombo->insertItem(6,"Garage Bourassa",QVariant("2G81"));
ui->mStationNameCombo->insertItem(6,"Garage Beaugrand",QVariant("1G71"));
ui->mStationNameCombo->insertItem(6,"Longueuil",QVariant("4S54"));
ui->mStationNameCombo->insertItem(6,"Berri L4 et L2-L4",QVariant("4S50"));
mInspectionNotDonePixmap = QPixmap("./images/todo.png").scaled(ui->mInspectionDoneIcon->geometry().width(),ui->mInspectionDoneIcon->geometry().height());
mInspectionDonePixmap = QPixmap("./images/done1.png").scaled(ui->mInspectionDoneIcon->geometry().width(),ui->mInspectionDoneIcon->geometry().height());
ui->mInspectionDoneIcon->setPixmap(mInspectionNotDonePixmap);
@ -21,7 +40,46 @@ CCableTestPage::CCableTestPage(QWidget *parent) :
connect(ui->mConnectorSelectWidget,SIGNAL(ConnectorSelected(CConnectorDefs::eConnectorType)),this,SLOT(ConnectorSelectionChanged(CConnectorDefs::eConnectorType)));
ui->mInputTestVisualisationWidget->SetConnectorPinCount(0);
ui->mOutputTestVisualisationWidget->SetConnectorPinCount(0);
ui->mVisualInspStepChkBx->setCheckable(false);
mGuiRefreshTimer.setSingleShot(false);
mGuiRefreshTimer.setInterval(200);
connect(ui->mStartTestBtn,SIGNAL(clicked()),this,SLOT(StartTestBtnClicked()));
connect(ui->mReinitTestBtn,SIGNAL(clicked()),this,SLOT(ResetTestBtnClicked()));
connect(ui->mNewCableBtn,SIGNAL(clicked()),this,SLOT(NewCableBtnClicked()));
connect(ui->mStartManualTestBtn,SIGNAL(clicked()),this,SLOT(StartManualTestBtnClicked()));
connect(ui->mOutputTestVisualisationWidget,SIGNAL(PinClicked(int)),this,SLOT(OutputConnectorPinClicked(int)));
connect(&mGuiRefreshTimer,SIGNAL(timeout()),this,SLOT(GuiRefreshTimerExpired()));
connect(ui->mSaveReportBtn,SIGNAL(clicked()),this,SLOT(SaveReportBtnClicked()));
connect(ui->mOpenReportBtn,SIGNAL(clicked()),this,SLOT(OpenReportBtnClicked()));
connect(ui->mIdentCableEditBox,SIGNAL(textEdited(QString)),this,SLOT(CableConfigTextChanged()));
connect(ui->mNomTesteurEditBox,SIGNAL(textEdited(QString)),this,SLOT(CableConfigTextChanged()));
mDefaultCableName = "CABLE_XX_NO_AA_BB.c";
mDefaultInspectorName = "JFMartel";
ui->mStartTestBtn->setEnabled(false);
ui->mStartManualTestBtn->setEnabled(false);
ui->mOutputTestVisualisationWidget->DisablePinClicks();
QPalette pal;
pal.setColor(QPalette::WindowText,Qt::red);
ui->mVisualInspectionStepLabel->setPalette(pal);
ui->mVisualInspectionStepLabel->setText("2. Inspection visuelle: À FAIRE");
ui->mCableIdentStepLabel->setPalette(pal);
ui->mCableIdentStepLabel->setText("1. Identification du câble: À REMPLIR");
ui->mConnectorSelStepLabel->setPalette(pal);
ui->mConnectorSelStepLabel->setText("3. Sélection du connecteur d'entrée: À FAIRE");
ResetCable();
}
CCableTestPage::~CCableTestPage()
@ -40,20 +98,67 @@ int CCableTestPage::SetVisualInspectionDone(bool Done)
if(Done)
{
ui->mInspectionDoneIcon->setPixmap(mInspectionDonePixmap);
ui->mExecInspVisuelleBtn->setText(QString("Réviser Inspection").toUtf8());
ui->mVisualInspStepChkBx->setCheckable(true);
ui->mVisualInspStepChkBx->setChecked(true);
ui->mVisualInspStepChkBx->setCheckable(false);
ui->mExecInspVisuelleBtn->setText(QString("Réviser\n Inspection").toUtf8());
QPalette pal;
pal.setColor(QPalette::WindowText,Qt::darkGreen);
ui->mVisualInspectionStepLabel->setPalette(pal);
ui->mVisualInspectionStepLabel->setText("2. Inspection visuelle: OK");
}
else
{
ui->mInspectionDoneIcon->setPixmap(mInspectionNotDonePixmap);
ui->mExecInspVisuelleBtn->setText("Effectuer Inspection");
ui->mVisualInspStepChkBx->setChecked(false);
ui->mExecInspVisuelleBtn->setText("Effectuer\n Inspection");
QPalette pal;
pal.setColor(QPalette::WindowText,Qt::red);
ui->mVisualInspectionStepLabel->setPalette(pal);
ui->mVisualInspectionStepLabel->setText("2. Inspection visuelle: À FAIRE");
}
return RET_OK;
}
int CCableTestPage::SetConnectorSelStep(bool done)
{
QPalette pal;
if(done)
{
pal.setColor(QPalette::WindowText,Qt::darkGreen);
ui->mConnectorSelStepLabel->setPalette(pal);
ui->mConnectorSelStepLabel->setText("3. Sélection du connecteur d'entrée: OK");
}
else
{
pal.setColor(QPalette::WindowText,Qt::red);
ui->mConnectorSelStepLabel->setPalette(pal);
ui->mConnectorSelStepLabel->setText("3. Sélection du connecteur d'entrée: À FAIRE");
}
return RET_OK;
}
int CCableTestPage::SetCableConfigureStep(bool done)
{
QPalette pal;
if(done)
{
pal.setColor(QPalette::WindowText,Qt::darkGreen);
ui->mCableIdentStepLabel->setPalette(pal);
ui->mCableIdentStepLabel->setText("1. Identification du câble: OK");
}
else
{
pal.setColor(QPalette::WindowText,Qt::red);
ui->mCableIdentStepLabel->setPalette(pal);
ui->mCableIdentStepLabel->setText("1. Identification du câble: À REMPLIR");
}
return RET_OK;
}
void CCableTestPage::ConnectorSelectionChanged(CConnectorDefs::eConnectorType ConType)
{
CCable* Cable;
@ -64,4 +169,229 @@ void CCableTestPage::ConnectorSelectionChanged(CConnectorDefs::eConnectorType Co
ui->mInputTestVisualisationWidget->SetConnectorPinCount(Cable->GetInputConnector()->GetPinCount());
ui->mOutputTestVisualisationWidget->SetConnectorPinCount(Cable->GetOutputConnector()->GetPinCount());
}
}
void CCableTestPage::StartTestBtnClicked()
{
mProgramHandle->StartPauseAutomaticTestRequest();
}
void CCableTestPage::StartManualTestBtnClicked()
{
mProgramHandle->StartStopManualTestRequest();
}
void CCableTestPage::ResetTestBtnClicked()
{
mProgramHandle->ResetAutomaticTestRequest();
}
void CCableTestPage::NewCableBtnClicked()
{
mProgramHandle->NewCableRequest();
}
int CCableTestPage::ResetCable()
{
//reset pins state visualization area
ui->mInputTestVisualisationWidget->ClearConnectorsLists();
ui->mOutputTestVisualisationWidget->ClearConnectorsLists();
//Reset cable config zone
// ui->mIdentCableEditBox->setText(mDefaultCableName);
// ui->mNomTesteurEditBox->setText(mDefaultInspectorName);
//Reset Inspection Visuelle result (main program will clear the form)
SetVisualInspectionDone(false);
// SetCableConfigureStep(false);
SetConnectorSelStep(false);
//Clear connector selection zone
ui->mConnectorSelectWidget->ClearAllConnectorsSelections();
ui->mTestLogTextBox->clear();
ui->mSaveReportBtn->setEnabled(false);
ui->mOpenReportBtn->setEnabled(false);
SetAutoTestResult("");
return RET_OK;
}
int CCableTestPage::EnableStartTestBtn()
{
ui->mStartTestBtn->setEnabled(true);
ui->mStartManualTestBtn->setEnabled(true);
return RET_OK;
}
int CCableTestPage::DisableStartTestBtn()
{
ui->mStartTestBtn->setEnabled(false);
ui->mStartManualTestBtn->setEnabled(false);
return RET_OK;
}
int CCableTestPage::CableAutomaticTestStarted()
{
ui->mStartManualTestBtn->setEnabled(false);
DisableGuiForTest();
ui->mStartTestBtn->setText("Interrompre Test");
SetAutoTestResult("En Cours...",Qt::black);
return RET_OK;
}
int CCableTestPage::CableAutomaticTestPaused()
{
ui->mStartTestBtn->setText("Reprendre Test");
return RET_OK;
}
int CCableTestPage::CableTestEnded()
{
EnableGuiAfterTest();
ui->mOutputTestVisualisationWidget->DisablePinClicks();
ui->mStartManualTestBtn->setEnabled(true);
ui->mStartTestBtn->setEnabled(true);
ui->mStartTestBtn->setText("Démarrer Test");
ui->mStartManualTestBtn->setText("Démarrer");
ui->mReinitTestBtn->setEnabled(true);
ui->mSaveReportBtn->setEnabled(true);
return RET_OK;
}
int CCableTestPage::CableManualTestStarted()
{
ui->mStartTestBtn->setEnabled(false);
ui->mOutputTestVisualisationWidget->EnablePinClicks();
DisableGuiForTest();
ui->mStartManualTestBtn->setText("Terminer");
ui->mReinitTestBtn->setEnabled(false);
ui->mSaveReportBtn->setEnabled(false);
return RET_OK;
}
int CCableTestPage::DisableGuiForTest()
{
ui->mNewCableBtn->setEnabled(false);
ui->mConnectorSelectWidget->setEnabled(false);
ui->mIdentCableEditBox->setEnabled(false);
ui->mExecInspVisuelleBtn->setEnabled(false);
ui->mNomTesteurEditBox->setEnabled(false);
ui->mTypeCableCombo->setEnabled(false);
ui->mStationNameCombo->setEnabled(false);
return RET_OK;
}
int CCableTestPage::EnableGuiAfterTest()
{
ui->mNewCableBtn->setEnabled(true);
ui->mConnectorSelectWidget->setEnabled(true);
ui->mIdentCableEditBox->setEnabled(true);
ui->mExecInspVisuelleBtn->setEnabled(true);
ui->mNomTesteurEditBox->setEnabled(true);
ui->mTypeCableCombo->setEnabled(true);
ui->mStationNameCombo->setEnabled(true);
return RET_OK;
}
void CCableTestPage::OutputConnectorPinClicked(int PinNbr)
{
mProgramHandle->ManualPinToggleRequest(PinNbr);
}
void CCableTestPage::GuiRefreshTimerExpired()
{
mProgramHandle->RefreshConnectorsStateRequest();
}
int CCableTestPage::SetOutputConnectorState(QBitArray PinStates)
{
return ui->mOutputTestVisualisationWidget->SetConnectorPinStates(PinStates);
}
int CCableTestPage::SetInputConnectorState(QBitArray PinStates)
{
return ui->mInputTestVisualisationWidget->SetConnectorPinStates(PinStates);
}
void CCableTestPage::showEvent(QShowEvent *event)
{
qDebug("Refresh timer started");
mGuiRefreshTimer.start();
}
void CCableTestPage::hideEvent(QHideEvent *event)
{
qDebug("Refresh timer stopped");
mGuiRefreshTimer.stop();
}
int CCableTestPage::FillReportCableParametersData(CCableParametersData *ReportPtr)
{
ReportPtr->SetCableParams(ui->mStationNameCombo->currentText(),
ui->mStationNameCombo->itemData(ui->mStationNameCombo->currentIndex()).toString(),
ui->mIdentCableEditBox->text(),
ui->mTypeCableCombo->currentText(),
ui->mNomTesteurEditBox->text());
return RET_OK;
}
void CCableTestPage::AddTestLogEntry(QString Entry)
{
ui->mTestLogTextBox->insertPlainText(Entry);
ui->mTestLogTextBox->verticalScrollBar()->setValue(ui->mTestLogTextBox->verticalScrollBar()->maximum());
}
void CCableTestPage::SaveReportBtnClicked()
{
mProgramHandle->SaveReportRequest();
}
void CCableTestPage::OpenReportBtnClicked()
{
mProgramHandle->OpenReportRequest();
}
int CCableTestPage::EnableOpenReportBtn()
{
ui->mOpenReportBtn->setEnabled(true);
return RET_OK;
}
int CCableTestPage::SetAutoTestResult(QString Result, QColor color)
{
QPalette pal;
pal.setColor(QPalette::WindowText,color);
ui->mAutoTestResultLabel->setPalette(pal);
ui->mAutoTestResultLabel->setText(Result);
return RET_OK;
}
bool CCableTestPage::IsCableConfigured()
{
if(ui->mIdentCableEditBox->text().isEmpty())
{
return false;
}
if(ui->mNomTesteurEditBox->text().isEmpty())
{
return false;
}
return true;
}
void CCableTestPage::CableConfigTextChanged()
{
mProgramHandle->CableConfigChanged();
}

View File

@ -3,8 +3,13 @@
#include <QWidget>
#include "CableTestBenchDefs.h"
#include <QBitArray>
#include <QTimer>
class CCableTestBench;
class CCableParametersData;
namespace Ui {
class CCableTestPage;
@ -19,19 +24,61 @@ public:
~CCableTestPage();
CCableTestBench *mProgramHandle;
QTimer mGuiRefreshTimer;
void showEvent(QShowEvent *event);
void hideEvent(QHideEvent *event);
int SetVisualInspectionDone(bool Done = true);
int SetCableConfigureStep(bool done = true);
int SetConnectorSelStep(bool done = true);
int ResetCable();
int EnableStartTestBtn();
int DisableStartTestBtn();
int CableAutomaticTestStarted();
int CableAutomaticTestPaused();
int CableTestEnded();
int CableManualTestStarted();
int SetAutoTestResult(QString Result, QColor color = Qt::black);
int EnableOpenReportBtn();
int SetInputConnectorState(QBitArray PinStates);
int SetOutputConnectorState(QBitArray PinStates);
int FillReportCableParametersData(CCableParametersData* ReportPtr);
bool IsCableConfigured();
private:
Ui::CCableTestPage *ui;
QPixmap mInspectionDonePixmap, mInspectionNotDonePixmap;
QString mDefaultCableName, mDefaultInspectorName;
int DisableGuiForTest();
int EnableGuiAfterTest();
public slots:
void InspVisuelleBtnClicked();
void ConnectorSelectionChanged(CConnectorDefs::eConnectorType ConType);
void StartTestBtnClicked();
void ResetTestBtnClicked();
void NewCableBtnClicked();
void StartManualTestBtnClicked();
void OutputConnectorPinClicked(int PinNbr);
void GuiRefreshTimerExpired();
void AddTestLogEntry(QString Entry);
void SaveReportBtnClicked();
void OpenReportBtnClicked();
void CableConfigTextChanged();
};
#endif // CABLETESTPAGE_H

View File

@ -22,14 +22,19 @@
<height>537</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
</widget>
<widget class="QFrame" name="mCableConfigFrame">
<property name="geometry">
<rect>
<x>50</x>
<y>50</y>
<y>40</y>
<width>471</width>
<height>121</height>
<height>161</height>
</rect>
</property>
<property name="frameShape">
@ -46,9 +51,9 @@
<property name="geometry">
<rect>
<x>60</x>
<y>60</y>
<y>50</y>
<width>451</width>
<height>100</height>
<height>144</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
@ -56,7 +61,7 @@
<widget class="QLabel" name="mNomTesteurLabel">
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -66,6 +71,11 @@
</item>
<item row="2" column="1" colspan="2">
<widget class="QComboBox" name="mTypeCableCombo">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<item>
<property name="text">
<string>Permanent</string>
@ -79,52 +89,28 @@
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QLineEdit" name="mIdentCableEditBox"/>
<widget class="QLineEdit" name="mIdentCableEditBox">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QComboBox" name="mStationNameCombo">
<item>
<property name="text">
<string>Frontenac</string>
</property>
</item>
<item>
<property name="text">
<string>Côte-Vertu</string>
</property>
</item>
<item>
<property name="text">
<string>Angrignon</string>
</property>
</item>
<item>
<property name="text">
<string>Garage Angrignon</string>
</property>
</item>
<item>
<property name="text">
<string>Atwater</string>
</property>
</item>
<item>
<property name="text">
<string>Lionel-Groulx</string>
</property>
</item>
<item>
<property name="text">
<string>Viau</string>
</property>
</item>
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
</widget>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="StationNameLabel">
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -136,7 +122,7 @@
<widget class="QLabel" name="mTypeCableLabel">
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -148,7 +134,7 @@
<widget class="QLabel" name="mIdentCableLabel">
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -158,6 +144,11 @@
</item>
<item row="3" column="1" colspan="2">
<widget class="QLineEdit" name="mNomTesteurEditBox">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string/>
</property>
@ -169,14 +160,14 @@
<property name="geometry">
<rect>
<x>60</x>
<y>20</y>
<y>10</y>
<width>271</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>16</pointsize>
</font>
</property>
<property name="text">
@ -223,13 +214,19 @@
<property name="geometry">
<rect>
<x>10</x>
<y>50</y>
<width>121</width>
<height>23</height>
<y>30</y>
<width>101</width>
<height>51</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Effectuer Inspection</string>
<string>Effectuer
Inspection</string>
</property>
</widget>
<widget class="QLabel" name="mInspectionDoneIcon">
@ -249,15 +246,17 @@
<widget class="CConnectorTestVisualizationWidget" name="mInputTestVisualisationWidget" native="true">
<property name="geometry">
<rect>
<x>10</x>
<x>500</x>
<y>410</y>
<width>471</width>
<width>461</width>
<height>351</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<zorder>mOutputContactsTextLabel</zorder>
<zorder>mOutputTestVisualisationWidget</zorder>
</widget>
<widget class="Line" name="line">
<property name="geometry">
@ -272,23 +271,10 @@
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="CConnectorTestVisualizationWidget" name="mOutputTestVisualisationWidget" native="true">
<property name="geometry">
<rect>
<x>510</x>
<y>410</y>
<width>441</width>
<height>351</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
</widget>
<widget class="Line" name="line_2">
<property name="geometry">
<rect>
<x>490</x>
<x>480</x>
<y>390</y>
<width>20</width>
<height>371</height>
@ -301,9 +287,9 @@
<widget class="QLabel" name="mInputContactsTextLabel">
<property name="geometry">
<rect>
<x>130</x>
<x>620</x>
<y>370</y>
<width>161</width>
<width>241</width>
<height>41</height>
</rect>
</property>
@ -316,33 +302,20 @@
<string>Contacts entrée</string>
</property>
</widget>
<widget class="QLabel" name="mOutputContactsTextLabel">
<widget class="QPushButton" name="mNewCableBtn">
<property name="geometry">
<rect>
<x>670</x>
<y>370</y>
<width>161</width>
<height>41</height>
<x>400</x>
<y>10</y>
<width>121</width>
<height>23</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Contacts sortie</string>
</property>
</widget>
<widget class="QPushButton" name="mNewCableBtn">
<property name="geometry">
<rect>
<x>430</x>
<y>20</y>
<width>91</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Nouveau Câble</string>
</property>
@ -352,8 +325,8 @@
<rect>
<x>50</x>
<y>220</y>
<width>471</width>
<height>131</height>
<width>661</width>
<height>141</height>
</rect>
</property>
<property name="frameShape">
@ -362,81 +335,156 @@
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<widget class="QPushButton" name="mStartTestBtn">
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
<x>260</x>
<y>20</y>
<width>91</width>
<height>23</height>
<x>360</x>
<y>10</y>
<width>141</width>
<height>91</height>
</rect>
</property>
<property name="text">
<string>Démarrer test</string>
<property name="title">
<string>Test Automatique</string>
</property>
<widget class="QPushButton" name="mStartTestBtn">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>111</width>
<height>23</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Démarrer test</string>
</property>
</widget>
<widget class="QPushButton" name="mReinitTestBtn">
<property name="geometry">
<rect>
<x>20</x>
<y>50</y>
<width>111</width>
<height>23</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Réinitialiser test</string>
</property>
</widget>
</widget>
<widget class="QPushButton" name="mReinitTestBtn">
<widget class="QGroupBox" name="groupBox_2">
<property name="geometry">
<rect>
<x>260</x>
<x>530</x>
<y>10</y>
<width>111</width>
<height>80</height>
</rect>
</property>
<property name="title">
<string>Test Manuel</string>
</property>
<widget class="QPushButton" name="mStartManualTestBtn">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Exécuter</string>
</property>
</widget>
</widget>
<widget class="QPushButton" name="mSaveReportBtn">
<property name="geometry">
<rect>
<x>470</x>
<y>102</y>
<width>161</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Sauvegarder Rapport</string>
</property>
</widget>
<widget class="QLabel" name="mCableIdentStepLabel">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>341</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string>1. Identification du câble: À REMPLIR</string>
</property>
</widget>
<widget class="QLabel" name="mVisualInspectionStepLabel">
<property name="geometry">
<rect>
<x>20</x>
<y>70</y>
<width>91</width>
<height>23</height>
<width>331</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string>Réinitialiser test</string>
<string>2. Inspection visuelle: À EXÉCUTER</string>
</property>
</widget>
<widget class="QCheckBox" name="mCableIdentStepChkBx">
<widget class="QLabel" name="mConnectorSelStepLabel">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>151</width>
<height>17</height>
<y>110</y>
<width>451</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>1. Identification du câble</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
<widget class="QCheckBox" name="mVisualInspStepChkBx">
<property name="geometry">
<rect>
<x>20</x>
<y>50</y>
<width>151</width>
<height>17</height>
</rect>
</property>
<property name="toolTip">
<string extracomment="Test"/>
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string>2. Inspection visuelle</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="mConSelStepChkBx">
<property name="geometry">
<rect>
<x>20</x>
<y>80</y>
<width>191</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>3. Sélection du connecteur d'entrée</string>
</property>
<property name="checkable">
<bool>false</bool>
<string>3. Sélection du connecteur d'entrée: À FAIRE</string>
</property>
</widget>
</widget>
@ -474,6 +522,89 @@
<enum>QFrame::Plain</enum>
</property>
</widget>
<widget class="QGroupBox" name="groupBox_3">
<property name="geometry">
<rect>
<x>720</x>
<y>220</y>
<width>231</width>
<height>131</height>
</rect>
</property>
<property name="title">
<string>Résultat du test</string>
</property>
<widget class="QLabel" name="mAutoTestResultLabel">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>181</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>26</pointsize>
</font>
</property>
<property name="text">
<string>En cours...</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
<widget class="QPushButton" name="mOpenReportBtn">
<property name="geometry">
<rect>
<x>40</x>
<y>90</y>
<width>141</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Ouvrir Rapport</string>
</property>
</widget>
</widget>
<widget class="CConnectorTestVisualizationWidget" name="mOutputTestVisualisationWidget" native="true">
<property name="geometry">
<rect>
<x>20</x>
<y>410</y>
<width>461</width>
<height>351</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="mOutputContactsTextLabel">
<property name="geometry">
<rect>
<x>190</x>
<y>370</y>
<width>221</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
</font>
</property>
<property name="text">
<string>Contacts sortie</string>
</property>
</widget>
</widget>
<customwidgets>
<customwidget>

View File

@ -5,6 +5,13 @@ CConnector::CConnector()
{
mPinCount = 0;
mIOModuleRangeBegin = mIOModuleRangeEnd = 0;
mIOInterfaceHandle = 0;
}
int CConnector::SetIOInterface(CIOModulesInterface *IFHandle)
{
mIOInterfaceHandle = IFHandle;
return RET_OK;
}
int CConnector::GetPinCount()
@ -31,3 +38,8 @@ bool CConnector::IsConnectorDefined()
return true;
}
CConnectorDefs::eConnectorType CConnector::GetConnectorType()
{
return mConnectorType;
}

View File

@ -2,6 +2,8 @@
#define CONNECTOR_H
#include "CableTestBenchDefs.h"
#include <QBitArray>
#include "IOModulesInterface.h"
class CConnector
@ -10,15 +12,21 @@ public:
CConnector();
int GetPinCount();
int SetConnectorType(CConnectorDefs::eConnectorType type);
virtual int SetConnectorType(CConnectorDefs::eConnectorType type);
bool IsConnectorDefined();
int SetIOInterface(CIOModulesInterface *IFHandle);
CConnectorDefs::eConnectorType GetConnectorType();
private:
int mPinCount;
protected:
unsigned int mPinCount;
CConnectorDefs::eConnectorType mConnectorType;
int mIOModuleRangeBegin, mIOModuleRangeEnd;
CIOModulesInterface *mIOInterfaceHandle;
};

View File

@ -1,17 +1,32 @@
#include "IOModulesInterface.h"
#include "GlobalDefine.h"
#include <QDebug>
CIOModulesInterface::CIOModulesInterface()
{
// mIOModulesQueryTimer = new QTimer();
// connect(mIOModulesQueryTimer,SIGNAL(timeout()),this,SLOT(IOModulesQueryTimerExpired()));
// mIOModulesQueryTimer->setInterval(IO_MODULES_REFRESH_INTERVAL);
// mIOModulesQueryTimer->setSingleShot(true);
hndl=0;
}
CIOModulesInterface::~CIOModulesInterface()
{
//delete mIOModulesQueryTimer;
}
int CIOModulesInterface::OpenIOModules()
int CIOModulesInterface::OpenIOModules(QString IPAddress)
{
int ret = SM_Open(&hndl,"192.168.0.52");
int ret = SM_Open(&hndl,IPAddress.toAscii().data());
if(ret < 0)
{
qDebug("Impossible d'ouvrir le module d'I/O, erreur %d",ret);
@ -20,12 +35,53 @@ int CIOModulesInterface::OpenIOModules()
qDebug("Module d'I/O ouvert avec succès");
DeviceConfig config;
SM_SelectDevice(hndl,INPUTS_MODULE_1_SLAVE_ID);
SM_GetDeviceConfig(hndl,&config);
qDebug("Module inputs 1: Address %d, Modèle %d",INPUTS_MODULE_1_SLAVE_ID, config.model);
SM_SelectDevice(hndl,INPUTS_MODULE_2_SLAVE_ID);
SM_GetDeviceConfig(hndl,&config);
qDebug("Module inputs 1: Address %d, Modèle %d",INPUTS_MODULE_2_SLAVE_ID, config.model);
SM_SelectDevice(hndl,INPUTS_MODULE_3_SLAVE_ID);
SM_GetDeviceConfig(hndl,&config);
qDebug("Module inputs 1: Address %d, Modèle %d",INPUTS_MODULE_3_SLAVE_ID, config.model);
SM_SelectDevice(hndl,INPUTS_MODULE_4_SLAVE_ID);
SM_GetDeviceConfig(hndl,&config);
qDebug("Module inputs 1: Address %d, Modèle %d",INPUTS_MODULE_4_SLAVE_ID, config.model);
SM_SelectDevice(hndl,OUTPUTS_MODULE_1_SLAVE_ID);
SM_GetDeviceConfig(hndl,&config);
qDebug("Module inputs 1: Address %d, Modèle %d",OUTPUTS_MODULE_1_SLAVE_ID, config.model);
SM_SelectDevice(hndl,OUTPUTS_MODULE_2_SLAVE_ID);
SM_GetDeviceConfig(hndl,&config);
qDebug("Module inputs 1: Address %d, Modèle %d",OUTPUTS_MODULE_2_SLAVE_ID, config.model);
SM_SelectDevice(hndl,OUTPUTS_MODULE_3_SLAVE_ID);
SM_GetDeviceConfig(hndl,&config);
qDebug("Module inputs 1: Address %d, Modèle %d",OUTPUTS_MODULE_3_SLAVE_ID, config.model);
SM_SelectDevice(hndl,OUTPUTS_MODULE_4_SLAVE_ID);
SM_GetDeviceConfig(hndl,&config);
qDebug("Module inputs 1: Address %d, Modèle %d",OUTPUTS_MODULE_4_SLAVE_ID, config.model);
ResetOutputs();
return RET_OK;
}
int CIOModulesInterface::CloseIOModules()
{
if(hndl == 0)
return RET_ERROR;
// mIOModulesQueryTimer->stop();
int ret = SM_Close(&hndl);
if(ret < 0)
{
qDebug("Impossible de fermer le module d'I/O, erreur %d",ret);
@ -33,5 +89,167 @@ int CIOModulesInterface::CloseIOModules()
}
qDebug("Module d'I/O fermé avec succès");
return RET_OK;
}
void CIOModulesInterface::IOModulesQueryTimerExpired()
{
DoAllIOTransactions();
// mIOModulesQueryTimer->start();
qDebug("timerout");
}
int CIOModulesInterface::ReadInputModules()
{
if(hndl == 0)
return RET_ERROR;
unsigned char TempBuf[4];
SM_SelectDevice(hndl,INPUTS_MODULE_1_SLAVE_ID);
SM_ReadDigitalInputs(hndl,0,32,&TempBuf[0]);
memcpy(&mInputsBuffer[0],&TempBuf[0],4);
SM_SelectDevice(hndl,INPUTS_MODULE_2_SLAVE_ID);
SM_ReadDigitalInputs(hndl,0,32,&TempBuf[0]);
memcpy(&mInputsBuffer[4],&TempBuf[0],4);
SM_SelectDevice(hndl,INPUTS_MODULE_3_SLAVE_ID);
SM_ReadDigitalInputs(hndl,0,32,&TempBuf[0]);
memcpy(&mInputsBuffer[8],&TempBuf[0],4);
SM_SelectDevice(hndl,INPUTS_MODULE_4_SLAVE_ID);
SM_ReadDigitalInputs(hndl,0,32,&TempBuf[0]);
memcpy(&mInputsBuffer[12],&TempBuf[0],4);
return RET_OK;
}
int CIOModulesInterface::WriteOutputModules()
{
if(hndl == 0)
return RET_ERROR;
SM_SelectDevice(hndl,OUTPUTS_MODULE_1_SLAVE_ID);
SM_WriteDigitalOutputs(hndl,0,32,&mOutputsBuffer[0]);
SM_SelectDevice(hndl,OUTPUTS_MODULE_2_SLAVE_ID);
SM_WriteDigitalOutputs(hndl,0,32,&mOutputsBuffer[4]);
SM_SelectDevice(hndl,OUTPUTS_MODULE_3_SLAVE_ID);
SM_WriteDigitalOutputs(hndl,0,32,&mOutputsBuffer[8]);
SM_SelectDevice(hndl,OUTPUTS_MODULE_4_SLAVE_ID);
SM_WriteDigitalOutputs(hndl,0,32,&mOutputsBuffer[12]);
return RET_OK;
}
int CIOModulesInterface::ReadOutputStates()
{
if(hndl == 0)
return RET_ERROR;
unsigned char TempBuf[4];
SM_SelectDevice(hndl,OUTPUTS_MODULE_1_SLAVE_ID);
SM_ReadDigitalOutputs(hndl,0,32,&TempBuf[0]);
memcpy(&mOutputsStatebuffer[0],&TempBuf[0],4);
SM_SelectDevice(hndl,OUTPUTS_MODULE_2_SLAVE_ID);
SM_ReadDigitalOutputs(hndl,0,32,&TempBuf[0]);
memcpy(&mOutputsStatebuffer[4],&TempBuf[0],4);
SM_SelectDevice(hndl,OUTPUTS_MODULE_3_SLAVE_ID);
SM_ReadDigitalOutputs(hndl,0,32,&TempBuf[0]);
memcpy(&mOutputsStatebuffer[8],&TempBuf[0],4);
SM_SelectDevice(hndl,OUTPUTS_MODULE_4_SLAVE_ID);
SM_ReadDigitalOutputs(hndl,0,32,&TempBuf[0]);
memcpy(&mOutputsStatebuffer[12],&TempBuf[0],4);
return RET_OK;
}
int CIOModulesInterface::DoAllIOTransactions()
{
ReadInputModules();
WriteOutputModules();
ReadOutputStates();
return RET_OK;
}
int CIOModulesInterface::ResetOutputs()
{
memset(mOutputsBuffer,0x00,16);
return WriteOutputModules();
}
int CIOModulesInterface::SetOutputs(QBitArray Outputs)
{
if(Outputs.size() != IO_COUNT)
{
return RET_ERROR;
}
int IO = 0;
unsigned char mask = 1;
for(int byte = 0; byte < 16; byte++)
{
mOutputsBuffer[byte] = 0;
mask = 1;
for(int bit = 0; bit < 8; bit++)
{
if(Outputs.at(IO))
{
mOutputsBuffer[byte] |= mask;
}
mask <<= 1;
IO++;
}
}
WriteOutputModules();
return RET_OK;
}
QBitArray CIOModulesInterface::GetInputStates()
{
ReadInputModules();
return CharBufferToBitArray(mInputsBuffer, 16);
}
QBitArray CIOModulesInterface::GetOutputStates()
{
ReadOutputStates();
return CharBufferToBitArray(mOutputsStatebuffer, 16);
}
QBitArray CIOModulesInterface::CharBufferToBitArray(unsigned char *buf, int size_in_bytes)
{
int Size = size_in_bytes*8;
QBitArray Result(Size);
int IO = 0;
unsigned char mask = 1;
for(int byte = 0; byte < size_in_bytes; byte++)
{
mask = 1;
for(int bit = 0; bit < 8; bit++)
{
if((buf[byte] & mask) != 0)
{
Result.setBit(IO);
}
mask <<= 1;
IO++;
}
}
return Result;
}

View File

@ -1,18 +1,61 @@
#ifndef IOMODULESINTERFACE_H
#define IOMODULESINTERFACE_H
#include "SeaMAX.h"
#include <QTimer>
#include <QObject>
#include <QBitArray>
#define IO_MODULES_REFRESH_INTERVAL 300 //ms
#define IO_COUNT 128 //4 modules of 32 bits
class CIOModulesInterface
class CIOModulesInterface : public QObject
{
Q_OBJECT
public:
CIOModulesInterface();
int OpenIOModules();
enum eModulesSlaveIDDefs
{
INPUTS_MODULE_1_SLAVE_ID = 1,
INPUTS_MODULE_2_SLAVE_ID = 2,
INPUTS_MODULE_3_SLAVE_ID = 3,
INPUTS_MODULE_4_SLAVE_ID = 4,
OUTPUTS_MODULE_1_SLAVE_ID = 5,
OUTPUTS_MODULE_2_SLAVE_ID = 6,
OUTPUTS_MODULE_3_SLAVE_ID = 7,
OUTPUTS_MODULE_4_SLAVE_ID = 8
};
CIOModulesInterface();
~CIOModulesInterface();
int OpenIOModules(QString IPAddress);
int CloseIOModules();
int SetOutputs(QBitArray Outputs);
QBitArray GetInputStates();
QBitArray GetOutputStates();
int ResetOutputs();
private:
SM_HANDLE hndl;
// QTimer *mIOModulesQueryTimer;
unsigned char mInputsBuffer[16];
unsigned char mOutputsBuffer[16];
unsigned char mOutputsStatebuffer[16];
int ReadInputModules();
int WriteOutputModules();
int ReadOutputStates();
int DoAllIOTransactions();
QBitArray CharBufferToBitArray(unsigned char *buf, int size_in_bytes);
public slots:
void IOModulesQueryTimerExpired();
};
#endif // IOMODULESINTERFACE_H

View File

@ -0,0 +1,29 @@
#include "InputConnector.h"
CInputConnector::CInputConnector()
{
}
QBitArray CInputConnector::GetInputPinsStates()
{
if(!IsConnectorDefined())
return QBitArray();
QBitArray IOStates = mIOInterfaceHandle->GetInputStates();//inputs are active low, need to invert!!!
QBitArray PinsStates(mPinCount);
if(mIOModuleRangeEnd > IOStates.size()) //try not to crash!
{
qDebug("Logic error in CInputConnector::GetInputPinsStates(); mIOModuleRangeEnd greater than IO count");
return QBitArray();
}
int ConnectorPin = 0;
for(int IoPin = mIOModuleRangeBegin; IoPin <= mIOModuleRangeEnd; IoPin++)
{
PinsStates[ConnectorPin++] = IOStates[IoPin];
}
return PinsStates;
}

15
Sources/InputConnector.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef INPUTCONNECTOR_H
#define INPUTCONNECTOR_H
#include "Connector.h"
#include <QBitArray>
class CInputConnector : public CConnector
{
public:
CInputConnector();
QBitArray GetInputPinsStates();
};
#endif // INPUTCONNECTOR_H

View File

@ -14,13 +14,6 @@ CMainPage::CMainPage(QWidget *parent) :
ui->mMainTabWidget->clear();
// SM_HANDLE hndl;
// SM_Open(&hndl,"192.168.0.101");
}
CMainPage::~CMainPage()

View File

@ -8,11 +8,6 @@ MainWindow::MainWindow(QWidget *parent,CCableTestBench* ProgramHandle)
{
resize(1800,890);
// mMainPage = new CMainPage();
// mVisualInspPage = new CVisualInspectionPage(this);
// mVisualInspPage->hide();
// mCableTestPage = new CCableTestPage(this);
mMainPage = new CMainPage(this);
mVisualInspPage = new CVisualInspectionPage(this);
mVisualInspPage->hide();
@ -32,9 +27,6 @@ MainWindow::MainWindow(QWidget *parent,CCableTestBench* ProgramHandle)
//setCentralWidget(mVisualInspPage);
}
MainWindow::~MainWindow()

View File

@ -1,5 +1,8 @@
#include "OptionsPage.h"
#include "ui_OptionsPage.h"
#include "GlobalDefine.h"
#include "CableTestBench.h"
#include <QHostAddress>
COptionsPage::COptionsPage(QWidget *parent) :
QWidget(parent),
@ -8,9 +11,54 @@ COptionsPage::COptionsPage(QWidget *parent) :
ui->setupUi(this);
mProgramHandle = 0;
connect(ui->mApplyAndSaveBtn,SIGNAL(clicked()),this,SLOT(OptionChanged()));
}
COptionsPage::~COptionsPage()
{
delete ui;
}
int COptionsPage::GetCurrentOptions(CTestBenchSettings *Settings)
{
Settings->mPinHoldTime = ui->mTestHoldTimeHighSpinBx->value();
Settings->mIgnoreVisualInspection = ui->mIgnoreVisualInspChkBx->isChecked();
Settings->mIOModuleIPAddress = QString("%1.%2.%3.%4").arg(ui->mIPAdd1SpinBox->value()).arg(ui->mIPAdd2SpinBox->value()).arg(ui->mIPAdd3SpinBox->value()).arg(ui->mIPAdd4SpinBox->value());
Settings->mIncludeLogInReport = ui->mIncludeLogInReportChkBx->isChecked();
Settings->mExecSecondPass = ui->mExecSecondTestChkBx->isChecked();
return RET_OK;
}
int COptionsPage::SetCurrentOptions(CTestBenchSettings *Settings)
{
ui->mTestHoldTimeHighSpinBx->setValue(Settings->mPinHoldTime);
ui->mIgnoreVisualInspChkBx->setChecked(Settings->mIgnoreVisualInspection);
ui->mIncludeLogInReportChkBx->setChecked(Settings->mIncludeLogInReport);
ui->mExecSecondTestChkBx->setChecked(Settings->mExecSecondPass);
QHostAddress IPAddres(Settings->mIOModuleIPAddress);
int IPV4 = IPAddres.toIPv4Address();
ui->mIPAdd4SpinBox->setValue(IPV4 & 0x000000FF);
IPV4 >>= 8;
ui->mIPAdd3SpinBox->setValue(IPV4 & 0x000000FF);
IPV4 >>= 8;
ui->mIPAdd2SpinBox->setValue(IPV4 & 0x000000FF);
IPV4 >>= 8;
ui->mIPAdd1SpinBox->setValue(IPV4 & 0x000000FF);
return RET_OK;
}
void COptionsPage::OptionChanged()
{
mProgramHandle->TestBenchOptionsChanged();
}

View File

@ -2,6 +2,8 @@
#define OPTIONSPAGE_H
#include <QWidget>
#include "TestBenchSettings.h"
namespace Ui {
class COptionsPage;
@ -18,9 +20,21 @@ public:
~COptionsPage();
CCableTestBench *mProgramHandle;
int GetCurrentOptions(CTestBenchSettings *Settings);
int SetCurrentOptions(CTestBenchSettings *Settings);
private:
Ui::COptionsPage *ui;
public slots:
void OptionChanged();
signals:
void CurrentOptionsChanged();
};
#endif // OPTIONSPAGE_H

View File

@ -6,37 +6,19 @@
<rect>
<x>0</x>
<y>0</y>
<width>1119</width>
<width>564</width>
<height>647</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>100</x>
<y>40</y>
<width>181</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
<string>Valeurs par défaut</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>530</x>
<x>170</x>
<y>40</y>
<width>181</width>
<width>321</width>
<height>31</height>
</rect>
</property>
@ -52,7 +34,7 @@
<widget class="QSpinBox" name="mTestHoldTimeHighSpinBx">
<property name="geometry">
<rect>
<x>680</x>
<x>320</x>
<y>110</y>
<width>61</width>
<height>22</height>
@ -71,67 +53,35 @@
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>500</x>
<x>100</x>
<y>110</y>
<width>171</width>
<width>211</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Temps de maintien haut (ms)</string>
</property>
</widget>
<widget class="QLabel" name="label_4">
<widget class="QSpinBox" name="mIPAdd1SpinBox">
<property name="geometry">
<rect>
<x>500</x>
<y>150</y>
<width>171</width>
<height>20</height>
<x>131</x>
<y>361</y>
<width>51</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Temps de maintien bas (ms)</string>
</property>
</widget>
<widget class="QSpinBox" name="mTestHoldTimeLowSpinBx">
<property name="geometry">
<rect>
<x>680</x>
<y>150</y>
<width>61</width>
<height>22</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>5000</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
<widget class="QSpinBox" name="mIPAdd1SpinBox">
<property name="geometry">
<rect>
<x>510</x>
<y>340</y>
<width>42</width>
<height>22</height>
</rect>
</property>
<property name="maximum">
<number>255</number>
</property>
@ -142,12 +92,17 @@
<widget class="QSpinBox" name="mIPAdd2SpinBox">
<property name="geometry">
<rect>
<x>560</x>
<y>340</y>
<width>42</width>
<x>190</x>
<y>361</y>
<width>51</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="maximum">
<number>255</number>
</property>
@ -158,12 +113,17 @@
<widget class="QSpinBox" name="mIPAdd3SpinBox">
<property name="geometry">
<rect>
<x>610</x>
<y>340</y>
<width>42</width>
<x>250</x>
<y>360</y>
<width>51</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="maximum">
<number>255</number>
</property>
@ -171,12 +131,17 @@
<widget class="QSpinBox" name="mIPAdd4SpinBox">
<property name="geometry">
<rect>
<x>660</x>
<y>340</y>
<width>42</width>
<x>300</x>
<y>360</y>
<width>51</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="maximum">
<number>255</number>
</property>
@ -187,34 +152,94 @@
<widget class="QLabel" name="label_5">
<property name="geometry">
<rect>
<x>510</x>
<y>310</y>
<width>171</width>
<height>20</height>
<x>140</x>
<y>320</y>
<width>351</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Adresse IP module I/O</string>
<string>Adresse IP module I/O
(redémarrage de l'application requis)</string>
</property>
</widget>
<widget class="QPushButton" name="mApplyAndSaveBtn">
<property name="geometry">
<rect>
<x>390</x>
<y>550</y>
<width>131</width>
<x>170</x>
<y>470</y>
<width>181</width>
<height>23</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Appliquer &amp;&amp; Sauvegarder</string>
</property>
</widget>
<widget class="QCheckBox" name="mIgnoreVisualInspChkBx">
<property name="geometry">
<rect>
<x>140</x>
<y>160</y>
<width>321</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Ignorer l'inspection visuelle</string>
</property>
</widget>
<widget class="QCheckBox" name="mIncludeLogInReportChkBx">
<property name="geometry">
<rect>
<x>140</x>
<y>200</y>
<width>321</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Inclure LOG dans le rapport</string>
</property>
</widget>
<widget class="QCheckBox" name="mExecSecondTestChkBx">
<property name="geometry">
<rect>
<x>140</x>
<y>240</y>
<width>281</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Exécuter 2è passe de tests</string>
</property>
</widget>
</widget>
<resources/>
<connections/>

147
Sources/OutputConnector.cpp Normal file
View File

@ -0,0 +1,147 @@
#include "OutputConnector.h"
#include "GlobalDefine.h"
COutputConnector::COutputConnector()
{
}
int COutputConnector::SetOutputPins(QBitArray PinsStates)
{
if(mIOModuleRangeEnd >= IO_COUNT)
{
qDebug("Logic error in COutputConnector::SetOutputPins; mIOModuleRangeEnd greater than IO count");
return RET_ERROR;
}
if(IsConnectorDefined() == false)
{
return RET_ERROR;
}
QBitArray OutputBuf(IO_COUNT);
int PinIndex = 0;
for(int IoPin = mIOModuleRangeBegin; IoPin <= mIOModuleRangeEnd; IoPin++)
{
OutputBuf[IoPin] = PinsStates[PinIndex++];
}
mIOInterfaceHandle->SetOutputs(OutputBuf);
return RET_OK;
}
QBitArray COutputConnector::GetOutputPinsStates()
{
if(IsConnectorDefined() == false)
{
return QBitArray();
}
QBitArray IOStates = mIOInterfaceHandle->GetOutputStates();
QBitArray PinsStates(mPinCount);
if(mIOModuleRangeEnd > IOStates.size()) //try not to crash!
{
qDebug("Logic error in CInputConnector::GetInputPinsStates(); mIOModuleRangeEnd greater than IO count");
return QBitArray();
}
int ConnectorPin = 0;
for(int IoPin = mIOModuleRangeBegin; IoPin <= mIOModuleRangeEnd; IoPin++)
{
PinsStates[ConnectorPin++] = IOStates[IoPin];
}
return PinsStates;
}
int COutputConnector::SetConnectorType(CConnectorDefs::eConnectorType type)
{
CConnector::SetConnectorType(type);
mOutputsPinsStateBuffer.clear();
mOutputsPinsStateBuffer = QBitArray(mPinCount);
ClearAllPins();
return RET_OK;
}
//! !!!! WARNING, PinIndex IS ZERO-BASED INDEX !!! //
int COutputConnector::SetSinglePin(unsigned int PinNumber)
{
if(IsConnectorDefined() == false)
{
return RET_ERROR;
}
int ZeroBasedPinIndex = PinNumber-1;
if(ZeroBasedPinIndex >= (int)mPinCount || ZeroBasedPinIndex < 0)
{
return RET_ERROR;
}
QBitArray PinsStates(mPinCount);
PinsStates.setBit(ZeroBasedPinIndex);
SetOutputPins(PinsStates);
return RET_OK;
}
//! !!!! WARNING, PinIndex IS ZERO-BASED INDEX !!! //
int COutputConnector::GetSinglePinState(unsigned int PinNumber)
{
if(IsConnectorDefined() == false)
{
return RET_ERROR;
}
int ZeroBasedPinIndex = PinNumber-1;
if(ZeroBasedPinIndex > (int)mPinCount || ZeroBasedPinIndex < 0)
{
return -1;
}
QBitArray CurStates = GetOutputPinsStates();
return CurStates.at(ZeroBasedPinIndex);
}
int COutputConnector::TogglePin(unsigned int PinNumber)
{
if(IsConnectorDefined() == false)
{
return RET_ERROR;
}
int ZeroBasedPinIndex = PinNumber-1;
if(ZeroBasedPinIndex > (int)mPinCount || ZeroBasedPinIndex < 0)
{
return RET_ERROR;
}
QBitArray CurStates = GetOutputPinsStates();
CurStates.toggleBit(ZeroBasedPinIndex);
SetOutputPins(CurStates);
return RET_OK;
}
int COutputConnector::ClearAllPins()
{
if(IsConnectorDefined() == false)
{
return RET_ERROR;
}
mIOInterfaceHandle->ResetOutputs();
return RET_OK;
}

29
Sources/OutputConnector.h Normal file
View File

@ -0,0 +1,29 @@
#ifndef OUTPUTCONNECTOR_H
#define OUTPUTCONNECTOR_H
#include "Connector.h"
#include <QBitArray>
class COutputConnector : public CConnector
{
public:
COutputConnector();
QBitArray GetOutputPinsStates();
int SetSinglePin(unsigned int PinNumber);
int GetSinglePinState(unsigned int PinNumber);
int TogglePin(unsigned int PinNumber);
int SetOutputPins(QBitArray PinsStates);
int ClearAllPins();
virtual int SetConnectorType(CConnectorDefs::eConnectorType type);
private:
QBitArray mOutputsPinsStateBuffer;
};
#endif // OUTPUTCONNECTOR_H

View File

@ -0,0 +1,70 @@
#include "TestBenchSettings.h"
#include <QFile>
#include <QDataStream>
#include "GlobalDefine.h"
CTestBenchSettings::CTestBenchSettings()
{
}
int CTestBenchSettings::SaveSettingsToFile()
{
QFile *SettingFile = new QFile("./Cablotron.csf");
if(!SettingFile->open(QIODevice::ReadWrite | QIODevice::Truncate))
{
delete SettingFile;
return RET_ERROR;
}
QDataStream Strm(SettingFile);
int MagicNbr = 0xC01DCAFE;
Strm << MagicNbr
<< mPinHoldTime
<< mIgnoreVisualInspection
<< mIOModuleIPAddress
<< mIncludeLogInReport
<< mExecSecondPass;
SettingFile->close();
delete SettingFile;
return RET_OK;
}
int CTestBenchSettings::LoadSettingFromFile()
{
QFile *SettingFile = new QFile("./Cablotron.csf");
if(!SettingFile->open(QIODevice::ReadOnly))
{
delete SettingFile;
return RET_ERROR;
}
QDataStream Strm(SettingFile);
int MagicNbr;
Strm >> MagicNbr;
if(MagicNbr != (int)0xC01DCAFE)
{
return RET_ERROR;
SettingFile->close();
delete SettingFile;
}
Strm >> mPinHoldTime
>> mIgnoreVisualInspection
>> mIOModuleIPAddress
>> mIncludeLogInReport
>> mExecSecondPass;
SettingFile->close();
delete SettingFile;
return RET_OK;
}

View File

@ -0,0 +1,25 @@
#ifndef TESTBENCHSETTINGS_H
#define TESTBENCHSETTINGS_H
#include <QString>
class CTestBenchSettings
{
public:
CTestBenchSettings();
int LoadSettingFromFile();
int SaveSettingsToFile();
int mPinHoldTime;
bool mIgnoreVisualInspection;
QString mIOModuleIPAddress;
bool mIncludeLogInReport;
bool mExecSecondPass;
};
#endif // TESTBENCHSETTINGS_H

View File

@ -0,0 +1,22 @@
#ifndef TESTBENCHVERSION_H
#define TESTBENCHVERSION_H
#define TEST_BENCH_VERSION "V1.2"
//LOG DES CHANGEMENTS
//Version 1.1
//- Correction d'un bug qui testait 108 points pour le
// connecteur 90 points, il manquait la partie du rapport...
//Version 1.1
//- Ajustements suite aux premiers essais à l'atelier
//- Correction d'un bug qui testait 108 points pour le
// connecteur 90 points.
//Version 0.10_ING_DEV
//-Version de développement, pré-production
#endif // TESTBENCHVERSION_H

View File

@ -1,10 +1,201 @@
#include "TestReport.h"
#include <QDateTime>
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include <QTextCodec>
#include "TestBenchSettings.h"
CTestReport::CTestReport()
{
mSoftwareVersion = QString(TEST_BENCH_VERSION);
CreateNewTestReport();
mReportFileDirectory = "./Rapports/";
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
}
CVisualInspectionResult * CTestReport::GetInspectionResult()
{
return &mVisualInspectionResultReport;
}
CCableParametersData *CTestReport::GetReportCableParameters()
{
return &mCableParameters;
}
int CTestReport::CreateNewTestReport()
{
mVisualInspectionResultReport.ClearResults();
mCableParameters.ResetData();
mAutomatedTestReport.ClearAutomatedTestReport();
mTestLog.clear();
mLastReportName.clear();
return RET_OK;
}
int CTestReport::AddLogEntry(QString NewEntry, bool IncludeTime, bool Propagate)
{
if(NewEntry.isEmpty())
{
return RET_ERROR;
}
if(IncludeTime)
{
QString Time = QDateTime::currentDateTime().toString("hh:mm:ss.zzz - ");
NewEntry.prepend(Time);
}
qDebug(NewEntry.toAscii().data());
if(NewEntry.endsWith(QChar('\n')) == false)
{
NewEntry.append(QChar('\n'));
}
if(Propagate)
{
emit NewTestLogEntry(NewEntry);
}
mTestLog.append(NewEntry);
return RET_OK;
}
CAutomatedTestReport *CTestReport::GetAutomatedTestReport()
{
return &mAutomatedTestReport;
}
int CTestReport::SaveReportToFile(CTestBenchSettings *BenchSettings)
{
QFile *ReportFile;
//QTextStream ReportStream;
QString Filename = QDateTime::currentDateTime().toString("yyMMdd_hhmmss_");
Filename.append(mCableParameters.mStationCodeName);
Filename.append(mCableParameters.mCableIdentification);
Filename.append(".txt");
Filename.prepend(mReportFileDirectory);
ReportFile = new QFile(Filename);
if (!ReportFile->open(QIODevice::ReadWrite |QIODevice::Truncate | QIODevice::Text))
{
AddLogEntry(QString("Impossible de sauvegarder le rapport %1").arg(Filename),false);
QMessageBox::critical(NULL,"Erreur de sauvegarde",QString("Impossible de sauvegarder le fichier rapport \n%1").arg(Filename));
return RET_ERROR;
}
mLastReportName = Filename;
QTextStream ReportStream(ReportFile);
ReportStream.setCodec(QTextCodec::codecForName("UTF-8"));
ReportStream << QString("Rapport de test - Câble SEI\n");
ReportStream << QString("Date de l'essai: ") << QDateTime::currentDateTime().toString("yyyy-MM-dd") << "\n";
ReportStream << "Version du logiciel de test: " << mSoftwareVersion << "\n\n";
ReportStream << "-----------------------------------------\n";
ReportStream << QString("Paramètres du test: \n");
ReportStream << QString("Temps de maintien des contacts: %1ms\n").arg(BenchSettings->mPinHoldTime);
if(BenchSettings->mIgnoreVisualInspection)
{
ReportStream << QString("Ignorer inspection visuelle: OUI\n");
}
else
{
ReportStream << QString("Ignorer inspection visuelle: NON\n");
}
if(BenchSettings->mExecSecondPass)
{
ReportStream << QString("2è test exécuté: OUI\n");
}
else
{
ReportStream << QString("2è test exécuté: NON\n");
}
ReportStream << QString("Adresse IP des modules d'I/O : %1\n\n").arg(BenchSettings->mIOModuleIPAddress);
ReportStream << "-----------------------------------------\n";
ReportStream << QString("Paramètres du câble: \n");
ReportStream << QString("Identification du câble: ") << mCableParameters.mCableIdentification << "\n";
ReportStream << "Station: " << mCableParameters.mStationCodeName << " - "<< mCableParameters.mStationName << "\n";
ReportStream << "Type: " << mCableParameters.mCableType << "\n";
ReportStream << QString("Opérateur du test: ") << mCableParameters.mTestOperatorName << "\n";
ReportStream << QString("Connecteur d'entrée: ") << mCableParameters.mInputConnectorType << "\n";
ReportStream << "Connecteur de sortie: " << mCableParameters.mOutputConnectorType << "\n\n";
ReportStream << "-----------------------------------------\n";
ReportStream << QString("Résultats de l'inspection visuelle:\n");
ReportStream << QString("Section 5.2 exécutée: ") << mVisualInspectionResultReport.mVerif52ExecResultText << "\n";
ReportStream << QString("Section 5.3 exécutée: ") << mVisualInspectionResultReport.mVerif53ExecResultText << "\n";
ReportStream << QString("Section 5.4 exécutée: ") << mVisualInspectionResultReport.mVerif54ExecResultText << "\n";
ReportStream << QString("Section 5.5 exécutée: ") << mVisualInspectionResultReport.mVerif55ExecResultText << "\n";
ReportStream << QString("Section 5.6 exécutée: ") << mVisualInspectionResultReport.mVerif56ExecResultText << "\n\n";
ReportStream << "Notes d'inspection:\n\n";
ReportStream << mVisualInspectionResultReport.mVerifNotesText << "\n\n";
ReportStream << "-----------------------------------------\n";
ReportStream << QString("Résultats du test automatique du câble:\n");
ReportStream << QString("Pré-test des modules d'I/O: ") << mAutomatedTestReport.GetPretestResult() << "\n";
ReportStream << QString("Lorsqu'applicable, les valeurs entre crochets [] correspondent aux contacts en défaut.\n\n");
ReportStream.setFieldWidth(15);
ReportStream.setFieldAlignment(QTextStream::AlignCenter);
ReportStream << "No. Contact" << QString("Continuité") << "Isolation" << "Assignation" << QString("2è test") << qSetFieldWidth(0) << "\n";
for(int pin = 1; pin <= mAutomatedTestReport.mPinCount; pin++)
{
ReportStream.setFieldWidth(15);
ReportStream.setFieldAlignment(QTextStream::AlignCenter);
ReportStream << QString("%1").arg(pin) <<
mAutomatedTestReport.GetPinContinuityResult(pin) <<
mAutomatedTestReport.GetPinIsolationResult(pin) <<
mAutomatedTestReport.GetPinConcordanceResult(pin) <<
mAutomatedTestReport.GetPinSecondTestResult(pin) << qSetFieldWidth(0) <<
" \n";
}
ReportStream << QString("\n\n\n Signature de l'opérateur de test: _________________________________________\n\n");
ReportStream << QString(" Date: _________________________________________\n\n");
ReportStream << "-----------------------------------------\n";
if(BenchSettings->mIncludeLogInReport)
{
ReportStream << "Log du test:\n";
ReportStream << mTestLog;
}
ReportFile->close();
delete ReportFile;
return RET_OK;
}
bool CTestReport::IsAutoTestReportReady()
{
if(mAutomatedTestReport.GetPinCount() == 0)
{
return false;
}
return true;
}
bool CTestReport::GetGlobalAutoTestResult()
{
return mAutomatedTestReport.IsAutomatedTestSuccess();
}
QString CTestReport::GetLastReportFileName()
{
return mLastReportName;
}

View File

@ -3,16 +3,44 @@
#include "GlobalDefine.h"
#include "VisualInspectionResult.h"
#include "CableParametersData.h"
#include "TestBenchVersion.h"
#include "AutomatedTestReport.h"
#include <QObject>
class CTestReport
class CTestBenchSettings;
class CTestReport : public QObject
{
Q_OBJECT
public:
CTestReport();
CVisualInspectionResult* GetInspectionResult();
CCableParametersData *GetReportCableParameters();
CAutomatedTestReport *GetAutomatedTestReport();
int CreateNewTestReport();
int AddLogEntry(QString NewEntry,bool IncludeTime = true,bool Propagate = true);
bool IsAutoTestReportReady();
bool GetGlobalAutoTestResult();
int SaveReportToFile(CTestBenchSettings *BenchSettings);
QString GetLastReportFileName();
private:
CVisualInspectionResult mVisualInspectionResultReport;
CCableParametersData mCableParameters;
CAutomatedTestReport mAutomatedTestReport;
QString mSoftwareVersion;
QString mTestLog;
QString mReportFileDirectory;
QString mLastReportName;
signals:
void NewTestLogEntry(QString NewEntry);
};
#endif // TESTREPORT_H

View File

@ -16,10 +16,10 @@
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>250</x>
<x>230</x>
<y>10</y>
<width>601</width>
<height>81</height>
<width>771</width>
<height>101</height>
</rect>
</property>
<property name="font">
@ -38,13 +38,13 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>380</x>
<y>230</y>
<width>261</width>
<height>16</height>
<width>411</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -56,13 +56,13 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>380</x>
<y>280</y>
<width>311</width>
<height>16</height>
<width>441</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -74,13 +74,13 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>380</x>
<y>330</y>
<width>311</width>
<height>16</height>
<width>511</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -92,13 +92,13 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>380</x>
<y>380</y>
<width>471</width>
<height>16</height>
<width>611</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -110,13 +110,13 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>380</x>
<y>430</y>
<width>471</width>
<height>16</height>
<width>591</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
<pointsize>14</pointsize>
</font>
</property>
<property name="text">
@ -128,7 +128,7 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>120</x>
<y>140</y>
<width>811</width>
<width>941</width>
<height>20</height>
</rect>
</property>
@ -146,8 +146,8 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>330</x>
<y>200</y>
<width>46</width>
<height>13</height>
<width>81</width>
<height>16</height>
</rect>
</property>
<property name="text">
@ -159,7 +159,7 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>230</x>
<y>200</y>
<width>71</width>
<width>91</width>
<height>16</height>
</rect>
</property>
@ -336,6 +336,11 @@ ont été complétés (chaque câble doit être vérifié)</string>
<height>23</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>OK</string>
</property>
@ -349,6 +354,9 @@ ont été complétés (chaque câble doit être vérifié)</string>
<height>141</height>
</rect>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
</widget>
<widget class="QLabel" name="label_10">
<property name="geometry">
@ -373,10 +381,15 @@ ont été complétés (chaque câble doit être vérifié)</string>
<rect>
<x>790</x>
<y>260</y>
<width>75</width>
<width>121</width>
<height>23</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Réinitialiser</string>
</property>

View File

@ -1,6 +1,8 @@
#include "VisualInspectionResult.h"
#include <QString>
const char * CVisualInspectionResult::mTextualResults[3] = {"N/A","Oui","Non"};
CVisualInspectionResult::CVisualInspectionResult()
{
ClearResults();
@ -9,6 +11,7 @@ CVisualInspectionResult::CVisualInspectionResult()
int CVisualInspectionResult::ClearResults()
{
mVerif52ExecResult = mVerif53ExecResult = mVerif54ExecResult = mVerif55ExecResult = mVerif56ExecResult = VERIF_UNKNOWN_RESULT;
mVerif52ExecResultText = mVerif53ExecResultText = mVerif54ExecResultText = mVerif55ExecResultText = mVerif56ExecResultText = "Non";
mVerifNotesText.clear();
return RET_OK;
@ -17,10 +20,10 @@ int CVisualInspectionResult::ClearResults()
bool CVisualInspectionResult::IsVisualInspectionResultComplete()
{
if(mVerif52ExecResult != VERIF_UNKNOWN_RESULT &&
mVerif53ExecResult != VERIF_UNKNOWN_RESULT &&
mVerif54ExecResult != VERIF_UNKNOWN_RESULT &&
mVerif55ExecResult != VERIF_UNKNOWN_RESULT &&
mVerif56ExecResult != VERIF_UNKNOWN_RESULT )
mVerif53ExecResult != VERIF_UNKNOWN_RESULT &&
mVerif54ExecResult != VERIF_UNKNOWN_RESULT &&
mVerif55ExecResult != VERIF_UNKNOWN_RESULT &&
mVerif56ExecResult != VERIF_UNKNOWN_RESULT )
{
return true;
}
@ -31,10 +34,20 @@ bool CVisualInspectionResult::IsVisualInspectionResultComplete()
int CVisualInspectionResult::SetVisualInspectionResult(eVerifExecResult Verif52, eVerifExecResult Verif53, eVerifExecResult Verif54, eVerifExecResult Verif55, eVerifExecResult Verif56, QString Notes)
{
mVerif52ExecResult = Verif52;
mVerif52ExecResultText = mTextualResults[Verif52];
mVerif53ExecResult = Verif53;
mVerif53ExecResultText = mTextualResults[Verif53];
mVerif54ExecResult = Verif54;
mVerif54ExecResultText = mTextualResults[Verif54];
mVerif55ExecResult = Verif55;
mVerif55ExecResultText = mTextualResults[Verif55];
mVerif56ExecResult = Verif56;
mVerif56ExecResultText = mTextualResults[Verif56];
mVerifNotesText = Notes;
return RET_OK;
}

View File

@ -15,10 +15,12 @@ public:
VERIF_NOT_DONE_RESULT
};
static const char* mTextualResults[3];
CVisualInspectionResult();
eVerifExecResult mVerif52ExecResult, mVerif53ExecResult, mVerif54ExecResult, mVerif55ExecResult, mVerif56ExecResult;
QString mVerif52ExecResultText, mVerif53ExecResultText, mVerif54ExecResultText, mVerif55ExecResultText, mVerif56ExecResultText;
QString mVerifNotesText;
int ClearResults();

View File

@ -14,7 +14,7 @@ CConnectorSelectWidget::CConnectorSelectWidget(QWidget *parent) :
//6 pins
InputClickZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::INPUT_6_PINS_CONNECTOR_TYPE,this);
InputClickZoneHandle->setGeometry(7,149,53,54);
InputClickZoneHandle->setGeometry(316,152,53,54);
InputClickZoneHandle->show();
InputClickZoneHandle->raise();
connect(InputClickZoneHandle,SIGNAL(ConnectorZoneClicked(CConnectorClickZoneWidget*)),this,SLOT(InputConnectorZoneClicked(CConnectorClickZoneWidget*)));
@ -22,7 +22,7 @@ CConnectorSelectWidget::CConnectorSelectWidget(QWidget *parent) :
//14 pins
InputClickZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::INPUT_14_PINS_CONNECTOR_TYPE,this);
InputClickZoneHandle->setGeometry(7,23,53,54);
InputClickZoneHandle->setGeometry(316,21,53,54);
InputClickZoneHandle->show();
InputClickZoneHandle->raise();
connect(InputClickZoneHandle,SIGNAL(ConnectorZoneClicked(CConnectorClickZoneWidget*)),this,SLOT(InputConnectorZoneClicked(CConnectorClickZoneWidget*)));
@ -30,7 +30,7 @@ CConnectorSelectWidget::CConnectorSelectWidget(QWidget *parent) :
//24 pins
InputClickZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::INPUT_24_PINS_CONNECTOR_TYPE,this);
InputClickZoneHandle->setGeometry(92,23,48,86);
InputClickZoneHandle->setGeometry(236,23,48,86);
InputClickZoneHandle->show();
InputClickZoneHandle->raise();
connect(InputClickZoneHandle,SIGNAL(ConnectorZoneClicked(CConnectorClickZoneWidget*)),this,SLOT(InputConnectorZoneClicked(CConnectorClickZoneWidget*)));
@ -38,7 +38,7 @@ CConnectorSelectWidget::CConnectorSelectWidget(QWidget *parent) :
//72 pins
InputClickZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::INPUT_72_PINS_CONNECTOR_TYPE,this);
InputClickZoneHandle->setGeometry(92,149,47,120);
InputClickZoneHandle->setGeometry(234,150,47,120);
InputClickZoneHandle->show();
InputClickZoneHandle->raise();
connect(InputClickZoneHandle,SIGNAL(ConnectorZoneClicked(CConnectorClickZoneWidget*)),this,SLOT(InputConnectorZoneClicked(CConnectorClickZoneWidget*)));
@ -46,7 +46,7 @@ CConnectorSelectWidget::CConnectorSelectWidget(QWidget *parent) :
//90 pins
InputClickZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::INPUT_90_PINS_CONNECTOR_TYPE,this);
InputClickZoneHandle->setGeometry(17,286,33,73);
InputClickZoneHandle->setGeometry(320,306,33,73);
InputClickZoneHandle->show();
InputClickZoneHandle->raise();
connect(InputClickZoneHandle,SIGNAL(ConnectorZoneClicked(CConnectorClickZoneWidget*)),this,SLOT(InputConnectorZoneClicked(CConnectorClickZoneWidget*)));
@ -54,7 +54,7 @@ CConnectorSelectWidget::CConnectorSelectWidget(QWidget *parent) :
//108 pins
InputClickZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::INPUT_108_PINS_CONNECTOR_TYPE,this);
InputClickZoneHandle->setGeometry(92,308,47,149);
InputClickZoneHandle->setGeometry(235,308,47,149);
InputClickZoneHandle->show();
InputClickZoneHandle->raise();
connect(InputClickZoneHandle,SIGNAL(ConnectorZoneClicked(CConnectorClickZoneWidget*)),this,SLOT(InputConnectorZoneClicked(CConnectorClickZoneWidget*)));
@ -62,7 +62,7 @@ CConnectorSelectWidget::CConnectorSelectWidget(QWidget *parent) :
//120 pins
InputClickZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::INPUT_120_PINS_CONNECTOR_TYPE,this);
InputClickZoneHandle->setGeometry(13,382,42,74);
InputClickZoneHandle->setGeometry(316,403,42,74);
InputClickZoneHandle->show();
InputClickZoneHandle->raise();
connect(InputClickZoneHandle,SIGNAL(ConnectorZoneClicked(CConnectorClickZoneWidget*)),this,SLOT(InputConnectorZoneClicked(CConnectorClickZoneWidget*)));
@ -73,35 +73,35 @@ CConnectorSelectWidget::CConnectorSelectWidget(QWidget *parent) :
//6 pins
OutputSelectZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::OUTPUT_6_PINS_CONNECTOR_TYPE,this);
OutputSelectZoneHandle->setGeometry(329,149,38,38);
OutputSelectZoneHandle->setGeometry(12,148,38,38);
OutputSelectZoneHandle->show();
OutputSelectZoneHandle->raise();
mOutputSelectZoneList.append(OutputSelectZoneHandle);
//14 pins
OutputSelectZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::OUTPUT_14_PINS_CONNECTOR_TYPE,this);
OutputSelectZoneHandle->setGeometry(327,23,41,42);
OutputSelectZoneHandle->setGeometry(13,24,41,42);
OutputSelectZoneHandle->show();
OutputSelectZoneHandle->raise();
mOutputSelectZoneList.append(OutputSelectZoneHandle);
//24 pins
OutputSelectZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::OUTPUT_24_PINS_CONNECTOR_TYPE,this);
OutputSelectZoneHandle->setGeometry(235,23,48,86);
OutputSelectZoneHandle->setGeometry(91,23,48,86);
OutputSelectZoneHandle->show();
OutputSelectZoneHandle->raise();
mOutputSelectZoneList.append(OutputSelectZoneHandle);
//72 pins
OutputSelectZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::OUTPUT_72_PINS_CONNECTOR_TYPE,this);
OutputSelectZoneHandle->setGeometry(235,149,46,121);
OutputSelectZoneHandle->setGeometry(92,150,46,121);
OutputSelectZoneHandle->show();
OutputSelectZoneHandle->raise();
mOutputSelectZoneList.append(OutputSelectZoneHandle);
//108 pins
OutputSelectZoneHandle = new CConnectorClickZoneWidget(CConnectorDefs::OUTPUT_108_PINS_CONNECTOR_TYPE,this);
OutputSelectZoneHandle->setGeometry(235,308,47,148);
OutputSelectZoneHandle->setGeometry(92,308,47,148);
OutputSelectZoneHandle->show();
OutputSelectZoneHandle->raise();
mOutputSelectZoneList.append(OutputSelectZoneHandle);

View File

@ -4,6 +4,7 @@
CConnectorTestVisualizationWidget::CConnectorTestVisualizationWidget(QWidget *parent) :
QWidget(parent)
{
mPinClicksEnabled = false;
}
int CConnectorTestVisualizationWidget::SetConnectorPinCount(int Count)
@ -21,7 +22,8 @@ int CConnectorTestVisualizationWidget::SetConnectorPinCount(int Count)
for(int i = 0; i < Count; i++)
{
QString pin = QString("%1").arg(i+1);
NewWidget = new CONOFFStatusWidget(CONOFFStatusWidget::ON_OFF_LED_COLOR_GREEN,this,pin);
NewWidget = new CONOFFStatusWidget(CONOFFStatusWidget::ON_OFF_LED_COLOR_GREEN,i+1,this,pin);
connect(NewWidget,SIGNAL(Clicked(int)),this,SLOT(ONOFFLedClicked(int)));
NewWidget->resize(ON_OFF_WIDGET_SIZE,ON_OFF_WIDGET_SIZE);
// NewWidget->move((col)*(ON_OFF_WIDGET_SIZE + col_offset),((row) * (ON_OFF_WIDGET_SIZE + row_offset)));
@ -52,3 +54,46 @@ int CConnectorTestVisualizationWidget::ClearConnectorsLists()
return RET_OK;
}
int CConnectorTestVisualizationWidget::EnablePinClicks()
{
mPinClicksEnabled = true;
return RET_OK;
}
int CConnectorTestVisualizationWidget::DisablePinClicks()
{
mPinClicksEnabled = false;
return RET_OK;
}
void CConnectorTestVisualizationWidget::ONOFFLedClicked(int Index)
{
if(mPinClicksEnabled)
{
emit PinClicked(Index);
}
}
int CConnectorTestVisualizationWidget::SetConnectorPinStates(QBitArray PinStates)
{
if(PinStates.size() != mPinsWidgetsList.size())
{
qDebug("Erreur de logique dans CConnectorTestVisualizationWidget::SetConnectorPinStates; taille des connecteurs incohérente");
return RET_ERROR;
}
if(mPinsWidgetsList.size() == 0)
{
return RET_OK;
}
for(int i = 0; i < mPinsWidgetsList.size(); i++)
{
mPinsWidgetsList.at(i)->SetState(PinStates.at(i));
}
return RET_OK;
}

View File

@ -3,8 +3,9 @@
#include <QWidget>
#include "ONOFFStatusWidget.h"
#include <QList>
#include "CableTestBenchDefs.h"
#include <QList>
#include <QBitArray>
#define ON_OFF_WIDGET_SIZE 30
#define LED_PER_LINE_COUNT 10
@ -16,14 +17,28 @@ public:
QList<CONOFFStatusWidget*> mPinsWidgetsList;
int SetConnectorPinCount(int count);
int ClearConnectorsLists();
int DisablePinClicks();
int EnablePinClicks();
int SetConnectorPinStates(QBitArray PinStates);
signals:
void PinClicked(int PinNbr);
private:
bool mPinClicksEnabled;
public slots:
void ONOFFLedClicked(int Index);
};

View File

@ -18,7 +18,7 @@
#include "ONOFFStatusWidget.h"
#include <QPainter>
CONOFFStatusWidget::CONOFFStatusWidget(eONOFFLedColor Color, QWidget *Parent, QString Label)
CONOFFStatusWidget::CONOFFStatusWidget(eONOFFLedColor Color,int index, QWidget *Parent,QString Label)
{
setParent(Parent);
if(Color == ON_OFF_LED_COLOR_GREEN)
@ -34,6 +34,9 @@ CONOFFStatusWidget::CONOFFStatusWidget(eONOFFLedColor Color, QWidget *Parent, QS
mLabel = new QLabel(Label,this);
mLabel->move(0,15);
mIndex = index;
mIsOn = false;
}
CONOFFStatusWidget::~CONOFFStatusWidget()
@ -42,17 +45,34 @@ CONOFFStatusWidget::~CONOFFStatusWidget()
void CONOFFStatusWidget::SetON()
{
IsOn = true;
if(mIsOn == false)
{
mIsOn = true;
repaint();
}
}
void CONOFFStatusWidget::SetOFF()
{
IsOn = true;
if(mIsOn == true)
{
mIsOn = false;
repaint();
}
}
void CONOFFStatusWidget::SetState(bool IsON)
{
if(IsON != mIsOn) //don't repaint if not necessary
{
mIsOn = IsON;
repaint();
}
}
void CONOFFStatusWidget::Toggle()
{
if(IsOn)
if(mIsOn)
{
SetOFF();
}
@ -66,13 +86,13 @@ void CONOFFStatusWidget::paintEvent(QPaintEvent *PaintEvent)
{
QPainter painter(this);
if(IsOn)
if(mIsOn)
{
painter.drawPixmap(0,0,mLedOnPixmap);
}
else
{
painter.drawPixmap(0,0,mLedOnPixmap);
painter.drawPixmap(0,0,mLedOffPixmap);
}
}
@ -99,3 +119,8 @@ void CONOFFStatusWidget::resizeEvent(QResizeEvent *event)
mLabel->move((width/2)-(LabelWidth/2),height);
}
void CONOFFStatusWidget::mouseReleaseEvent(QMouseEvent *event)
{
emit Clicked(mIndex);
}

View File

@ -19,24 +19,29 @@ public:
ON_OFF_LED_COLOR_RED
};
CONOFFStatusWidget(eONOFFLedColor Color, QWidget *Parent = NULL,QString Label = QString());
CONOFFStatusWidget(eONOFFLedColor Color,int index = -1, QWidget *Parent = NULL,QString Label = QString());
~CONOFFStatusWidget();
void paintEvent(QPaintEvent *PaintEvent);
void resizeEvent(QResizeEvent *);
void mouseReleaseEvent(QMouseEvent *event);
QLabel *mLabel;
QPixmap mLedOnPixmap,mLedOffPixmap;
bool IsOn;
bool mIsOn;
void SetON();
void SetOFF();
void Toggle();
void SetState(bool IsON);
int mIndex;
public slots:
signals:
void Clicked(int index);

View File

@ -6,7 +6,9 @@ int main(int argc, char *argv[])
{
QApplication a(argc, argv);
CCableTestBench CableTestBench;
QCoreApplication::setApplicationName("Testeur de cables");
QApplication::setApplicationName("Test");
CCableTestBench CableTestBench;
CableTestBench.Start();
return a.exec();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 28 KiB

BIN
images/connecteurs_BAK.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -17,6 +17,11 @@ INPUT(
./debug\OptionsPage.o
./debug\CableTestBenchDefs.o
./debug\IOModulesInterface.o
./debug\InputConnector.o
./debug\OutputConnector.o
./debug\CableParametersData.o
./debug\AutomatedTestReport.o
./debug\TestBenchSettings.o
./debug\moc_MainWindow.o
./debug\moc_MainPage.o
./debug\moc_CableTestBench.o
@ -26,5 +31,9 @@ INPUT(
./debug\moc_ConnectorClickZoneWidget.o
./debug\moc_ONOFFStatusWidget.o
./debug\moc_ConnectorTestVisualizationWidget.o
./debug\moc_TestReport.o
./debug\moc_CableTestEngine.o
./debug\moc_OptionsPage.o
./debug\moc_IOModulesInterface.o
./debug\moc_AutomatedTestReport.o
);

View File

@ -17,6 +17,11 @@ INPUT(
./release\OptionsPage.o
./release\CableTestBenchDefs.o
./release\IOModulesInterface.o
./release\InputConnector.o
./release\OutputConnector.o
./release\CableParametersData.o
./release\AutomatedTestReport.o
./release\TestBenchSettings.o
./release\moc_MainWindow.o
./release\moc_MainPage.o
./release\moc_CableTestBench.o
@ -26,5 +31,9 @@ INPUT(
./release\moc_ConnectorClickZoneWidget.o
./release\moc_ONOFFStatusWidget.o
./release\moc_ConnectorTestVisualizationWidget.o
./release\moc_TestReport.o
./release\moc_CableTestEngine.o
./release\moc_OptionsPage.o
./release\moc_IOModulesInterface.o
./release\moc_AutomatedTestReport.o
);

View File

@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'CMainPage.ui'
**
** Created: Fri May 3 10:58:09 2019
** Created: Fri Dec 6 12:10:43 2019
** by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!

View File

@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'CableTestPage.ui'
**
** Created: Fri May 3 10:58:09 2019
** Created: Fri Dec 6 12:10:44 2019
** by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
@ -14,10 +14,10 @@
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QCheckBox>
#include <QtGui/QComboBox>
#include <QtGui/QFrame>
#include <QtGui/QGridLayout>
#include <QtGui/QGroupBox>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
@ -51,19 +51,26 @@ public:
QLabel *mInspectionDoneIcon;
CConnectorTestVisualizationWidget *mInputTestVisualisationWidget;
QFrame *line;
CConnectorTestVisualizationWidget *mOutputTestVisualisationWidget;
QFrame *line_2;
QLabel *mInputContactsTextLabel;
QLabel *mOutputContactsTextLabel;
QPushButton *mNewCableBtn;
QFrame *frame;
QGroupBox *groupBox;
QPushButton *mStartTestBtn;
QPushButton *mReinitTestBtn;
QCheckBox *mCableIdentStepChkBx;
QCheckBox *mVisualInspStepChkBx;
QCheckBox *mConSelStepChkBx;
QGroupBox *groupBox_2;
QPushButton *mStartManualTestBtn;
QPushButton *mSaveReportBtn;
QLabel *mCableIdentStepLabel;
QLabel *mVisualInspectionStepLabel;
QLabel *mConnectorSelStepLabel;
QLabel *mInspVisuelleLabel_2;
QTextBrowser *mTestLogTextBox;
QGroupBox *groupBox_3;
QLabel *mAutoTestResultLabel;
QPushButton *mOpenReportBtn;
CConnectorTestVisualizationWidget *mOutputTestVisualisationWidget;
QLabel *mOutputContactsTextLabel;
void setupUi(QWidget *CCableTestPage)
{
@ -73,72 +80,83 @@ public:
mConnectorSelectWidget = new CConnectorSelectWidget(CCableTestPage);
mConnectorSelectWidget->setObjectName(QString::fromUtf8("mConnectorSelectWidget"));
mConnectorSelectWidget->setGeometry(QRect(970, 10, 376, 537));
QFont font;
font.setPointSize(11);
mConnectorSelectWidget->setFont(font);
mCableConfigFrame = new QFrame(CCableTestPage);
mCableConfigFrame->setObjectName(QString::fromUtf8("mCableConfigFrame"));
mCableConfigFrame->setGeometry(QRect(50, 50, 471, 121));
mCableConfigFrame->setGeometry(QRect(50, 40, 471, 161));
mCableConfigFrame->setFrameShape(QFrame::WinPanel);
mCableConfigFrame->setFrameShadow(QFrame::Raised);
mCableConfigFrame->setLineWidth(3);
layoutWidget = new QWidget(CCableTestPage);
layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
layoutWidget->setGeometry(QRect(60, 60, 451, 100));
layoutWidget->setGeometry(QRect(60, 50, 451, 144));
gridLayout = new QGridLayout(layoutWidget);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
gridLayout->setContentsMargins(0, 0, 0, 0);
mNomTesteurLabel = new QLabel(layoutWidget);
mNomTesteurLabel->setObjectName(QString::fromUtf8("mNomTesteurLabel"));
QFont font;
font.setPointSize(12);
mNomTesteurLabel->setFont(font);
QFont font1;
font1.setPointSize(14);
mNomTesteurLabel->setFont(font1);
gridLayout->addWidget(mNomTesteurLabel, 3, 0, 1, 1, Qt::AlignRight);
mTypeCableCombo = new QComboBox(layoutWidget);
mTypeCableCombo->setObjectName(QString::fromUtf8("mTypeCableCombo"));
mTypeCableCombo->setFont(font1);
gridLayout->addWidget(mTypeCableCombo, 2, 1, 1, 2);
mIdentCableEditBox = new QLineEdit(layoutWidget);
mIdentCableEditBox->setObjectName(QString::fromUtf8("mIdentCableEditBox"));
mIdentCableEditBox->setFont(font1);
gridLayout->addWidget(mIdentCableEditBox, 1, 1, 1, 2);
mStationNameCombo = new QComboBox(layoutWidget);
mStationNameCombo->setObjectName(QString::fromUtf8("mStationNameCombo"));
mStationNameCombo->setFont(font1);
gridLayout->addWidget(mStationNameCombo, 0, 1, 1, 2);
StationNameLabel = new QLabel(layoutWidget);
StationNameLabel->setObjectName(QString::fromUtf8("StationNameLabel"));
StationNameLabel->setFont(font);
StationNameLabel->setFont(font1);
gridLayout->addWidget(StationNameLabel, 0, 0, 1, 1, Qt::AlignRight);
mTypeCableLabel = new QLabel(layoutWidget);
mTypeCableLabel->setObjectName(QString::fromUtf8("mTypeCableLabel"));
mTypeCableLabel->setFont(font);
mTypeCableLabel->setFont(font1);
gridLayout->addWidget(mTypeCableLabel, 2, 0, 1, 1, Qt::AlignRight);
mIdentCableLabel = new QLabel(layoutWidget);
mIdentCableLabel->setObjectName(QString::fromUtf8("mIdentCableLabel"));
mIdentCableLabel->setFont(font);
mIdentCableLabel->setFont(font1);
gridLayout->addWidget(mIdentCableLabel, 1, 0, 1, 1);
mNomTesteurEditBox = new QLineEdit(layoutWidget);
mNomTesteurEditBox->setObjectName(QString::fromUtf8("mNomTesteurEditBox"));
mNomTesteurEditBox->setFont(font1);
gridLayout->addWidget(mNomTesteurEditBox, 3, 1, 1, 2);
mCableConfigLabel = new QLabel(CCableTestPage);
mCableConfigLabel->setObjectName(QString::fromUtf8("mCableConfigLabel"));
mCableConfigLabel->setGeometry(QRect(60, 20, 271, 20));
mCableConfigLabel->setFont(font);
mCableConfigLabel->setGeometry(QRect(60, 10, 271, 20));
QFont font2;
font2.setPointSize(16);
mCableConfigLabel->setFont(font2);
mInspVisuelleLabel = new QLabel(CCableTestPage);
mInspVisuelleLabel->setObjectName(QString::fromUtf8("mInspVisuelleLabel"));
mInspVisuelleLabel->setGeometry(QRect(600, 20, 271, 20));
mInspVisuelleLabel->setFont(font);
QFont font3;
font3.setPointSize(12);
mInspVisuelleLabel->setFont(font3);
mInspVisuelleFrame = new QFrame(CCableTestPage);
mInspVisuelleFrame->setObjectName(QString::fromUtf8("mInspVisuelleFrame"));
mInspVisuelleFrame->setGeometry(QRect(600, 40, 291, 121));
@ -147,73 +165,103 @@ public:
mInspVisuelleFrame->setLineWidth(3);
mExecInspVisuelleBtn = new QPushButton(mInspVisuelleFrame);
mExecInspVisuelleBtn->setObjectName(QString::fromUtf8("mExecInspVisuelleBtn"));
mExecInspVisuelleBtn->setGeometry(QRect(10, 50, 121, 23));
mExecInspVisuelleBtn->setGeometry(QRect(10, 30, 101, 51));
mExecInspVisuelleBtn->setFont(font3);
mInspectionDoneIcon = new QLabel(mInspVisuelleFrame);
mInspectionDoneIcon->setObjectName(QString::fromUtf8("mInspectionDoneIcon"));
mInspectionDoneIcon->setGeometry(QRect(160, 20, 101, 91));
mInputTestVisualisationWidget = new CConnectorTestVisualizationWidget(CCableTestPage);
mInputTestVisualisationWidget->setObjectName(QString::fromUtf8("mInputTestVisualisationWidget"));
mInputTestVisualisationWidget->setGeometry(QRect(10, 410, 471, 351));
mInputTestVisualisationWidget->setGeometry(QRect(500, 410, 461, 351));
mInputTestVisualisationWidget->setAutoFillBackground(false);
line = new QFrame(CCableTestPage);
line->setObjectName(QString::fromUtf8("line"));
line->setGeometry(QRect(30, 360, 901, 20));
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);
mOutputTestVisualisationWidget = new CConnectorTestVisualizationWidget(CCableTestPage);
mOutputTestVisualisationWidget->setObjectName(QString::fromUtf8("mOutputTestVisualisationWidget"));
mOutputTestVisualisationWidget->setGeometry(QRect(510, 410, 441, 351));
mOutputTestVisualisationWidget->setAutoFillBackground(false);
line_2 = new QFrame(CCableTestPage);
line_2->setObjectName(QString::fromUtf8("line_2"));
line_2->setGeometry(QRect(490, 390, 20, 371));
line_2->setGeometry(QRect(480, 390, 20, 371));
line_2->setFrameShape(QFrame::VLine);
line_2->setFrameShadow(QFrame::Sunken);
mInputContactsTextLabel = new QLabel(CCableTestPage);
mInputContactsTextLabel->setObjectName(QString::fromUtf8("mInputContactsTextLabel"));
mInputContactsTextLabel->setGeometry(QRect(130, 370, 161, 41));
QFont font1;
font1.setPointSize(16);
mInputContactsTextLabel->setFont(font1);
mOutputContactsTextLabel = new QLabel(CCableTestPage);
mOutputContactsTextLabel->setObjectName(QString::fromUtf8("mOutputContactsTextLabel"));
mOutputContactsTextLabel->setGeometry(QRect(670, 370, 161, 41));
mOutputContactsTextLabel->setFont(font1);
mInputContactsTextLabel->setGeometry(QRect(620, 370, 241, 41));
mInputContactsTextLabel->setFont(font2);
mNewCableBtn = new QPushButton(CCableTestPage);
mNewCableBtn->setObjectName(QString::fromUtf8("mNewCableBtn"));
mNewCableBtn->setGeometry(QRect(430, 20, 91, 23));
mNewCableBtn->setGeometry(QRect(400, 10, 121, 23));
mNewCableBtn->setFont(font3);
frame = new QFrame(CCableTestPage);
frame->setObjectName(QString::fromUtf8("frame"));
frame->setGeometry(QRect(50, 220, 471, 131));
frame->setGeometry(QRect(50, 220, 661, 141));
frame->setFrameShape(QFrame::Box);
frame->setFrameShadow(QFrame::Raised);
mStartTestBtn = new QPushButton(frame);
groupBox = new QGroupBox(frame);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
groupBox->setGeometry(QRect(360, 10, 141, 91));
mStartTestBtn = new QPushButton(groupBox);
mStartTestBtn->setObjectName(QString::fromUtf8("mStartTestBtn"));
mStartTestBtn->setGeometry(QRect(260, 20, 91, 23));
mReinitTestBtn = new QPushButton(frame);
mStartTestBtn->setGeometry(QRect(20, 20, 111, 23));
mStartTestBtn->setFont(font);
mReinitTestBtn = new QPushButton(groupBox);
mReinitTestBtn->setObjectName(QString::fromUtf8("mReinitTestBtn"));
mReinitTestBtn->setGeometry(QRect(260, 70, 91, 23));
mCableIdentStepChkBx = new QCheckBox(frame);
mCableIdentStepChkBx->setObjectName(QString::fromUtf8("mCableIdentStepChkBx"));
mCableIdentStepChkBx->setGeometry(QRect(20, 20, 151, 17));
mCableIdentStepChkBx->setCheckable(false);
mVisualInspStepChkBx = new QCheckBox(frame);
mVisualInspStepChkBx->setObjectName(QString::fromUtf8("mVisualInspStepChkBx"));
mVisualInspStepChkBx->setGeometry(QRect(20, 50, 151, 17));
mVisualInspStepChkBx->setCheckable(true);
mConSelStepChkBx = new QCheckBox(frame);
mConSelStepChkBx->setObjectName(QString::fromUtf8("mConSelStepChkBx"));
mConSelStepChkBx->setGeometry(QRect(20, 80, 191, 17));
mConSelStepChkBx->setCheckable(false);
mReinitTestBtn->setGeometry(QRect(20, 50, 111, 23));
mReinitTestBtn->setFont(font);
groupBox_2 = new QGroupBox(frame);
groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
groupBox_2->setGeometry(QRect(530, 10, 111, 80));
mStartManualTestBtn = new QPushButton(groupBox_2);
mStartManualTestBtn->setObjectName(QString::fromUtf8("mStartManualTestBtn"));
mStartManualTestBtn->setGeometry(QRect(20, 30, 75, 23));
mStartManualTestBtn->setFont(font3);
mSaveReportBtn = new QPushButton(frame);
mSaveReportBtn->setObjectName(QString::fromUtf8("mSaveReportBtn"));
mSaveReportBtn->setGeometry(QRect(470, 102, 161, 31));
mSaveReportBtn->setFont(font3);
mCableIdentStepLabel = new QLabel(frame);
mCableIdentStepLabel->setObjectName(QString::fromUtf8("mCableIdentStepLabel"));
mCableIdentStepLabel->setGeometry(QRect(20, 30, 341, 16));
mCableIdentStepLabel->setFont(font1);
mVisualInspectionStepLabel = new QLabel(frame);
mVisualInspectionStepLabel->setObjectName(QString::fromUtf8("mVisualInspectionStepLabel"));
mVisualInspectionStepLabel->setGeometry(QRect(20, 70, 331, 16));
mVisualInspectionStepLabel->setFont(font1);
mConnectorSelStepLabel = new QLabel(frame);
mConnectorSelStepLabel->setObjectName(QString::fromUtf8("mConnectorSelStepLabel"));
mConnectorSelStepLabel->setGeometry(QRect(20, 110, 451, 16));
mConnectorSelStepLabel->setFont(font1);
mInspVisuelleLabel_2 = new QLabel(CCableTestPage);
mInspVisuelleLabel_2->setObjectName(QString::fromUtf8("mInspVisuelleLabel_2"));
mInspVisuelleLabel_2->setGeometry(QRect(50, 200, 221, 20));
mInspVisuelleLabel_2->setFont(font);
mInspVisuelleLabel_2->setFont(font3);
mTestLogTextBox = new QTextBrowser(CCableTestPage);
mTestLogTextBox->setObjectName(QString::fromUtf8("mTestLogTextBox"));
mTestLogTextBox->setGeometry(QRect(970, 550, 381, 201));
mTestLogTextBox->setFrameShape(QFrame::Box);
mTestLogTextBox->setFrameShadow(QFrame::Plain);
groupBox_3 = new QGroupBox(CCableTestPage);
groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
groupBox_3->setGeometry(QRect(720, 220, 231, 131));
mAutoTestResultLabel = new QLabel(groupBox_3);
mAutoTestResultLabel->setObjectName(QString::fromUtf8("mAutoTestResultLabel"));
mAutoTestResultLabel->setGeometry(QRect(20, 30, 181, 41));
QFont font4;
font4.setPointSize(26);
mAutoTestResultLabel->setFont(font4);
mAutoTestResultLabel->setAlignment(Qt::AlignCenter);
mOpenReportBtn = new QPushButton(groupBox_3);
mOpenReportBtn->setObjectName(QString::fromUtf8("mOpenReportBtn"));
mOpenReportBtn->setGeometry(QRect(40, 90, 141, 31));
mOpenReportBtn->setFont(font3);
mOutputTestVisualisationWidget = new CConnectorTestVisualizationWidget(CCableTestPage);
mOutputTestVisualisationWidget->setObjectName(QString::fromUtf8("mOutputTestVisualisationWidget"));
mOutputTestVisualisationWidget->setGeometry(QRect(20, 410, 461, 351));
mOutputTestVisualisationWidget->setAutoFillBackground(false);
mOutputContactsTextLabel = new QLabel(CCableTestPage);
mOutputContactsTextLabel->setObjectName(QString::fromUtf8("mOutputContactsTextLabel"));
mOutputContactsTextLabel->setGeometry(QRect(190, 370, 221, 41));
mOutputContactsTextLabel->setFont(font2);
retranslateUi(CCableTestPage);
@ -229,36 +277,31 @@ public:
<< QApplication::translate("CCableTestPage", "Permanent", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("CCableTestPage", "Temporaire", 0, QApplication::UnicodeUTF8)
);
mStationNameCombo->clear();
mStationNameCombo->insertItems(0, QStringList()
<< QApplication::translate("CCableTestPage", "Frontenac", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("CCableTestPage", "C\303\264te-Vertu", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("CCableTestPage", "Angrignon", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("CCableTestPage", "Garage Angrignon", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("CCableTestPage", "Atwater", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("CCableTestPage", "Lionel-Groulx", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("CCableTestPage", "Viau", 0, QApplication::UnicodeUTF8)
);
StationNameLabel->setText(QApplication::translate("CCableTestPage", "Station", 0, QApplication::UnicodeUTF8));
mTypeCableLabel->setText(QApplication::translate("CCableTestPage", "Type c\303\242ble", 0, QApplication::UnicodeUTF8));
mIdentCableLabel->setText(QApplication::translate("CCableTestPage", "Identification du c\303\242ble", 0, QApplication::UnicodeUTF8));
mNomTesteurEditBox->setText(QString());
mCableConfigLabel->setText(QApplication::translate("CCableTestPage", "Configuration du c\303\242ble", 0, QApplication::UnicodeUTF8));
mInspVisuelleLabel->setText(QApplication::translate("CCableTestPage", "Inspection visuelle", 0, QApplication::UnicodeUTF8));
mExecInspVisuelleBtn->setText(QApplication::translate("CCableTestPage", "Effectuer Inspection", 0, QApplication::UnicodeUTF8));
mExecInspVisuelleBtn->setText(QApplication::translate("CCableTestPage", "Effectuer\n"
" Inspection", 0, QApplication::UnicodeUTF8));
mInspectionDoneIcon->setText(QApplication::translate("CCableTestPage", "TextLabel", 0, QApplication::UnicodeUTF8));
mInputContactsTextLabel->setText(QApplication::translate("CCableTestPage", "Contacts entr\303\251e", 0, QApplication::UnicodeUTF8));
mOutputContactsTextLabel->setText(QApplication::translate("CCableTestPage", "Contacts sortie", 0, QApplication::UnicodeUTF8));
mNewCableBtn->setText(QApplication::translate("CCableTestPage", "Nouveau C\303\242ble", 0, QApplication::UnicodeUTF8));
groupBox->setTitle(QApplication::translate("CCableTestPage", "Test Automatique", 0, QApplication::UnicodeUTF8));
mStartTestBtn->setText(QApplication::translate("CCableTestPage", "D\303\251marrer test", 0, QApplication::UnicodeUTF8));
mReinitTestBtn->setText(QApplication::translate("CCableTestPage", "R\303\251initialiser test", 0, QApplication::UnicodeUTF8));
mCableIdentStepChkBx->setText(QApplication::translate("CCableTestPage", "1. Identification du c\303\242ble", 0, QApplication::UnicodeUTF8));
#ifndef QT_NO_TOOLTIP
mVisualInspStepChkBx->setToolTip(QString());
#endif // QT_NO_TOOLTIP
mVisualInspStepChkBx->setText(QApplication::translate("CCableTestPage", "2. Inspection visuelle", 0, QApplication::UnicodeUTF8));
mConSelStepChkBx->setText(QApplication::translate("CCableTestPage", "3. S\303\251lection du connecteur d'entr\303\251e", 0, QApplication::UnicodeUTF8));
groupBox_2->setTitle(QApplication::translate("CCableTestPage", "Test Manuel", 0, QApplication::UnicodeUTF8));
mStartManualTestBtn->setText(QApplication::translate("CCableTestPage", "Ex\303\251cuter", 0, QApplication::UnicodeUTF8));
mSaveReportBtn->setText(QApplication::translate("CCableTestPage", "Sauvegarder Rapport", 0, QApplication::UnicodeUTF8));
mCableIdentStepLabel->setText(QApplication::translate("CCableTestPage", "1. Identification du c\303\242ble: \303\200 REMPLIR", 0, QApplication::UnicodeUTF8));
mVisualInspectionStepLabel->setText(QApplication::translate("CCableTestPage", "2. Inspection visuelle: \303\200 EX\303\211CUTER", 0, QApplication::UnicodeUTF8));
mConnectorSelStepLabel->setText(QApplication::translate("CCableTestPage", "3. S\303\251lection du connecteur d'entr\303\251e: \303\200 FAIRE", 0, QApplication::UnicodeUTF8));
mInspVisuelleLabel_2->setText(QApplication::translate("CCableTestPage", "Contr\303\264le du test \303\251lectrique", 0, QApplication::UnicodeUTF8));
groupBox_3->setTitle(QApplication::translate("CCableTestPage", "R\303\251sultat du test", 0, QApplication::UnicodeUTF8));
mAutoTestResultLabel->setText(QApplication::translate("CCableTestPage", "En cours...", 0, QApplication::UnicodeUTF8));
mOpenReportBtn->setText(QApplication::translate("CCableTestPage", "Ouvrir Rapport", 0, QApplication::UnicodeUTF8));
mOutputContactsTextLabel->setText(QApplication::translate("CCableTestPage", "Contacts sortie", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};

View File

@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'OptionsPage.ui'
**
** Created: Fri May 3 10:58:09 2019
** Created: Fri Dec 6 12:10:44 2019
** by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
@ -14,6 +14,7 @@
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QCheckBox>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QPushButton>
@ -25,82 +26,87 @@ QT_BEGIN_NAMESPACE
class Ui_COptionsPage
{
public:
QLabel *label;
QLabel *label_2;
QSpinBox *mTestHoldTimeHighSpinBx;
QLabel *label_3;
QLabel *label_4;
QSpinBox *mTestHoldTimeLowSpinBx;
QSpinBox *mIPAdd1SpinBox;
QSpinBox *mIPAdd2SpinBox;
QSpinBox *mIPAdd3SpinBox;
QSpinBox *mIPAdd4SpinBox;
QLabel *label_5;
QPushButton *mApplyAndSaveBtn;
QCheckBox *mIgnoreVisualInspChkBx;
QCheckBox *mIncludeLogInReportChkBx;
QCheckBox *mExecSecondTestChkBx;
void setupUi(QWidget *COptionsPage)
{
if (COptionsPage->objectName().isEmpty())
COptionsPage->setObjectName(QString::fromUtf8("COptionsPage"));
COptionsPage->resize(1119, 647);
label = new QLabel(COptionsPage);
label->setObjectName(QString::fromUtf8("label"));
label->setGeometry(QRect(100, 40, 181, 31));
QFont font;
font.setPointSize(14);
label->setFont(font);
COptionsPage->resize(564, 647);
label_2 = new QLabel(COptionsPage);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setGeometry(QRect(530, 40, 181, 31));
label_2->setGeometry(QRect(170, 40, 321, 31));
QFont font;
font.setPointSize(14);
label_2->setFont(font);
mTestHoldTimeHighSpinBx = new QSpinBox(COptionsPage);
mTestHoldTimeHighSpinBx->setObjectName(QString::fromUtf8("mTestHoldTimeHighSpinBx"));
mTestHoldTimeHighSpinBx->setGeometry(QRect(680, 110, 61, 22));
mTestHoldTimeHighSpinBx->setGeometry(QRect(320, 110, 61, 22));
mTestHoldTimeHighSpinBx->setMinimum(100);
mTestHoldTimeHighSpinBx->setMaximum(5000);
mTestHoldTimeHighSpinBx->setValue(1000);
label_3 = new QLabel(COptionsPage);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setGeometry(QRect(500, 110, 171, 20));
label_3->setGeometry(QRect(100, 110, 211, 20));
QFont font1;
font1.setPointSize(10);
font1.setPointSize(12);
label_3->setFont(font1);
label_4 = new QLabel(COptionsPage);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setGeometry(QRect(500, 150, 171, 20));
label_4->setFont(font1);
mTestHoldTimeLowSpinBx = new QSpinBox(COptionsPage);
mTestHoldTimeLowSpinBx->setObjectName(QString::fromUtf8("mTestHoldTimeLowSpinBx"));
mTestHoldTimeLowSpinBx->setGeometry(QRect(680, 150, 61, 22));
mTestHoldTimeLowSpinBx->setMinimum(1);
mTestHoldTimeLowSpinBx->setMaximum(5000);
mTestHoldTimeLowSpinBx->setValue(1);
mIPAdd1SpinBox = new QSpinBox(COptionsPage);
mIPAdd1SpinBox->setObjectName(QString::fromUtf8("mIPAdd1SpinBox"));
mIPAdd1SpinBox->setGeometry(QRect(510, 340, 42, 22));
mIPAdd1SpinBox->setGeometry(QRect(131, 361, 51, 22));
QFont font2;
font2.setPointSize(11);
mIPAdd1SpinBox->setFont(font2);
mIPAdd1SpinBox->setMaximum(255);
mIPAdd1SpinBox->setValue(192);
mIPAdd2SpinBox = new QSpinBox(COptionsPage);
mIPAdd2SpinBox->setObjectName(QString::fromUtf8("mIPAdd2SpinBox"));
mIPAdd2SpinBox->setGeometry(QRect(560, 340, 42, 22));
mIPAdd2SpinBox->setGeometry(QRect(190, 361, 51, 22));
mIPAdd2SpinBox->setFont(font2);
mIPAdd2SpinBox->setMaximum(255);
mIPAdd2SpinBox->setValue(168);
mIPAdd3SpinBox = new QSpinBox(COptionsPage);
mIPAdd3SpinBox->setObjectName(QString::fromUtf8("mIPAdd3SpinBox"));
mIPAdd3SpinBox->setGeometry(QRect(610, 340, 42, 22));
mIPAdd3SpinBox->setGeometry(QRect(250, 360, 51, 22));
mIPAdd3SpinBox->setFont(font2);
mIPAdd3SpinBox->setMaximum(255);
mIPAdd4SpinBox = new QSpinBox(COptionsPage);
mIPAdd4SpinBox->setObjectName(QString::fromUtf8("mIPAdd4SpinBox"));
mIPAdd4SpinBox->setGeometry(QRect(660, 340, 42, 22));
mIPAdd4SpinBox->setGeometry(QRect(300, 360, 51, 22));
mIPAdd4SpinBox->setFont(font2);
mIPAdd4SpinBox->setMaximum(255);
mIPAdd4SpinBox->setValue(52);
label_5 = new QLabel(COptionsPage);
label_5->setObjectName(QString::fromUtf8("label_5"));
label_5->setGeometry(QRect(510, 310, 171, 20));
label_5->setGeometry(QRect(140, 320, 351, 31));
label_5->setFont(font1);
mApplyAndSaveBtn = new QPushButton(COptionsPage);
mApplyAndSaveBtn->setObjectName(QString::fromUtf8("mApplyAndSaveBtn"));
mApplyAndSaveBtn->setGeometry(QRect(390, 550, 131, 23));
mApplyAndSaveBtn->setGeometry(QRect(170, 470, 181, 23));
mApplyAndSaveBtn->setFont(font2);
mIgnoreVisualInspChkBx = new QCheckBox(COptionsPage);
mIgnoreVisualInspChkBx->setObjectName(QString::fromUtf8("mIgnoreVisualInspChkBx"));
mIgnoreVisualInspChkBx->setGeometry(QRect(140, 160, 321, 21));
mIgnoreVisualInspChkBx->setFont(font1);
mIncludeLogInReportChkBx = new QCheckBox(COptionsPage);
mIncludeLogInReportChkBx->setObjectName(QString::fromUtf8("mIncludeLogInReportChkBx"));
mIncludeLogInReportChkBx->setGeometry(QRect(140, 200, 321, 17));
mIncludeLogInReportChkBx->setFont(font1);
mExecSecondTestChkBx = new QCheckBox(COptionsPage);
mExecSecondTestChkBx->setObjectName(QString::fromUtf8("mExecSecondTestChkBx"));
mExecSecondTestChkBx->setGeometry(QRect(140, 240, 281, 17));
mExecSecondTestChkBx->setFont(font1);
retranslateUi(COptionsPage);
@ -110,12 +116,14 @@ public:
void retranslateUi(QWidget *COptionsPage)
{
COptionsPage->setWindowTitle(QApplication::translate("COptionsPage", "Form", 0, QApplication::UnicodeUTF8));
label->setText(QApplication::translate("COptionsPage", "Valeurs par d\303\251faut", 0, QApplication::UnicodeUTF8));
label_2->setText(QApplication::translate("COptionsPage", "Param\303\250tres de test", 0, QApplication::UnicodeUTF8));
label_3->setText(QApplication::translate("COptionsPage", "Temps de maintien haut (ms)", 0, QApplication::UnicodeUTF8));
label_4->setText(QApplication::translate("COptionsPage", "Temps de maintien bas (ms)", 0, QApplication::UnicodeUTF8));
label_5->setText(QApplication::translate("COptionsPage", "Adresse IP module I/O", 0, QApplication::UnicodeUTF8));
label_5->setText(QApplication::translate("COptionsPage", "Adresse IP module I/O \n"
"(red\303\251marrage de l'application requis)", 0, QApplication::UnicodeUTF8));
mApplyAndSaveBtn->setText(QApplication::translate("COptionsPage", "Appliquer && Sauvegarder", 0, QApplication::UnicodeUTF8));
mIgnoreVisualInspChkBx->setText(QApplication::translate("COptionsPage", "Ignorer l'inspection visuelle", 0, QApplication::UnicodeUTF8));
mIncludeLogInReportChkBx->setText(QApplication::translate("COptionsPage", "Inclure LOG dans le rapport", 0, QApplication::UnicodeUTF8));
mExecSecondTestChkBx->setText(QApplication::translate("COptionsPage", "Ex\303\251cuter 2\303\250 passe de tests", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};

View File

@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'VisualInspectionPage.ui'
**
** Created: Fri May 3 10:58:09 2019
** Created: Fri Dec 6 12:10:44 2019
** by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
@ -57,42 +57,42 @@ public:
CVisualInspectionPage->resize(1103, 710);
label = new QLabel(CVisualInspectionPage);
label->setObjectName(QString::fromUtf8("label"));
label->setGeometry(QRect(250, 10, 601, 81));
label->setGeometry(QRect(230, 10, 771, 101));
QFont font;
font.setPointSize(14);
label->setFont(font);
label_2 = new QLabel(CVisualInspectionPage);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setGeometry(QRect(380, 230, 261, 16));
QFont font1;
font1.setPointSize(12);
label_2->setFont(font1);
label_2->setGeometry(QRect(380, 230, 411, 21));
label_2->setFont(font);
label_3 = new QLabel(CVisualInspectionPage);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setGeometry(QRect(380, 280, 311, 16));
label_3->setFont(font1);
label_3->setGeometry(QRect(380, 280, 441, 31));
label_3->setFont(font);
label_4 = new QLabel(CVisualInspectionPage);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setGeometry(QRect(380, 330, 311, 16));
label_4->setFont(font1);
label_4->setGeometry(QRect(380, 330, 511, 21));
label_4->setFont(font);
label_5 = new QLabel(CVisualInspectionPage);
label_5->setObjectName(QString::fromUtf8("label_5"));
label_5->setGeometry(QRect(380, 380, 471, 16));
label_5->setFont(font1);
label_5->setGeometry(QRect(380, 380, 611, 21));
label_5->setFont(font);
label_6 = new QLabel(CVisualInspectionPage);
label_6->setObjectName(QString::fromUtf8("label_6"));
label_6->setGeometry(QRect(380, 430, 471, 16));
label_6->setFont(font1);
label_6->setGeometry(QRect(380, 430, 591, 21));
label_6->setFont(font);
label_7 = new QLabel(CVisualInspectionPage);
label_7->setObjectName(QString::fromUtf8("label_7"));
label_7->setGeometry(QRect(120, 140, 811, 20));
label_7->setGeometry(QRect(120, 140, 941, 20));
QFont font1;
font1.setPointSize(12);
label_7->setFont(font1);
label_8 = new QLabel(CVisualInspectionPage);
label_8->setObjectName(QString::fromUtf8("label_8"));
label_8->setGeometry(QRect(330, 200, 46, 13));
label_8->setGeometry(QRect(330, 200, 81, 16));
label_9 = new QLabel(CVisualInspectionPage);
label_9->setObjectName(QString::fromUtf8("label_9"));
label_9->setGeometry(QRect(230, 200, 71, 16));
label_9->setGeometry(QRect(230, 200, 91, 16));
mVerif52DoneChkBx = new QCheckBox(CVisualInspectionPage);
mVerif52DoneChkBx->setObjectName(QString::fromUtf8("mVerif52DoneChkBx"));
mVerif52DoneChkBx->setGeometry(QRect(340, 230, 21, 17));
@ -136,16 +136,19 @@ public:
mOKBtn = new QPushButton(CVisualInspectionPage);
mOKBtn->setObjectName(QString::fromUtf8("mOKBtn"));
mOKBtn->setGeometry(QRect(110, 580, 75, 23));
mOKBtn->setFont(font1);
mNotesTextEditBx = new QTextEdit(CVisualInspectionPage);
mNotesTextEditBx->setObjectName(QString::fromUtf8("mNotesTextEditBx"));
mNotesTextEditBx->setGeometry(QRect(260, 530, 611, 141));
mNotesTextEditBx->setFrameShadow(QFrame::Plain);
label_10 = new QLabel(CVisualInspectionPage);
label_10->setObjectName(QString::fromUtf8("label_10"));
label_10->setGeometry(QRect(260, 500, 811, 20));
label_10->setFont(font1);
mResetInspectionFormBtn = new QPushButton(CVisualInspectionPage);
mResetInspectionFormBtn->setObjectName(QString::fromUtf8("mResetInspectionFormBtn"));
mResetInspectionFormBtn->setGeometry(QRect(790, 260, 75, 23));
mResetInspectionFormBtn->setGeometry(QRect(790, 260, 121, 23));
mResetInspectionFormBtn->setFont(font1);
retranslateUi(CVisualInspectionPage);