JF před 6 roky
rodič
revize
2423aa27c3
32 změnil soubory, kde provedl 876 přidání a 103 odebrání
  1. binární
      %SystemDrive%/ProgramData/Microsoft/Windows/Caches/cversions.2.db
  2. binární
      %SystemDrive%/ProgramData/Microsoft/Windows/Caches/{6AF0698E-D558-4F6E-9B3C-3716689AF493}.2.ver0x0000000000000001.db
  3. binární
      %SystemDrive%/ProgramData/Microsoft/Windows/Caches/{DDF571F2-BE98-426D-8288-1A9A39C3FDA2}.2.ver0x0000000000000001.db
  4. +1
    -1
      CableTestBench.pro.user
  5. +1
    -1
      Makefile
  6. +27
    -5
      Makefile.Debug
  7. +27
    -5
      Makefile.Release
  8. +52
    -0
      Rapports/190510_164434_1S52CABLE_XX_NO_AA_BB.c.txt
  9. +68
    -0
      Rapports/190510_164450_1S52CABLE_XX_NO_AA_BB.c.txt
  10. +191
    -3
      Sources/AutomatedTestReport.cpp
  11. +32
    -7
      Sources/AutomatedTestReport.h
  12. +2
    -1
      Sources/CableParametersData.cpp
  13. +2
    -2
      Sources/CableParametersData.h
  14. +47
    -1
      Sources/CableTestBench.cpp
  15. +7
    -0
      Sources/CableTestBench.h
  16. +3
    -2
      Sources/CableTestBenchDefs.cpp
  17. +1
    -0
      Sources/CableTestBenchDefs.h
  18. +71
    -17
      Sources/CableTestEngine.cpp
  19. +2
    -0
      Sources/CableTestEngine.h
  20. +62
    -2
      Sources/CableTestPage.cpp
  21. +6
    -0
      Sources/CableTestPage.h
  22. +61
    -37
      Sources/CableTestPage.ui
  23. +148
    -0
      Sources/TestReport.cpp
  24. +16
    -1
      Sources/TestReport.h
  25. +17
    -4
      Sources/VisualInspectionResult.cpp
  26. +2
    -0
      Sources/VisualInspectionResult.h
  27. +1
    -0
      object_script.CableTestBench.Debug
  28. +1
    -0
      object_script.CableTestBench.Release
  29. +1
    -1
      ui_CMainPage.h
  30. +25
    -11
      ui_CableTestPage.h
  31. +1
    -1
      ui_OptionsPage.h
  32. +1
    -1
      ui_VisualInspectionPage.h

binární
%SystemDrive%/ProgramData/Microsoft/Windows/Caches/cversions.2.db Zobrazit soubor


binární
%SystemDrive%/ProgramData/Microsoft/Windows/Caches/{6AF0698E-D558-4F6E-9B3C-3716689AF493}.2.ver0x0000000000000001.db Zobrazit soubor


binární
%SystemDrive%/ProgramData/Microsoft/Windows/Caches/{DDF571F2-BE98-426D-8288-1A9A39C3FDA2}.2.ver0x0000000000000001.db Zobrazit soubor


+ 1
- 1
CableTestBench.pro.user Zobrazit soubor

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by Qt Creator 2.6.2, 2019-05-08T14:15:28. -->
<!-- Written by Qt Creator 2.6.2, 2019-05-10T16:47:18. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>


+ 1
- 1
Makefile Zobrazit soubor

@@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: CableTestBench
# Generated by qmake (2.01a) (Qt 4.8.1) on: Wed May 8 14:10:10 2019
# Generated by qmake (2.01a) (Qt 4.8.1) on: Fri May 10 14:02:01 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


+ 27
- 5
Makefile.Debug Zobrazit soubor

@@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: CableTestBench
# Generated by qmake (2.01a) (Qt 4.8.1) on: Wed May 8 14:10:10 2019
# Generated by qmake (2.01a) (Qt 4.8.1) on: Fri May 10 14:02:01 2019
# Project: CableTestBench.pro
# Template: app
#############################################################################
@@ -71,6 +71,7 @@ SOURCES = Sources\MainWindow.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 \
@@ -106,6 +107,7 @@ OBJECTS = debug/MainWindow.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 \
@@ -147,7 +149,7 @@ 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

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\InputConnector.o debug\OutputConnector.o debug\CableParametersData.o debug\AutomatedTestReport.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_CableTestEngine.o debug\moc_OptionsPage.o debug\moc_IOModulesInterface.o debug\moc_AutomatedTestReport.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\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)
@@ -159,9 +161,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_CableTestEngine.cpp debug/moc_OptionsPage.cpp debug/moc_IOModulesInterface.cpp debug/moc_AutomatedTestReport.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_CableTestEngine.cpp debug\moc_OptionsPage.cpp debug\moc_IOModulesInterface.cpp debug\moc_AutomatedTestReport.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 \
@@ -191,6 +193,7 @@ debug/moc_CableTestBench.cpp: Sources/MainWindow.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
@@ -218,6 +221,14 @@ 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_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 \
@@ -229,6 +240,7 @@ debug/moc_CableTestEngine.cpp: Sources/Cable.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

