-
Notifications
You must be signed in to change notification settings - Fork 131
/
Curtain.py
95 lines (82 loc) · 4.38 KB
/
Curtain.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# DLPDLCR2000EVM Example Test Script Suite
#
# Implements basic functionality of DLP LightCrafter Display 2000 EVM
# using included python library
#
# Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
#
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the
# distribution.
#
# Neither the name of Texas Instruments Incorporated nor the names of
# its contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
######################################################################################
# This function will display the internal curatins (Black, Red, Green, Blue, Yellow, Magenta, Cyan and White)
######################################################################################
import logging
from control import *
import time,datetime
from Constants import *
source_defs = [
(DPP2607_Write_VideoSourceSelection,(SourceSel.EXTERNAL_VIDEO_PARALLEL_I_F_,),"",""),
(DPP2607_Write_VideoResolution,(Resolution.NHD_LANDSCAPE,),"",""), #640x360
(DPP2607_Write_VideoPixelFormat,(RGB888_24_BIT,),"",""),
(DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.BLACK),"BLACK Curatin Test","Does the BLACK curtain display correct? (Pass/Fail/Stop)"),
(DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.RED),"RED Curatin Test","Does the RED curtain display correct? (Pass/Fail/Stop)"),
(DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.GREEN),"GREEN Curatin Test","Does the GREEN curtain display correct? (Pass/Fail/Stop)"),
(DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.BLUE),"BLUE Curatin Test","Does the BLUE curtain display correct? (Pass/Fail/Stop)"),
(DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.YELLOW),"YELLOW Curatin Test","Does the YELLOW curtain display correct? (Pass/Fail/Stop)"),
(DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.MAGENTA),"MAGENTA Curatin Test","Does the MAGENTA curtain display correct? (Pass/Fail/Stop)"),
(DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.CYAN),"CYAN Curatin Test","Does the CYAN curtain display correct? (Pass/Fail/Stop)"),
(DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.WHITE),"WHITE Curatin Test","Does the WHITE curtain display correct? (Pass/Fail/Stop)"),
(DPP2607_Write_DisplayCurtainControl,(DISABLED,DMDCurtainColor.WHITE),"",""),
]
def main(task=None):
Test_name = 'Curatin Test'
#Filepath_n,
# setup the Test name
datalog = DataLog(LogDir, Test_name)
# general setup
logging.getLogger().setLevel(logging.ERROR)
DPP2607_Open()
DPP2607_SetSlaveAddr(SlaveAddr)
DPP2607_SetIODebug(IODebug)
try:
callTable(Test_name,datalog,source_defs);
except Exception:
print "Test failed Exception"
datalogConstants(datalog)
datalog.add_col('Test name', Test_name)
datalog.add_col('End Time',' '+str(datetime.datetime.now()))
datalog.add_col('Result', "Test Fail EXCEPTION")
datalog.add_col('P/F Result', "Fail")
datalog.log()
finally:
# cleanup
DPP2607_Close()
datalog.close()
if __name__ == "__main__":
main()