+++ /dev/null
-#include <lib/dvb/dvb.h>\r
-#include <lib/dvb/frontendparms.h>\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <limits.h>\r
-#include <string.h>\r
-#include <errno.h>\r
-#include <sys/ioctl.h>\r
-#include <sys/types.h>\r
-#include <sys/stat.h>\r
-#include <sys/poll.h>\r
-#include <fcntl.h>\r
-#include <time.h>\r
-#include <unistd.h>\r
-#include <termios.h>\r
-#include <lib/driver/sc_test.h>\r
-#include <errno.h>\r
-#include <lib/base/eerror.h>\r
-#include <lib/base/estring.h>\r
-\r
-#include <stdint.h>\r
-#include <sys/time.h>\r
-#include <poll.h>\r
-\r
-\r
-#define SC_CHECK_TIMEOUT 5\r
-#define SC_REMOVE_TIMEOUT 10\r
-\r
-\r
-#define SMART_CARD0 "/dev/sci0" /* upper smart card */\r
-#define SMART_CARD1 "/dev/sci1" /* lower smart card */\r
-\r
-#define SC_SUCCESS 0\r
-#define NO_DEV_FOUND -1\r
-#define SC_NOT_INSERTED -2\r
-#define SC_NOT_VALID_ATR -3\r
-#define SC_NOT_REMOVED -4\r
-#define SC_READ_TIMEOUT -5\r
-\r
-\r
-#define SCI_IOW_MAGIC 's'\r
-\r
-/* ioctl cmd table */\r
-//#include "sci_global.h"\r
-#define IOCTL_SET_RESET _IOW(SCI_IOW_MAGIC, 1, unsigned long)\r
-#define IOCTL_SET_MODES _IOW(SCI_IOW_MAGIC, 2, SCI_MODES)\r
-#define IOCTL_GET_MODES _IOW(SCI_IOW_MAGIC, 3, SCI_MODES)\r
-#define IOCTL_SET_PARAMETERS _IOW(SCI_IOW_MAGIC, 4, SCI_PARAMETERS)\r
-#define IOCTL_GET_PARAMETERS _IOW(SCI_IOW_MAGIC, 5, SCI_PARAMETERS)\r
-#define IOCTL_SET_CLOCK_START _IOW(SCI_IOW_MAGIC, 6, unsigned long)\r
-#define IOCTL_SET_CLOCK_STOP _IOW(SCI_IOW_MAGIC, 7, unsigned long)\r
-#define IOCTL_GET_IS_CARD_PRESENT _IOW(SCI_IOW_MAGIC, 8, unsigned long)\r
-#define IOCTL_GET_IS_CARD_ACTIVATED _IOW(SCI_IOW_MAGIC, 9, unsigned long)\r
-#define IOCTL_SET_DEACTIVATE _IOW(SCI_IOW_MAGIC, 10, unsigned long)\r
-#define IOCTL_SET_ATR_READY _IOW(SCI_IOW_MAGIC, 11, unsigned long)\r
-#define IOCTL_GET_ATR_STATUS _IOW(SCI_IOW_MAGIC, 12, unsigned long)\r
-#define IOCTL_DUMP_REGS _IOW(SCI_IOW_MAGIC, 20, unsigned long)\r
-\r
-eSctest *eSctest::instance;\r
-\r
-eSctest::eSctest()\r
-{\r
- instance = this;\r
-\r
-}\r
-\r
-eSctest::~eSctest()\r
-{\r
- instance=NULL;\r
-\r
-}\r
-\r
-int eSctest::n_check_smart_card(char *dev_name)\r
-{\r
- int fd;\r
- struct pollfd pollfd;\r
- unsigned char buf[64];\r
- int cnt = 0;\r
- int modem_status;\r
- int count = SC_CHECK_TIMEOUT;\r
- int readok=0;\r
- \r
- fd = ::open(dev_name, O_RDWR);\r
- \r
- if(fd < 0){\r
- eDebug("sci0 open error\n");\r
- return NO_DEV_FOUND;\r
- }\r
- else\r
- eDebug("sci0 is opened fd : %d\n", fd);\r
-\r
-\r
- ::ioctl(fd, IOCTL_GET_IS_CARD_PRESENT, &modem_status);\r
-\r
- if( modem_status )\r
- eDebug("card is now inserted\n");\r
- else\r
- {\r
- eDebug("card is NOT inserted\n");\r
- ::close(fd);\r
- return SC_NOT_INSERTED;\r
- }\r
-\r
- /* now smart card is inserted, let's do reset */\r
-\r
- ::ioctl(fd, IOCTL_SET_RESET, &modem_status);\r
-\r
- /* now we can get the ATR */\r
-\r
- pollfd.fd = fd;\r
- pollfd.events = POLLIN|POLLOUT|POLLERR|POLLPRI;\r
-\r
-\r
- while(poll(&pollfd, 1, 1000)>=0 && count--){\r
-\r
- eDebug("pollfd.revents : 0x%x\n", pollfd.revents);\r
- if(pollfd.revents & POLLIN){\r
- eDebug(">>read \n");\r
- cnt = read(fd, buf, 64);\r
- eDebug("<<read cnt:%d\n", cnt); \r
- if(cnt) \r
- {\r
- if(buf[0]==0x3b||buf[0]==0x3f)\r
- {\r
- eDebug("read -%d : 0x%x",cnt, buf[0]);\r
- readok = 1;\r
- }\r
- break;\r
- }\r
- else\r
- eDebug("no data\n");\r
- }\r
- }\r
-\r
- ::close(fd);\r
- \r
- if (readok == 0) return SC_NOT_VALID_ATR;\r
- if(!count) return SC_READ_TIMEOUT;\r
- return SC_SUCCESS;\r
-}\r
-\r
-int eSctest::check_smart_card(char *dev_name)\r
-{\r
- int fd;\r
- struct pollfd pollfd;\r
- unsigned char buf[64];\r
- int cnt = 0;\r
- int modem_status;\r
- int count = SC_CHECK_TIMEOUT;\r
- int readok=0;\r
- fd = ::open(dev_name, O_RDWR);\r
- \r
- if(fd < 0){\r
- eDebug("sci0 open error");\r
- return NO_DEV_FOUND;\r
- }\r
- else\r
- eDebug("sci0 is opened fd : %d", fd);\r
-\r
- ::tcflush(fd, TCIFLUSH);\r
-\r
- ::ioctl(fd, TIOCMGET, &modem_status);\r
-\r
- if( modem_status & TIOCM_CAR)\r
- eDebug("card is now inserted");\r
- else\r
- {\r
- eDebug("card is NOT inserted");\r
- close(fd);\r
- return SC_NOT_INSERTED;\r
- }\r
-\r
- /* now smart card is inserted, let's do reset */\r
-\r
- modem_status |= TIOCM_RTS;\r
- ::ioctl(fd, TIOCMSET, &modem_status);\r
-\r
- modem_status &= ~TIOCM_RTS;\r
- ::ioctl(fd, TIOCMSET, &modem_status);\r
-\r
-\r
- /* now we can get the ATR */\r
-\r
- pollfd.fd = fd;\r
- pollfd.events = POLLIN|POLLOUT|POLLERR|POLLPRI;\r
-\r
-\r
- while(poll(&pollfd, 1, 1000)>=0 && count--){\r
-\r
- eDebug("pollfd.revents : 0x%x %d", pollfd.revents,count);\r
- if(pollfd.revents & POLLIN){\r
- eDebug(">>read ");\r
- cnt = ::read(fd, buf, 64);\r
- eDebug("<<read cnt:%d", cnt);\r
- if(cnt) \r
- {\r
- int i;\r
- for( i = 0 ; i < cnt ; i ++)\r
- {\r
- if(buf[i]!=0x0)\r
- readok = 1;\r
- eDebug("read : 0x%x", buf[i]);\r
- }\r
- break;\r
- }\r
- else\r
- eDebug("no data");\r
- }\r
- }\r
- \r
- ::close(fd);\r
- eDebug("readok = %d",readok);\r
- if (readok == 0) return SC_NOT_VALID_ATR;\r
- if(count<=0 ) return SC_READ_TIMEOUT;\r
- return SC_SUCCESS;\r
-}\r
-int eSctest::eject_smart_card(char *dev_name)\r
-{\r
- int fd;\r
- struct pollfd pollfd;\r
- unsigned char buf[64];\r
- int cnt = 0;\r
- int modem_status;\r
- int count = SC_CHECK_TIMEOUT;\r
- \r
- fd = ::open(dev_name, O_RDWR);\r
- \r
- if(fd < 0){\r
- eDebug("sci0 open error");\r
- return NO_DEV_FOUND;\r
- }\r
- else\r
- eDebug("sci0 is opened fd : %d", fd);\r
-\r
- ::tcflush(fd, TCIFLUSH);\r
-\r
- ::ioctl(fd, TIOCMGET, &modem_status);\r
-\r
- if( modem_status & TIOCM_CAR)\r
- eDebug("card is now inserted");\r
- else\r
- {\r
- eDebug("card is NOT inserted");\r
- close(fd);\r
- return SC_NOT_INSERTED;\r
- }\r
- /* now we can get the ATR */\r
-\r
- pollfd.fd = fd;\r
- pollfd.events = POLLIN|POLLOUT|POLLERR|POLLPRI;\r
-\r
- /* let's wait until card is removed for count secs.*/\r
- count = SC_REMOVE_TIMEOUT; \r
- do{\r
- ::ioctl(fd, TIOCMGET, &modem_status);\r
- eDebug("modem_status : 0x%x %d", modem_status,count);\r
- sleep(1); \r
-\r
- }\r
- while((modem_status&TIOCM_CAR) && count--);\r
-\r
- if(count<=0 ) return SC_NOT_REMOVED;\r
- \r
- ::close(fd); \r
- return SC_SUCCESS;\r
-}\r
-\r
-\r
-int eSctest::VFD_Open()\r
-{\r
- VFD_fd = open("/dev/dbox/lcd0", O_RDWR);\r
- return VFD_fd;\r
-}\r
-\r
-int eSctest::turnon_VFD()\r
-{ \r
- ioctl(VFD_fd, 0xa0a0a0a0, 0);\r
-}\r
-\r
-int eSctest::turnoff_VFD()\r
-{\r
- ioctl(VFD_fd, 0x01010101, 0); \r
-}\r
-\r
-void eSctest::VFD_Close()\r
-{\r
- close(VFD_fd);\r
-}\r
-\r
-extern int frontend0_fd;\r
-extern int frontend1_fd;\r
-\r
-int eSctest::getFrontendstatus(int fe)\r
-{\r
- fe_status_t status;\r
-\r
- int m_fd;\r
- int res;\r
-\r
- if (fe == 0)\r
- m_fd = frontend0_fd;\r
- else if (fe==1)\r
- m_fd = frontend1_fd;\r
- else \r
- return -1;\r
-\r
- if (m_fd < 0)\r
- {\r
- eDebug("%d open error ",fe);\r
- return -1;\r
- }\r
- else\r
- eDebug("%d open ok!!!! ",m_fd);\r
- \r
- if ( ioctl(m_fd, FE_READ_STATUS, &status) < 0)\r
- eDebug("%d read error ",fe); \r
-\r
- if (status&FE_HAS_LOCK)\r
- return 1;\r
- else\r
- return 0;\r
-\r
-}\r
-\r
from Components.GUIComponent import GUIComponent
from enigma import eListboxPythonStringContent, eListbox, gFont, eServiceCenter, eDVBResourceManager
from enigma import eServiceReference
-from enigma import eMemtest
-from enigma import eSctest
+from sctest import eSctest
from enigma import eDVBDB
from Components.NimManager import nimmanager
from enigma import eDVBCI_UI,eDVBCIInterfaces
from Tools.Directories import resolveFilename, SCOPE_SYSETC
+from Components.Sources.StaticText import StaticText
-class TestResultList(HTMLComponent, GUIComponent):
- def __init__(self, list, enableWrapAround=False, content=eListboxPythonStringContent):
- GUIComponent.__init__(self)
- self.list = list
- self.l = content()
- self.l.setList(self.list)
- self.onSelectionChanged = [ ]
- self.enableWrapAround = enableWrapAround
-
- def getCurrent(self):
- return self.l.getCurrentSelection()
-
- GUI_WIDGET = eListbox
-
+class TestResultList(MenuList):
def postWidgetCreate(self, instance):
self.instance.setSelectionEnable(0)
instance.setContent(self.l)
if self.enableWrapAround:
self.instance.setWrapAround(True)
- def preWidgetRemove(self, instance):
- instance.setContent(None)
- instance.selectionChanged.get().remove(self.selectionChanged)
-
- def selectionChanged(self):
- for f in self.onSelectionChanged:
- f()
-
- def getSelectionIndex(self):
- return self.l.getCurrentSelectionIndex()
-
- def getSelectedIndex(self):
- return self.l.getCurrentSelectionIndex()
-
- def setList(self, list):
- self.list = list
- self.l.setList(self.list)
-
def updateList(self, list):
self.list = list
self.l.setList(self.list)
- def moveToIndex(self, idx):
- if self.instance is not None:
- self.instance.moveSelectionTo(idx)
-
- def pageUp(self):
- if self.instance is not None:
- self.instance.moveSelection(self.instance.pageUp)
-
- def pageDown(self):
- if self.instance is not None:
- self.instance.moveSelection(self.instance.pageDown)
-
- def up(self):
- if self.instance is not None:
- self.instance.moveSelection(self.instance.moveUp)
-
- def down(self):
- if self.instance is not None:
- self.instance.moveSelection(self.instance.moveDown)
-
- def selectionEnabled(self, enabled):
- if self.instance is not None:
- self.instance.setSelectionEnable(enabled)
+class TuneMessageBox(MessageBox):
+ skin = """
+ <screen position="center,center" size="600,10" title="Message">
+ <widget name="text" position="65,8" size="420,0" font="Regular;22" />
+ <widget name="ErrorPixmap" pixmap="Vu_HD/icons/input_error.png" position="5,5" size="53,53" alphatest="blend" />
+ <widget name="QuestionPixmap" pixmap="Vu_HD/icons/input_question.png" position="5,5" size="53,53" alphatest="blend" />
+ <widget name="InfoPixmap" pixmap="Vu_HD/icons/input_info.png" position="5,5" size="53,53" alphatest="blend" />
+ <widget name="list" position="100,100" size="380,375" transparent="1" backgroundColor="darkgrey" />
+ <!-- Signal Quality -->
+ <eLabel text="SNR : " position="60,130" size="60,25" font="Regular;25" transparent="1" />
+ <widget source="session.FrontendStatus" render="Label" position="120,130" size="60,25" font="Regular;25" transparent="1">
+ <convert type="FrontendInfo">SNRdB</convert>
+ </widget>
+ <!-- AGC -->
+ <eLabel text="AGC : " position="200,130" size="60,25" font="Regular;25" transparent="1" noWrap="1" />
+ <widget source="session.FrontendStatus" render="Label" position="260,130" size="60,25" font="Regular;25" transparent="1" noWrap="1">
+ <convert type="FrontendInfo">AGC</convert>
+ </widget>
+ <applet type="onLayoutFinish">
+# this should be factored out into some helper code, but currently demonstrates applets.
+from enigma import eSize, ePoint
+
+orgwidth = self.instance.size().width()
+orgpos = self.instance.position()
+textsize = self["text"].getSize()
+
+# y size still must be fixed in font stuff...
+textsize = (textsize[0] + 50, textsize[1] + 50)
+offset = 0
+if self.type == self.TYPE_YESNO:
+ offset = 60
+wsizex = textsize[0] + 60
+wsizey = textsize[1] + offset
+if (280 > wsizex):
+ wsizex = 280
+wsizex = wsizex + 30
+wsizey = wsizey + 30
+wsize = (wsizex, wsizey)
+
+# resize
+self.instance.resize(eSize(*wsize))
+
+# resize label
+self["text"].instance.resize(eSize(*textsize))
+
+# move list
+listsize = (wsizex, 50)
+self["list"].instance.move(ePoint(0, textsize[1]))
+self["list"].instance.resize(eSize(*listsize))
+
+# center window
+newwidth = wsize[0]
+self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
+ </applet>
+ </screen>"""
+ def __init__(self, session, text, type = MessageBox.TYPE_YESNO):
+ MessageBox.__init__(self, session, text, type)
class FactoryTest(Screen):
skin = """
- <screen position="120,125" size="440,400" title="Test Menu" >
- <widget name="testlist" position="10,0" size="340,350" />
- <widget name="resultlist" position="370,0" size="60,350" />
- <widget name="testdate" position="20,350" size="150,25" font="Regular;22" />
- <widget name="testversion" position="20,375" size="150,25" font="Regular;22" />
- <widget name="mactext" position="180,350" size="230,25" font="Regular;22" />
+ <screen name="FactoryTest" position="300,100" size="660,550" title="Test Menu" >
+ <widget name="testlist" position="10,0" size="440,455" itemHeight="35" />
+ <widget name="resultlist" position="470,0" size="60,455" itemHeight="35" />
+ <widget name="testdate" position="20,470" size="250,35" font="Regular;30" />
+ <widget name="testversion" position="20,505" size="250,35" font="Regular;30" />
+ <widget name="mactext" position="320,470" size="340,35" font="Regular;30" />
</screen>"""
+
def __init__(self, session):
self["actions"] = NumberActionMap(["OkCancelActions","WizardActions","NumberActions","ColorActions",],
}, -2)
Screen.__init__(self, session)
- TESTPROGRAM_DATE = self.getImageVersion() +" (v1.00)"
+ TESTPROGRAM_DATE = self.getImageVersion() +" (v1.10)"
TESTPROGRAM_VERSION = "Version 01.10"
self.model = 0
self.createConfig()
self.rlist = []
- for x in range(self.menulength):
+ for x in range(self.menulength-1):
self.rlist.append((".."))
+ self.rlist.append((" "))
self["resultlist"] = TestResultList(self.rlist)
self.avswitch = AVSwitch()
tlist.append((" 2. Front test",self.fronttestIndex))
self.smarttestIndex=3
tlist.append((" 3. Smartcard test",self.smarttestIndex))
- self.tuner_test_first_index = current_index = 4
+ if self.model == 3:
+ self.tuner_test_first_index = current_index = 4
+ elif self.model == 4:
+ self.tuner_test_first_index = 4
+ current_index = 0
AspectRatio=["4:3", "16:9"]
ColorFormat=["CVBS","RGB","YC","CVBS","CVBS","CVBS","CVBS","CVBS"]
self.tuneInfo={}
+ tunelist = []
for (key, val) in self.NimType.items():
if val["type"].startswith("DVB-S"):
# Chang : DVB -S setting diseqc A
# current_index=4
self.setTuneInfo(index=current_index, slot=key, type=val["type"], sat=val["sat1"], pol="H", tone=False, ratio=getRatio, color=getColorFormat, cam=False) # setTuneInfo
# self.setTuneInfo(current_index, key, val["type"], val["sat1"], "H", True, getRatio, getColorFormat, False) # setTuneInfo
- tlist.append((menuname,current_index))
+ tunelist.append((menuname,current_index))
current_index+=1
# Chang : DVB -S setting diseqc B
getRatio = AspectRatio.pop(0)
else:
camtest = False
self.setTuneInfo( index=current_index, slot=key, type=val["type"], sat=val["sat2"], pol="V", tone=True, ratio=getRatio, color=getColorFormat, cam=camtest)
- tlist.append((menuname,current_index))
+ tunelist.append((menuname,current_index))
current_index+=1
# Chang : DVB -T or DVB-C
elif val["type"].startswith("DVB-T") or val["type"].startswith("DVB-C"):
else:
camtest = False
self.setTuneInfo( index=current_index, slot=key, type=val["type"], sat=None, pol=None, tone=None, ratio=getRatio, color=getColorFormat, cam=camtest)
- tlist.append((menuname,current_index))
+ tunelist.append((menuname,current_index))
current_index+=1
- self.tuner_test_last_index = current_index-1
+ if self.model == 3:
+ tlist.extend(tunelist)
+ self.tuner_test_last_index = current_index-1
+ elif self.model == 4:
+ self.tunelist = tunelist
+ self.tuner_test_last_index = 4
+ current_index = self.tuner_test_last_index
+ tlist.append((" %d. Tuning test" % current_index,self.tuner_test_last_index))
+ current_index+=1
self.rs232testIndex=current_index
tlist.append((" %d. RS232 test" % current_index,self.rs232testIndex))
current_index+=1
def getModelInfo(self):
getmodel = 0
if fileExists("/proc/stb/info/vumodel"):
- info = open("/proc/stb/info/vumodel").read().strip()
+ vumodel = open("/proc/stb/info/vumodel")
+ info=vumodel.read().strip()
+ vumodel.close()
if info == "duo":
self.model = 0
getmodel = 1
self.model = 4
getmodel = 1
print "getModelInfo : ultimo"
+
if getmodel == 0 and fileExists("/proc/stb/info/version"):
- info = open("/proc/stb/info/version").read()
+ vesion = open("/proc/stb/info/version")
+ info=version.read()
+ version.close()
if info[:2] == "14":
self.model = 1
print "getModelInfo : solo_"
day = version[10:12]
date = '-'.join((year, month, day))
break;
+ file.close()
return date
def getversion(self):
try:
fd = open("/proc/stb/info/version","r")
version = fd.read()
+ fd.close()
self["testversion"].setText(("Version %s"%version))
except:
self["testversion"].setText(("Version no load"))
elif index==self.fronttestIndex:
self.Test1()
elif index>=self.tuner_test_first_index and index<=self.tuner_test_last_index:
- self.TestTune(index)
+ if self.model == 0 or self.model == 1 or self.model == 2 or self.model == 3:
+ self.TestTune(index)
+ elif self.model == 4:
+ self.openTestTuneMenu()
elif index==self.scarttestIndex:
self.Test6()
elif index==self.rs232testIndex:
self.session.openWithCallback(self.displayresult ,FrontTest)
elif self.model == 1:
self.session.openWithCallback(self.displayresult ,FrontTest_solo)
- elif self.model == 2 or self.model == 3 or self.model == 4:
+ elif self.model == 2 or self.model == 3:
self.session.openWithCallback(self.displayresult ,FrontTest_uno)
+ elif self.model == 4:
+ self.session.openWithCallback(self.displayresult ,FrontTest_ultimo)
def displayresult(self):
global fronttest
else:
self.rlist[self["testlist"].getCurrent()[1]]="fail"
+ def openTestTuneMenu(self):
+ self.session.openWithCallback(self.TestTuneMenuResult ,TestTuneMenu, self.tuneInfo, self.tunelist, self.NimType)
+
+ def TestTuneMenuResult(self,result):
+ if result :
+ self.rlist[self["testlist"].getCurrent()[1]]="pass"
+ else:
+ self.rlist[self["testlist"].getCurrent()[1]]="fail"
+ self["resultlist"].updateList(self.rlist)
+
def TestTune(self,index):
if self.oldref is None:
eref = eServiceReference("1:0:19:1324:3EF:1:C00000:0:0:0")
hv == ""
print "eSctest.getInstance().getFrontendstatus - %d"%result
- if result == 0:
+ if result == 0 or result == -1:
self.tunerlock = 0
self.tunemsgtimer.stop()
self.session.nav.stopService()
def tunemsg(self):
self.tuningtimer.stop()
- self.session.openWithCallback(self.tuneback, MessageBox, _("%s ok?" %(self["testlist"].getCurrent()[0])), MessageBox.TYPE_YESNO)
+ self.session.openWithCallback(self.tuneback, TuneMessageBox, _("%s ok?" %(self["testlist"].getCurrent()[0])), MessageBox.TYPE_YESNO)
def setSourceVar(self):
if self.model == 0:
self.agingtimer.start(2000,True)
def agingCheck(self):
- result = eSctest.getInstance().getFrontendstatus(0)
+ result = eSctest.getInstance().getFrontendstatus(0)
hv = "Ver"
print "eSctest.getInstance().getFrontendstatus - %d"%result
if result == 0:
self.getmacaddr()
self.testing = 0
- def MemTest(self, which):
- index = which
- result = 0
- if index==0:
- result = eMemtest.getInstance().dramtest()
- elif index==1:
- result = eMemtest.getInstance().flashtest()
- result = 0 # temp
- else:
- result = eMemtest.getInstance().dramtest()
- result = eMemtest.getInstance().flashtest()
- result = 0 # temp
+# def MemTest(self, which):
+# index = which
+# result = 0
+# if index==0:
+# result = eMemtest.getInstance().dramtest()
+# elif index==1:
+# result = eMemtest.getInstance().flashtest()
+# result = 0 # temp
+# else:
+# result = eMemtest.getInstance().dramtest()
+# result = eMemtest.getInstance().flashtest()
+# result = 0 # temp
- index = index+10
+# index = index+10
- if result == 0:
- print index,self.rlist[index]
- self.rlist[index]="pass"
- else:
- print index,self.rlist[index]
- self.rlist[index]="fail"
- self["resultlist"].updateList(self.rlist)
+# if result == 0:
+# print index,self.rlist[index]
+# self.rlist[index]="pass"
+# else:
+# print index,self.rlist[index]
+# self.rlist[index]="fail"
+# self["resultlist"].updateList(self.rlist)
def scciresult(self):
global smartcardtest
def Test10(self):
self.session.openWithCallback(self.scciresult ,SmartCardTest,stbmodel=self.model)
- def Test11(self):
- self.MemTest(1)
+# def Test11(self):
+# self.MemTest(1)
- def Test12(self):
- self.MemTest(2)
-
- def Test13(self):
- self.MemTest(3)
+# def Test12(self):
+# self.MemTest(2)
+# def Test13(self):
+# self.MemTest(3)
def Test14(self):
try:
ethtest = 0
class MacConfig(Screen):
skin = """
- <screen position="100,250" size="520,100" title="Mac Config" >
+ <screen name="MacConfig" position="center,center" size="520,100" title="Mac Config" >
<eLabel text="Mac Address " position="10,15" size="200,40" font="Regular;30" />
- <widget name="text" position="230,15" size="230,40" font="Regular;30" />
+ <widget name="text" position="230,15" size="230,40" font="Regular;30" halign="right"/>
<widget name="text1" position="470,15" size="40,40" font="Regular;30" />
<eLabel text=" " position="5,55" zPosition="-1" size="510,5" backgroundColor="#02e1e8e6" />
- <widget name="stattext" position="30,75" size="400,25" font="Regular;20" />
+ <widget name="stattext" position="30,75" size="450,35" font="Regular;30" />
</screen>"""
def __init__(self, session, mactry = 1):
def getModelInfo(self):
getmodel = 0
if fileExists("/proc/stb/info/vumodel"):
- info = open("/proc/stb/info/vumodel").read().strip()
+ vumodel = open("/proc/stb/info/vumodel")
+ info=vumodel.read().strip()
+ vumodel.close()
if info == "combo":
self.model = 2
getmodel = 1
getmodel = 1
print "getModelInfo : ultimo"
-
if getmodel == 0 and fileExists("/proc/stb/info/version"):
- info = open("/proc/stb/info/version").read()
+ version = open("/proc/stb/info/version")
+ info=version.read()
+ version.close()
# print info,info[:2]
if info[:2] == "14":
self.model = 1
smartcardtest = 0
class SmartCardTest(Screen):
skin = """
- <screen position="300,240" size="160,120" title="SmartCard Test" >
- <widget name="text" position="10,10" size="140,100" font="Regular;22" />
+ <screen name="SmartCardTest" position="center,center" size="300,120" title="SmartCard Test" >
+ <widget name="text" position="10,10" size="280,100" font="Regular;30" />
</screen>"""
def __init__(self, session, stbmodel = 0):
global smartcardtest
smartcardtest = 0
self.model = stbmodel
- self.Testmode = 1
self.smartcardtimer.start(100,True)
def check_smart_card(self):
index = self.smartcard
result = 0
if index==0:
- if self.Testmode==0:
- result = eSctest.getInstance().check_smart_card("/dev/sci0")
- else:
- result = eSctest.getInstance().n_check_smart_card("/dev/sci0")
+ result = eSctest.getInstance().check_smart_card("/dev/sci0")
elif index ==1:
- if self.Testmode==0:
- result = eSctest.getInstance().check_smart_card("/dev/sci1")
- else:
- result = eSctest.getInstance().n_check_smart_card("/dev/sci1")
+ result = eSctest.getInstance().check_smart_card("/dev/sci1")
else:
result = -1
- print result
+ print "check smartcard : ", result
if result == 0:
print 'pass'
class FrontTest(Screen):
skin = """
- <screen position="260,240" size="200,180" title="Front Test" >
- <widget name="text" position="10,10" size="180,160" font="Regular;22" />
+ <screen name="FrontTest" position="center,center" size="300,180" title="Front Test" >
+ <widget name="text" position="10,10" size="280,160" font="Regular;30" />
</screen>"""
def __init__(self, session):
class FrontTest_solo(Screen):
skin = """
- <screen position="260,240" size="200,180" title="Front Test" >
- <widget name="text" position="10,10" size="180,160" font="Regular;22" />
+ <screen name="FrontTest_solo" position="center,center" size="300,180" title="Front Test" >
+ <widget name="text" position="10,10" size="280,160" font="Regular;30" />
</screen>"""
def __init__(self, session):
self.frontturnonoff = 0
eSctest.getInstance().turnoff_VFD()
self.fronttimer.start(1000,True)
-
+
+class FrontTest_ultimo(FrontTest_solo):
+ skin = """
+ <screen position="center,center" size="300,180" title="Front Test" >
+ <widget name="text" position="10,10" size="280,160" font="Regular;30" />
+ </screen>"""
rstest = 0
class RS232Test(Screen):
skin = """
- <screen position="300,240" size="160,100" title="RS232 Test" >
- <widget name="text" position="10,10" size="140,80" font="Regular;22" />
+ <screen name="RS232Test" position="center,center" size="260,100" title="RS232 Test" >
+ <widget name="text" position="10,10" size="240,80" font="Regular;30" />
</screen>"""
step=1
def __init__(self, session):
rstest = 0
else:
rstest = 0
+ rs.close()
except:
- print 'error'
+ try:
+ if rs:
+ rs.close()
+ except:
+ pass
+ print 'except error'
rstest = 0
if rstest == 0:
self.session.open( MessageBox, _("RS232 Test Failed!\nPress 'EXIT' button!"), MessageBox.TYPE_ERROR)
class AgingTest(Screen):
skin = """
- <screen position="200,240" size="250,100" title="Aging Test" >
- <widget name="text1" position="10,10" size="230,40" font="Regular;22" />
- <widget name="text2" position="10,50" size="230,40" font="Regular;22" />
+ <screen position="center,center" size="350,150" title="Aging Test" >
+ <widget name="text1" position="10,10" size="330,40" font="Regular;30" />
+ <widget name="text2" position="10,60" size="330,40" font="Regular;30" />
+ <!-- Signal Quality -->
+ <eLabel text="SNR : " position="40,120" size="60,25" font="Regular;25" transparent="1" />
+ <widget source="session.FrontendStatus" render="Label" position="100,120" size="60,25" font="Regular;25" transparent="1">
+ <convert type="FrontendInfo">SNRdB</convert>
+ </widget>
+ <!-- AGC -->
+ <eLabel text="AGC : " position="180,120" size="60,25" font="Regular;25" transparent="1" noWrap="1" />
+ <widget source="session.FrontendStatus" render="Label" position="240,120" size="60,25" font="Regular;25" transparent="1" noWrap="1">
+ <convert type="FrontendInfo">AGC</convert>
+ </widget>
</screen>"""
step=1
def __init__(self, session):
Agingresult = 1
self.session.nav.stopService() # try to disable foreground service
self.close()
+
+class TestTuneMenu(Screen):
+ skin = """
+ <screen position="350,230" size="550,300" title="Tuning Test" >
+ <widget name="testlist" position="10,0" size="440,250" itemHeight="35"/>
+ <widget name="resultlist" position="470,0" size="60,250" itemHeight="35"/>
+ <widget source="text" render="Label" position="100,270" size="450,30" font="Regular;22" />
+ </screen>"""
+
+ def __init__(self ,session ,tuneInfo, tunelist,NimType):
+ self.session = session
+ self.NimType = NimType
+ self.tuneInfo = tuneInfo
+ self.tunelist = tunelist
+ self.model = 4
+ self["actions"] = NumberActionMap(["OkCancelActions","WizardActions","NumberActions"],
+ {
+ "left": self.nothing,
+ "right":self.nothing,
+ "ok": self.TestAction,
+ "cancel": self.keyCancel,
+ "up": self.keyup,
+ "down": self.keydown,
+ "0": self.numberaction,
+ "1": self.numberaction,
+ "2": self.numberaction,
+ "3": self.numberaction,
+ "4": self.numberaction,
+ "5": self.numberaction,
+ "6": self.numberaction,
+ "7": self.numberaction,
+ "8": self.numberaction,
+ "9": self.numberaction,
+
+ }, -2)
+ Screen.__init__(self, session)
+ self.text = _("Press 'EXIT' key to finish tune test.")
+ self["text"] = StaticText(self.text)
+ self.createConfig()
+ session.nav.stopService() # try to disable foreground service
+
+ self.tunemsgtimer = eTimer()
+ self.tunemsgtimer.callback.append(self.tunemsg)
+
+ self.camstep = 1
+ self.camtimer = eTimer()
+ self.camtimer.callback.append(self.cam_state)
+
+ self.tunerlock = 0
+ self.tuningtimer = eTimer()
+ self.tuningtimer.callback.append(self.updateStatus)
+ self.setSourceVar()
+ self.avswitch = AVSwitch()
+
+ def createConfig(self):
+ self.menulength= len(self.tunelist)
+ self["testlist"] = MenuList(self.tunelist)
+ self.rlist = []
+ for x in range(self.menulength):
+ self.rlist.append((".."))
+ self["resultlist"] = TestResultList(self.rlist)
+
+ def TestAction(self):
+ print "line - ",self["testlist"].getCurrent()[1]
+ self.currentindex = index = self["testlist"].getCurrent()[1]
+ result = 0
+ self.TestTune(index)
+
+ def nothing(self):
+ print "nothing"
+
+ def keyup(self):
+ print "self.menulength = ",self.menulength
+ print "self[\"testlist\"].getCurrent()[1] = ",self["testlist"].getCurrent()[1]
+ if self["testlist"].getCurrent()[1]==0:
+ self["testlist"].moveToIndex(self.menulength-1)
+ self["resultlist"].moveToIndex(self.menulength-1)
+ else:
+ self["testlist"].up()
+ self["resultlist"].up()
+
+
+ def keydown(self):
+ print "self.menulength = ",self.menulength
+ print "self[\"testlist\"].getCurrent()[1] = ",self["testlist"].getCurrent()[1]
+ if self["testlist"].getCurrent()[1]==(self.menulength-1):
+ self["testlist"].moveToIndex(0)
+ self["resultlist"].moveToIndex(0)
+ else:
+ self["testlist"].down()
+ self["resultlist"].down()
+
+ def numberaction(self, number):
+ if number >= self.menulength:
+ return
+ index = int(number)
+ self["testlist"].moveToIndex(index)
+ self["resultlist"].moveToIndex(index)
+
+ def keyCancel(self):
+ print "testtunemenu exit"
+ if not '..' in self.rlist and not 'fail' in self.rlist:
+ self.close(True)
+ else:
+ self.close(False)
+# if self.oldref is not None:
+# self.session.nav.playService(self.oldref)
+
+ def TestTune(self,index):
+ ref = eServiceReference("1:0:19:1324:3EF:1:C00000:0:0:0")
+ self.session.nav.stopService() # try to disable foreground service
+ getTuneInfo=self.tuneInfo[index]
+ if getTuneInfo["cam"] is True:
+ self.camstep = 1
+ self.camtimer.start(100,True)
+ if getTuneInfo["type"].startswith("DVB-S"):
+ if getTuneInfo["pol"] == "H":
+ ref.setData(0,1)
+ ref.setData(1,0x6D3)
+ ref.setData(2,0x3)
+ ref.setData(3,0xA4)
+ else:
+ ref.setData(0,0x19)
+ ref.setData(1,0x1325)
+ ref.setData(2,0x3ef)
+ ref.setData(3,0x1)
+ if getTuneInfo["sat"] == "160": # Eutelsat W2
+ ref.setData(4,0xA00000)
+ elif getTuneInfo["sat"] == "100": # Eutelsat
+ ref.setData(4,0x64af79)
+ elif getTuneInfo["sat"] == "130": # Hotbird
+ ref.setData(4,0x820000)
+ elif getTuneInfo["sat"] == "192": # Astra
+ ref.setData(4,0xC00000)
+ elif getTuneInfo["sat"] == "620": # Intelsat 902
+ ref.setData(4,0x26c0000) # need to fix later
+ elif getTuneInfo["sat"] == "642": # Intelsat 906
+ ref.setData(4,0x282AF79) # need to fix later
+ elif getTuneInfo["type"].startswith("DVB-C"):
+ ref.setData(0,0x19)
+ ref.setData(1,0x1325)
+ ref.setData(2,0x3ef)
+ ref.setData(3,0x1)
+ ref.setData(4,-64870) # ffff029a
+ elif getTuneInfo["type"].startswith("DVB-T"):
+ ref.setData(0,0x19)
+ ref.setData(1,0x1325)
+ ref.setData(2,0x3ef)
+ ref.setData(3,0x1)
+ ref.setData(4,-286391716) # eeee025c
+ self.session.nav.playService(ref)
+ if getTuneInfo["color"]=="CVBS":
+ self.avswitch.setColorFormat(0)
+ elif getTuneInfo["color"]=="RGB":
+ self.avswitch.setColorFormat(1)
+ elif getTuneInfo["color"]=="YC":
+ self.avswitch.setColorFormat(2)
+ if getTuneInfo["ratio"] == "4:3":
+ self.avswitch.setAspectRatio(0)
+ elif getTuneInfo["ratio"] == "16:9":
+ self.avswitch.setAspectRatio(6)
+ self.tuningtimer.start(2000,True)
+ self.tunemsgtimer.start(3000, True)
+
+ def cam_state(self):
+ current_index = self.currentindex
+ if self.camstep == 1:
+ slot = 0
+ state = eDVBCI_UI.getInstance().getState(slot)
+ print '-1-stat',state
+ if state > 0:
+ self.camstep=2
+ self.camtimer.start(100,True)
+ else:
+ self.session.nav.stopService()
+ self.session.open( MessageBox, _("CAM1_NOT_INSERTED\nPress exit!"), MessageBox.TYPE_ERROR)
+ self.rlist[current_index]="fail"
+ self.tunemsgtimer.stop()
+ elif self.camstep == 2:
+ slot = 0
+ appname = eDVBCI_UI.getInstance().getAppName(slot)
+ print 'appname',appname
+ if appname is None:
+ self.session.nav.stopService()
+ self.session.open( MessageBox, _("NO_GET_APPNAME\nPress exit!"), MessageBox.TYPE_ERROR)
+ self.rlist[current_index]="fail"
+ self.tunemsgtimer.stop()
+ else:
+ self.camstep=3
+ self.camtimer.start(100,True)
+ elif self.camstep==3:
+ slot = 1
+ state = eDVBCI_UI.getInstance().getState(slot)
+ print '-2-stat',state
+ if state > 0:
+ self.camstep=4
+ self.camtimer.start(100,True)
+ else:
+ self.session.nav.stopService()
+ self.session.open( MessageBox, _("CAM2_NOT_INSERTED\nPress exit!"), MessageBox.TYPE_ERROR)
+ self.rlist[current_index]="fail"
+ self.tunemsgtimer.stop()
+ elif self.camstep == 4:
+ slot = 1
+ appname = eDVBCI_UI.getInstance().getAppName(slot)
+ print 'appname',appname
+ if appname is None:
+ self.session.nav.stopService()
+ self.session.open( MessageBox, _("NO_GET_APPNAME\nPress exit!"), MessageBox.TYPE_ERROR)
+ self.rlist[current_index]="fail"
+ self.tunemsgtimer.stop()
+ else:
+ self.setSource()
+ self.camstep = 5
+
+ def updateStatus(self):
+ current_index = self.currentindex
+ getTuneInfo=self.tuneInfo[current_index]
+ result = eSctest.getInstance().getFrontendstatus(getTuneInfo["slot"])
+ tunno = getTuneInfo["slot"]+1
+ hv = getTuneInfo["pol"]
+ if hv == "H":
+ hv = "Hor"
+ elif hv == "V":
+ hv = "Ver"
+ else :
+ hv == ""
+
+ print "eSctest.getInstance().getFrontendstatus - %d"%result
+ if result == 0 or result == -1:
+ self.tunerlock = 0
+ self.tunemsgtimer.stop()
+ self.session.nav.stopService()
+ self.avswitch.setColorFormat(0)
+ self.session.open( MessageBox, _("Tune%d %s Locking Fail..."%(tunno,hv)), MessageBox.TYPE_ERROR)
+ self.rlist[current_index]="fail"
+ else :
+ self.tunerlock = 1
+
+ def tuneback(self,yesno):
+ current_index=self.currentindex
+ self.session.nav.stopService() # try to disable foreground service
+ if yesno and self.tunerlock == 1:
+ getTuneInfo=self.tuneInfo[current_index]
+ if getTuneInfo["cam"] and self.camstep < 5: # need fix to depending about CAM exist
+ self.rlist[current_index]="fail"
+ else :
+ self.rlist[current_index]="pass"
+ else:
+ self.rlist[current_index]="fail"
+ if self.tuneInfo[current_index]["color"] == "YC":
+ self.avswitch.setColorFormat(0)
+ self.resetSource()
+ self["resultlist"].updateList(self.rlist)
+
+ def tunemsg(self):
+ self.tuningtimer.stop()
+ self.session.openWithCallback(self.tuneback, TuneMessageBox, _("%s ok?" %(self["testlist"].getCurrent()[0])), MessageBox.TYPE_YESNO)
+
+ def setSourceVar(self):
+ self.input_pad_num=len(self.NimType)-1
+ if self.input_pad_num == 0:
+ self.setTuner = 'A'
+ elif self.input_pad_num == 1:
+ self.setTuner = 'B'
+ elif self.input_pad_num == 2:
+ self.setTuner = 'C'
+
+# ikseong - for 22000 tp
+ def setSource(self):
+# fix input source
+ inputname = ("/proc/stb/tsmux/input%d" % self.input_pad_num)
+ print "<setsource> inputname : ",inputname
+ fd=open(inputname,"w")
+ fd.write("CI0")
+ fd.close()
+# fix ci_input Tuner
+ filename = ("/proc/stb/tsmux/ci0_input")
+ fd = open(filename,'w')
+ fd.write(self.setTuner)
+ print "setTuner(CI0) : ",self.setTuner
+ fd.close()
+ print "CI loop test!!!!!!!!!!!!!!"
+
+ def resetSource(self):
+ inputname = ("/proc/stb/tsmux/input%d" % self.input_pad_num)
+ print "<resetsource> inputname : ",inputname
+ fd=open(inputname,"w")
+ fd.write(self.setTuner)
+ fd.close()
+ print "CI loop test end!!!!!!!!!!!!!!"
session = None
--- /dev/null
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.39
+#
+# Do not make changes to this file unless you know what you are doing--modify
+# the SWIG interface file instead.
+# This file is compatible with both classic and new-style classes.
+
+from sys import version_info
+if version_info >= (2,6,0):
+ def swig_import_helper():
+ from os.path import dirname
+ import imp
+ fp = None
+ try:
+ fp, pathname, description = imp.find_module('_sctest', [dirname(__file__)])
+ except ImportError:
+ import _sctest
+ return _sctest
+ if fp is not None:
+ try:
+ _mod = imp.load_module('_sctest', fp, pathname, description)
+ finally:
+ fp.close()
+ return _mod
+ _sctest = swig_import_helper()
+ del swig_import_helper
+else:
+ import _sctest
+del version_info
+try:
+ _swig_property = property
+except NameError:
+ pass # Python < 2.2 doesn't have 'property'.
+def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+ if (name == "thisown"): return self.this.own(value)
+ if (name == "this"):
+ if type(value).__name__ == 'SwigPyObject':
+ self.__dict__[name] = value
+ return
+ method = class_type.__swig_setmethods__.get(name,None)
+ if method: return method(self,value)
+ if (not static) or hasattr(self,name):
+ self.__dict__[name] = value
+ else:
+ raise AttributeError("You cannot add attributes to %s" % self)
+
+def _swig_setattr(self,class_type,name,value):
+ return _swig_setattr_nondynamic(self,class_type,name,value,0)
+
+def _swig_getattr(self,class_type,name):
+ if (name == "thisown"): return self.this.own()
+ method = class_type.__swig_getmethods__.get(name,None)
+ if method: return method(self)
+ raise AttributeError(name)
+
+def _swig_repr(self):
+ try: strthis = "proxy of " + self.this.__repr__()
+ except: strthis = ""
+ return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
+
+try:
+ _object = object
+ _newclass = 1
+except AttributeError:
+ class _object : pass
+ _newclass = 0
+
+
+FE_HAS_SIGNAL = _sctest.FE_HAS_SIGNAL
+FE_HAS_CARRIER = _sctest.FE_HAS_CARRIER
+FE_HAS_VITERBI = _sctest.FE_HAS_VITERBI
+FE_HAS_SYNC = _sctest.FE_HAS_SYNC
+FE_HAS_LOCK = _sctest.FE_HAS_LOCK
+FE_TIMEDOUT = _sctest.FE_TIMEDOUT
+FE_REINIT = _sctest.FE_REINIT
+class eSctest(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, eSctest, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, eSctest, name)
+ __repr__ = _swig_repr
+ def __init__(self):
+ this = _sctest.new_eSctest()
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _sctest.delete_eSctest
+ __del__ = lambda self : None;
+ def check_smart_card(self, *args): return _sctest.eSctest_check_smart_card(self, *args)
+ def VFD_Open(self): return _sctest.eSctest_VFD_Open(self)
+ def VFD_Close(self): return _sctest.eSctest_VFD_Close(self)
+ def turnon_VFD(self): return _sctest.eSctest_turnon_VFD(self)
+ def turnoff_VFD(self): return _sctest.eSctest_turnoff_VFD(self)
+ def getFrontendstatus(self, *args): return _sctest.eSctest_getFrontendstatus(self, *args)
+ __swig_getmethods__["getInstance"] = lambda x: _sctest.eSctest_getInstance
+ if _newclass:getInstance = staticmethod(_sctest.eSctest_getInstance)
+eSctest_swigregister = _sctest.eSctest_swigregister
+eSctest_swigregister(eSctest)
+
+def eSctest_getInstance():
+ return _sctest.eSctest_getInstance()
+eSctest_getInstance = _sctest.eSctest_getInstance
+
+SCI_CLASS_A = _sctest.SCI_CLASS_A
+SCI_CLASS_B = _sctest.SCI_CLASS_B
+SCI_CLASS_AB = _sctest.SCI_CLASS_AB
+SCI_NUMBER_OF_CONTROLLERS = _sctest.SCI_NUMBER_OF_CONTROLLERS
+SCI_BUFFER_SIZE = _sctest.SCI_BUFFER_SIZE
+SCI_CLOCK_STOP_DISABLED = _sctest.SCI_CLOCK_STOP_DISABLED
+SCI_CLOCK_STOP_LOW = _sctest.SCI_CLOCK_STOP_LOW
+SCI_CLOCK_STOP_HIGH = _sctest.SCI_CLOCK_STOP_HIGH
+SCI_MAX_ATR_SIZE = _sctest.SCI_MAX_ATR_SIZE
+SCI_MAX_F = _sctest.SCI_MAX_F
+SCI_MAX_ETU = _sctest.SCI_MAX_ETU
+SCI_MAX_WWT = _sctest.SCI_MAX_WWT
+SCI_MAX_CWT = _sctest.SCI_MAX_CWT
+SCI_MAX_BWT = _sctest.SCI_MAX_BWT
+SCI_MAX_EGT = _sctest.SCI_MAX_EGT
+SCI_MIN_F = _sctest.SCI_MIN_F
+SCI_MIN_ETU = _sctest.SCI_MIN_ETU
+SCI_MIN_WWT = _sctest.SCI_MIN_WWT
+SCI_MIN_CWT = _sctest.SCI_MIN_CWT
+SCI_MIN_BWT = _sctest.SCI_MIN_BWT
+SCI_MIN_EGT = _sctest.SCI_MIN_EGT
+SCI_SYNC = _sctest.SCI_SYNC
+SCI_DATA_ANY = _sctest.SCI_DATA_ANY
+RFU = _sctest.RFU
+SCI_ERROR_OK = _sctest.SCI_ERROR_OK
+SCI_ERROR_DRIVER_NOT_INITIALIZED = _sctest.SCI_ERROR_DRIVER_NOT_INITIALIZED
+SCI_ERROR_FAIL = _sctest.SCI_ERROR_FAIL
+SCI_ERROR_KERNEL_FAIL = _sctest.SCI_ERROR_KERNEL_FAIL
+SCI_ERROR_NO_ATR = _sctest.SCI_ERROR_NO_ATR
+SCI_ERROR_TS_CHARACTER_INVALID = _sctest.SCI_ERROR_TS_CHARACTER_INVALID
+SCI_ERROR_LRC_FAIL = _sctest.SCI_ERROR_LRC_FAIL
+SCI_ERROR_CRC_FAIL = _sctest.SCI_ERROR_CRC_FAIL
+SCI_ERROR_LENGTH_FAIL = _sctest.SCI_ERROR_LENGTH_FAIL
+SCI_ERROR_PARITY_FAIL = _sctest.SCI_ERROR_PARITY_FAIL
+SCI_ERROR_RX_OVERFLOW_FAIL = _sctest.SCI_ERROR_RX_OVERFLOW_FAIL
+SCI_ERROR_TX_OVERFLOW_FAIL = _sctest.SCI_ERROR_TX_OVERFLOW_FAIL
+SCI_ERROR_TX_UNDERRUN_FAIL = _sctest.SCI_ERROR_TX_UNDERRUN_FAIL
+SCI_ERROR_CARD_NOT_PRESENT = _sctest.SCI_ERROR_CARD_NOT_PRESENT
+SCI_ERROR_CARD_NOT_ACTIVATED = _sctest.SCI_ERROR_CARD_NOT_ACTIVATED
+SCI_ERROR_AWT_TIMEOUT = _sctest.SCI_ERROR_AWT_TIMEOUT
+SCI_ERROR_WWT_TIMEOUT = _sctest.SCI_ERROR_WWT_TIMEOUT
+SCI_ERROR_CWT_TIMEOUT = _sctest.SCI_ERROR_CWT_TIMEOUT
+SCI_ERROR_BWT_TIMEOUT = _sctest.SCI_ERROR_BWT_TIMEOUT
+SCI_ERROR_PARAMETER_OUT_OF_RANGE = _sctest.SCI_ERROR_PARAMETER_OUT_OF_RANGE
+SCI_ERROR_TRANSACTION_ABORTED = _sctest.SCI_ERROR_TRANSACTION_ABORTED
+SCI_ERROR_CLOCK_STOP_DISABLED = _sctest.SCI_ERROR_CLOCK_STOP_DISABLED
+SCI_ERROR_TX_PENDING = _sctest.SCI_ERROR_TX_PENDING
+SCI_ERROR_ATR_PENDING = _sctest.SCI_ERROR_ATR_PENDING
+class SCI_MODES(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, SCI_MODES, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, SCI_MODES, name)
+ __repr__ = _swig_repr
+ __swig_setmethods__["emv2000"] = _sctest.SCI_MODES_emv2000_set
+ __swig_getmethods__["emv2000"] = _sctest.SCI_MODES_emv2000_get
+ if _newclass:emv2000 = _swig_property(_sctest.SCI_MODES_emv2000_get, _sctest.SCI_MODES_emv2000_set)
+ __swig_setmethods__["dma"] = _sctest.SCI_MODES_dma_set
+ __swig_getmethods__["dma"] = _sctest.SCI_MODES_dma_get
+ if _newclass:dma = _swig_property(_sctest.SCI_MODES_dma_get, _sctest.SCI_MODES_dma_set)
+ __swig_setmethods__["man_act"] = _sctest.SCI_MODES_man_act_set
+ __swig_getmethods__["man_act"] = _sctest.SCI_MODES_man_act_get
+ if _newclass:man_act = _swig_property(_sctest.SCI_MODES_man_act_get, _sctest.SCI_MODES_man_act_set)
+ __swig_setmethods__["rw_mode"] = _sctest.SCI_MODES_rw_mode_set
+ __swig_getmethods__["rw_mode"] = _sctest.SCI_MODES_rw_mode_get
+ if _newclass:rw_mode = _swig_property(_sctest.SCI_MODES_rw_mode_get, _sctest.SCI_MODES_rw_mode_set)
+ def __init__(self):
+ this = _sctest.new_SCI_MODES()
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _sctest.delete_SCI_MODES
+ __del__ = lambda self : None;
+SCI_MODES_swigregister = _sctest.SCI_MODES_swigregister
+SCI_MODES_swigregister(SCI_MODES)
+
+class SCI_PARAMETERS(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, SCI_PARAMETERS, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, SCI_PARAMETERS, name)
+ __repr__ = _swig_repr
+ __swig_setmethods__["T"] = _sctest.SCI_PARAMETERS_T_set
+ __swig_getmethods__["T"] = _sctest.SCI_PARAMETERS_T_get
+ if _newclass:T = _swig_property(_sctest.SCI_PARAMETERS_T_get, _sctest.SCI_PARAMETERS_T_set)
+ __swig_setmethods__["FI"] = _sctest.SCI_PARAMETERS_FI_set
+ __swig_getmethods__["FI"] = _sctest.SCI_PARAMETERS_FI_get
+ if _newclass:FI = _swig_property(_sctest.SCI_PARAMETERS_FI_get, _sctest.SCI_PARAMETERS_FI_set)
+ __swig_setmethods__["ETU"] = _sctest.SCI_PARAMETERS_ETU_set
+ __swig_getmethods__["ETU"] = _sctest.SCI_PARAMETERS_ETU_get
+ if _newclass:ETU = _swig_property(_sctest.SCI_PARAMETERS_ETU_get, _sctest.SCI_PARAMETERS_ETU_set)
+ __swig_setmethods__["WWT"] = _sctest.SCI_PARAMETERS_WWT_set
+ __swig_getmethods__["WWT"] = _sctest.SCI_PARAMETERS_WWT_get
+ if _newclass:WWT = _swig_property(_sctest.SCI_PARAMETERS_WWT_get, _sctest.SCI_PARAMETERS_WWT_set)
+ __swig_setmethods__["CWT"] = _sctest.SCI_PARAMETERS_CWT_set
+ __swig_getmethods__["CWT"] = _sctest.SCI_PARAMETERS_CWT_get
+ if _newclass:CWT = _swig_property(_sctest.SCI_PARAMETERS_CWT_get, _sctest.SCI_PARAMETERS_CWT_set)
+ __swig_setmethods__["BWT"] = _sctest.SCI_PARAMETERS_BWT_set
+ __swig_getmethods__["BWT"] = _sctest.SCI_PARAMETERS_BWT_get
+ if _newclass:BWT = _swig_property(_sctest.SCI_PARAMETERS_BWT_get, _sctest.SCI_PARAMETERS_BWT_set)
+ __swig_setmethods__["EGT"] = _sctest.SCI_PARAMETERS_EGT_set
+ __swig_getmethods__["EGT"] = _sctest.SCI_PARAMETERS_EGT_get
+ if _newclass:EGT = _swig_property(_sctest.SCI_PARAMETERS_EGT_get, _sctest.SCI_PARAMETERS_EGT_set)
+ __swig_setmethods__["clock_stop_polarity"] = _sctest.SCI_PARAMETERS_clock_stop_polarity_set
+ __swig_getmethods__["clock_stop_polarity"] = _sctest.SCI_PARAMETERS_clock_stop_polarity_get
+ if _newclass:clock_stop_polarity = _swig_property(_sctest.SCI_PARAMETERS_clock_stop_polarity_get, _sctest.SCI_PARAMETERS_clock_stop_polarity_set)
+ __swig_setmethods__["check"] = _sctest.SCI_PARAMETERS_check_set
+ __swig_getmethods__["check"] = _sctest.SCI_PARAMETERS_check_get
+ if _newclass:check = _swig_property(_sctest.SCI_PARAMETERS_check_get, _sctest.SCI_PARAMETERS_check_set)
+ __swig_setmethods__["P"] = _sctest.SCI_PARAMETERS_P_set
+ __swig_getmethods__["P"] = _sctest.SCI_PARAMETERS_P_get
+ if _newclass:P = _swig_property(_sctest.SCI_PARAMETERS_P_get, _sctest.SCI_PARAMETERS_P_set)
+ __swig_setmethods__["I"] = _sctest.SCI_PARAMETERS_I_set
+ __swig_getmethods__["I"] = _sctest.SCI_PARAMETERS_I_get
+ if _newclass:I = _swig_property(_sctest.SCI_PARAMETERS_I_get, _sctest.SCI_PARAMETERS_I_set)
+ __swig_setmethods__["U"] = _sctest.SCI_PARAMETERS_U_set
+ __swig_getmethods__["U"] = _sctest.SCI_PARAMETERS_U_get
+ if _newclass:U = _swig_property(_sctest.SCI_PARAMETERS_U_get, _sctest.SCI_PARAMETERS_U_set)
+ def __init__(self):
+ this = _sctest.new_SCI_PARAMETERS()
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _sctest.delete_SCI_PARAMETERS
+ __del__ = lambda self : None;
+SCI_PARAMETERS_swigregister = _sctest.SCI_PARAMETERS_swigregister
+SCI_PARAMETERS_swigregister(SCI_PARAMETERS)
+
+SCI_WITHOUT_ATR = _sctest.SCI_WITHOUT_ATR
+SCI_ATR_READY = _sctest.SCI_ATR_READY
+
+