@@ -292,6 +304,7 @@ debug/MainWindow.o: Sources/MainWindow.cpp Sources/MainWindow.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

@@ -312,6 +325,7 @@ debug/main.o: Sources/main.cpp Sources/CableTestBench.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

@@ -336,6 +350,7 @@ debug/CableTestBench.o: Sources/CableTestBench.cpp Sources/CableTestBench.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

@@ -357,6 +372,7 @@ debug/VisualInspectionPage.o: Sources/VisualInspectionPage.cpp Sources/VisualIns
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

@@ -382,6 +398,7 @@ debug/CableTestPage.o: Sources/CableTestPage.cpp Sources/CableTestPage.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

@@ -418,7 +435,8 @@ debug/TestReport.o: Sources/TestReport.cpp Sources/TestReport.h \
Sources/GlobalDefine.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\TestReport.o Sources\TestReport.cpp

debug/CableTestEngine.o: Sources/CableTestEngine.cpp Sources/CableTestEngine.h \
@@ -433,6 +451,7 @@ debug/CableTestEngine.o: Sources/CableTestEngine.cpp Sources/CableTestEngine.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestBench.h \
Sources/MainWindow.h \
Sources/MainPage.h \
@@ -500,6 +519,9 @@ 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



+ 27
- 5
Makefile.Release Zobrazit soubor

@@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: CableTestBench
# Generated by qmake (2.01a) (Qt 4.8.1) on: Wed May 8 14:10:10 2019
# Generated by qmake (2.01a) (Qt 4.8.1) on: Fri May 10 14:02:01 2019
# Project: CableTestBench.pro
# Template: app
#############################################################################
@@ -71,6 +71,7 @@ SOURCES = Sources\MainWindow.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 \
@@ -106,6 +107,7 @@ OBJECTS = release/MainWindow.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 \
@@ -147,7 +149,7 @@ 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

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\InputConnector.o release\OutputConnector.o release\CableParametersData.o release\AutomatedTestReport.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_CableTestEngine.o release\moc_OptionsPage.o release\moc_IOModulesInterface.o release\moc_AutomatedTestReport.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\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)
@@ -159,9 +161,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_CableTestEngine.cpp release/moc_OptionsPage.cpp release/moc_IOModulesInterface.cpp release/moc_AutomatedTestReport.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_CableTestEngine.cpp release\moc_OptionsPage.cpp release\moc_IOModulesInterface.cpp release\moc_AutomatedTestReport.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 \
@@ -191,6 +193,7 @@ release/moc_CableTestBench.cpp: Sources/MainWindow.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
@@ -218,6 +221,14 @@ 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_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 \
@@ -229,6 +240,7 @@ release/moc_CableTestEngine.cpp: Sources/Cable.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

@@ -292,6 +304,7 @@ release/MainWindow.o: Sources/MainWindow.cpp Sources/MainWindow.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

@@ -312,6 +325,7 @@ release/main.o: Sources/main.cpp Sources/CableTestBench.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

@@ -336,6 +350,7 @@ release/CableTestBench.o: Sources/CableTestBench.cpp Sources/CableTestBench.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

@@ -357,6 +372,7 @@ release/VisualInspectionPage.o: Sources/VisualInspectionPage.cpp Sources/VisualI
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

@@ -382,6 +398,7 @@ release/CableTestPage.o: Sources/CableTestPage.cpp Sources/CableTestPage.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

@@ -418,7 +435,8 @@ release/TestReport.o: Sources/TestReport.cpp Sources/TestReport.h \
Sources/GlobalDefine.h \
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\TestReport.o Sources\TestReport.cpp

release/CableTestEngine.o: Sources/CableTestEngine.cpp Sources/CableTestEngine.h \
@@ -433,6 +451,7 @@ release/CableTestEngine.o: Sources/CableTestEngine.cpp Sources/CableTestEngine.h
Sources/VisualInspectionResult.h \
Sources/CableParametersData.h \
Sources/TestBenchVersion.h \
Sources/AutomatedTestReport.h \
Sources/CableTestBench.h \
Sources/MainWindow.h \
Sources/MainPage.h \
@@ -500,6 +519,9 @@ 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



+ 52
- 0
Rapports/190510_164434_1S52CABLE_XX_NO_AA_BB.c.txt Zobrazit soubor

@@ -0,0 +1,52 @@
Rapport de test - Câble SEI
Date de l'essai: 2019-05-10
Version du logiciel de test: V0.10_ING_DEV

-----------------------------------------
Paramètres du câble:
Identification du câble: CABLE_XX_NO_AA_BB.c
Station: 1S52 - Frontenac
Type: Permanent
Opérateur du test: JFMartel
Connecteur d'entrée: Connecteur circulaire 6 contacts
Connecteur de sortie: Connecteur circulaire 6 contacts

-----------------------------------------
Résultats de l'inspection visuelle:
Section 5.2 exécutée: N/A
Section 5.3 exécutée: N/A
Section 5.4 exécutée: N/A
Section 5.5 exécutée: N/A
Section 5.6 exécutée: N/A

Notes d'inspection:



-----------------------------------------
Résultats du test automatique du câble:
Lorsqu'applicable, les valeurs entre crochets [] correspondent aux contacts en défaut.

No. Contact Continuité Isolation Assignation 2è test
1 Succès Succès Succès N/A
2 Succès Succès Succès N/A
3 Succès Succès Succès N/A
4 Succès Succès Succès N/A
5 Succès Succès Succès N/A
6 Succès Succès Succès N/A



Signature de l'opérateur de test: _________________________________________

-----------------------------------------
Log du test:
16:44:31.062 - Démarrage du test automatique.
16:44:31.523 - Succès de l'auto test des modules d'I/O
16:44:32.015 - Succès du test du contact 1
16:44:32.420 - Succès du test du contact 2
16:44:32.832 - Succès du test du contact 3
16:44:33.270 - Succès du test du contact 4
16:44:33.708 - Succès du test du contact 5
16:44:34.144 - Succès du test du contact 6
16:44:34.304 - Test automatique terminé

+ 68
- 0
Rapports/190510_164450_1S52CABLE_XX_NO_AA_BB.c.txt Zobrazit soubor

@@ -0,0 +1,68 @@
Rapport de test - Câble SEI
Date de l'essai: 2019-05-10
Version du logiciel de test: V0.10_ING_DEV

-----------------------------------------
Paramètres du câble:
Identification du câble: CABLE_XX_NO_AA_BB.c
Station: 1S52 - Frontenac
Type: Permanent
Opérateur du test: JFMartel
Connecteur d'entrée: Connecteur circulaire 14 contacts
Connecteur de sortie: Connecteur circulaire 14 contacts

-----------------------------------------
Résultats de l'inspection visuelle:
Section 5.2 exécutée: N/A
Section 5.3 exécutée: N/A
Section 5.4 exécutée: N/A
Section 5.5 exécutée: N/A
Section 5.6 exécutée: N/A

Notes d'inspection:



-----------------------------------------
Résultats du test automatique du câble:
Lorsqu'applicable, les valeurs entre crochets [] correspondent aux contacts en défaut.

No. Contact Continuité Isolation Assignation 2è test
1 Succès Succès Succès N/A
2 Succès Succès Succès N/A
3 Succès Succès Succès N/A
4 Succès Succès Succès N/A
5 Succès Succès Succès N/A
6 Succès Succès Succès N/A
7 Succès Succès Succès N/A
8 Succès Succès Succès N/A
9 Succès Succès Succès N/A
10 Succès Succès Succès N/A
11 Succès Succès Succès N/A
12 Succès Succès Succès N/A
13 N/A N/A Échec[14] N/A
14 N/A N/A Échec[13] N/A



Signature de l'opérateur de test: _________________________________________

-----------------------------------------
Log du test:
16:44:44.052 - Démarrage du test automatique.
16:44:44.520 - Succès de l'auto test des modules d'I/O
16:44:44.996 - Succès du test du contact 1
16:44:45.399 - Succès du test du contact 2
16:44:45.827 - Succès du test du contact 3
16:44:46.213 - Succès du test du contact 4
16:44:46.616 - Succès du test du contact 5
16:44:47.029 - Succès du test du contact 6
16:44:47.470 - Succès du test du contact 7
16:44:47.902 - Succès du test du contact 8
16:44:48.339 - Succès du test du contact 9
16:44:48.778 - Succès du test du contact 10
16:44:49.255 - Succès du test du contact 11
16:44:49.658 - Succès du test du contact 12
16:44:50.088 - Échec du test d'assignation du contact 13: le contact 14 est activé.
16:44:50.522 - Échec du test d'assignation du contact 14: le contact 13 est activé.
16:44:50.616 - Test automatique terminé

+ 191
- 3
Sources/AutomatedTestReport.cpp Zobrazit soubor

@@ -10,6 +10,7 @@ int CAutomatedTestReport::ClearAutomatedTestReport()
{
mTestPinsResult.clear();
mPinCount = 0;
mPreTestResult = AUTO_TEST_RESULT_UNKNOWN;
return RET_OK;
}

@@ -39,6 +40,20 @@ int CAutomatedTestReport::SetPinResult(int PinNumber, bool ContinuityPassed, boo
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)
{
@@ -66,6 +81,23 @@ int CAutomatedTestReport::SetPinIsolationResult(int PinNumber, bool IsolationPas
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;
@@ -79,16 +111,172 @@ int CAutomatedTestReport::SetPinSecondTestResult(int PinNumber, bool SecondTestP
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 = PIN_TEST_RESULT_UNKNOWN;
mIsolationTestPass = PIN_TEST_RESULT_UNKNOWN;
mSecondTestPass = PIN_TEST_RESULT_UNKNOWN;
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) //TODO: Add 2nd pass result.
{
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;
}

+ 32
- 7
Sources/AutomatedTestReport.h Zobrazit soubor

@@ -6,6 +6,13 @@

class CPinTestResult;

enum eAutoTestResultDef
{
AUTO_TEST_FAILED,
AUTO_TEST_SUCCESS,
AUTO_TEST_RESULT_UNKNOWN
};

class CAutomatedTestReport : public QObject
{
Q_OBJECT
@@ -14,15 +21,29 @@ public:

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);

int SetPreTestResult(bool PreTestPassed);

private:
QList<CPinTestResult> mTestPinsResult;
int mPinCount;
int mPreTestResult;
signals:
@@ -33,22 +54,26 @@ public slots:
class CPinTestResult
{
public:
enum ePinTestResultDef
{
PIN_TEST_FAILED,
PIN_TEST_SUCCESS,
PIN_TEST_RESULT_UNKNOWN
};
// 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;

};



+ 2
- 1
Sources/CableParametersData.cpp Zobrazit soubor

@@ -19,9 +19,10 @@ int CCableParametersData::ResetData()
return RET_OK;
}

int CCableParametersData::SetCableParams(QString StationName, QString CableIdentification, QString CableType, QString OperatorName)
int CCableParametersData::SetCableParams(QString StationName, QString StationCode, QString CableIdentification, QString CableType, QString OperatorName)
{
mStationName = StationName;
mStationCodeName = StationCode;
mCableIdentification = CableIdentification;
mCableType = CableType;
mTestOperatorName = OperatorName;


+ 2
- 2
Sources/CableParametersData.h Zobrazit soubor

@@ -11,13 +11,13 @@ public:

int ResetData();

int SetCableParams(QString StationName, QString CableIdentification, QString CableType, QString OperatorName);
int SetCableParams(QString StationName, QString StationCode, QString CableIdentification, QString CableType, QString OperatorName);
int SetCableType(QString InputConnectortype, QString OutputConnectorType);



private:
QString mStationName;
QString mStationCodeName;
QString mCableIdentification; //Cable name
QString mCableType; //permanent or temporary
QString mTestOperatorName;


+ 47
- 1
Sources/CableTestBench.cpp Zobrazit soubor

@@ -1,6 +1,8 @@
#include "CableTestBench.h"
#include <QDateTime>
#include "CableTestBenchDefs.h"
#include <QFileInfo>
#include <QProcess>

CCableTestBench::CCableTestBench(QObject *parent) :
QObject(parent),
@@ -30,6 +32,7 @@ int CCableTestBench::Start()
mIOInterface.OpenIOModules();

mCableTestPageHandle->mGuiRefreshTimer.start();
connect(&mCableTestReport,SIGNAL(NewTestLogEntry(QString)),mCableTestPageHandle,SLOT(AddTestLogEntry(QString)));

return 1;
}
@@ -39,6 +42,11 @@ CCable * CCableTestBench::GetActualCable()
return &mActualCable;
}

CTestReport *CCableTestBench::GetTestReportHandle()
{
return &mCableTestReport;
}

quint8 CCableTestBench::DecToBCDByte(const quint8 byte)
{
quint8 out = 0;
@@ -114,7 +122,7 @@ int CCableTestBench::StartPauseAutomaticTestRequest()
mCableTestPageHandle->FillReportCableParametersData(mCableTestReport.GetReportCableParameters());
mCableTestReport.GetReportCableParameters()->SetCableType(CConnectorDefs::GetConnectorDescription(mActualCable.GetInputConnector()->GetConnectorType()),
CConnectorDefs::GetConnectorDescription(mActualCable.GetOutputConnector()->GetConnectorType()));
mCableTestReport.GetAutomatedTestReport()->SetPinCount(mActualCable.mOutputConnector.GetPinCount());
mCableTestReport.GetAutomatedTestReport()->SetPinCount(mActualCable.GetOutputConnector()->GetPinCount());

mCableTestEngine.StartAutomatedTest();
return RET_OK;
@@ -200,6 +208,19 @@ int CCableTestBench::CableEngineModeChanged(CCableTestEngine::eCableTestEngineMo
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:
@@ -239,3 +260,28 @@ int CCableTestBench::RefreshConnectorsStateRequest()
mCableTestPageHandle->SetOutputConnectorState(mActualCable.GetOutputConnector()->GetOutputPinsStates());
return RET_OK;
}

int CCableTestBench::SaveReportRequest()
{
return mCableTestReport.SaveReportToFile();
}

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);
//QProcess::execute(Command);

return RET_OK;
}

+ 7
- 0
Sources/CableTestBench.h Zobrazit soubor

@@ -32,6 +32,7 @@ public:
CCable mActualCable;
CCableTestEngine mCableTestEngine;


CIOModulesInterface mIOInterface;

int ExecVisualInspectionRequest();
@@ -42,11 +43,17 @@ public:
int StartStopManualTestRequest();
int ManualPinToggleRequest(int ConnectorPinNbr);
int RefreshConnectorsStateRequest();
int SaveReportRequest();
int OpenReportRequest();




CCable *SetSelectedConnector(CConnectorDefs::eConnectorType ConType);
CCable *GetActualCable();

CTestReport* GetTestReportHandle();

int CableEngineModeChanged(CCableTestEngine::eCableTestEngineMode Mode);




+ 3
- 2
Sources/CableTestBenchDefs.cpp Zobrazit soubor

@@ -20,14 +20,14 @@ const int CConnectorDefs::ConnPinCount[NB_CONNECTOR_TYPE] = {0, 6, 14, 24, 72, 9

const char* CConnectorDefs::ConnectorDescription[NB_CONNECTOR_TYPE] = {"Connecteur inconnu ou invalide",
"Connecteur circulaire 6 contacts",
"Connecteur circulair 14 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 circulair 14 contacts",
"Connecteur circulaire 14 contacts",
"Connecteur Amphenol rectangulaire 24 contacts",
"Connecteur Amphenol rectangulaire 72 contacts",
"Connecteur Amphenol rectangulaire 108 contacts"};
@@ -83,3 +83,4 @@ const char * CConnectorDefs::GetConnectorDescription(eConnectorType type)

return ConnectorDescription[type];
}


+ 1
- 0
Sources/CableTestBenchDefs.h Zobrazit soubor

@@ -1,5 +1,6 @@
#ifndef CABLETESTBENCHDEFS_H
#define CABLETESTBENCHDEFS_H
#include <QString>


class CConnectorDefs


+ 71
- 17
Sources/CableTestEngine.cpp Zobrazit soubor

@@ -18,6 +18,9 @@ int CCableTestEngine::InitCableTestEngine(CCableTestBench *ProgramHandle)
mTestCable = ProgramHandle->GetActualCable();
mTestInputConnectorHandle = mTestCable->GetInputConnector();
mTestOutputConnectorHandle = mTestCable->GetOutputConnector();
mTestReportHandle = ProgramHandle->GetTestReportHandle();
mAutoTestReportHandle = mTestReportHandle->GetAutomatedTestReport();



mCableTestSMTimer = new QTimer();
@@ -27,7 +30,7 @@ int CCableTestEngine::InitCableTestEngine(CCableTestBench *ProgramHandle)
connect(mCableTestSMTimer,SIGNAL(timeout()),this,SLOT(SMTimerExpired()));

//TODO: Get this from the options page...
mPinHoldTime = 500; //ms
mPinHoldTime = 300; //ms

CableTestEngineStateMachine(CABLE_TEST_TICK_SM_EVENT);

@@ -76,7 +79,8 @@ void CCableTestEngine::CableTestEngineStateMachine(int Event)

mCableTestGPTimer.start();

qDebug("Test automatique démarré...");
//qDebug("Test automatique démarré...");
mTestReportHandle->AddLogEntry(QString("Démarrage du test automatique."));
break;
}//case CABLE_TEST_START_AUTOMATED_TEST_STATE

@@ -88,15 +92,33 @@ void CCableTestEngine::CableTestEngineStateMachine(int Event)
}
else
{
if(mTestOutputConnectorHandle->GetOutputPinsStates().count(true) != 0)
QBitArray Out = mTestOutputConnectorHandle->GetOutputPinsStates();
if(Out.count(true) != 0)
{
//TODO: Manage this failure mode
qDebug("Échec de l'auto test des modules de sortie");
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
}

@@ -125,27 +147,52 @@ void CCableTestEngine::CableTestEngineStateMachine(int Event)

if(In.count(true) != 1) //check if only 1 input pin is active
{
//TODO: Manage this failure mode

if(In.count(true) == 0) //Check if no input pin is active
{
qDebug("Échec du test du contact %d : aucune pin activée en entrée",mCurPinUnderTest);
mAutoTestReportHandle->SetPinContinuityResult(mCurPinUnderTest,false);
// qDebug("Échec du test du contact %d : aucune pin activée en entrée",mCurPinUnderTest);
mTestReportHandle->AddLogEntry(QString("Échec du test du contact %1 : aucun contact activé en entrée").arg(mCurPinUnderTest));
}
else //If here, many input pins are active...
{
qDebug("Échec du test du contact %d : plusieurs (%d) pins activées en entrée",mCurPinUnderTest,In.count(true));
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 if(In.at(mCurPinUnderTest-1) == false)
{
//TODO: Manage this failure mode
//the output pin isn't set...
qDebug("Échec du test du contact %d: mauvais contact activé en entrée",mCurPinUnderTest);
//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;
}
}
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));
// qDebug("Échec du test d'assignation du contact %d: le contact %d est activé.",mCurPinUnderTest);
}
else
{
//Pin test passed. Test the next one
qDebug("Succès du test du contact %d", mCurPinUnderTest);
mAutoTestReportHandle->SetPinTestAllPassed(mCurPinUnderTest);
// qDebug("Succès du test du contact %d", mCurPinUnderTest);
mTestReportHandle->AddLogEntry(QString("Succès du test du contact %1").arg(mCurPinUnderTest));
}
mCurPinUnderTest++;
if(mCurPinUnderTest > (mTestOutputConnectorHandle->GetPinCount()))
@@ -166,13 +213,15 @@ void CCableTestEngine::CableTestEngineStateMachine(int Event)
{
mCableTestSMState = CABLE_AUTO_TEST_PAUSE_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
qDebug("Test mis en pause...");
// 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é...");
// qDebug("Test annulé...");
mTestReportHandle->AddLogEntry(QString("Test annulé par l'utilisateur"));
break;
}
default:
@@ -193,13 +242,15 @@ void CCableTestEngine::CableTestEngineStateMachine(int Event)
{
mCableTestSMState = CABLE_AUTO_TEST_PINS_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
qDebug("Test redémarré...");
// 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é...");
// qDebug("Test annulé...");
mTestReportHandle->AddLogEntry(QString("Test annulé par l'utilisateur"));
break;
}
default:
@@ -213,7 +264,8 @@ void CCableTestEngine::CableTestEngineStateMachine(int Event)

case CABLE_AUTO_TEST_END_TEST_STATE:
{
qDebug("Test automatique terminé...");
// qDebug("Test automatique terminé...");
mTestReportHandle->AddLogEntry(QString("Test automatique terminé"));
mTestOutputConnectorHandle->ClearAllPins();
mCableTestSMState = CABLE_TEST_STBY_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
@@ -223,7 +275,8 @@ void CCableTestEngine::CableTestEngineStateMachine(int Event)
case CABLE_TEST_START_MANUAL_TEST_STATE:
{
mTestOutputConnectorHandle->ClearAllPins();
qDebug("Entrée en mode test manuel");
// 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;
@@ -252,6 +305,7 @@ void CCableTestEngine::CableTestEngineStateMachine(int Event)
mTestOutputConnectorHandle->ClearAllPins();
mCableTestSMState = CABLE_TEST_STBY_STATE;
mProgramHandle->CableEngineModeChanged(GetTestEngineCurrentMode());
mTestReportHandle->AddLogEntry(QString("Fin du test manuel"));
break;
}
}


+ 2
- 0
Sources/CableTestEngine.h Zobrazit soubor

@@ -79,6 +79,8 @@ private:

QTimer *mCableTestSMTimer;
QElapsedTimer mCableTestGPTimer;
CAutomatedTestReport *mAutoTestReportHandle;
CTestReport *mTestReportHandle;

void CableTestEngineStateMachine(int Event);



+ 62
- 2
Sources/CableTestPage.cpp Zobrazit soubor

@@ -3,6 +3,7 @@
#include "CableTestBench.h"
#include <QTextCodec>
#include "CableParametersData.h"
#include <QScrollBar>

CCableTestPage::CCableTestPage(QWidget *parent) :
QWidget(parent),
@@ -14,6 +15,15 @@ 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"));


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);
@@ -35,6 +45,8 @@ CCableTestPage::CCableTestPage(QWidget *parent) :
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()));



@@ -44,6 +56,8 @@ CCableTestPage::CCableTestPage(QWidget *parent) :
ui->mStartTestBtn->setEnabled(false);
ui->mStartManualTestBtn->setEnabled(false);
ui->mOutputTestVisualisationWidget->DisablePinClicks();
// ui->mOpenReportBtn->setEnabled(false);



ResetCable();
@@ -127,6 +141,12 @@ int CCableTestPage::ResetCable()
//Clear connector selection zone
ui->mConnectorSelectWidget->ClearAllConnectorsSelections();

ui->mTestLogTextBox->clear();

ui->mSaveReportBtn->setEnabled(false);
ui->mOpenReportBtn->setEnabled(false);
SetAutoTestResult("");

return RET_OK;

}
@@ -149,7 +169,8 @@ int CCableTestPage::CableAutomaticTestStarted()
{
ui->mStartManualTestBtn->setEnabled(false);
DisableGuiForTest();
ui->mStartTestBtn->setText("Pauser Test");
ui->mStartTestBtn->setText("Interrompre Test");
SetAutoTestResult("En Cours...",Qt::black);
return RET_OK;
}

@@ -168,6 +189,8 @@ int CCableTestPage::CableTestEnded()
ui->mStartTestBtn->setText("Démarrer Test");
ui->mStartManualTestBtn->setText("Démarrer");
ui->mReinitTestBtn->setEnabled(true);
ui->mSaveReportBtn->setEnabled(true);

return RET_OK;
}

@@ -178,6 +201,7 @@ int CCableTestPage::CableManualTestStarted()
DisableGuiForTest();
ui->mStartManualTestBtn->setText("Terminer");
ui->mReinitTestBtn->setEnabled(false);
ui->mSaveReportBtn->setEnabled(false);
return RET_OK;
}

@@ -241,6 +265,42 @@ void CCableTestPage::hideEvent(QHideEvent *event)

int CCableTestPage::FillReportCableParametersData(CCableParametersData *ReportPtr)
{
ReportPtr->SetCableParams(ui->mStationNameCombo->currentText(),ui->mIdentCableEditBox->text(),ui->mTypeCableCombo->currentText(),ui->mNomTesteurEditBox->text());
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;
}

+ 6
- 0
Sources/CableTestPage.h Zobrazit soubor

@@ -37,6 +37,9 @@ public:
int CableTestEnded();
int CableManualTestStarted();

int SetAutoTestResult(QString Result, QColor color = Qt::black);
int EnableOpenReportBtn();

int SetInputConnectorState(QBitArray PinStates);
int SetOutputConnectorState(QBitArray PinStates);

@@ -66,6 +69,9 @@ public slots:
void StartManualTestBtnClicked();
void OutputConnectorPinClicked(int PinNbr);
void GuiRefreshTimerExpired();
void AddTestLogEntry(QString Entry);
void SaveReportBtnClicked();
void OpenReportBtnClicked();
};

#endif // CABLETESTPAGE_H

+ 61
- 37
Sources/CableTestPage.ui Zobrazit soubor

@@ -82,43 +82,7 @@
<widget class="QLineEdit" name="mIdentCableEditBox"/>
</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>
</widget>
<widget class="QComboBox" name="mStationNameCombo"/>
</item>
<item row="0" column="0" alignment="Qt::AlignRight">
<widget class="QLabel" name="StationNameLabel">
@@ -478,6 +442,19 @@
</property>
</widget>
</widget>
<widget class="QPushButton" name="mSaveReportBtn">
<property name="geometry">
<rect>
<x>360</x>
<y>100</y>
<width>121</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Sauvegarder Rapport</string>
</property>
</widget>
</widget>
<widget class="QLabel" name="mInspVisuelleLabel_2">
<property name="geometry">
@@ -513,6 +490,53 @@
<enum>QFrame::Plain</enum>
</property>
</widget>
<widget class="QGroupBox" name="groupBox_3">
<property name="geometry">
<rect>
<x>600</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>30</x>
<y>40</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>70</x>
<y>100</y>
<width>101</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Ouvrir Rapport</string>
</property>
</widget>
</widget>
</widget>
<customwidgets>
<customwidget>


+ 148
- 0
Sources/TestReport.cpp Zobrazit soubor

@@ -1,9 +1,16 @@
#include "TestReport.h"
#include <QDateTime>
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include <QTextCodec>

CTestReport::CTestReport()
{
mSoftwareVersion = QString(TEST_BENCH_VERSION);
CreateNewTestReport();
mReportFileDirectory = "./Rapports/";
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
}

CVisualInspectionResult * CTestReport::GetInspectionResult()
@@ -21,6 +28,147 @@ 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()
{
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 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("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 << "-----------------------------------------\n";
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;
}

+ 16
- 1
Sources/TestReport.h Zobrazit soubor

@@ -6,9 +6,11 @@
#include "CableParametersData.h"
#include "TestBenchVersion.h"
#include "AutomatedTestReport.h"
#include <QObject>

class CTestReport
class CTestReport : public QObject
{
Q_OBJECT
public:
CTestReport();

@@ -17,12 +19,25 @@ public:
CAutomatedTestReport *GetAutomatedTestReport();

int CreateNewTestReport();
int AddLogEntry(QString NewEntry,bool IncludeTime = true,bool Propagate = true);
bool IsAutoTestReportReady();
bool GetGlobalAutoTestResult();

int SaveReportToFile();

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

+ 17
- 4
Sources/VisualInspectionResult.cpp Zobrazit soubor

@@ -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;
}

+ 2
- 0
Sources/VisualInspectionResult.h Zobrazit soubor

@@ -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();


+ 1
- 0
object_script.CableTestBench.Debug Zobrazit soubor

@@ -30,6 +30,7 @@ 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


+ 1
- 0
object_script.CableTestBench.Release Zobrazit soubor

@@ -30,6 +30,7 @@ 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


+ 1
- 1
ui_CMainPage.h Zobrazit soubor

@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'CMainPage.ui'
**
** Created: Wed May 8 10:13:26 2019
** Created: Fri May 10 14:02:03 2019
** by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!


+ 25
- 11
ui_CableTestPage.h Zobrazit soubor

@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'CableTestPage.ui'
**
** Created: Wed May 8 11:18:26 2019
** Created: Fri May 10 15:48:28 2019
** by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
@@ -66,8 +66,12 @@ public:
QPushButton *mReinitTestBtn;
QGroupBox *groupBox_2;
QPushButton *mStartManualTestBtn;
QPushButton *mSaveReportBtn;
QLabel *mInspVisuelleLabel_2;
QTextBrowser *mTestLogTextBox;
QGroupBox *groupBox_3;
QLabel *mAutoTestResultLabel;
QPushButton *mOpenReportBtn;

void setupUi(QWidget *CCableTestPage)
{
@@ -218,6 +222,9 @@ public:
mStartManualTestBtn = new QPushButton(groupBox_2);
mStartManualTestBtn->setObjectName(QString::fromUtf8("mStartManualTestBtn"));
mStartManualTestBtn->setGeometry(QRect(20, 30, 75, 23));
mSaveReportBtn = new QPushButton(frame);
mSaveReportBtn->setObjectName(QString::fromUtf8("mSaveReportBtn"));
mSaveReportBtn->setGeometry(QRect(360, 100, 121, 23));
mInspVisuelleLabel_2 = new QLabel(CCableTestPage);
mInspVisuelleLabel_2->setObjectName(QString::fromUtf8("mInspVisuelleLabel_2"));
mInspVisuelleLabel_2->setGeometry(QRect(50, 200, 221, 20));
@@ -227,6 +234,19 @@ public:
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(600, 220, 231, 131));
mAutoTestResultLabel = new QLabel(groupBox_3);
mAutoTestResultLabel->setObjectName(QString::fromUtf8("mAutoTestResultLabel"));
mAutoTestResultLabel->setGeometry(QRect(30, 40, 181, 41));
QFont font2;
font2.setPointSize(26);
mAutoTestResultLabel->setFont(font2);
mAutoTestResultLabel->setAlignment(Qt::AlignCenter);
mOpenReportBtn = new QPushButton(groupBox_3);
mOpenReportBtn->setObjectName(QString::fromUtf8("mOpenReportBtn"));
mOpenReportBtn->setGeometry(QRect(70, 100, 101, 23));

retranslateUi(CCableTestPage);

@@ -242,16 +262,6 @@ 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));
@@ -274,7 +284,11 @@ public:
mReinitTestBtn->setText(QApplication::translate("CCableTestPage", "R\303\251initialiser test", 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));
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));
} // retranslateUi

};


+ 1
- 1
ui_OptionsPage.h Zobrazit soubor

@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'OptionsPage.ui'
**
** Created: Wed May 8 10:13:26 2019
** Created: Fri May 10 14:02:03 2019
** by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!


+ 1
- 1
ui_VisualInspectionPage.h Zobrazit soubor

@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'VisualInspectionPage.ui'
**
** Created: Wed May 8 10:13:26 2019
** Created: Fri May 10 14:02:03 2019
** by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!


Načítá se…
Zrušit
Uložit