コード例 #1
0
 def QuerySend(self, funcPara):
     query = Query()
     query.CommonHeader = FrameHeader(0x55, funcPara,
                                      staticVar.getid() & 0x00FF,
                                      staticVar.getid() >> 8)
     query.CommonTail = self.tail
     staticVar.outPoint.write(bytearray(query))
コード例 #2
0
    def HistoryDataQuery(self, functionPara):
        Obj = ReqData()

        startTime = (int(self.StartTimeYear.GetValue()),
                     int(self.StartTimeMonth.GetValue()),
                     int(self.StartTimeDay.GetValue()),
                     int(self.StartTimeHour.GetValue()),
                     int(self.StartTimeMinute.GetValue()))
        endTime = (int(self.EndTimeYear.GetValue()),
                   int(self.EndTimeMonth.GetValue()),
                   int(self.EndTimeDay.GetValue()),
                   int(self.EndTimeHour.GetValue()),
                   int(self.EndTimeMinute.GetValue()))
        apointID = int(self.ApointID.GetValue())

        Obj.CommonHeader = FrameHeader(0x55, functionPara,
                                       staticVar.getid() & 0x00FF,
                                       staticVar.getid() >> 8)
        Obj.CommonTail = FrameTail(0, 0, 0xAA)
        Obj.ApointID_h = apointID >> 8
        Obj.ApointID_l = apointID & 0x00FF
        Obj.StartTime = self.ByteToTime(startTime)
        Obj.EndTime = self.ByteToTime(endTime)

        if (staticVar.getSock()):
            staticVar.getSock().sendall(bytearray(Obj))
コード例 #3
0
    def savePoa(self):


        list_for_ab = []

        count_ab = 0

        for recvPoa in self.contain_poa:
            for i in range(recvPoa.AbNum):
                list_for_ab.extend(bytearray(recvPoa.AbBlock[i]))
            count_ab += recvPoa.AbNum

        ###组合POA 文件 时间 ####

        Time = self.contain_poa[0].Time
        CommonHeader = self.contain_poa[0].CommonHeader
        ID = (CommonHeader.HighDeviceID << 8) + CommonHeader.LowDeviceID
        Year = (Time.HighYear << 4) + Time.LowYear
        Month = Time.Month
        Day = Time.Day
        Hour = (Time.HighHour << 2) + Time.LowHour + 8
        Minute = Time.Minute
        Second = Time.Second

        if (not Year == 2016):
            curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
            Year = int(curTime[0:4])
            Month = int(curTime[4:6])
            Day = int(curTime[6:8])
            Hour = int(curTime[8:10])
            Minute = int(curTime[10:12])
            Second = int(curTime[12:14])

        ID = staticVar.getid()

        count = (self.contain_poa[0].SecondCount[0] << 24) + \
                (self.contain_poa[0].SecondCount[1] << 16) + \
                (self.contain_poa[0].SecondCount[2] << 8) + \
                (self.contain_poa[0].SecondCount[3])

        list1 = [str(Month), str(Day), str(Hour), str(Minute), str(Second)]
        for i in range(5):
            if (len(list1[i]) == 1):
                list1[i] = '0' + list1[i]

        fileName = str(Year) + "-" + list1[0] + "-" + list1[1] + \
                   "-" + list1[2] + "-" + list1[3] + \
                   "-" + list1[4] + '-' + str(count) + '-' + str(ID) + \
                   '.poa'



        ##### 经纬度 ############
        LonLat = self.contain_poa[0].LonLatAlti

        fid = open(".\LocalData\\Poa\\" + fileName, 'wb')
        d = dict(LonLat=LonLat, count_ab=count_ab,list_for_ab=list_for_ab)
        pickle.dump(d, fid)
        fid.close()
コード例 #4
0
    def OnbtnOk(self, event):

        ID = int(self.StationID.GetValue())
        curStationPro = QueryCurStationPro()
        curStationPro.CommonHeader = FrameHeader(0x55, 0xA6,
                                                 staticVar.getid() & 0x00FF,
                                                 staticVar.getid() >> 8)
        curStationPro.CommonTail = FrameTail(0, 0, 0xAA)
        curStationPro.Identifier_h = ID >> 16
        curStationPro.Identifier_m = (ID & 0x00FF00) >> 8
        curStationPro.Identifier_l = ID & 0x0000FF

        if (self.radioBox.GetSelection()):
            curStationPro.LocateWay = 0x0F
        centreFreq = float(self.CentreFreq.GetValue())
        bandWidth = int(self.BandWidth.GetSelection()) + 1
        centreFreq_I = int(centreFreq)
        centreFreq_F = int((centreFreq - int(centreFreq)) * 2**10)
        curStationPro.Param.HighCentreFreqInteger = centreFreq_I >> 6
        curStationPro.Param.LowCentreFreqInteger = centreFreq_I & 0x003F
        curStationPro.Param.HighCentreFreqFraction = centreFreq_F >> 8
        curStationPro.Param.LowCentreFreqFraction = centreFreq_F & 0x0FF
        curStationPro.Param.UploadNum = int(self.UploadNum.GetValue())
        curStationPro.Param.DataRate = bandWidth
        curStationPro.Param.BandWidth = bandWidth

        startTime=(int(self.StartTimeYear.GetValue()),int(self.StartTimeMonth.GetValue()),  \
                   int(self.StartTimeDay.GetValue()),int(self.StartTimeHour.GetValue()),    \
                   int(self.StartTimeMinute.GetValue()),int(self.StartTimeSecond.GetValue()))

        curStationPro.Time.HighYear = startTime[0] >> 4
        curStationPro.Time.LowYear = startTime[0] & 0x00F
        curStationPro.Time.Month = startTime[1]
        curStationPro.Time.Day = startTime[2]
        curStationPro.Time.HighHour = startTime[3] >> 2
        curStationPro.Time.LowHour = startTime[3] & 0x03
        curStationPro.Time.Minute = startTime[4]
        curStationPro.Time.Second = startTime[5]

        #
        # if(staticVar.getSock()):
        #     staticVar.getSock().sendall(bytearray(curStationPro))

        self.parent.queueRequest.put(curStationPro)

        self.Close()
コード例 #5
0
    def SaveIQ(self,recvIQ):

        block = IQBlock(recvIQ.CurBlockNo, recvIQ.IQDataAmp)
        head = IQUploadHeader(0x00, recvIQ.LonLatAlti, recvIQ.Param)

        #####组合tdoa 文件################

        count = (recvIQ.SecondCount[0] << 24) + \
                (recvIQ.SecondCount[1] << 16) + \
                (recvIQ.SecondCount[2] << 8) + \
                (recvIQ.SecondCount[3])


        Time=recvIQ.Time

        Year=(Time.HighYear<<4)+Time.LowYear
        Month=Time.Month
        Day=Time.Day
        Hour=(Time.HighHour<<2)+Time.LowHour+8
        Minute=Time.Minute
        Second=Time.Second
        ID = staticVar.getid()

        if(not Year==2016):
            curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
            Year = int(curTime[0:4])
            Month = int(curTime[4:6])
            Day = int(curTime[6:8])
            Hour = int(curTime[8:10])
            Minute = int(curTime[10:12])
            Second = int(curTime[12:14])


        list1=[str(Month),str(Day),str(Hour),str(Minute),str(Second)]
        for i in range(5):
            if(len(list1[i])==1):
                list1[i]='0'+list1[i]



        fileName = str(Year) + "-" + list1[0] + "-" + list1[1] + \
                   "-" + list1[2] + "-" + list1[3] +  \
                   "-" + list1[4] + '-' +str(count)+'-'+ str(ID) + \
                   '.tdoa'

        #print fileName

        ###########SaveToLocal####################
        fid=open(".\LocalData\\Tdoa\\"+ fileName,'wb')
        # fid = open(self.dir_iq + fileName, 'wb+')
        # fid.write(bytearray(head))
        #
        # fid.write(bytearray(block))
        # fid.write(struct.pack("!B", 0x00))
        d=dict(head=head,block=block)
        pickle.dump(d, fid)
        fid.close()
コード例 #6
0
    def upload_iq(self):

        self.IQList=[]
        recvIQList = self.queueIQUpload.get()
        for recvIQ in recvIQList:
            block = IQBlock(recvIQ.CurBlockNo, recvIQ.IQDataAmp)
            self.IQList.append(block)

        head = IQUploadHeader(0x00, recvIQ.LonLatAlti, recvIQ.Param)

        #####组合IQ文件################

        Time=recvIQ.Time_
        # CommonHeader=recvIQ.CommonHeader
        # ID=(CommonHeader.HighDeviceID<<8)+CommonHeader.LowDeviceID
        Year=(Time.HighYear<<4)+Time.LowYear
        Month=Time.Month
        Day=Time.Day
        Hour=(Time.HighHour<<2)+Time.LowHour+8
        Minute=Time.Minute
        Second=Time.Second
        ID = staticVar.getid()

        if(not Year==2016):
            curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
            Year = int(curTime[0:4])
            Month = int(curTime[4:6])
            Day = int(curTime[6:8])
            Hour = int(curTime[8:10])
            Minute = int(curTime[10:12])
            Second = int(curTime[12:14])
            

        fileName = str(Year) + "-" + str(Month) + "-" + str(Day) + \
                   "-" + str(Hour) + "-" + str(Minute) +  \
                   "-" + str(Second) + '-' + str(ID) +  '-'+\
                   str(self.mainframe.SpecFrame.iq_sequence)+ '.iq'

        fileNameLen = len(fileName)
        fileContentLen = sizeof(head) + sizeof(block) * len(self.IQList) + 1

        print fileName
        ###########SendToServer###################(H :2字节  Q:8 字节)

        sockFile=staticVar.getSockFile()
        str1 = struct.pack("!2BHQ", 0x00, 0xFF, fileNameLen, fileContentLen)
        sockFile.send(str1 + fileName)

        sockFile.send(bytearray(head))
        for block in self.IQList:
            sockFile.send(bytearray(block))
        sockFile.send(struct.pack("!B", 0x00))



        del self.IQList
コード例 #7
0
    def upload_iq(self):

        self.IQList = []
        recvIQList = self.queueIQUpload.get()
        for recvIQ in recvIQList:
            block = IQBlock(recvIQ.CurBlockNo, recvIQ.IQDataAmp)
            self.IQList.append(block)

        head = IQUploadHeader(0x00, recvIQ.LonLatAlti, recvIQ.Param)

        #####组合IQ文件################

        Time = recvIQ.Time_
        # CommonHeader=recvIQ.CommonHeader
        # ID=(CommonHeader.HighDeviceID<<8)+CommonHeader.LowDeviceID
        Year = (Time.HighYear << 4) + Time.LowYear
        Month = Time.Month
        Day = Time.Day
        Hour = (Time.HighHour << 2) + Time.LowHour + 8
        Minute = Time.Minute
        Second = Time.Second
        ID = staticVar.getid()

        if (not Year == 2016):
            curTime = time.strftime('%Y%m%d%H%M%S',
                                    time.localtime(time.time()))
            Year = int(curTime[0:4])
            Month = int(curTime[4:6])
            Day = int(curTime[6:8])
            Hour = int(curTime[8:10])
            Minute = int(curTime[10:12])
            Second = int(curTime[12:14])


        fileName = str(Year) + "-" + str(Month) + "-" + str(Day) + \
                   "-" + str(Hour) + "-" + str(Minute) +  \
                   "-" + str(Second) + '-' + str(ID) +  '-'+\
                   str(self.mainframe.SpecFrame.iq_sequence)+ '.iq'

        fileNameLen = len(fileName)
        fileContentLen = sizeof(head) + sizeof(block) * len(self.IQList) + 1

        print fileName
        ###########SendToServer###################(H :2字节  Q:8 字节)

        sockFile = staticVar.getSockFile()
        str1 = struct.pack("!2BHQ", 0x00, 0xFF, fileNameLen, fileContentLen)
        sockFile.send(str1 + fileName)

        sockFile.send(bytearray(head))
        for block in self.IQList:
            sockFile.send(bytearray(block))
        sockFile.send(struct.pack("!B", 0x00))

        del self.IQList
コード例 #8
0
    def __init__(self, parent, func):
        wx.Dialog.__init__(self, parent, -1, u"台站登记属性查询", size=(300, 200))

        self.SetFont(
            wx.Font(10,
                    wx.ROMAN,
                    wx.NORMAL,
                    wx.LIGHT,
                    underline=False,
                    faceName=u"微软雅黑",
                    encoding=wx.FONTENCODING_DEFAULT))

        ###############################
        self.parent = parent

        self.tail = FrameTail(0, 0, 0xAA)

        self.id = staticVar.getid()
        self.lowid = self.id & 0x00FF
        self.highid = self.id >> 8
        self.func = func

        ###############################################

        panel = wx.Panel(self, -1)
        sizer = wx.BoxSizer(wx.VERTICAL)
        self.FreqStart = wx.TextCtrl(panel, -1, size=(60, 25))
        self.FreqEnd = wx.TextCtrl(panel, -1, size=(60, 25))

        sizer.Add((20, 15))
        sizer.Add(wx.StaticText(panel, -1, u"台站指定频率范围(MHz): ", size=(150, 25)),
                  0, wx.LEFT, 20)
        sizer.Add((20, 10))
        hBox3 = wx.BoxSizer(wx.HORIZONTAL)
        hBox3.Add(self.FreqStart, 0, wx.LEFT | wx.ALIGN_BOTTOM, 20)
        hBox3.Add(wx.StaticText(panel, -1, u"——"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 10)
        hBox3.Add(self.FreqEnd, 0, wx.ALIGN_BOTTOM, 20)
        sizer.Add(hBox3)
        sizer.Add((20, 20))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        self.btn_ok = wx.Button(panel, -1, "OK", size=(60, 25))

        hBox1.Add(self.btn_ok, 0, wx.LEFT, 20)
        hBox1.Add(wx.Button(panel, wx.ID_CANCEL, "CANCEL", size=(60, 25)), 0,
                  wx.LEFT, 20)
        sizer.Add(hBox1)
        panel.SetSizer(sizer)

        self.Layout()

        self.Centre(wx.BOTH)

        #Events
        self.btn_ok.Bind(wx.EVT_BUTTON, self.OnbtnOk)
コード例 #9
0
 def OnbtnOK(self,event):
 
     freqStart=int(self.FreqStart.GetValue())
     freqEnd=int(self.FreqEnd.GetValue())
     highFreqStart=freqStart>>16
     midFreqStart=(freqStart&0x00FF00)>>8
     lowFreqStart=freqStart&0x0000FF
     
     highFreqEnd=freqEnd>>16
     midFreqEnd=(freqEnd&0x00FF00)>>8
     lowFreqEnd=freqEnd&0x0000FF
     header=FrameHeader(0x55,0xA7,staticVar.getid()&0x00FF,staticVar.getid()>>8)
     tail=FrameTail(0,0,0xAA)
     structObj=QueryFreqPlan(header,highFreqStart,midFreqStart,  \
                             lowFreqStart,highFreqEnd,midFreqEnd,lowFreqEnd,tail)
    
    
     if(staticVar.getSock()):
         staticVar.getSock().sendall(bytearray(structObj))
     self.Destroy()
コード例 #10
0
    def SendAndSaveIQ(self):
        self.IQList = []
        recvIQList = self.SweepRangeIQ
        for recvIQ in recvIQList:
            block = IQBlock(recvIQ.CurBlockNo, recvIQ.IQDataAmp)
            self.IQList.append(block)

        head = IQUploadHeader(0x00, recvIQ.LonLatAlti, recvIQ.Param)

        #####组合IQ文件################
        curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
        Year = int(curTime[0:4])
        Month = int(curTime[4:6])
        Day = int(curTime[6:8])
        Hour = int(curTime[8:10])
        Minute = int(curTime[10:12])
        Second = int(curTime[12:14])
        ID = staticVar.getid()

        fileName = str(Year) + "-" + str(Month) + "-" + str(Day) + \
                   "-" + str(Hour) + "-" + str(Minute) + "-" + str(Second) + '-' + str(ID) + '.iq'

        fileNameLen = len(fileName)
        fileContentLen = sizeof(head) + sizeof(block) * len(self.IQList) + 1

        print fileName
        print fileNameLen
        print fileContentLen

        ###########SendToServer###################(H :2字节  Q:8 字节)
        if (not staticVar.getSockFile() == 0):
            if (not self.mainframe.start_local_iq):  ##如果没有启动本地定频才是中心站发起的
                sockFile = staticVar.getSockFile()
                str1 = struct.pack("!2BHQ", 0x00, 0xFF, fileNameLen,
                                   fileContentLen)
                sockFile.send(str1 + fileName)

                sockFile.send(bytearray(head))
                for block in self.IQList:
                    sockFile.send(bytearray(block))
                sockFile.send(struct.pack("!B", 0x00))
            else:
                self.mainframe.start_local_iq = 0

        ###########SaveToLocal####################
        fid = open(".\LocalData\\IQ\\" + fileName, 'wb+')
        # fid = open(self.dir_iq + fileName, 'wb+')
        fid.write(bytearray(head))
        for block in self.IQList:
            fid.write(bytearray(block))
        fid.write(struct.pack("!B", 0x00))
        fid.close()
        #########################################
        del self.IQList
コード例 #11
0
    def SendAndSaveIQ(self):
        self.IQList=[]
        recvIQList = self.SweepRangeIQ
        for recvIQ in recvIQList:
            block = IQBlock(recvIQ.CurBlockNo, recvIQ.IQDataAmp)
            self.IQList.append(block)

        head = IQUploadHeader(0x00, recvIQ.LonLatAlti, recvIQ.Param)

        #####组合IQ文件################
        curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
        Year = int(curTime[0:4])
        Month = int(curTime[4:6])
        Day = int(curTime[6:8])
        Hour = int(curTime[8:10])
        Minute = int(curTime[10:12])
        Second = int(curTime[12:14])
        ID = staticVar.getid()

        fileName = str(Year) + "-" + str(Month) + "-" + str(Day) + \
                   "-" + str(Hour) + "-" + str(Minute) + "-" + str(Second) + '-' + str(ID) + '.iq'

        fileNameLen = len(fileName)
        fileContentLen = sizeof(head) + sizeof(block) * len(self.IQList) + 1

        print fileName
        print fileNameLen
        print fileContentLen

        ###########SendToServer###################(H :2字节  Q:8 字节)
        if (not staticVar.getSockFile()==0):
            if(not self.mainframe.start_local_iq):   ##如果没有启动本地定频才是中心站发起的
                sockFile=staticVar.getSockFile()
                str1 = struct.pack("!2BHQ", 0x00, 0xFF, fileNameLen, fileContentLen)
                sockFile.send(str1 + fileName)
        
                sockFile.send(bytearray(head))
                for block in self.IQList:
                    sockFile.send(bytearray(block))
                sockFile.send(struct.pack("!B", 0x00))
            else:
                self.mainframe.start_local_iq=0


        ###########SaveToLocal####################
        fid=open(".\LocalData\\IQ\\"+ fileName,'wb+')
        # fid = open(self.dir_iq + fileName, 'wb+')
        fid.write(bytearray(head))
        for block in self.IQList:
            fid.write(bytearray(block))
        fid.write(struct.pack("!B", 0x00))
        fid.close()
        #########################################
        del self.IQList
コード例 #12
0
 def query_port(cls,func):
     id_for=staticVar.getid()
     lowid=id_for&0x00FF
     highid=id_for>>8
 
     query=Query()
     query.CommonHeader=FrameHeader(0x55,func,lowid,highid)
     query.CommonTail=cls.tail
     for i in bytearray(query):
         print i,
          
     staticVar.getSock().sendall(bytearray(query))
コード例 #13
0
    def query_port(cls, func):
        id_for = staticVar.getid()
        lowid = id_for & 0x00FF
        highid = id_for >> 8

        query = Query()
        query.CommonHeader = FrameHeader(0x55, func, lowid, highid)
        query.CommonTail = cls.tail
        for i in bytearray(query):
            print i,

        staticVar.getSock().sendall(bytearray(query))
コード例 #14
0
 def HistoryDataQuery(self,functionPara):
     Obj=ReqData()
     
     startTime=(int(self.StartTimeYear.GetValue()),int(self.StartTimeMonth.GetValue()),  \
                int(self.StartTimeDay.GetValue()),int(self.StartTimeHour.GetValue()),    \
                int(self.StartTimeMinute.GetValue())
                )
     endTime=(int(self.EndTimeYear.GetValue()),int(self.EndTimeMonth.GetValue()),  \
                int(self.EndTimeDay.GetValue()),int(self.EndTimeHour.GetValue()),    \
                int(self.EndTimeMinute.GetValue())
                )
     apointID=int(self.ApointID.GetValue())
     
     Obj.CommonHeader=FrameHeader(0x55,functionPara,staticVar.getid()&0x00FF,staticVar.getid()>>8)
     Obj.CommonTail=FrameTail(0,0,0xAA)
     Obj.ApointID_h=apointID>>8
     Obj.ApointID_l=apointID&0x00FF
     Obj.StartTime=self.ByteToTime(startTime)
     Obj.EndTime=self.ByteToTime(endTime)
     
     if(staticVar.getSock()):
         staticVar.getSock().sendall(bytearray(Obj))
コード例 #15
0
    def SaveIQ(self):
        self.IQList=[]
        recvIQList = self.SweepRangeIQ
        for recvIQ in recvIQList:
            block = IQBlock(recvIQ.CurBlockNo, recvIQ.IQDataAmp)
            self.IQList.append(block)

        head = IQUploadHeader(0x00, recvIQ.LonLatAlti, recvIQ.Param)

        #####组合IQ文件################

        Time=recvIQ.Time_
        # CommonHeader=recvIQ.CommonHeader
        # ID=(CommonHeader.HighDeviceID<<8)+CommonHeader.LowDeviceID
        Year=(Time.HighYear<<4)+Time.LowYear
        Month=Time.Month
        Day=Time.Day
        Hour=(Time.HighHour<<2)+Time.LowHour+8
        Minute=Time.Minute
        Second=Time.Second
        ID = staticVar.getid()


        if(not Year==2016):
            curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
            Year = int(curTime[0:4])
            Month = int(curTime[4:6])
            Day = int(curTime[6:8])
            Hour = int(curTime[8:10])
            Minute = int(curTime[10:12])
            Second = int(curTime[12:14])
            

        fileName = str(Year) + "-" + str(Month) + "-" + str(Day) + \
                   "-" + str(Hour) + "-" + str(Minute) +  \
                   "-" + str(Second) + '-' + str(ID) +  '-'+\
                   str(self.mainframe.SpecFrame.iq_sequence)+ '.iq'

        print fileName

        ###########SaveToLocal####################
        fid=open(".\LocalData\\IQ\\"+ fileName,'wb+')
        # fid = open(self.dir_iq + fileName, 'wb+')
        fid.write(bytearray(head))
        for block in self.IQList:
            fid.write(bytearray(block))
        fid.write(struct.pack("!B", 0x00))
        fid.close()
        #########################################

        del self.IQList
コード例 #16
0
    def SaveIQ(self):
        self.IQList = []
        recvIQList = self.SweepRangeIQ
        for recvIQ in recvIQList:
            block = IQBlock(recvIQ.CurBlockNo, recvIQ.IQDataAmp)
            self.IQList.append(block)

        head = IQUploadHeader(0x00, recvIQ.LonLatAlti, recvIQ.Param)

        #####组合IQ文件################

        Time = recvIQ.Time_
        # CommonHeader=recvIQ.CommonHeader
        # ID=(CommonHeader.HighDeviceID<<8)+CommonHeader.LowDeviceID
        Year = (Time.HighYear << 4) + Time.LowYear
        Month = Time.Month
        Day = Time.Day
        Hour = (Time.HighHour << 2) + Time.LowHour + 8
        Minute = Time.Minute
        Second = Time.Second
        ID = staticVar.getid()

        if (not Year == 2016):
            curTime = time.strftime('%Y%m%d%H%M%S',
                                    time.localtime(time.time()))
            Year = int(curTime[0:4])
            Month = int(curTime[4:6])
            Day = int(curTime[6:8])
            Hour = int(curTime[8:10])
            Minute = int(curTime[10:12])
            Second = int(curTime[12:14])


        fileName = str(Year) + "-" + str(Month) + "-" + str(Day) + \
                   "-" + str(Hour) + "-" + str(Minute) +  \
                   "-" + str(Second) + '-' + str(ID) +  '-'+\
                   str(self.mainframe.SpecFrame.iq_sequence)+ '.iq'

        print fileName

        ###########SaveToLocal####################
        fid = open(".\LocalData\\IQ\\" + fileName, 'wb+')
        # fid = open(self.dir_iq + fileName, 'wb+')
        fid.write(bytearray(head))
        for block in self.IQList:
            fid.write(bytearray(block))
        fid.write(struct.pack("!B", 0x00))
        fid.close()
        #########################################

        del self.IQList
コード例 #17
0
    def __init__(self,parent,func):
        wx.Dialog.__init__(self,parent,-1,u"台站登记属性查询",size=(300,200))

        self.SetFont(wx.Font(10, wx.ROMAN, wx.NORMAL, wx.LIGHT, underline=False, faceName=u"微软雅黑",
                             encoding=wx.FONTENCODING_DEFAULT))

        ###############################
        self.parent=parent

        self.tail=FrameTail(0,0,0xAA)
        
        self.id=staticVar.getid()
        self.lowid=self.id&0x00FF
        self.highid=self.id>>8
        self.func=func
        
        ###############################################
        
        
        
        panel=wx.Panel(self,-1)
        sizer=wx.BoxSizer(wx.VERTICAL)
        self.FreqStart=wx.TextCtrl(panel,-1,size=(60,25))
        self.FreqEnd=wx.TextCtrl(panel,-1,size=(60,25))

        sizer.Add((20,15))
        sizer.Add(wx.StaticText(panel,-1,u"台站指定频率范围(MHz): ",size=(150,25)),0,wx.LEFT,20)
        sizer.Add((20,10))
        hBox3=wx.BoxSizer(wx.HORIZONTAL)          
        hBox3.Add(self.FreqStart,0,wx.LEFT|wx.ALIGN_BOTTOM,20)
        hBox3.Add(wx.StaticText(panel,-1,u"——"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,10)
        hBox3.Add(self.FreqEnd,0,wx.ALIGN_BOTTOM,20)
        sizer.Add(hBox3)
        sizer.Add((20,20))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        self.btn_ok=wx.Button(panel,-1,"OK",size=(60,25))
        
        hBox1.Add(self.btn_ok,0,wx.LEFT,20)
        hBox1.Add(wx.Button(panel,wx.ID_CANCEL,"CANCEL",size=(60,25)),0,wx.LEFT,20)
        sizer.Add(hBox1)
        panel.SetSizer(sizer)
        
        self.Layout()
        
        self.Centre( wx.BOTH )
        
        #Events
        self.btn_ok.Bind(wx.EVT_BUTTON, self.OnbtnOk)
コード例 #18
0
    def __init__(self,parent):
        wx.Dialog.__init__(self,parent,-1,u"录音回放",wx.DefaultPosition,wx.Size(408,400))
        
        ##############硬件通信###############
        self.id = staticVar.getid()
        self.lowid = self.id & 0x00FF
        self.highid = self.id >> 8
        self.tail = FrameTail(0,0,0xAA)
        self.outPoint = staticVar.outPoint
        ##################################
        self.wave2_head_flag = 1
        self.count_last = 0
        self.time_val_last = 0
        self.save_wave2_flg = 1
        self.file_path_last = u''
        self.choosefilemode = 2
        self.iq_file_flg = 1
#         self.drawFlag = 1

        ##################################
        
        self.parent = parent
        self.CreatePanel()
        self.Layout()
コード例 #19
0
    def ConnectCore(self):
        flag_sock = 0
        flag_sockFile = 0

        while (1):
            if (staticVar.sock == 0 and flag_sock == 0):
                try:
                    self.serverCom.ConnectToServer(9000)
                    staticVar.sock = self.serverCom.sock
                    flag_sock = 1
                except Exception:
                    (ErrorType, ErrorValue, ErrorTB) = sys.exc_info()
                    wx.MessageBox(
                        'Connect To Monitor Server Failure!\n' +
                        str(ErrorValue[0]) + ' ' + str(ErrorValue[1]), 'Alert',
                        wx.ICON_EXCLAMATION | wx.STAY_ON_TOP)

            if (staticVar.sockFile == 0 and flag_sockFile == 0):
                try:
                    self.serverCom.ConnectToServer(9988)
                    staticVar.sockFile = self.serverCom.sockFile
                    flag_sockFile = 1
                except Exception:
                    (ErrorType, ErrorValue, ErrorTB) = sys.exc_info()
                    wx.MessageBox(
                        'Connect To File Server Failure!\n' +
                        str(ErrorValue[0]) + ' ' + str(ErrorValue[1]), 'Alert',
                        wx.ICON_INFORMATION | wx.STAY_ON_TOP)

            if (flag_sock and flag_sockFile):
                break
            time.sleep(5)

        connect = ConnectServer()

        connect.CommonHeader = FrameHeader(0x55, 0xA1,
                                           staticVar.getid() & 0x00FF,
                                           staticVar.getid() >> 8)
        connect.CommonTail = self.tail

        if (self.GPS_list == []):
            #临时加的测试
            self.GPS_list = [0] * 9
            #############################

            Lon = 114.4202
            Lat = 30.5100
            Alti = 35
            Lon_fen = 0.4202 * 60
            Lat_fen = 0.51 * 60
            Lon_fen_I = int(Lon_fen)
            Lon_fen_f = int((Lon_fen - int(Lon_fen)) * 1000)
            Lat_fen_I = int(Lat_fen)
            Lat_fen_f = int((Lat_fen - int(Lat_fen)) * 1000)

            self.GPS_list[1] = 114
            self.GPS_list[2] = (Lon_fen_I << 2) + (Lon_fen_f >> 8)
            self.GPS_list[3] = Lon_fen_f & 0x00FF
            self.GPS_list[4] = 30
            self.GPS_list[5] = (Lat_fen_I << 2) + (Lat_fen_f >> 8)
            self.GPS_list[6] = Lat_fen_f & 0x00FF
            self.GPS_list[8] = 35

        list = self.GPS_list

        connect.LonLatAlti = LonLatAltitude(list[0], list[1], list[2], list[3],
                                            list[4] >> 7, list[4] & 0x7F,
                                            list[5], list[6], list[7] >> 7,
                                            list[7] & 0x7F, list[8])
        self.serverCom.SendQueryData(connect)

        self.thread_station = ReceiveServerData(self)
        self.thread_station.setDaemon(True)
        self.thread_station.start()

        self.thread_upload = SendFileThread(self.SpecFrame,
                                            self.queueFFTUpload,
                                            self.queueAbUpload)
        self.thread_upload.setDaemon(True)
        self.thread_upload.start()

        self.timer = threading.Timer(15, self.hello, [])
        self.timer.start()
        '''
        thread_timer=Timer(self.thread_upload,self.thread_station)
        thread_timer.setDaemon(True)
        thread_timer.start()   
        '''

        self.m_connect.Enable(False)
コード例 #20
0
    def __init__(self, parent):
        wx.Dialog.__init__(self, parent, -1, u"登记台站当前属性查询", size=(500, 500))

        self.SetFont(
            wx.Font(10,
                    wx.ROMAN,
                    wx.NORMAL,
                    wx.LIGHT,
                    underline=False,
                    faceName=u"微软雅黑",
                    encoding=wx.FONTENCODING_DEFAULT))

        #########################################

        self.parent = parent

        self.tail = FrameTail(0, 0, 0xAA)

        self.id = staticVar.getid()
        self.lowid = self.id & 0x00FF
        self.highid = self.id >> 8

        ###############################################

        panel = wx.Panel(self, -1)
        self.StationID = wx.TextCtrl(panel, -1, size=(80, 25))
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add((20, 30))
        hBox3 = wx.BoxSizer(wx.HORIZONTAL)
        hBox3.Add(wx.StaticText(panel, -1, u"指定台站识别码: ", size=(100, 25)), 0,
                  wx.LEFT, 20)
        hBox3.Add(self.StationID, 0, wx.LEFT | wx.ALIGN_BOTTOM, 20)
        sizer.Add(hBox3)
        sizer.Add((20, 20))

        self.CentreFreq = wx.TextCtrl(panel, -1, size=(80, 25))
        self.UploadNum = wx.TextCtrl(panel, -1, "1", size=(80, 25))
        self.radioBox = wx.RadioBox(panel, -1, choices=["POA", "POA/TDOA"])
        self.radioBox.SetSelection(0)
        sampleList = ['5/5', '2.5/2.5', '1/1', '0.5/0/5', '0.1/0/1']
        self.BandWidth = wx.ComboBox(panel,
                                     -1,
                                     '5/5',
                                     size=(80, 30),
                                     choices=sampleList)
        self.BandWidth.SetSelection(0)
        self.StartTimeYear = wx.ComboBox(
            panel, -1, "2015", choices=["2015", "2016", "2017", "2018"])
        self.StartTimeMonth = wx.ComboBox(panel,
                                          -1,
                                          "12",
                                          choices=[
                                              "1", "2", "3", "4", "5", "6",
                                              "7", "8", "9", "10", "11", "12"
                                          ])
        self.StartTimeDay = wx.TextCtrl(panel, -1, "1", size=(60, 25))
        self.StartTimeHour = wx.TextCtrl(panel, -1, "0", size=(60, 25))
        self.StartTimeMinute = wx.TextCtrl(panel, -1, "0", size=(60, 25))
        self.StartTimeSecond = wx.TextCtrl(panel, -1, "0", size=(60, 25))
        self.StartTimeYear.SetSelection(0)
        self.StartTimeMonth.SetSelection(11)

        sizer.Add(wx.StaticText(panel, -1, u"几何定位方法", size=(120, 25)), 0,
                  wx.LEFT, 20)
        sizer.Add(self.radioBox, 0, wx.LEFT, 20)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"中心频率(MHz)", size=(160, 25)), 0,
                  wx.LEFT, 20)
        hBox1.Add(self.CentreFreq, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(
            wx.StaticText(panel, -1, u"带宽/数据率 (MHz/Msps):", size=(160, 25)), 0,
            wx.LEFT, 20)
        hBox1.Add(self.BandWidth, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"上传数据块个数(1-256):", size=(160, 25)),
                  0, wx.LEFT, 20)
        hBox1.Add(self.UploadNum, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        sizer.Add(wx.StaticText(panel, -1, u"采集起始时间(年-月-日-时-分-秒):"), 0,
                  wx.LEFT, 20)
        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.StartTimeYear, 0, wx.LEFT, 20)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeMonth, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeDay, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeHour, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeMinute, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeSecond, 0)
        sizer.Add(hBox1)

        sizer.Add((20, 20))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        self.btn_ok = wx.Button(panel, -1, "OK", size=(60, 25))

        hBox1.Add(self.btn_ok, 0, wx.LEFT, 20)
        hBox1.Add(wx.Button(panel, wx.ID_CANCEL, "CANCEL", size=(60, 25)), 0,
                  wx.LEFT, 20)
        sizer.Add(hBox1)
        panel.SetSizer(sizer)

        self.Layout()

        self.Centre(wx.BOTH)

        #Events
        self.btn_ok.Bind(wx.EVT_BUTTON, self.OnbtnOk)
コード例 #21
0
    def FFTParse(self,ListSpec,ListAb):    
        for i in range(len(ListSpec)):   
            recvFFT=ListSpec[i]
            recvAbList=ListAb[i]
           
            TotalNum=recvFFT.SweepSectionTotalNum         
            blockFFT=FFTBlock(recvFFT.CurSectionNo,recvFFT.AllFreq)
            blockAb=AbListBlock(recvAbList.CurSectionNo,recvAbList.AbFreqNum,recvAbList.AllAbFreq)
            self.SpecList.append(blockFFT)
            self.SpecList.append(blockAb)
        
        head=SpecUploadHeader(0x00,recvFFT.LonLatAlti,recvFFT.SweepRecvMode, \
        recvFFT.FileUploadMode,staticFileUp.getChangeThres(),staticFileUp.getExtractM(),TotalNum)
            

        ###组合功率谱文件####
        '''
        Time=recvFFT.Time_
        CommonHeader=recvFFT.CommonHeader
        ID=(CommonHeader.HighDeviceID<<8)+CommonHeader.LowDeviceID
        Year=(Time.HighYear<<4)+Time.LowYear
        Month=Time.Month
        Day=Time.Day
        Hour=(Time.HighHour<<2)+Time.LowHour
        Minute=Time.Minute
        Second=Time.Second
        '''

        curTime=time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
        Year=int(curTime[0:4])
        Month=int(curTime[4:6])
        Day=int(curTime[6:8])
        Hour=int(curTime[8:10])
        Minute=int(curTime[10:12])
        Second=int(curTime[12:14])
        

        
        ID=staticVar.getid()
        
        if(self.startTrans==0):
            self.Second=Second 
            self.startTrans=1  
        if((self.startTrans==1) and (self.Second!=Second)):
            self.count=1
            self.Second=Second
        fileName=str(Year)+"-"+str(Month)+"-"+str(Day)+  \
                 "-"+str(Hour)+"-"+str(Minute)+"-"+str(Second)+"-"+str(self.count)+'-'+str(ID)
                 
        if(recvFFT.CommonHeader.FunctionPara==0x51):
            fileName+='-fine.pwr'
        else:
            fileName+='-coarse.pwr'
            
        

        fileNameLen=len(fileName)
        fileContentLen=sizeof(head)+(sizeof(blockFFT)+sizeof(blockAb))*TotalNum+2

        print fileName
        print fileNameLen
        print fileContentLen
       
        ##########SaveToLocal#####################
#         fid=open(".\LocalData\\"+ fileName,'wb+')
        fid=open(self.dir_spec+fileName,'wb+')
        fid.write(bytearray(head))
        for i in xrange(len(self.SpecList)/2):
            fid.write(bytearray(self.SpecList[2*i]))
        fid.write(struct.pack("!B",0xFF))
        for i in xrange(len(self.SpecList)/2):
            fid.write(bytearray(self.SpecList[2*i+1])) 
        fid.write(struct.pack("!B",0x00))
        fid.close()
        #########################################
        self.SpecList=[]
        
        self.count+=1
        self.countFFT+=1
        print 'self.countFFT',self.countFFT
コード例 #22
0
    def __init__(self,parent):
        wx.Dialog.__init__(self,None,-1,u"电磁路径分布数据请求",size=(400,650))

        self.SetFont(wx.Font(10, wx.ROMAN, wx.NORMAL, wx.LIGHT, underline=False, faceName=u"微软雅黑",
                             encoding=wx.FONTENCODING_DEFAULT))

        panel=wx.Panel(self,-1)
        
        ###############################
        self.parent=parent 
        self.tail=FrameTail(0,0,0xAA)
        
        self.id=staticVar.getid()
        self.lowid=self.id&0x00FF
        self.highid=self.id>>8
        
        self.List=staticVar.getCentreFreq()
        self.ListFreq=staticVar.getFreq()
        ###############################################
        self.radioBox1=wx.RadioBox(panel,-1,choices=[u"本地获取",u"中心站获取"],style=wx.RA_VERTICAL)
        self.radioBox2=wx.RadioBox(panel,-1,choices=[u"显示历史分布",u"显示实时分布"],style=wx.RA_VERTICAL)
        self.radioBox3=wx.RadioBox(panel,-1,choices=[u"选择频率",u"手动频率"])
        self.radioBox4=wx.RadioBox(panel,-1,choices=[u"YES",u"NO"])
        
        self.radioBox1.SetSelection(1)
        self.radioBox2.SetSelection(1)
        self.radioBox3.SetSelection(1)
        self.radioBox4.SetSelection(1)
        self.FreqSection=wx.ComboBox(panel,-1,u"FM调频广播频段",choices=self.List)
        self.FreqSection.SetSelection(0)
        self.CentreFreq=wx.TextCtrl(panel,-1,size=(80,25))
        self.BandWidth=wx.TextCtrl(panel,-1,size=(80,25))
        
        #############################################
        curTime=time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
        Year=int(curTime[0:4])
        Month=int(curTime[4:6])
        Day=int(curTime[6:8])
        Hour=int(curTime[8:10])
        Min=int(curTime[10:12])+2
        
        
        ###############################################

        self.StartTimeYear=wx.ComboBox(panel,-1,str(Year),choices=["2015","2016","2017","2018"])
        self.StartTimeMonth=wx.ComboBox(panel,-1,str(Month),choices=["1","2","3","4","5","6","7","8","9","10","11","12"])
        self.StartTimeDay=wx.TextCtrl(panel,-1,str(Day),size=(60,25))
        self.StartTimeHour=wx.TextCtrl(panel,-1,str(Hour),size=(60,25))
        self.StartTimeMinute=wx.TextCtrl(panel,-1,str(Min),size=(60,25))

        self.EndTimeYear=wx.ComboBox(panel,-1,str(Year),choices=["2015","2016","2017","2018"])
        self.EndTimeMonth=wx.ComboBox(panel,-1,str(Month),choices=["1","2","3","4","5","6","7","8","9","10","11","12"])
        self.EndTimeDay=wx.TextCtrl(panel,-1,str(Day),size=(60,25))
        self.EndTimeHour=wx.TextCtrl(panel,-1,str(Hour),size=(60,25))
        self.EndTimeMinute=wx.TextCtrl(panel,-1,str(Min),size=(60,25))


        sizer=wx.BoxSizer(wx.VERTICAL)
        sizer.Add((15,15))
        sizer.Add(self.radioBox3,0,wx.LEFT,20)
        sizer.Add(self.FreqSection,0,wx.LEFT|wx.TOP,20)

        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"中心频率(MHz)",size=(100,25)),0,wx.LEFT,20)
        hBox1.Add(self.CentreFreq,0,wx.LEFT,20)
        sizer.Add(hBox1)
        
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"带宽(MHz)",size=(100,25)),0,wx.LEFT,20)
        hBox1.Add(self.BandWidth,0,wx.LEFT,20)
        sizer.Add(hBox1)

        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"分布数据来源:",size=(100,25)),0,wx.LEFT|wx.ALIGN_TOP,20)
        hBox1.Add(self.radioBox1,0,wx.LEFT|wx.ALIGN_TOP,20)
        sizer.Add(hBox1)
        
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"T-POA定位:",size=(100,25)),0,wx.LEFT|wx.ALIGN_TOP,20)
        hBox1.Add(self.radioBox4,0,wx.LEFT|wx.ALIGN_TOP,20)
        sizer.Add(hBox1)
        
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"显示数据来源:",size=(100,25)),0,wx.LEFT|wx.ALIGN_TOP,20)
        hBox1.Add(self.radioBox2,0,wx.LEFT|wx.ALIGN_TOP,20)
        sizer.Add(hBox1)
        
        sizer.Add((10,10))
        sizer.Add(wx.StaticText(panel,-1,u"起始时间(年-月-日-时-分):",size=(160,25)),0,wx.LEFT,20)
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.StartTimeYear,0,wx.LEFT,20)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeMonth,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeDay,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeHour,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeMinute,0)
        sizer.Add(hBox1)

        sizer.Add(wx.StaticText(panel,-1,u"终止时间(年-月-日-时-分):",size=(160,25)),0,wx.LEFT,20)
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.EndTimeYear,0,wx.LEFT,20)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.EndTimeMonth,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.EndTimeDay,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.EndTimeHour,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.EndTimeMinute,0)
        sizer.Add(hBox1)
        sizer.Add((30,30))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        self.btn_ok=wx.Button(panel,-1,"OK",size=(60,25))
        
        hBox1.Add(self.btn_ok,0,wx.LEFT,20)
        hBox1.Add(wx.Button(panel,wx.ID_CANCEL,"CANCEL",size=(60,25)),0,wx.LEFT,20)
        sizer.Add(hBox1)
        panel.SetSizer(sizer)
        
        
        self.Layout()
        
        self.Centre( wx.BOTH )
        
        #Events
        self.Bind(wx.EVT_RADIOBOX, self.OnRadio,self.radioBox3)
        self.btn_ok.Bind(wx.EVT_BUTTON, self.OnbtnOk)
        self.FreqSection.Enable(False)
        self.CentreFreq.Enable(True)
        self.BandWidth.Enable(True)
コード例 #23
0
    def __init__(self, parent):
        wx.Dialog.__init__(self, None, -1, u"电磁路径分布数据请求", size=(400, 650))

        self.SetFont(
            wx.Font(10,
                    wx.ROMAN,
                    wx.NORMAL,
                    wx.LIGHT,
                    underline=False,
                    faceName=u"微软雅黑",
                    encoding=wx.FONTENCODING_DEFAULT))

        panel = wx.Panel(self, -1)

        ###############################
        self.parent = parent
        self.tail = FrameTail(0, 0, 0xAA)

        self.id = staticVar.getid()
        self.lowid = self.id & 0x00FF
        self.highid = self.id >> 8

        self.List = staticVar.getCentreFreq()
        self.ListFreq = staticVar.getFreq()
        ###############################################
        self.radioBox1 = wx.RadioBox(panel,
                                     -1,
                                     choices=[u"本地获取", u"中心站获取"],
                                     style=wx.RA_VERTICAL)
        self.radioBox2 = wx.RadioBox(panel,
                                     -1,
                                     choices=[u"显示历史分布", u"显示实时分布"],
                                     style=wx.RA_VERTICAL)
        self.radioBox3 = wx.RadioBox(panel, -1, choices=[u"选择频率", u"手动频率"])
        self.radioBox4 = wx.RadioBox(panel, -1, choices=[u"YES", u"NO"])

        self.radioBox1.SetSelection(1)
        self.radioBox2.SetSelection(1)
        self.radioBox3.SetSelection(1)
        self.radioBox4.SetSelection(1)
        self.FreqSection = wx.ComboBox(panel,
                                       -1,
                                       u"FM调频广播频段",
                                       choices=self.List)
        self.FreqSection.SetSelection(0)
        self.CentreFreq = wx.TextCtrl(panel, -1, size=(80, 25))
        self.BandWidth = wx.TextCtrl(panel, -1, size=(80, 25))

        #############################################
        curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
        Year = int(curTime[0:4])
        Month = int(curTime[4:6])
        Day = int(curTime[6:8])
        Hour = int(curTime[8:10])
        Min = int(curTime[10:12]) + 2

        ###############################################

        self.StartTimeYear = wx.ComboBox(
            panel, -1, str(Year), choices=["2015", "2016", "2017", "2018"])
        self.StartTimeMonth = wx.ComboBox(panel,
                                          -1,
                                          str(Month),
                                          choices=[
                                              "1", "2", "3", "4", "5", "6",
                                              "7", "8", "9", "10", "11", "12"
                                          ])
        self.StartTimeDay = wx.TextCtrl(panel, -1, str(Day), size=(60, 25))
        self.StartTimeHour = wx.TextCtrl(panel, -1, str(Hour), size=(60, 25))
        self.StartTimeMinute = wx.TextCtrl(panel, -1, str(Min), size=(60, 25))

        self.EndTimeYear = wx.ComboBox(
            panel, -1, str(Year), choices=["2015", "2016", "2017", "2018"])
        self.EndTimeMonth = wx.ComboBox(panel,
                                        -1,
                                        str(Month),
                                        choices=[
                                            "1", "2", "3", "4", "5", "6", "7",
                                            "8", "9", "10", "11", "12"
                                        ])
        self.EndTimeDay = wx.TextCtrl(panel, -1, str(Day), size=(60, 25))
        self.EndTimeHour = wx.TextCtrl(panel, -1, str(Hour), size=(60, 25))
        self.EndTimeMinute = wx.TextCtrl(panel, -1, str(Min), size=(60, 25))

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add((15, 15))
        sizer.Add(self.radioBox3, 0, wx.LEFT, 20)
        sizer.Add(self.FreqSection, 0, wx.LEFT | wx.TOP, 20)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"中心频率(MHz)", size=(100, 25)), 0,
                  wx.LEFT, 20)
        hBox1.Add(self.CentreFreq, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"带宽(MHz)", size=(100, 25)), 0,
                  wx.LEFT, 20)
        hBox1.Add(self.BandWidth, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"分布数据来源:", size=(100, 25)), 0,
                  wx.LEFT | wx.ALIGN_TOP, 20)
        hBox1.Add(self.radioBox1, 0, wx.LEFT | wx.ALIGN_TOP, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"T-POA定位:", size=(100, 25)), 0,
                  wx.LEFT | wx.ALIGN_TOP, 20)
        hBox1.Add(self.radioBox4, 0, wx.LEFT | wx.ALIGN_TOP, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"显示数据来源:", size=(100, 25)), 0,
                  wx.LEFT | wx.ALIGN_TOP, 20)
        hBox1.Add(self.radioBox2, 0, wx.LEFT | wx.ALIGN_TOP, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        sizer.Add(
            wx.StaticText(panel, -1, u"起始时间(年-月-日-时-分):", size=(160, 25)), 0,
            wx.LEFT, 20)
        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.StartTimeYear, 0, wx.LEFT, 20)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeMonth, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeDay, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeHour, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeMinute, 0)
        sizer.Add(hBox1)

        sizer.Add(
            wx.StaticText(panel, -1, u"终止时间(年-月-日-时-分):", size=(160, 25)), 0,
            wx.LEFT, 20)
        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.EndTimeYear, 0, wx.LEFT, 20)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.EndTimeMonth, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.EndTimeDay, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.EndTimeHour, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.EndTimeMinute, 0)
        sizer.Add(hBox1)
        sizer.Add((30, 30))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        self.btn_ok = wx.Button(panel, -1, "OK", size=(60, 25))

        hBox1.Add(self.btn_ok, 0, wx.LEFT, 20)
        hBox1.Add(wx.Button(panel, wx.ID_CANCEL, "CANCEL", size=(60, 25)), 0,
                  wx.LEFT, 20)
        sizer.Add(hBox1)
        panel.SetSizer(sizer)

        self.Layout()

        self.Centre(wx.BOTH)

        #Events
        self.Bind(wx.EVT_RADIOBOX, self.OnRadio, self.radioBox3)
        self.btn_ok.Bind(wx.EVT_BUTTON, self.OnbtnOk)
        self.FreqSection.Enable(False)
        self.CentreFreq.Enable(True)
        self.BandWidth.Enable(True)
コード例 #24
0
    def __init__( self,parent):
        ####   一些参数值    ######################
        
        self.freq_s=70
        self.freq_e=5995
        self.upload_mode=0
        self.extract_m=1
        self.changethres=10
        self.id=staticVar.getid()
        self.lowid=self.id&0x00FF
        self.highid=self.id>>8
        self.tail=FrameTail(0,0,0xAA)
        self.outPoint=staticVar.outPoint
        
       
        self.parent=parent
        
        print self.id 
        
        
        #### show #########
        self.show_recv_set=self.parent.show_recv_set
        self.byte_to_package=self.parent.byte_to_package
        ###  编码表   ###
        self.dictThres={3:0x00,10:0x01,20:0x02,25:0x03,30:0x04,40:0x05}
        
        ##########################################
    
        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 404,365 ), style = wx.DEFAULT_DIALOG_STYLE )
        
        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
        
        gSizer2 = wx.GridSizer( 1, 1, 0, 0 )
        
        self.m_notebook3 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )

        self.m_notebook3.SetFont(wx.Font(10, wx.ROMAN, wx.NORMAL, wx.LIGHT, underline=False, faceName=u"微软雅黑",
                                         encoding=wx.FONTENCODING_DEFAULT))

        self.p_sweep_set = wx.Panel( self.m_notebook3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        gSizer3 = wx.GridSizer( 6, 2, 0, 0 )
        
        
        # gSizer3.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        self.text= wx.StaticText( self.p_sweep_set, wx.ID_ANY, u"扫频范围:", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.text_freq_range= wx.StaticText( self.p_sweep_set, wx.ID_ANY, '70-6G', wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer3.Add( self.text, 0, wx.EXPAND, 5 )
        gSizer3.Add(self.text_freq_range, 0, wx.EXPAND, 5)

        self.m_staticText6 = wx.StaticText( self.p_sweep_set, wx.ID_ANY, u"扫频接收模式", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText6.Wrap( -1 )
        gSizer3.Add( self.m_staticText6, 0, wx.ALL, 5 )
        
        m_sweep_modeChoices = [ u"全频段", u"用户自定义频段",u"标准业务频段" ]
        self.m_sweep_mode = wx.ComboBox( self.p_sweep_set, wx.ID_ANY, u"全频段", wx.DefaultPosition, wx.DefaultSize, m_sweep_modeChoices, 0 )
        self.m_sweep_mode.SetSelection( 0 )
        gSizer3.Add( self.m_sweep_mode, 0, wx.ALL, 5 )
        
        self.m_staticText9 = wx.StaticText( self.p_sweep_set, wx.ID_ANY, u"文件上传模式", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText9.Wrap( -1 )
        gSizer3.Add( self.m_staticText9, 0, wx.ALL, 5 )
        
        m_upload_modeChoices = [ u"手动上传", u"不定时自动上传", u"抽取定时自动上传" ]
        self.m_upload_mode = wx.ComboBox( self.p_sweep_set, wx.ID_ANY, u"手动上传", wx.DefaultPosition, wx.DefaultSize, m_upload_modeChoices, 0 )
        self.m_upload_mode.SetSelection( 0 )
        gSizer3.Add( self.m_upload_mode, 0, wx.ALL, 5 )
        
        self.m_staticText11 = wx.StaticText( self.p_sweep_set, wx.ID_ANY, u"文件上传抽取倍率(1-63)", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText11.Wrap( -1 )
        gSizer3.Add( self.m_staticText11, 0, wx.ALL, 5 )
        
        self.m_extract_M = wx.TextCtrl( self.p_sweep_set, wx.ID_ANY, u"1", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer3.Add( self.m_extract_M, 0, wx.ALL, 5 )
        
        self.m_staticText10 = wx.StaticText( self.p_sweep_set, wx.ID_ANY, u"数据变化判定门限", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText10.Wrap( -1 )
        gSizer3.Add( self.m_staticText10, 0, wx.ALL, 5 )
        
        m_change_thredChoices = [ u"10", u"20" ]
        self.m_change_thred = wx.ComboBox( self.p_sweep_set, wx.ID_ANY, u"10", wx.DefaultPosition, wx.DefaultSize, m_change_thredChoices, 0 )
        self.m_change_thred.SetSelection( 0 )
        gSizer3.Add( self.m_change_thred, 0, wx.ALL, 5 )
        
        self.btn_set = wx.Button( self.p_sweep_set, wx.ID_ANY, u"设置", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer3.Add( self.btn_set, 0, wx.ALL, 5 )
        
        self.btn_cancel = wx.Button( self.p_sweep_set, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer3.Add( self.btn_cancel, 0, wx.ALL, 5 )
        
        
        self.p_sweep_set.SetSizer( gSizer3 )
        self.p_sweep_set.Layout()
        gSizer3.Fit( self.p_sweep_set )
        self.m_notebook3.AddPage( self.p_sweep_set, u"扫频设置", False )
        self.p_sweep_param = wx.Panel( self.m_notebook3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        gSizer4 = wx.GridSizer( 7, 2, 0, 0 )
        
        self.m_check_recvgain = wx.CheckBox( self.p_sweep_param, wx.ID_ANY, u"  接收增益(dB)", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer4.Add( self.m_check_recvgain, 0, wx.ALL, 5 )
        
        self.m_slider_recvgain = wx.Slider( self.p_sweep_param, wx.ID_ANY, 7, -1, 73, wx.DefaultPosition, wx.Size( 150,-1 ), wx.SL_HORIZONTAL|wx.SL_LABELS|wx.SL_SELRANGE )
        gSizer4.Add( self.m_slider_recvgain, 0, wx.ALL, 5 )

        self.m_check_channelgain = wx.CheckBox(self.p_sweep_param, wx.ID_ANY, u"  通道接收增益表", wx.DefaultPosition,
                                               wx.DefaultSize, 0)
        gSizer4.Add(self.m_check_channelgain, 0, wx.ALL, 5)

        m_combo_channelgainChoices = ['SRF201', 'SRF301']
        self.m_combo_channelgain = wx.ComboBox(self.p_sweep_param, wx.ID_ANY, 'SRF201', wx.DefaultPosition,
                                               wx.DefaultSize, m_combo_channelgainChoices, 0)
        gSizer4.Add(self.m_combo_channelgain, 0, wx.ALL, 5)

        self.m_check_antgain = wx.CheckBox(self.p_sweep_param, wx.ID_ANY, u"天线接收增益表", wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        gSizer4.Add(self.m_check_antgain, 0, wx.ALL, 5)

        m_combo_antgainChoices = [u"超短套筒天线", u"超短螺旋天线", u"单鞭螺旋天线", u"平面双锥天线", u"AH-8000", u"AH-7000", \
                                  u"TQJ-1000", u"国人对数", u"汇讯通对数", u"BTA-BicoLog", u"LX-520", u"LX-840", u"LX-1080"]
        self.m_combo_antgain = wx.ComboBox(self.p_sweep_param, wx.ID_ANY, u"超短套筒天线", wx.DefaultPosition, wx.DefaultSize,
                                           m_combo_antgainChoices, 0)
        gSizer4.Add(self.m_combo_antgain, 0, wx.ALL, 5)

        line = wx.StaticLine(self.p_sweep_param, -1, (0, 30), (200, 1), style=wx.LI_HORIZONTAL)
        line2 = wx.StaticLine(self.p_sweep_param, -1, (0, 30), (200, 1), style=wx.LI_HORIZONTAL)
        gSizer4.Add(line , 0, wx.ALL, 5)

        gSizer4.Add(line2 , 0, wx.ALL, 5)

        self.m_check_adapt = wx.CheckBox( self.p_sweep_param, wx.ID_ANY, u"  自适应门限(dB)", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer4.Add( self.m_check_adapt, 0, wx.ALL, 5 )
        
        m_combo_adaptChoices = [ u"3 ", u"10", u"20", u"25", u"30", u"40" ]
        self.m_combo_adapt = wx.ComboBox( self.p_sweep_param, wx.ID_ANY, u"20", wx.DefaultPosition, wx.Size( 110,-1 ), m_combo_adaptChoices, 0 )
        self.m_combo_adapt.SetSelection( 2 )
        gSizer4.Add( self.m_combo_adapt, 0, wx.ALL, 5 )
        
        self.m_check_block = wx.CheckBox( self.p_sweep_param, wx.ID_ANY, u"  模板检测", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer4.Add( self.m_check_block, 0, wx.ALL, 5 )

        self.m_btn_block = wx.Button(self.p_sweep_param, wx.ID_ANY , u"设置模板检测值" , wx.DefaultPosition , wx.DefaultSize, 0)
        gSizer4.Add( self.m_btn_block, 0, wx.ALL, 5 )        
        # self.m_text_fix = wx.TextCtrl( self.p_sweep_param, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer4.Add( self.m_text_fix, 0, wx.ALL, 5 )
        

        self.m_button_paramSet = wx.Button( self.p_sweep_param, wx.ID_ANY, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer4.Add( self.m_button_paramSet, 0, wx.ALL, 5 )
        
        self.m_button_cancel = wx.Button( self.p_sweep_param, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer4.Add( self.m_button_cancel, 0, wx.ALL, 5 )
        
        
        self.p_sweep_param.SetSizer( gSizer4 )
        self.p_sweep_param.Layout()
        gSizer4.Fit( self.p_sweep_param )
        self.m_notebook3.AddPage( self.p_sweep_param, u"参数设置", True )
        self.p_sweep_display = wx.Panel( self.m_notebook3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        gSizer41 = wx.GridSizer(7, 1, 0, 0 )
        
        img_waterfall = wx.Image('.//icons//waterfull.png',wx.BITMAP_TYPE_ANY)
        bmp_waterfall = wx.StaticBitmap(self.p_sweep_display,-1,wx.BitmapFromImage(img_waterfall))

        img_list = wx.Image('.//icons//list.png',wx.BITMAP_TYPE_ANY)
        bmp_list = wx.StaticBitmap(self.p_sweep_display,-1,wx.BitmapFromImage(img_list))

        img_stat = wx.Image('.//icons//statistics.png',wx.BITMAP_TYPE_ANY)
        bmp_stat = wx.StaticBitmap(self.p_sweep_display,-1,wx.BitmapFromImage(img_stat))



        
        # self.check_spec = wx.CheckBox( self.p_sweep_display, wx.ID_ANY, u"   功率谱图", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer41.Add( self.check_spec, 0, wx.ALL, 5 )
        
        self.check_water = wx.CheckBox( self.p_sweep_display, wx.ID_ANY, u" 瀑布图", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer41.Add(bmp_waterfall, 0,  wx.LEFT,30)
        gSizer41.Add( self.check_water, 0, wx.ALL, 5 )

        self.toji = wx.CheckBox(self.p_sweep_display, wx.ID_ANY, u" 统计结果显示", wx.DefaultPosition, wx.DefaultSize,
                                       0)
        gSizer41.Add(bmp_stat, 0, wx.LEFT, 30)
        gSizer41.Add(self.toji, 0, wx.ALL, 5)

        self.list = wx.CheckBox(self.p_sweep_display, wx.ID_ANY, u" 列表显示", wx.DefaultPosition, wx.DefaultSize,
                                      0)
        gSizer41.Add(bmp_list, 0, wx.LEFT, 30)
        gSizer41.Add(self.list, 0, wx.ALL, 5)


        self.btn_display = wx.Button( self.p_sweep_display, wx.ID_ANY, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer41.Add( self.btn_display, 0, wx.ALL, 5 )
        
        
        self.p_sweep_display.SetSizer( gSizer41 )
        self.p_sweep_display.Layout()
        gSizer41.Fit( self.p_sweep_display )
        self.m_notebook3.AddPage( self.p_sweep_display, u"扫频显示", False )
        self.p_seep_query = wx.Panel( self.m_notebook3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
#         self.p_seep_query.SetFont( wx.Font( 12, 74, 90, 90, False, "微软雅黑" ) )
        
        bSizer2 = wx.BoxSizer( wx.VERTICAL )
        
        m_radio_queryChoices = [ u"扫频范围", u"接收增益", u"工作状态",u"检测门限",u"接收通道增益修正表", u"天线增益修正表" ]
        self.m_radio_query = wx.RadioBox( self.p_seep_query, wx.ID_ANY, u"查询项", wx.DefaultPosition, wx.DefaultSize, m_radio_queryChoices, 1, wx.RA_SPECIFY_COLS )
        self.m_radio_query.SetSelection( 0 )
        bSizer2.Add( self.m_radio_query, 0, wx.ALL|wx.EXPAND, 5 )
        
        self.btn_query = wx.Button( self.p_seep_query, wx.ID_ANY, u"查询", wx.DefaultPosition, wx.DefaultSize, 0 )
#         self.btn_query.SetFont( wx.Font( 9, 74, 90, 90, False, "微软雅黑" ) )
        
        bSizer2.Add( self.btn_query, 0, wx.ALL, 5 )
        
        
        self.p_seep_query.SetSizer( bSizer2 )
        self.p_seep_query.Layout()
        bSizer2.Fit( self.p_seep_query )
        self.m_notebook3.AddPage( self.p_seep_query, u"查询", False )
        
        gSizer2.Add( self.m_notebook3, 1, wx.EXPAND |wx.ALL, 5 )
        
        
        self.SetSizer( gSizer2 )
        self.Layout()
        
        self.Centre( wx.BOTH )
        
        # Connect Events
        self.m_sweep_mode.Bind( wx.EVT_COMBOBOX, self.m_sweep_modeOnCombobox )
        self.m_upload_mode.Bind( wx.EVT_COMBOBOX, self.m_upload_modeOnCombobox )
        self.btn_set.Bind( wx.EVT_BUTTON, self.btn_setOnButtonClick )
        self.btn_cancel.Bind( wx.EVT_BUTTON, self.btn_cancelOnButtonClick )
        self.m_btn_block.Bind( wx.EVT_BUTTON, self.btn_setBlockThres)
        self.m_button_paramSet.Bind( wx.EVT_BUTTON, self.m_button_paramSetOnButtonClick )
        self.m_button_cancel.Bind( wx.EVT_BUTTON, self.m_button_cancelOnButtonClick )
        self.btn_display.Bind( wx.EVT_BUTTON, self.btn_displayOnButtonClick )
        self.m_radio_query.Bind( wx.EVT_RADIOBOX, self.m_radioBox1OnRadioBox )
        self.btn_query.Bind( wx.EVT_BUTTON, self.btn_queryOnButtonClick )
コード例 #25
0
    def __init__( self, parent ):
        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"压制发射", pos = wx.DefaultPosition, size = wx.Size( 392,382 ), style = wx.DEFAULT_DIALOG_STYLE )
        
        ###########################################
        self.T1=0
        self.T2=0
        self.T3=0
        self.T4=0
        
        self.press_mode=5
        
        
        self.id=staticVar.getid()
        self.lowid=self.id&0x00FF
        self.highid=self.id>>8
        self.tail=FrameTail(0,0,0xAA)
        self.outPoint=staticVar.outPoint

        #### show ######
        
        self.parent= parent  
             
        self.show_recv_set= self.parent.show_recv_set
        self.byte_to_package= self.parent.byte_to_package
         
            
        ###########################################
        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
        
        gSizer7 = wx.GridSizer( 1, 1, 0, 0 )
        
        self.m_notebook2 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )
        
        self.m_notebook2.SetFont(wx.Font( 10,wx.ROMAN,wx.NORMAL,wx.LIGHT,underline=False,faceName=u"微软雅黑",encoding=wx.FONTENCODING_DEFAULT ))
        
        self.m_panel7 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        
        
        gSizer8 = wx.GridSizer( 8, 2, 0, 0 )
        
        
        gSizer8.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        
        gSizer8.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        self.m_staticText3 = wx.StaticText( self.m_panel7, wx.ID_ANY, u"压制设置", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText3.Wrap( -1 )
        gSizer8.Add( self.m_staticText3, 0, wx.ALL, 5 )
        
        m_press_setChoices = [ u"结束压制", u"单频点自动", u"单频点手动", u"双频点自动", u"双频点手动" ]
        self.m_press_set = wx.Choice( self.m_panel7, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_press_setChoices, 0 )
        self.m_press_set.SetSelection( 0 )
        gSizer8.Add( self.m_press_set, 0, wx.ALL, 5 )
        
        self.m_staticText4 = wx.StaticText( self.m_panel7, wx.ID_ANY, u"压制信号类型", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText4.Wrap( -1 )
        gSizer8.Add( self.m_staticText4, 0, wx.ALL, 5 )
        
        m_press_signaltypeChoices = [ u"单频正弦波信号", u"等幅多频信号", u"噪声调频信号", u"数字射频储存DRM信号" ]
        self.m_press_signaltype = wx.Choice( self.m_panel7, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_press_signaltypeChoices, 0 )
        self.m_press_signaltype.SetSelection( 0 )
        gSizer8.Add( self.m_press_signaltype, 0, wx.ALL, 5 )
        
        self.m_staticText5 = wx.StaticText( self.m_panel7, wx.ID_ANY, u"压制带宽", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText5.Wrap( -1 )
        gSizer8.Add( self.m_staticText5, 0, wx.ALL, 5 )
        
        m_press_bwChoices = [ u"单谱线(正弦波)", u"(等幅多边,噪声调频)", u"直接IQ调制发射(DRM)" ]
        self.m_press_bw = wx.Choice( self.m_panel7, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_press_bwChoices, 0 )
        self.m_press_bw.SetSelection( 0 )
        gSizer8.Add( self.m_press_bw, 0, wx.ALL, 5 )
        
        self.m_staticText6 = wx.StaticText( self.m_panel7, wx.ID_ANY, u"压制频率1(Mhz)", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText6.Wrap( -1 )
        gSizer8.Add( self.m_staticText6, 0, wx.ALL, 5 )
        
        self.m_freq1 = wx.TextCtrl( self.m_panel7, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer8.Add( self.m_freq1, 0, wx.ALL, 5 )
        
        self.m_staticText7 = wx.StaticText( self.m_panel7, wx.ID_ANY, u"压制频率2(Mhz)", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText7.Wrap( -1 )
        gSizer8.Add( self.m_staticText7, 0, wx.ALL, 5 )
        
        self.m_freq2 = wx.TextCtrl( self.m_panel7, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer8.Add( self.m_freq2, 0, wx.ALL, 5 )
        
        
        
        self.btn_press_set = wx.Button( self.m_panel7, wx.ID_ANY, u"设置", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer8.Add( self.btn_press_set, 0, wx.ALIGN_RIGHT, 5 )
        
        self.btn_press_cancel = wx.Button( self.m_panel7, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer8.Add( self.btn_press_cancel, 0, wx.ALIGN_CENTER_HORIZONTAL, 5 )
        
        
        self.m_panel7.SetSizer( gSizer8 )
        self.m_panel7.Layout()
        gSizer8.Fit( self.m_panel7 )
        self.m_notebook2.AddPage( self.m_panel7, u"压制设置", False )
        self.m_panel8 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        gSizer4 = wx.GridSizer( 8, 2, 0, 0 )
        
        
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        self.m_staticText71 = wx.StaticText( self.m_panel8, wx.ID_ANY, u"压制发射衰减(dB)", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText71.Wrap( -1 )
        gSizer4.Add( self.m_staticText71, 0, wx.ALL, 5 )
        
        self.m_slider_weak = wx.Slider( self.m_panel8, wx.ID_ANY, 0, 0, 89, wx.DefaultPosition, wx.Size( 150,-1 ), wx.SL_HORIZONTAL|wx.SL_LABELS|wx.SL_SELRANGE )
        gSizer4.Add( self.m_slider_weak, 0, wx.ALL, 5 )
        
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        
        self.btn_param_set = wx.Button( self.m_panel8, wx.ID_ANY, u"设置", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer4.Add( self.btn_param_set, 0, wx.ALIGN_RIGHT, 5 )
        
        self.m_button7 = wx.Button( self.m_panel8, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer4.Add( self.m_button7, 0, wx.ALIGN_CENTER_HORIZONTAL, 5 )
        
        
        self.m_panel8.SetSizer( gSizer4 )
        self.m_panel8.Layout()
        gSizer4.Fit( self.m_panel8 )
        self.m_notebook2.AddPage( self.m_panel8, u"参数设置", True )
        self.m_panel9 = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        gSizer71 = wx.GridSizer( 7, 1, 0, 0 )
        
        gSizer71.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        Choices = [ u"压制发射衰减", u"压制中心频率", u"压制模式查询" ]
        self.radio_pressquery= wx.RadioBox( self.m_panel9, wx.ID_ANY, u"查询项", wx.DefaultPosition, wx.Size( 120,140 ),
        Choices, 1, wx.RA_SPECIFY_COLS )
        self.radio_pressquery.SetSelection( 2 )
        gSizer71.Add( self.radio_pressquery, 0, wx.ALL, 5 )
        
        
        gSizer71.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        
        
        gSizer71.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        
        gSizer71.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        
        self.btn_press_query = wx.Button( self.m_panel9, wx.ID_ANY, u"查询", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer71.Add( self.btn_press_query, 0, wx.ALIGN_BOTTOM|wx.ALIGN_CENTER, 5 )
        
        
        self.m_panel9.SetSizer( gSizer71 )
        self.m_panel9.Layout()
        gSizer71.Fit( self.m_panel9 )
        self.m_notebook2.AddPage( self.m_panel9, u"查询", False )
        
        gSizer7.Add( self.m_notebook2, 1, wx.EXPAND |wx.ALL, 5 )
        
        
        self.SetSizer( gSizer7 )
        self.Layout()
        
        self.Centre( wx.BOTH )
        # Connect Events
        self.m_press_set.Bind( wx.EVT_CHOICE, self.m_press_setOnChoice )  
        
        self.btn_press_set.Bind( wx.EVT_BUTTON, self.btn_press_setOnChoice)
        self.btn_param_set.Bind( wx.EVT_BUTTON, self.btn_param_setOnChoice)
        self.btn_press_query.Bind( wx.EVT_BUTTON, self.btn_press_queryOnChoice)
コード例 #26
0
    def FFTParse(self, ListSpec, ListAb):
        for i in range(len(ListSpec)):
            recvFFT = ListSpec[i]
            recvAbList = ListAb[i]

            TotalNum = recvFFT.SweepSectionTotalNum
            blockFFT = FFTBlock(recvFFT.CurSectionNo, recvFFT.AllFreq)
            blockAb = AbListBlock(recvAbList.CurSectionNo,
                                  recvAbList.AbFreqNum, recvAbList.AllAbFreq)
            self.SpecList.append(blockFFT)
            self.SpecList.append(blockAb)

        head=SpecUploadHeader(0x00,recvFFT.LonLatAlti,recvFFT.SweepRecvMode, \
        recvFFT.FileUploadMode,self.changeThres,self.extractM,TotalNum)

        ###组合功率谱文件####

        Time = recvFFT.Time_
        CommonHeader = recvFFT.CommonHeader
        ID = (CommonHeader.HighDeviceID << 8) + CommonHeader.LowDeviceID
        Year = (Time.HighYear << 4) + Time.LowYear
        Month = Time.Month
        Day = Time.Day
        Hour = (Time.HighHour << 2) + Time.LowHour + 8
        Minute = Time.Minute
        Second = Time.Second

        if (not Year == 2016):
            curTime = time.strftime('%Y%m%d%H%M%S',
                                    time.localtime(time.time()))
            Year = int(curTime[0:4])
            Month = int(curTime[4:6])
            Day = int(curTime[6:8])
            Hour = int(curTime[8:10])
            Minute = int(curTime[10:12])
            Second = int(curTime[12:14])

        ID = staticVar.getid()

        if (self.startTrans == 0):
            self.Second = Second
            self.startTrans = 1
        if ((self.startTrans == 1) and (self.Second != Second)):
            self.count = 1
            self.Second = Second
        fileName=str(Year)+"-"+str(Month)+"-"+str(Day)+  \
                 "-"+str(Hour)+"-"+str(Minute)+"-"+str(Second)+"-"+str(self.count)+'-'+str(ID)

        if (recvFFT.CommonHeader.FunctionPara == 0x51):
            fileName += '-fine.pwr'
        else:
            fileName += '-coarse.pwr'

        fileNameLen = len(fileName)
        fileContentLen = sizeof(head) + (sizeof(blockFFT) +
                                         sizeof(blockAb)) * TotalNum + 2

        # print fileNameLen
        # print fileContentLen

        ############SendToServer###################
        if (not staticVar.getSockFile() == 0):
            try:
                sockFile = staticVar.getSockFile()
                str1 = struct.pack("!2BHQ", 0x00, 0xFF, fileNameLen,
                                   fileContentLen)
                sockFile.sendall(str1 + fileName)
                sockFile.sendall(bytearray(head))
                for i in xrange(len(self.SpecList) / 2):
                    sockFile.sendall(bytearray(self.SpecList[2 * i]))
                sockFile.sendall(struct.pack("!B", 0xFF))
                for i in xrange(len(self.SpecList) / 2):
                    sockFile.sendall(bytearray(self.SpecList[2 * i + 1]))
                sockFile.sendall(struct.pack("!B", 0x00))
                ### 发送成功以后打个文件名 ###########

                print fileName
                self.count += 1
                self.countFFT += 1
                print 'self.countFFT', self.countFFT
                Log.getLogger().debug("send_spec_file_ok--name: %s--num:%s" %
                                      (fileName, self.countFFT))
            except socket.error, e:
                print 'socket_error_send_spec  ', e
                Log.getLogger().debug(
                    " socket_error_found_in_send_spec_file: %s" % e)
                Log.getLogger().debug(" Cur socket sockFile=: %s" %
                                      staticVar.sockFile)
                staticVar.sockFile = 0
コード例 #27
0
    def funcParaDecide(self,dataLen,ListData):
        if(ListData[0]==0x77 and ListData[1]==0x88):
            print '#### server heart beat #####'
            staticVar.count_heart_beat+=1
            Log.getLogger().debug("##Receive Server HeartBeat##")

            if(abs(self.count_heart_beat-staticVar.count_heart_beat)>2):
                print 'heart beat stop'
                Log.getLogger().debug("##HeartBeat is not equal ##")

                raise socket.error

            
        else:
            # ListData[0]=0x55

            BUFSIZE=4096
            frameFlag=ListData[1]
            print 'frameflag',frameFlag
            if(frameFlag>0 and frameFlag<=14):  ##服务器设置指令下发##
                print 'recv set command'

                if(frameFlag==11): #中心站发下来的停止功率谱上传的帧(关闭上传)
                    self.sock.recv(5)
                    staticFileUp.setUploadMode(0)  ##设置成手动,然后recv_fft 线程就不会往上传队列里面加

                elif(frameFlag==10):  #功率谱数据上传开启
                    self.sock.recv(5)
                    staticFileUp.setUploadMode(2)

                elif(frameFlag==6):  #模板下发
                    data=self.sock.recv(257)
                    for i in data:
                        ListData.append(ord(i))
                    self.outPoint.write(bytearray(ListData))



                else:
                    data=self.sock.recv(15)
                    for i in data:
                        ListData.append(ord(i))

                    if(frameFlag==0x01):
                        ### 扫频设置 ###
                        byte_to_pacakge=ByteToPackage()
                        obj=byte_to_pacakge.ByteToSweepRange(ListData)

                        staticFileUp.setUploadMode(obj.FileUploadMode-1)
                        staticFileUp.setUploadMode(obj.ExtractM)


                        begin_lab= 70+(obj.StartSectionNo-1 )*25 +\
                        ((obj.HighStartFreq<<8)+(obj.LowStartFreq))*25.0/1024
                        end_lab =  70+(obj.EndSectionNo-1 )*25 +\
                        ((obj.HighEndFreq <<8)+(obj.LowEndFreq))*25.0/1024

                        begin = 70+(obj.StartSectionNo-1 )*25
                        end = 70+(obj.EndSectionNo)*25
                        
                        self.setTick(begin_lab,end_lab,begin,end)

                    self.outPoint.write(bytearray(ListData))


                    if (frameFlag == 0x02):
                        thread = thread_recv_iq.ReceiveIQThread(self.mainframe)

                        thread.start()
                        self.switch_to_transfer=1



                '''
                if(frameFlag==0x07):

                    
                    #######  转UTC 格式 ########
                    hour=((ListData[8]&0x07)<<2)+(ListData[9]&0x03)
                    temp1=ListData[8]&0xF8
                    temp2=ListData[9]&0xFC 
                    hour-=8
                    HourStruct=Hour5bit(hour,0)
                    ListData[8]=temp1+(HourStruct.Hour>>2)
                    ListData[9]=temp2+(HourStruct.Hour&0x03)
                    ############################    
                    '''

            elif(frameFlag>=17 and frameFlag<=30):  ##服务器查询指令下发####
                print 'recv query'
                data=self.sock.recv(5)
                for i in data:
                    ListData.append(ord(i))

                if(frameFlag==0x1A):  ##查询上传是否开启
                    structObj=Query()
                    structObj.CommonTail=FrameTail(0,0,0xAA)
                    status=staticFileUp.getUploadMode()
                    if(status):
                        structObj.CommonHeader=\
                            FrameHeader(0x66,0x2A,staticVar.getid()&0x00FF,staticVar.getid()>>8)
                    else:
                        structObj.CommonHeader= \
                            FrameHeader(0x66, 0x2B, staticVar.getid() & 0x00FF, staticVar.getid() >> 8)
                    self.sock.sendall(bytearray(structObj))
                else:
                    self.outPoint.write(bytearray(ListData))
                    li=0
                    count=0
                    while(count<3):
                        try:
                            li = list(staticVar.inPointRecv.read(260,100))
                            if(li): break
                        except Exception,e:
                            time.sleep(0.5)
                            count+= 1
                            print e

                    if(not li == 0):
                        if(len(li)==260):
                            self.sock.sendall(bytearray(li[0:-1]))
                        else:
                            self.sock.sendall(bytearray(li))

            
            elif(frameFlag==0x41 or frameFlag==0x42):
                print 'recv iq tdoa **'
                data=self.sock.recv(15)
                for i in data:
                    ListData.append(ord(i))
                self.sock.recv(2)    
               
                self.specFrame.iq_sequence=(ListData[-2]<<8)+ListData[-3]
                ListData[-3]=0
                ListData[-2]=0
                ListData[-1]=0xAA
                    
                # ListData[0]=0x55
                    
                if(frameFlag==0x42):
                    
                    ListData[1]=0x07
                    #######  转UTC 格式 ########
                    hour=((ListData[8]&0x07)<<2)+(ListData[9]&0x03)
                    temp1=ListData[8]&0xF8
                    temp2=ListData[9]&0xFC 
                    hour-=8
                    ListData[8]=temp1+(hour>>2)
                    ListData[9]=temp2+(hour&0x03)
                    ############################
                else:
                    ListData[1]=0x02
                   
                print 'ListData',ListData      
                self.outPoint.write(bytearray(ListData))

                if(frameFlag == 0x42):
                    thread = thread_recv_iq.ReceiveIQThread(self.mainframe)
                    thread.start()

                    self.switch_to_transfer=1
コード例 #28
0
    def __init__( self, parent ):
        wx.aui.AuiMDIParentFrame.__init__ ( self, parent, -1, title = wx.EmptyString,  \
        pos = wx.DefaultPosition, size = wx.Size( 887,545 ), \
        style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
        
        
        #######################################
        matplotlib.rcParams["figure.facecolor"] = '#F2F5FA'
        matplotlib.rcParams["axes.facecolor"] = '0'
        matplotlib.rcParams["ytick.color"] = '0'
        matplotlib.rcParams["xtick.color"] = '0'
        matplotlib.rcParams["grid.color"] = 'w'
        matplotlib.rcParams["text.color"] = 'w'
        matplotlib.rcParams["figure.edgecolor"]="0"
        matplotlib.rcParams["xtick.labelsize"]=12
        matplotlib.rcParams["ytick.labelsize"]=12
        matplotlib.rcParams["axes.labelsize"]=14
        matplotlib.rcParams["grid.linestyle"]="-"
        matplotlib.rcParams["grid.linewidth"]=0.5
        matplotlib.rcParams["grid.color"]='#707070'
        
        #######################################
        # os.chdir("./apache-tomcat-7.0.68//bin//")
#         os.chdir("../apache-tomcat-7.0.68//bin//")
        
        os.system("startup.bat")
        dirname, filename = os.path.split(os.path.abspath(sys.argv[0]))
        os.chdir(dirname)
        ########### 初始化变量  #################
        self.start_local_iq=0

        ########### 心跳相关 ##########
        self.timer=0
        self.count_heart = 0
        


        self.frame_count=0    #打开的窗口数量#
        
        self.FreqMin=70
        self.FreqMax=5995
        
        self.tail=FrameTail(0,0,0xAA)
        #### 窗口################
        self.SpecFrame=Spectrum_1.Spec(self)
        self.SpecFrame.Activate()
      
        self.WaterFrame=None
        self.WaveFrame=None
        
        self.MapFrame=None 
        
        #################################

        staticVar.setid(11) #初始化id
        
        print staticVar.getid()
      
#         staticVar.initPort()  #初始化硬件 端口
        self.serverCom=ServerCommunication() #实例化服务器连接对象
        
        ########## 用于显示的  ############
        
        self.show_recv_set=ShowRecvAndSet(self)
        self.byte_to_package=ByteToPackage()

        self.GPS_list=[]  ##记录GPS 查询信息,发送给服务器
        ####上传的队列############
        self.queueFFTUpload=Queue.Queue()
        self.queueAbUpload=Queue.Queue()

        
        ###本地存储的队列#############
        self.queueFFTLocalSave=Queue.Queue()
        self.queueAbLocalSave=Queue.Queue()

        ### 画地图所使用的队列 (FFT的经纬度打包放进去)#########
        
        self.queueRouteMap=Queue.Queue()
        
        
        
        
        ###### 创建数据表 #############
        if(not os.path.isfile( "C:\\DataBase\\PortSRF.db" )):
            os.mkdir(r'C:/DataBase/')
        CreateAllTable.create_all_table()
        
        
        ##### thread 管理 #########
        self.thread_recvfft=0
        self.thread_upload=0
        self.thread_station=0
        self.thread_route_map=0
        ''' 

        if (configfpga.get_fx3_status()[0] == 0x04):
            pass
        else:
            configfpga.load_fpga('c:/top_sao.bit')

            wx.MessageBox('Config  OK!',
                          'Alert', wx.ICON_EXCLAMATION | wx.STAY_ON_TOP)
                          '''

        
        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
        
        self.m_toolBar1 = self.CreateToolBar( wx.TB_HORIZONTAL|wx.TB_TEXT, wx.ID_ANY ) 
        self.m_start_hw = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"硬件上传", wx.Bitmap( ".//icons//green_2.png", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        self.m_toolBar1.AddSeparator()
        
        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()
        
        self.m_connect = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"服务器连接", wx.Bitmap( ".//icons//link_start.jpg", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        
        self.m_toolBar1.AddSeparator()
        
        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()
        
        self.m_tool_sweep = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"扫频接收 ", wx.Bitmap( ".//icons//open_1.png", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        
        self.m_toolBar1.AddSeparator()
        
        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()
        
        self.m_tool_iq = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"定频接收  ", wx.Bitmap( ".//icons//link_a.png", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        
        self.m_toolBar1.AddSeparator()
        
        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()
        
        self.m_tool_press = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"压制发射", wx.Bitmap( ".//icons//red_1.png", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        
        self.m_toolBar1.AddSeparator()
        
        self.m_toolBar1.AddSeparator()
        
        self.m_tool_map = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"地图服务", wx.Bitmap( ".//icons//Play_1.png", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        
        self.m_toolBar1.AddSeparator()
        
        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()
        
        self.m_tool_freqplan = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"频率规划", wx.Bitmap( ".//icons//Pause_1.png", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        
        self.m_toolBar1.AddSeparator()
        
        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()
        
        self.m_tool_remoteCtrl = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"远程控制", wx.Bitmap( ".//icons//laba_1.png", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        
        self.m_toolBar1.AddSeparator()
        
        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()
        
        self.m_tool_replay = self.m_toolBar1.AddLabelTool( wx.ID_ANY, u"历史回放", wx.Bitmap( ".//icons//local_read_a.png", wx.BITMAP_TYPE_ANY ), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) 
        
        self.m_toolBar1.Realize() 
        
        
        self.Centre( wx.BOTH )
        
        # Connect Events
        self.Bind(wx.EVT_CLOSE,self.OnDoClose)
        self.Bind( wx.EVT_TOOL, self.m_start_hwOnToolClicked, id = self.m_start_hw.GetId() )
        self.Bind( wx.EVT_TOOL, self.m_connectOnToolClicked, id = self.m_connect.GetId() )
        self.Bind( wx.EVT_TOOL, self.m_tool_sweepOnToolClicked, id = self.m_tool_sweep.GetId() )
        self.Bind( wx.EVT_TOOL, self.m_tool_iqOnToolClicked, id = self.m_tool_iq.GetId() )
        self.Bind( wx.EVT_TOOL, self.m_tool_pressOnToolClicked, id = self.m_tool_press.GetId() )
        self.Bind( wx.EVT_TOOL, self.m_tool_mapOnToolClicked, id = self.m_tool_map.GetId() )
        self.Bind( wx.EVT_TOOL, self.m_tool_freqplanOnToolClicked, id = self.m_tool_freqplan.GetId() )
        self.Bind( wx.EVT_TOOL, self.m_tool_remoteCtrlOnToolClicked, id = self.m_tool_remoteCtrl.GetId() )
        self.Bind( wx.EVT_TOOL, self.m_tool_replayOnToolClicked, id = self.m_tool_replay.GetId() )
コード例 #29
0
    def FFTParse(self, ListSpec, ListAb):
        for i in range(len(ListSpec)):
            recvFFT = ListSpec[i]
            recvAbList = ListAb[i]

            TotalNum = recvFFT.SweepSectionTotalNum
            blockFFT = FFTBlock(recvFFT.CurSectionNo, recvFFT.AllFreq)
            blockAb = AbListBlock(recvAbList.CurSectionNo,
                                  recvAbList.AbFreqNum, recvAbList.AllAbFreq)
            self.SpecList.append(blockFFT)
            self.SpecList.append(blockAb)

        head=SpecUploadHeader(0x00,recvFFT.LonLatAlti,recvFFT.SweepRecvMode, \
        recvFFT.FileUploadMode,staticFileUp.getChangeThres(),staticFileUp.getExtractM(),TotalNum)

        ###组合功率谱文件####
        '''
        Time=recvFFT.Time_
        CommonHeader=recvFFT.CommonHeader
        ID=(CommonHeader.HighDeviceID<<8)+CommonHeader.LowDeviceID
        Year=(Time.HighYear<<4)+Time.LowYear
        Month=Time.Month
        Day=Time.Day
        Hour=(Time.HighHour<<2)+Time.LowHour
        Minute=Time.Minute
        Second=Time.Second
        '''

        curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
        Year = int(curTime[0:4])
        Month = int(curTime[4:6])
        Day = int(curTime[6:8])
        Hour = int(curTime[8:10])
        Minute = int(curTime[10:12])
        Second = int(curTime[12:14])

        ID = staticVar.getid()

        if (self.startTrans == 0):
            self.Second = Second
            self.startTrans = 1
        if ((self.startTrans == 1) and (self.Second != Second)):
            self.count = 1
            self.Second = Second
        fileName=str(Year)+"-"+str(Month)+"-"+str(Day)+  \
                 "-"+str(Hour)+"-"+str(Minute)+"-"+str(Second)+"-"+str(self.count)+'-'+str(ID)

        if (recvFFT.CommonHeader.FunctionPara == 0x51):
            fileName += '-fine.pwr'
        else:
            fileName += '-coarse.pwr'

        fileNameLen = len(fileName)
        fileContentLen = sizeof(head) + (sizeof(blockFFT) +
                                         sizeof(blockAb)) * TotalNum + 2

        print fileName
        print fileNameLen
        print fileContentLen

        ##########SaveToLocal#####################
        #         fid=open(".\LocalData\\"+ fileName,'wb+')
        fid = open(self.dir_spec + fileName, 'wb+')
        fid.write(bytearray(head))
        for i in xrange(len(self.SpecList) / 2):
            fid.write(bytearray(self.SpecList[2 * i]))
        fid.write(struct.pack("!B", 0xFF))
        for i in xrange(len(self.SpecList) / 2):
            fid.write(bytearray(self.SpecList[2 * i + 1]))
        fid.write(struct.pack("!B", 0x00))
        fid.close()
        #########################################
        self.SpecList = []

        self.count += 1
        self.countFFT += 1
        print 'self.countFFT', self.countFFT
コード例 #30
0
    def __init__(self, parent):
        ####   一些参数值    ######################

        self.freq_s = 70
        self.freq_e = 5995
        self.upload_mode = 0
        self.extract_m = 1
        self.changethres = 10
        self.id = staticVar.getid()
        self.lowid = self.id & 0x00FF
        self.highid = self.id >> 8
        self.tail = FrameTail(0, 0, 0xAA)
        self.outPoint = staticVar.outPoint

        self.parent = parent

        self.rbw_flg = 0

        print self.id

        #### show #########
        self.show_recv_set = self.parent.show_recv_set
        self.byte_to_package = self.parent.byte_to_package
        ###  编码表   ###
        self.dictThres = {
            3: 0x00,
            10: 0x01,
            20: 0x02,
            25: 0x03,
            30: 0x04,
            40: 0x05
        }

        ##########################################

        wx.Dialog.__init__(self,
                           parent,
                           id=wx.ID_ANY,
                           title=wx.EmptyString,
                           pos=wx.DefaultPosition,
                           size=wx.Size(404, 365),
                           style=wx.DEFAULT_DIALOG_STYLE)

        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)

        gSizer2 = wx.GridSizer(1, 1, 0, 0)

        self.m_notebook3 = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition,
                                       wx.DefaultSize, 0)

        self.m_notebook3.SetFont(
            wx.Font(10,
                    wx.ROMAN,
                    wx.NORMAL,
                    wx.LIGHT,
                    underline=False,
                    faceName=u"微软雅黑",
                    encoding=wx.FONTENCODING_DEFAULT))

        self.p_sweep_set = wx.Panel(self.m_notebook3, wx.ID_ANY,
                                    wx.DefaultPosition, wx.DefaultSize,
                                    wx.TAB_TRAVERSAL)
        gSizer3 = wx.GridSizer(6, 2, 0, 0)

        # gSizer3.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        self.text = wx.StaticText(self.p_sweep_set, wx.ID_ANY, u"扫频范围:",
                                  wx.DefaultPosition, wx.DefaultSize, 0)
        self.text_freq_range = wx.StaticText(self.p_sweep_set, wx.ID_ANY,
                                             '70-6G', wx.DefaultPosition,
                                             wx.DefaultSize, 0)
        gSizer3.Add(self.text, 0, wx.EXPAND, 5)
        gSizer3.Add(self.text_freq_range, 0, wx.EXPAND, 5)

        self.m_staticText6 = wx.StaticText(self.p_sweep_set, wx.ID_ANY,
                                           u"扫频接收模式", wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        self.m_staticText6.Wrap(-1)
        gSizer3.Add(self.m_staticText6, 0, wx.ALL, 5)

        m_sweep_modeChoices = [u"全频段", u"用户自定义频段", u"标准业务频段"]
        self.m_sweep_mode = wx.ComboBox(self.p_sweep_set, wx.ID_ANY, u"全频段",
                                        wx.DefaultPosition, wx.DefaultSize,
                                        m_sweep_modeChoices, 0)
        self.m_sweep_mode.SetSelection(0)
        gSizer3.Add(self.m_sweep_mode, 0, wx.ALL, 5)

        self.m_staticText9 = wx.StaticText(self.p_sweep_set, wx.ID_ANY,
                                           u"文件上传模式", wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        self.m_staticText9.Wrap(-1)
        gSizer3.Add(self.m_staticText9, 0, wx.ALL, 5)

        m_upload_modeChoices = [u"手动上传", u"不定时自动上传", u"抽取定时自动上传"]
        self.m_upload_mode = wx.ComboBox(self.p_sweep_set, wx.ID_ANY, u"手动上传",
                                         wx.DefaultPosition, wx.DefaultSize,
                                         m_upload_modeChoices, 0)
        self.m_upload_mode.SetSelection(0)
        gSizer3.Add(self.m_upload_mode, 0, wx.ALL, 5)

        self.m_staticText11 = wx.StaticText(self.p_sweep_set, wx.ID_ANY,
                                            u"文件上传抽取倍率(1-63)",
                                            wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.m_staticText11.Wrap(-1)
        gSizer3.Add(self.m_staticText11, 0, wx.ALL, 5)

        self.m_extract_M = wx.TextCtrl(self.p_sweep_set, wx.ID_ANY, u"1",
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer3.Add(self.m_extract_M, 0, wx.ALL, 5)

        self.m_staticText10 = wx.StaticText(self.p_sweep_set, wx.ID_ANY,
                                            u"数据变化判定门限", wx.DefaultPosition,
                                            wx.DefaultSize, 0)
        self.m_staticText10.Wrap(-1)
        gSizer3.Add(self.m_staticText10, 0, wx.ALL, 5)

        m_change_thredChoices = [u"10", u"20"]
        self.m_change_thred = wx.ComboBox(self.p_sweep_set, wx.ID_ANY, u"10",
                                          wx.DefaultPosition, wx.DefaultSize,
                                          m_change_thredChoices, 0)
        self.m_change_thred.SetSelection(0)
        gSizer3.Add(self.m_change_thred, 0, wx.ALL, 5)

        self.btn_set = wx.Button(self.p_sweep_set, wx.ID_ANY, u"设置",
                                 wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer3.Add(self.btn_set, 0, wx.ALL, 5)

        self.btn_cancel = wx.Button(self.p_sweep_set, wx.ID_ANY, u"取消",
                                    wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer3.Add(self.btn_cancel, 0, wx.ALL, 5)

        self.p_sweep_set.SetSizer(gSizer3)
        self.p_sweep_set.Layout()
        gSizer3.Fit(self.p_sweep_set)
        self.m_notebook3.AddPage(self.p_sweep_set, u"扫频设置", False)
        self.p_sweep_param = wx.Panel(self.m_notebook3, wx.ID_ANY,
                                      wx.DefaultPosition, wx.DefaultSize,
                                      wx.TAB_TRAVERSAL)
        gSizer4 = wx.GridSizer(7, 2, 0, 0)

        self.m_check_recvgain = wx.CheckBox(self.p_sweep_param, wx.ID_ANY,
                                            u"  接收增益(dB)", wx.DefaultPosition,
                                            wx.DefaultSize, 0)
        gSizer4.Add(self.m_check_recvgain, 0, wx.ALL, 5)

        self.m_slider_recvgain = wx.Slider(
            self.p_sweep_param, wx.ID_ANY, 7, -1, 73, wx.DefaultPosition,
            wx.Size(150, -1), wx.SL_HORIZONTAL | wx.SL_LABELS | wx.SL_SELRANGE)
        gSizer4.Add(self.m_slider_recvgain, 0, wx.ALL, 5)

        self.m_check_channelgain = wx.CheckBox(self.p_sweep_param, wx.ID_ANY,
                                               u"  通道接收增益表",
                                               wx.DefaultPosition,
                                               wx.DefaultSize, 0)
        gSizer4.Add(self.m_check_channelgain, 0, wx.ALL, 5)

        m_combo_channelgainChoices = ['SRF201', 'SRF301']
        self.m_combo_channelgain = wx.ComboBox(self.p_sweep_param, wx.ID_ANY,
                                               'SRF201', wx.DefaultPosition,
                                               wx.DefaultSize,
                                               m_combo_channelgainChoices, 0)
        gSizer4.Add(self.m_combo_channelgain, 0, wx.ALL, 5)

        self.m_check_antgain = wx.CheckBox(self.p_sweep_param, wx.ID_ANY,
                                           u"天线接收增益表", wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        gSizer4.Add(self.m_check_antgain, 0, wx.ALL, 5)

        m_combo_antgainChoices = [u"超短套筒天线", u"超短螺旋天线", u"单鞭螺旋天线", u"平面双锥天线", u"AH-8000", u"AH-7000", \
                                  u"TQJ-1000", u"国人对数", u"汇讯通对数", u"BTA-BicoLog", u"LX-520", u"LX-840", u"LX-1080"]
        self.m_combo_antgain = wx.ComboBox(self.p_sweep_param, wx.ID_ANY,
                                           u"超短套筒天线", wx.DefaultPosition,
                                           wx.DefaultSize,
                                           m_combo_antgainChoices, 0)
        gSizer4.Add(self.m_combo_antgain, 0, wx.ALL, 5)

        line = wx.StaticLine(self.p_sweep_param,
                             -1, (0, 30), (200, 1),
                             style=wx.LI_HORIZONTAL)
        line2 = wx.StaticLine(self.p_sweep_param,
                              -1, (0, 30), (200, 1),
                              style=wx.LI_HORIZONTAL)
        gSizer4.Add(line, 0, wx.ALL, 5)

        gSizer4.Add(line2, 0, wx.ALL, 5)

        self.m_check_adapt = wx.CheckBox(self.p_sweep_param, wx.ID_ANY,
                                         u"  自适应门限(dB)", wx.DefaultPosition,
                                         wx.DefaultSize, 0)
        gSizer4.Add(self.m_check_adapt, 0, wx.ALL, 5)

        m_combo_adaptChoices = [u"3 ", u"10", u"20", u"25", u"30", u"40"]
        self.m_combo_adapt = wx.ComboBox(self.p_sweep_param, wx.ID_ANY,
                                         u"20", wx.DefaultPosition,
                                         wx.Size(110,
                                                 -1), m_combo_adaptChoices, 0)
        self.m_combo_adapt.SetSelection(2)
        gSizer4.Add(self.m_combo_adapt, 0, wx.ALL, 5)

        self.m_check_block = wx.CheckBox(self.p_sweep_param, wx.ID_ANY,
                                         u"  模板检测", wx.DefaultPosition,
                                         wx.DefaultSize, 0)
        gSizer4.Add(self.m_check_block, 0, wx.ALL, 5)

        self.m_btn_block = wx.Button(self.p_sweep_param, wx.ID_ANY, u"设置模板检测值",
                                     wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer4.Add(self.m_btn_block, 0, wx.ALL, 5)
        # self.m_text_fix = wx.TextCtrl( self.p_sweep_param, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer4.Add( self.m_text_fix, 0, wx.ALL, 5 )

        self.m_button_paramSet = wx.Button(self.p_sweep_param, wx.ID_ANY,
                                           u"确定", wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        gSizer4.Add(self.m_button_paramSet, 0, wx.ALL, 5)

        self.m_button_cancel = wx.Button(self.p_sweep_param, wx.ID_ANY, u"取消",
                                         wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer4.Add(self.m_button_cancel, 0, wx.ALL, 5)

        self.p_sweep_param.SetSizer(gSizer4)
        self.p_sweep_param.Layout()
        gSizer4.Fit(self.p_sweep_param)
        self.m_notebook3.AddPage(self.p_sweep_param, u"参数设置", True)
        self.p_sweep_display = wx.Panel(self.m_notebook3, wx.ID_ANY,
                                        wx.DefaultPosition, wx.DefaultSize,
                                        wx.TAB_TRAVERSAL)
        gSizer41 = wx.GridSizer(7, 1, 0, 0)

        img_waterfall = wx.Image('.//icons//waterfull.png', wx.BITMAP_TYPE_ANY)
        bmp_waterfall = wx.StaticBitmap(self.p_sweep_display, -1,
                                        wx.BitmapFromImage(img_waterfall))

        img_list = wx.Image('.//icons//list.png', wx.BITMAP_TYPE_ANY)
        bmp_list = wx.StaticBitmap(self.p_sweep_display, -1,
                                   wx.BitmapFromImage(img_list))

        img_stat = wx.Image('.//icons//statistics.png', wx.BITMAP_TYPE_ANY)
        bmp_stat = wx.StaticBitmap(self.p_sweep_display, -1,
                                   wx.BitmapFromImage(img_stat))

        # self.check_spec = wx.CheckBox( self.p_sweep_display, wx.ID_ANY, u"   功率谱图", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer41.Add( self.check_spec, 0, wx.ALL, 5 )

        self.check_water = wx.CheckBox(self.p_sweep_display, wx.ID_ANY,
                                       u" 瀑布图", wx.DefaultPosition,
                                       wx.DefaultSize, 0)
        gSizer41.Add(bmp_waterfall, 0, wx.LEFT, 30)
        gSizer41.Add(self.check_water, 0, wx.ALL, 5)

        self.toji = wx.CheckBox(self.p_sweep_display, wx.ID_ANY, u" 统计结果显示",
                                wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer41.Add(bmp_stat, 0, wx.LEFT, 30)
        gSizer41.Add(self.toji, 0, wx.ALL, 5)

        self.list = wx.CheckBox(self.p_sweep_display, wx.ID_ANY, u" 列表显示",
                                wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer41.Add(bmp_list, 0, wx.LEFT, 30)
        gSizer41.Add(self.list, 0, wx.ALL, 5)

        self.btn_display = wx.Button(self.p_sweep_display, wx.ID_ANY, u"确定",
                                     wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer41.Add(self.btn_display, 0, wx.ALL, 5)

        self.p_sweep_display.SetSizer(gSizer41)
        self.p_sweep_display.Layout()
        gSizer41.Fit(self.p_sweep_display)
        self.m_notebook3.AddPage(self.p_sweep_display, u"扫频显示", False)
        self.p_seep_query = wx.Panel(self.m_notebook3, wx.ID_ANY,
                                     wx.DefaultPosition, wx.DefaultSize,
                                     wx.TAB_TRAVERSAL)
        #         self.p_seep_query.SetFont( wx.Font( 12, 74, 90, 90, False, "微软雅黑" ) )

        bSizer2 = wx.BoxSizer(wx.VERTICAL)

        m_radio_queryChoices = [
            u"扫频范围", u"接收增益", u"工作状态", u"检测门限", u"接收通道增益修正表", u"天线增益修正表"
        ]
        self.m_radio_query = wx.RadioBox(self.p_seep_query, wx.ID_ANY, u"查询项",
                                         wx.DefaultPosition, wx.DefaultSize,
                                         m_radio_queryChoices, 1,
                                         wx.RA_SPECIFY_COLS)
        self.m_radio_query.SetSelection(0)
        bSizer2.Add(self.m_radio_query, 0, wx.ALL | wx.EXPAND, 5)

        self.btn_query = wx.Button(self.p_seep_query, wx.ID_ANY, u"查询",
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        #         self.btn_query.SetFont( wx.Font( 9, 74, 90, 90, False, "微软雅黑" ) )

        bSizer2.Add(self.btn_query, 0, wx.ALL, 5)

        self.p_seep_query.SetSizer(bSizer2)
        self.p_seep_query.Layout()
        bSizer2.Fit(self.p_seep_query)
        self.m_notebook3.AddPage(self.p_seep_query, u"查询", False)

        gSizer2.Add(self.m_notebook3, 1, wx.EXPAND | wx.ALL, 5)

        self.SetSizer(gSizer2)
        self.Layout()

        self.Centre(wx.BOTH)

        # Connect Events
        self.m_sweep_mode.Bind(wx.EVT_COMBOBOX, self.m_sweep_modeOnCombobox)
        self.m_upload_mode.Bind(wx.EVT_COMBOBOX, self.m_upload_modeOnCombobox)
        self.btn_set.Bind(wx.EVT_BUTTON, self.btn_setOnButtonClick)
        self.btn_cancel.Bind(wx.EVT_BUTTON, self.btn_cancelOnButtonClick)
        self.m_btn_block.Bind(wx.EVT_BUTTON, self.btn_setBlockThres)
        self.m_button_paramSet.Bind(wx.EVT_BUTTON,
                                    self.m_button_paramSetOnButtonClick)
        self.m_button_cancel.Bind(wx.EVT_BUTTON,
                                  self.m_button_cancelOnButtonClick)
        self.btn_display.Bind(wx.EVT_BUTTON, self.btn_displayOnButtonClick)
        self.m_radio_query.Bind(wx.EVT_RADIOBOX, self.m_radioBox1OnRadioBox)
        self.btn_query.Bind(wx.EVT_BUTTON, self.btn_queryOnButtonClick)
コード例 #31
0
    def SaveIQ(self,recvRec):
        
        self.IQ2List = []
        
        block = IQ2Block(recvRec.IQDataAmp)
        self.IQ2List.append(block)

        head = IQ2UploadHeader(0x00, recvRec.LonLatAlti, recvRec.ParamNoUp)
        block = IQ2Block(recvRec.IQDataAmp)

        ##### ���iq2�ļ� ################

        count = (recvRec.SecondCount[0] << 24) + \
                (recvRec.SecondCount[1] << 16) + \
                (recvRec.SecondCount[2] << 8) + \
                (recvRec.SecondCount[3])

        Time = recvRec.Time

        Year = (Time.HighYear << 4) + Time.LowYear
        Month = Time.Month
        Day = Time.Day
        Hour = (Time.HighHour << 2) + Time.LowHour 
        Minute = Time.Minute
        Second = Time.Second
        ID = staticVar.getid()

        ###########将读取的UTC时间转换为本地时间############
        time_recv_utc = str(Year) + '-' + str(Month) + '-' + str(Day) + ' ' + str(Hour) + ':' + str(Minute) + ':' + str(Second)
        time_recv_utc_stamp = time.mktime(time.strptime(time_recv_utc,"%Y-%m-%d %H:%M:%S"))
        time_utc = datetime.datetime.utcfromtimestamp(time_recv_utc_stamp)
        time_local = time_utc + datetime.timedelta(hours = 16)


        Year = str(time_local)[0:4]
        Month = str(time_local)[5:7]
        Day = str(time_local)[8:10]
        Hour = str(time_local)[11:13]
        Minute = str(time_local)[14:16]
        Second = str(time_local)[17:19]
        ############################################

        if(not int(Year) == 2016):
            curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
            Year = curTime[0:4]
            Month = curTime[4:6]
            Day = curTime[6:8]
            Hour = curTime[8:10]
            Minute = curTime[10:12]
            Second = curTime[12:14]


        fileName = Year + "-" + Month + "-" + Day + \
                   "-" + Hour + "-" + Minute +  \
                   "-" + Second + '-' + str(count) + '-' +  str(ID) + \
                   '.iq2'

        print fileName
        self.count_iq2_file = self.count_iq2_file + 1
        # print self.count_iq2_file 
        
        ########### SaveToLocal(tdoa方式存本地)####################
#         fid = open(".\LocalData\\IQ2\\" + fileName,'wb')
#         d = dict(head = head, block = block)
#         pickle.dump(d, fid)
#         fid.close()
        
        
        ############ SaveToLocal(iq方式存本地)#####################
        fid = open(".\LocalData\\IQ2\\" + fileName,'wb')
        fid.write(bytearray(head))
        for block in self.IQ2List:
            fid.write(bytearray(block))
        fid.write(struct.pack("!B", 0x00))
        fid.close()
        
        del self.IQ2List
コード例 #32
0
    def ConnectCore(self):
        flag_sock=0
        flag_sockFile=0

        while(1):
            if(staticVar.sock==0 and flag_sock==0):
                try:
                    self.serverCom.ConnectToServer(9000)
                    staticVar.sock=self.serverCom.sock
                    flag_sock=1
                except Exception:
                    (ErrorType, ErrorValue, ErrorTB) = sys.exc_info()
                    wx.MessageBox('Connect To Monitor Server Failure!\n'+
                                   str(ErrorValue[0])+' '+str(ErrorValue[1]), 
                               'Alert', wx.ICON_EXCLAMATION | wx.STAY_ON_TOP)
                    
                    
             
    
                    
            if(staticVar.sockFile==0 and flag_sockFile==0):
                try:
                    self.serverCom.ConnectToServer(9988)
                    staticVar.sockFile=self.serverCom.sockFile
                    flag_sockFile=1
                except Exception:
                    (ErrorType, ErrorValue, ErrorTB) = sys.exc_info()
                    wx.MessageBox('Connect To File Server Failure!\n'+
                                  str(ErrorValue[0])+' '+str(ErrorValue[1]),  
                               'Alert', wx.ICON_INFORMATION | wx.STAY_ON_TOP)

            if(flag_sock and flag_sockFile):
                break
            time.sleep(5)
             
        
        
        
        connect=ConnectServer()
        
        connect.CommonHeader=FrameHeader(0x55,0xA1,staticVar.getid()&0x00FF,staticVar.getid()>>8)
        connect.CommonTail=self.tail
        
        if(self.GPS_list==[]):
            #临时加的测试 
            self.GPS_list=[0]*9
            #############################
            
            Lon=114.4202
            Lat=30.5100
            Alti=35
            Lon_fen=0.4202*60
            Lat_fen=0.51*60
            Lon_fen_I=int(Lon_fen)
            Lon_fen_f=int((Lon_fen-int(Lon_fen))*1000)
            Lat_fen_I=int(Lat_fen)
            Lat_fen_f=int((Lat_fen-int(Lat_fen))*1000)
            
        
            self.GPS_list[1]=114
            self.GPS_list[2]=(Lon_fen_I<<2)+(Lon_fen_f>>8)
            self.GPS_list[3]=Lon_fen_f&0x00FF
            self.GPS_list[4]=30
            self.GPS_list[5]=(Lat_fen_I<<2)+(Lat_fen_f>>8)
            self.GPS_list[6]=Lat_fen_f&0x00FF
            self.GPS_list[8]=35
            
        list =self.GPS_list
        
        connect.LonLatAlti=LonLatAltitude(list[0],list[1],list[2],list[3],list[4]>>7,list[4]&0x7F,
                                          list[5],list[6],list[7]>>7,list[7]&0x7F,list[8])
        self.serverCom.SendQueryData(connect)
        
      
        self.thread_station=ReceiveServerData(self)
        self.thread_station.setDaemon(True)
        self.thread_station.start()
        

        self.thread_upload = SendFileThread(self.SpecFrame, self.queueFFTUpload,
                              self.queueAbUpload)
        self.thread_upload.setDaemon(True)
        self.thread_upload.start()

        self.timer = threading.Timer(15, self.hello, [])
        self.timer.start()
       
        '''
        thread_timer=Timer(self.thread_upload,self.thread_station)
        thread_timer.setDaemon(True)
        thread_timer.start()   
        '''

        self.m_connect.Enable(False)
コード例 #33
0
    def __init__(self, parent):
        wx.aui.AuiMDIParentFrame.__init__ ( self, parent, -1, title = wx.EmptyString,  \
        pos = wx.DefaultPosition, size = wx.Size( 887,545 ), \
        style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

        #######################################
        matplotlib.rcParams["figure.facecolor"] = '#F2F5FA'
        matplotlib.rcParams["axes.facecolor"] = '0'
        matplotlib.rcParams["ytick.color"] = '0'
        matplotlib.rcParams["xtick.color"] = '0'
        matplotlib.rcParams["grid.color"] = 'w'
        matplotlib.rcParams["text.color"] = 'w'
        matplotlib.rcParams["figure.edgecolor"] = "0"
        matplotlib.rcParams["xtick.labelsize"] = 12
        matplotlib.rcParams["ytick.labelsize"] = 12
        matplotlib.rcParams["axes.labelsize"] = 14
        matplotlib.rcParams["grid.linestyle"] = "-"
        matplotlib.rcParams["grid.linewidth"] = 0.5
        matplotlib.rcParams["grid.color"] = '#707070'

        #######################################
        # os.chdir("./apache-tomcat-7.0.68//bin//")
        #         os.chdir("../apache-tomcat-7.0.68//bin//")

        os.system("startup.bat")
        dirname, filename = os.path.split(os.path.abspath(sys.argv[0]))
        os.chdir(dirname)
        ########### 初始化变量  #################
        self.start_local_iq = 0

        ########### 心跳相关 ##########
        self.timer = 0
        self.count_heart = 0

        self.frame_count = 0  #打开的窗口数量#

        self.FreqMin = 70
        self.FreqMax = 5995

        self.tail = FrameTail(0, 0, 0xAA)
        #### 窗口################
        self.SpecFrame = Spectrum_1.Spec(self)
        self.SpecFrame.Activate()

        self.WaterFrame = None
        self.WaveFrame = None

        self.MapFrame = None

        #################################

        staticVar.setid(11)  #初始化id

        print staticVar.getid()

        #         staticVar.initPort()  #初始化硬件 端口
        self.serverCom = ServerCommunication()  #实例化服务器连接对象

        ########## 用于显示的  ############

        self.show_recv_set = ShowRecvAndSet(self)
        self.byte_to_package = ByteToPackage()

        self.GPS_list = []  ##记录GPS 查询信息,发送给服务器
        ####上传的队列############
        self.queueFFTUpload = Queue.Queue()
        self.queueAbUpload = Queue.Queue()

        ###本地存储的队列#############
        self.queueFFTLocalSave = Queue.Queue()
        self.queueAbLocalSave = Queue.Queue()

        ### 画地图所使用的队列 (FFT的经纬度打包放进去)#########

        self.queueRouteMap = Queue.Queue()

        ###### 创建数据表 #############
        if (not os.path.isfile("C:\\DataBase\\PortSRF.db")):
            os.mkdir(r'C:/DataBase/')
        CreateAllTable.create_all_table()

        ##### thread 管理 #########
        self.thread_recvfft = 0
        self.thread_upload = 0
        self.thread_station = 0
        self.thread_route_map = 0
        ''' 

        if (configfpga.get_fx3_status()[0] == 0x04):
            pass
        else:
            configfpga.load_fpga('c:/top_sao.bit')

            wx.MessageBox('Config  OK!',
                          'Alert', wx.ICON_EXCLAMATION | wx.STAY_ON_TOP)
                          '''

        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)

        self.m_toolBar1 = self.CreateToolBar(wx.TB_HORIZONTAL | wx.TB_TEXT,
                                             wx.ID_ANY)
        self.m_start_hw = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"硬件上传",
            wx.Bitmap(".//icons//green_2.png",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)
        self.m_toolBar1.AddSeparator()

        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()

        self.m_connect = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"服务器连接",
            wx.Bitmap(".//icons//link_start.jpg",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)

        self.m_toolBar1.AddSeparator()

        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()

        self.m_tool_sweep = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"扫频接收 ",
            wx.Bitmap(".//icons//open_1.png",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)

        self.m_toolBar1.AddSeparator()

        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()

        self.m_tool_iq = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"定频接收  ",
            wx.Bitmap(".//icons//link_a.png",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)

        self.m_toolBar1.AddSeparator()

        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()

        self.m_tool_press = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"压制发射",
            wx.Bitmap(".//icons//red_1.png",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)

        self.m_toolBar1.AddSeparator()

        self.m_toolBar1.AddSeparator()

        self.m_tool_map = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"地图服务",
            wx.Bitmap(".//icons//Play_1.png",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)

        self.m_toolBar1.AddSeparator()

        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()

        self.m_tool_freqplan = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"频率规划",
            wx.Bitmap(".//icons//Pause_1.png",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)

        self.m_toolBar1.AddSeparator()

        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()

        self.m_tool_remoteCtrl = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"远程控制",
            wx.Bitmap(".//icons//laba_1.png",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)

        self.m_toolBar1.AddSeparator()

        self.m_toolBar1.AddSeparator()
        self.m_toolBar1.AddSeparator()

        self.m_tool_replay = self.m_toolBar1.AddLabelTool(
            wx.ID_ANY, u"历史回放",
            wx.Bitmap(".//icons//local_read_a.png",
                      wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL,
            wx.EmptyString, wx.EmptyString, None)

        self.m_toolBar1.Realize()

        self.Centre(wx.BOTH)

        # Connect Events
        self.Bind(wx.EVT_CLOSE, self.OnDoClose)
        self.Bind(wx.EVT_TOOL,
                  self.m_start_hwOnToolClicked,
                  id=self.m_start_hw.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.m_connectOnToolClicked,
                  id=self.m_connect.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.m_tool_sweepOnToolClicked,
                  id=self.m_tool_sweep.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.m_tool_iqOnToolClicked,
                  id=self.m_tool_iq.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.m_tool_pressOnToolClicked,
                  id=self.m_tool_press.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.m_tool_mapOnToolClicked,
                  id=self.m_tool_map.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.m_tool_freqplanOnToolClicked,
                  id=self.m_tool_freqplan.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.m_tool_remoteCtrlOnToolClicked,
                  id=self.m_tool_remoteCtrl.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.m_tool_replayOnToolClicked,
                  id=self.m_tool_replay.GetId())
コード例 #34
0
    def FFTParse(self,ListSpec,ListAb):    
        for i in range(len(ListSpec)):   
            recvFFT=ListSpec[i]
            recvAbList=ListAb[i]
           
            TotalNum=recvFFT.SweepSectionTotalNum         
            blockFFT=FFTBlock(recvFFT.CurSectionNo,recvFFT.AllFreq)
            blockAb=AbListBlock(recvAbList.CurSectionNo,recvAbList.AbFreqNum,recvAbList.AllAbFreq)
            self.SpecList.append(blockFFT)
            self.SpecList.append(blockAb)
        
        head=SpecUploadHeader(0x00,recvFFT.LonLatAlti,recvFFT.SweepRecvMode, \
        recvFFT.FileUploadMode,self.changeThres,self.extractM,TotalNum)
            

        ###组合功率谱文件####

        Time=recvFFT.Time_
        CommonHeader=recvFFT.CommonHeader
        ID=(CommonHeader.HighDeviceID<<8)+CommonHeader.LowDeviceID
        Year=(Time.HighYear<<4)+Time.LowYear
        Month=Time.Month
        Day=Time.Day
        Hour=(Time.HighHour<<2)+Time.LowHour+8
        Minute=Time.Minute
        Second=Time.Second

        if(not Year==2016):
            curTime=time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
            Year=int(curTime[0:4])
            Month=int(curTime[4:6])
            Day=int(curTime[6:8])
            Hour=int(curTime[8:10])
            Minute=int(curTime[10:12])
            Second=int(curTime[12:14])
        
        
        
        ID=staticVar.getid()
        
        if(self.startTrans==0):
            self.Second=Second 
            self.startTrans=1  
        if((self.startTrans==1) and (self.Second!=Second)):
            self.count=1
            self.Second=Second
        fileName=str(Year)+"-"+str(Month)+"-"+str(Day)+  \
                 "-"+str(Hour)+"-"+str(Minute)+"-"+str(Second)+"-"+str(self.count)+'-'+str(ID)
                 
        if(recvFFT.CommonHeader.FunctionPara==0x51):
            fileName+='-fine.pwr'
        else:
            fileName+='-coarse.pwr'
            
        

        fileNameLen=len(fileName)
        fileContentLen=sizeof(head)+(sizeof(blockFFT)+sizeof(blockAb))*TotalNum+2

        print fileName
        # print fileNameLen
        # print fileContentLen
        
        ############SendToServer###################
        if(self.sockFile):
            try:
                str1=struct.pack("!2BHQ",0x00,0xFF,fileNameLen,fileContentLen)
                self.sockFile.send(str1+fileName)
        
                self.sockFile.send(bytearray(head))
                for i in xrange(len(self.SpecList)/2):
                    self.sockFile.send(bytearray(self.SpecList[2*i]))
                self.sockFile.send(struct.pack("!B",0xFF))
                for i in xrange(len(self.SpecList)/2):
                    self.sockFile.send(bytearray(self.SpecList[2*i+1])) 
                self.sockFile.send(struct.pack("!B",0x00))
            except socket.error,e:
                print 'socket_error',e 
                staticVar.sockFile=0
                self.sockFile=0
コード例 #35
0
	def __init__( self, parent ):
		wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"定频接收", pos = wx.DefaultPosition, size = wx.Size( 387,392 ), style = wx.DEFAULT_DIALOG_STYLE )
		
		##############################
		self.id=staticVar.getid()
		self.lowid=self.id&0x00FF
		self.highid=self.id>>8
		self.tail=FrameTail(0,0,0xAA)
		self.outPoint=staticVar.outPoint
		
		###############################
		self.parent=parent 
		#### show #########
		self.show_recv_set=self.parent.show_recv_set
		self.byte_to_package=self.parent.byte_to_package
		
		
		
		self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
		
		gSizer1 = wx.GridSizer( 1, 1, 0, 0 )
		
		self.m_notebook1 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )
		
		self.m_notebook1.SetFont(wx.Font( 10,wx.ROMAN,wx.NORMAL,wx.LIGHT,underline=False,faceName=u"微软雅黑",encoding=wx.FONTENCODING_DEFAULT ))
		
		self.m_panel1 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		gSizer2 = wx.GridSizer( 9, 3, 0, 0 )
		
		
		gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		
		gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		
		gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.m_check_freq1 = wx.CheckBox( self.m_panel1, wx.ID_ANY, u"第一个中心频率", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_check_freq1, 0, wx.ALL, 5 )
		
		self.m_text_freq1 = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_text_freq1, 0, wx.ALL, 5 )
		
		self.m_staticText6 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"Mhz", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText6.Wrap( -1 )
		gSizer2.Add( self.m_staticText6, 0, wx.ALL, 5 )
		
		self.m_check_freq2 = wx.CheckBox( self.m_panel1, wx.ID_ANY, u"第二个中心频率", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_check_freq2, 0, wx.ALL, 5 )
		
		self.m_text_freq2 = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_text_freq2, 0, wx.ALL, 5 )
		
		self.m_staticText7 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"Mhz", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText7.Wrap( -1 )
		gSizer2.Add( self.m_staticText7, 0, wx.ALL, 5 )
		
		self.m_check_freq3 = wx.CheckBox( self.m_panel1, wx.ID_ANY, u"第三个中心频率", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_check_freq3, 0, wx.ALL, 5 )
		
		self.m_text_freq3 = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_text_freq3, 0, wx.ALL, 5 )
		
		self.m_staticText8 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"Mhz", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText8.Wrap( -1 )
		gSizer2.Add( self.m_staticText8, 0, wx.ALL, 5 )
		
		self.m_staticText11 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"IQ 带宽/数据率", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText11.Wrap( -1 )
		gSizer2.Add( self.m_staticText11, 0, wx.ALL, 5 )
		
		m_choice_bwChoices = [ u"5", u"2.5", u"1", u"0.5", u"0.1" ]
		self.m_choice_bw = wx.Choice( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.Size( 110,-1 ), m_choice_bwChoices, 0 )
		self.m_choice_bw.SetSelection( 0 )
		gSizer2.Add( self.m_choice_bw, 0, wx.ALL, 5 )
		
		self.m_staticText12 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"Mhz", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText12.Wrap( -1 )
		gSizer2.Add( self.m_staticText12, 0, wx.ALL, 5 )
		
		self.m_staticText13 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"上传数据块个数", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText13.Wrap( -1 )
		gSizer2.Add( self.m_staticText13, 0, wx.ALL, 5 )
		
		self.m_text_up_num = wx.TextCtrl( self.m_panel1, wx.ID_ANY, u"1", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_text_up_num, 0, wx.ALL, 5 )
		
		self.m_staticText14 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"(<=256)", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText14.Wrap( -1 )
		gSizer2.Add( self.m_staticText14, 0, wx.ALL, 5 )
		
		self.m_staticText15 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"延时时间", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText15.Wrap( -1 )
		gSizer2.Add( self.m_staticText15, 0, wx.ALL, 5 )
		
		self.m_text_dtime = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_text_dtime, 0, wx.ALL, 5 )
		
		self.m_staticText16 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"s", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText16.Wrap( -1 )
		gSizer2.Add( self.m_staticText16, 0, wx.ALL, 5 )
		
		gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.m_btn_set = wx.Button( self.m_panel1, wx.ID_ANY, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_btn_set, 0, wx.ALL, 5 )
		
		self.m_btn_cancel = wx.Button( self.m_panel1, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer2.Add( self.m_btn_cancel, 0,wx.ALL, 5 )
		
		
		self.m_panel1.SetSizer( gSizer2 )
		self.m_panel1.Layout()
		gSizer2.Fit( self.m_panel1 )
		self.m_notebook1.AddPage( self.m_panel1, u"定频设置", False )
		self.m_panel2 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.Size( 200,-1 ), wx.TAB_TRAVERSAL )
		gSizer4 = wx.GridSizer( 9, 3, 0, 0 )
		
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.m_staticText19 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"接收增益(dB)", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText19.Wrap( -1 )
		gSizer4.Add( self.m_staticText19, 0, wx.ALIGN_CENTER|wx.ALIGN_RIGHT|wx.ALIGN_TOP|wx.ALL, 5 )
		
		self.m_slider_gain = wx.Slider( self.m_panel2, wx.ID_ANY, 7, -1, 73, wx.Point( -1,-1 ), wx.Size( 150,20 ), wx.SL_HORIZONTAL|wx.SL_LABELS|wx.SL_SELRANGE )
		gSizer4.Add( self.m_slider_gain, 0, wx.ALIGN_CENTER|wx.ALL, 5 )
		
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		
		
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		gSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.btn_ok_param = wx.Button( self.m_panel2, wx.ID_ANY, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer4.Add( self.btn_ok_param, 0, wx.ALL, 5 )
		
		self.btn_cancel_param = wx.Button( self.m_panel2, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer4.Add( self.btn_cancel_param, 0, wx.ALL, 5 )
		
		
		self.m_panel2.SetSizer( gSizer4 )
		self.m_panel2.Layout()
		self.m_notebook1.AddPage( self.m_panel2, u"参数设置", False )
		self.m_panel3 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		gSizer5 = wx.GridSizer( 9, 3, 0, 0 )
		
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.m_check_wave = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"波形图", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer5.Add( self.m_check_wave, 0, wx.ALL, 5 )
		
		self.m_check_spec = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"功率谱", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer5.Add( self.m_check_spec, 0, wx.ALL, 5 )
		
		
		self.m_check_water = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"瀑布图", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer5.Add( self.m_check_water, 0, wx.ALL, 5 )
		
		img_waveform = wx.Image('..//icons//waveform.png',wx.BITMAP_TYPE_ANY)
		bmp_waveform = wx.StaticBitmap(self.m_panel3,-1,wx.BitmapFromImage(img_waveform))
		gSizer5.Add(bmp_waveform , 0 , wx.ALIGN_TOP|wx.ALIGN_CENTER_HORIZONTAL)
		
		img_spectrum = wx.Image('..//icons//spectrum.png',wx.BITMAP_TYPE_ANY)
		bmp_spectrum = wx.StaticBitmap(self.m_panel3,-1,wx.BitmapFromImage(img_spectrum))
		gSizer5.Add(bmp_spectrum , 0 , wx.ALIGN_TOP|wx.ALIGN_CENTER_HORIZONTAL)
		
		img_waterfall = wx.Image('..//icons//waterfull.png',wx.BITMAP_TYPE_ANY)
		bmp_waterfall = wx.StaticBitmap(self.m_panel3,-1,wx.BitmapFromImage(img_waterfall))
		gSizer5.Add(bmp_waterfall, 0 , wx.ALIGN_TOP|wx.ALIGN_CENTER_HORIZONTAL)
		
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.m_check_CCDF = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"CCDF", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer5.Add( self.m_check_CCDF, 0, wx.ALL, 5 )
		
		
		self.m_check_eye = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"眼图", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer5.Add( self.m_check_eye, 0, wx.ALL, 5 )
		
		self.m_check_constel = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"星座图", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer5.Add( self.m_check_constel, 0, wx.ALL, 5 )
		
		img_ccdf = wx.Image('..//icons//ccdf.png',wx.BITMAP_TYPE_ANY)
		bmp_ccdf = wx.StaticBitmap(self.m_panel3,-1,wx.BitmapFromImage(img_ccdf))
		gSizer5.Add(bmp_ccdf, 0 ,  wx.ALIGN_TOP|wx.ALIGN_CENTER_HORIZONTAL)
		
		img_eye = wx.Image('..//icons//eye.png',wx.BITMAP_TYPE_ANY)
		bmp_eye = wx.StaticBitmap(self.m_panel3,-1,wx.BitmapFromImage(img_eye))
		gSizer5.Add(bmp_eye, 0 ,  wx.ALIGN_TOP|wx.ALIGN_CENTER_HORIZONTAL)
		
		img_constellation = wx.Image('..//icons//constellation.png',wx.BITMAP_TYPE_ANY)
		bmp_constellation = wx.StaticBitmap(self.m_panel3,-1,wx.BitmapFromImage(img_constellation))
		gSizer5.Add(bmp_constellation, 0 ,  wx.ALIGN_TOP|wx.ALIGN_CENTER_HORIZONTAL)
		
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.btn_display = wx.Button( self.m_panel3, wx.ID_ANY, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer5.Add( self.btn_display, 0, wx.ALL, 5 )
		
		self.btn_display_cancel = wx.Button( self.m_panel3, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer5.Add( self.btn_display_cancel, 0, wx.ALL, 5 )
		
		
		self.m_panel3.SetSizer( gSizer5 )
		self.m_panel3.Layout()
		gSizer5.Fit( self.m_panel3 )
		self.m_notebook1.AddPage( self.m_panel3, u"窗口显示", False )
		self.m_panel4 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		gSizer6 = wx.GridSizer( 5, 1, 0, 0 )
		
		
		gSizer6.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		m_radio_chooseChoices = [ u"定频中心频率", u"定频公共参数" ]
		self.m_radio_choose = wx.RadioBox( self.m_panel4, wx.ID_ANY, u"查询项", wx.DefaultPosition, wx.DefaultSize, m_radio_chooseChoices, 1, wx.RA_SPECIFY_COLS )
		self.m_radio_choose.SetSelection( 0 )
		gSizer6.Add( self.m_radio_choose, 0, wx.ALL, 5 )
		
		
		gSizer6.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		gSizer6.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.m_btn_query = wx.Button( self.m_panel4, wx.ID_ANY, u"查询", wx.DefaultPosition, wx.DefaultSize, 0 )
		gSizer6.Add( self.m_btn_query, 0, wx.ALIGN_CENTER_HORIZONTAL, 5 )
		
		
		self.m_panel4.SetSizer( gSizer6 )
		self.m_panel4.Layout()
		gSizer6.Fit( self.m_panel4 )
		self.m_notebook1.AddPage( self.m_panel4, u"查询", True )
		
		gSizer1.Add( self.m_notebook1, 1, wx.EXPAND |wx.ALL, 5 )
		
		
		self.SetSizer( gSizer1 )
		self.Layout()
		
		self.Centre( wx.BOTH )
	
		#Events
		self.m_btn_set.Bind( wx.EVT_BUTTON, self.m_btn_setOnButtonClick )
		self.btn_ok_param.Bind(wx.EVT_BUTTON, self.btn_ok_paramOnButtonClick)
		self.btn_display.Bind(wx.EVT_BUTTON, self.btn_displayOnButtonClick)
		self.m_btn_query.Bind(wx.EVT_BUTTON,self.m_btn_queryOnButtonClick)
コード例 #36
0
    def __init__(self):
        wx.Dialog.__init__(self,None,-1,u"异常频点定位数据请求",size=(450,400))
        
        self.SetFont(wx.Font( 10,wx.ROMAN,wx.NORMAL,wx.LIGHT,underline=False,faceName=u"微软雅黑",encoding=wx.FONTENCODING_DEFAULT ))
       
        ###############################
        self.tail=FrameTail(0,0,0xAA)
        
        self.id=staticVar.getid()
        self.lowid=self.id&0x00FF
        self.highid=self.id>>8
        
        
        ###############################################
       
       
       
       
        panel=wx.Panel(self,-1)
        self.CentreFreq=wx.TextCtrl(panel,-1,size=(80,25))
        self.UploadNum=wx.TextCtrl(panel,-1,"1",size=(80,25))
        self.radioBox=wx.RadioBox(panel,-1,choices=["POA","POA/TDOA"])
        self.radioBox.SetSelection(0)
        sampleList = ['5/5','2.5/2.5','1/1','0.5/0/5','0.1/0/1']
        self.BandWidth = wx.ComboBox(panel, -1,'5/5',size=(80,30),choices=sampleList)
        self.BandWidth.SetSelection(0)
        self.StartTimeYear=wx.ComboBox(panel,-1,"2015",choices=["2015","2016","2017","2018"])
        self.StartTimeMonth=wx.ComboBox(panel,-1,"12",choices=["1","2","3","4","5","6","7","8","9","10","11","12"])
        self.StartTimeDay=wx.TextCtrl(panel,-1,"1",size=(60,25))
        self.StartTimeHour=wx.TextCtrl(panel,-1,"0",size=(60,25))
        self.StartTimeMinute=wx.TextCtrl(panel,-1,"0",size=(60,25))
        self.StartTimeSecond=wx.TextCtrl(panel,-1,"0",size=(60,25)) 
        self.StartTimeYear.SetSelection(0)
        self.StartTimeMonth.SetSelection(11)

        sizer=wx.BoxSizer(wx.VERTICAL)
        sizer.Add((15,15))
        sizer.Add(wx.StaticText(panel,-1,u"几何定位方法",size=(120,25)),0,wx.LEFT,20)
        sizer.Add(self.radioBox,0,wx.LEFT,20)

        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"中心频率(MHz)",size=(160,25)),0,wx.LEFT,20)
        hBox1.Add(self.CentreFreq,0,wx.LEFT,20)
        sizer.Add(hBox1)

        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"带宽/数据率 (MHz/Msps):",size=(160,25)),0,wx.LEFT,20)
        hBox1.Add(self.BandWidth,0,wx.LEFT,20)
        sizer.Add(hBox1)

        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"上传数据块个数(1-256):",size=(160,25)),0,wx.LEFT,20)
        hBox1.Add(self.UploadNum,0,wx.LEFT,20)
        sizer.Add(hBox1)

        sizer.Add((10,10))
        sizer.Add(wx.StaticText(panel,-1,u"采集起始时间(年-月-日-时-分-秒):"),0,wx.LEFT,20)
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.StartTimeYear,0,wx.LEFT,20)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeMonth,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeDay,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeHour,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeMinute,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeSecond,0)
        sizer.Add(hBox1)

        sizer.Add((30,30))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        self.btn_ok=wx.Button(panel,-1,"OK",size=(60,25))
        
        hBox1.Add(self.btn_ok,0,wx.LEFT,20)
        hBox1.Add(wx.Button(panel,wx.ID_CANCEL,"CANCEL",size=(60,25)),0,wx.LEFT,20)
        sizer.Add(hBox1)
        panel.SetSizer(sizer)
        
        self.Layout()
        
        self.Centre( wx.BOTH )
        
        #Events
        self.btn_ok.Bind(wx.EVT_BUTTON, self.OnbtnOk)
コード例 #37
0
    def __init__(self, parent):
        wx.Dialog.__init__(self,
                           parent,
                           id=wx.ID_ANY,
                           title=u"压制发射",
                           pos=wx.DefaultPosition,
                           size=wx.Size(392, 382),
                           style=wx.DEFAULT_DIALOG_STYLE)

        ###########################################
        self.T1 = 0
        self.T2 = 0
        self.T3 = 0
        self.T4 = 0

        self.press_mode = 5

        self.id = staticVar.getid()
        self.lowid = self.id & 0x00FF
        self.highid = self.id >> 8
        self.tail = FrameTail(0, 0, 0xAA)
        self.outPoint = staticVar.outPoint

        #### show ######

        self.parent = parent

        self.show_recv_set = self.parent.show_recv_set
        self.byte_to_package = self.parent.byte_to_package

        ###########################################
        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)

        gSizer7 = wx.GridSizer(1, 1, 0, 0)

        self.m_notebook2 = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition,
                                       wx.DefaultSize, 0)
        self.m_notebook2.SetFont(
            wx.Font(10,
                    wx.ROMAN,
                    wx.NORMAL,
                    wx.LIGHT,
                    underline=False,
                    faceName=u"微软雅黑",
                    encoding=wx.FONTENCODING_DEFAULT))

        self.m_panel7 = wx.Panel(self.m_notebook2, wx.ID_ANY,
                                 wx.DefaultPosition, wx.DefaultSize,
                                 wx.TAB_TRAVERSAL)

        gSizer8 = wx.GridSizer(8, 2, 0, 0)

        gSizer8.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        gSizer8.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        self.m_staticText3 = wx.StaticText(self.m_panel7, wx.ID_ANY, u"压制设置",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText3.Wrap(-1)
        gSizer8.Add(self.m_staticText3, 0, wx.ALL, 5)

        m_press_setChoices = [u"结束压制", u"单频点自动", u"单频点手动", u"双频点自动", u"双频点手动"]
        self.m_press_set = wx.Choice(self.m_panel7,
                                     wx.ID_ANY, wx.DefaultPosition,
                                     wx.Size(140, -1), m_press_setChoices, 0)
        self.m_press_set.SetSelection(0)
        gSizer8.Add(self.m_press_set, 0, wx.ALL, 5)

        self.m_staticText4 = wx.StaticText(self.m_panel7, wx.ID_ANY, u"压制信号类型",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText4.Wrap(-1)
        gSizer8.Add(self.m_staticText4, 0, wx.ALL, 5)

        m_press_signaltypeChoices = [
            u"单频正弦波信号", u"等幅多频信号", u"噪声调频信号", u"数字射频储存DRM信号"
        ]
        self.m_press_signaltype = wx.Choice(self.m_panel7,
                                            wx.ID_ANY, wx.DefaultPosition,
                                            wx.Size(140, -1),
                                            m_press_signaltypeChoices, 0)
        self.m_press_signaltype.SetSelection(0)
        gSizer8.Add(self.m_press_signaltype, 0, wx.ALL, 5)

        self.m_staticText5 = wx.StaticText(self.m_panel7, wx.ID_ANY, u"压制带宽",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText5.Wrap(-1)
        gSizer8.Add(self.m_staticText5, 0, wx.ALL, 5)

        m_press_bwChoices = [u"单谱线(正弦波)", u"(等幅多边,噪声调频)", u"直接IQ调制发射(DRM)"]
        self.m_press_bw = wx.Choice(self.m_panel7,
                                    wx.ID_ANY, wx.DefaultPosition,
                                    wx.Size(140, -1), m_press_bwChoices, 0)
        self.m_press_bw.SetSelection(0)
        gSizer8.Add(self.m_press_bw, 0, wx.ALL, 5)

        self.m_staticText6 = wx.StaticText(self.m_panel7, wx.ID_ANY,
                                           u"压制频率1(MHz)", wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        self.m_staticText6.Wrap(-1)
        gSizer8.Add(self.m_staticText6, 0, wx.ALL, 5)

        self.m_freq1 = wx.TextCtrl(self.m_panel7, wx.ID_ANY, wx.EmptyString,
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer8.Add(self.m_freq1, 0, wx.ALL, 5)

        self.m_staticText7 = wx.StaticText(self.m_panel7, wx.ID_ANY,
                                           u"压制频率2(MHz)", wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        self.m_staticText7.Wrap(-1)
        gSizer8.Add(self.m_staticText7, 0, wx.ALL, 5)

        self.m_freq2 = wx.TextCtrl(self.m_panel7, wx.ID_ANY, wx.EmptyString,
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer8.Add(self.m_freq2, 0, wx.ALL, 5)

        self.btn_press_set = wx.Button(self.m_panel7, wx.ID_ANY, u"设置",
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer8.Add(self.btn_press_set, 0, wx.ALL, 5)

        self.btn_press_cancel = wx.Button(self.m_panel7, wx.ID_ANY, u"取消",
                                          wx.DefaultPosition, wx.DefaultSize,
                                          0)
        gSizer8.Add(self.btn_press_cancel, 0, wx.ALL, 5)

        self.m_panel7.SetSizer(gSizer8)
        self.m_panel7.Layout()
        gSizer8.Fit(self.m_panel7)
        self.m_notebook2.AddPage(self.m_panel7, u"压制设置", False)
        self.m_panel8 = wx.Panel(self.m_notebook2, wx.ID_ANY,
                                 wx.DefaultPosition, wx.DefaultSize,
                                 wx.TAB_TRAVERSAL)
        gSizer4 = wx.GridSizer(6, 2, 0, 0)

        gSizer4.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        gSizer4.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        self.m_staticText71 = wx.StaticText(self.m_panel8, wx.ID_ANY,
                                            u"压制发射衰减(dB)", wx.DefaultPosition,
                                            wx.DefaultSize, 0)
        self.m_staticText71.Wrap(-1)
        gSizer4.Add(self.m_staticText71, 0, wx.ALL, 5)

        self.m_slider_weak = wx.Slider(
            self.m_panel8, wx.ID_ANY, 0, 0, 89, wx.DefaultPosition,
            wx.Size(150, -1), wx.SL_HORIZONTAL | wx.SL_LABELS | wx.SL_SELRANGE)
        gSizer4.Add(self.m_slider_weak, 0, wx.ALL, 5)

        self.btn_param_set = wx.Button(self.m_panel8, wx.ID_ANY, u"设置",
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer4.Add(self.btn_param_set, 0, wx.ALL, 5)

        self.m_button7 = wx.Button(self.m_panel8, wx.ID_ANY, u"取消",
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        gSizer4.Add(self.m_button7, 0, wx.ALL, 5)

        self.m_panel8.SetSizer(gSizer4)
        self.m_panel8.Layout()
        gSizer4.Fit(self.m_panel8)
        self.m_notebook2.AddPage(self.m_panel8, u"参数设置", True)
        self.m_panel9 = wx.Panel(self.m_notebook2, wx.ID_ANY,
                                 wx.DefaultPosition, wx.DefaultSize,
                                 wx.TAB_TRAVERSAL)
        gSizer71 = wx.GridSizer(7, 1, 0, 0)

        Choices = [u"压制发射衰减", u"压制中心频率", u"压制模式查询"]
        self.radio_pressquery = wx.RadioBox(self.m_panel9, wx.ID_ANY, u"查询项",
                                            wx.DefaultPosition,
                                            wx.Size(120, 140), Choices, 1,
                                            wx.RA_SPECIFY_COLS)
        self.radio_pressquery.SetSelection(2)
        gSizer71.Add(self.radio_pressquery, 0, wx.ALL, 5)

        gSizer71.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        gSizer71.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        gSizer71.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        self.btn_press_query = wx.Button(self.m_panel9, wx.ID_ANY, u"查询",
                                         wx.DefaultPosition, wx.DefaultSize, 0)
        # gSizer71.Add( self.btn_press_query, 0, wx.ALL, 5 )

        gSizer71.Add(self.btn_press_query, 0,
                     wx.ALIGN_BOTTOM | wx.ALIGN_CENTER, 5)

        self.m_panel9.SetSizer(gSizer71)
        self.m_panel9.Layout()
        gSizer71.Fit(self.m_panel9)
        self.m_notebook2.AddPage(self.m_panel9, u"查询", False)

        gSizer7.Add(self.m_notebook2, 1, wx.EXPAND | wx.ALL, 5)

        self.SetSizer(gSizer7)
        self.Layout()

        self.Centre(wx.BOTH)
        # Connect Events
        self.m_press_set.Bind(wx.EVT_CHOICE, self.m_press_setOnChoice)

        self.btn_press_set.Bind(wx.EVT_BUTTON, self.btn_press_setOnChoice)
        self.btn_param_set.Bind(wx.EVT_BUTTON, self.btn_param_setOnChoice)
        self.btn_press_query.Bind(wx.EVT_BUTTON, self.btn_press_queryOnChoice)
コード例 #38
0
    def __init__(self,parent):
        wx.Dialog.__init__(self,parent,-1,u"电磁分布态势数据请求",size=(400,500))

        self.SetFont(wx.Font(10, wx.ROMAN, wx.NORMAL, wx.LIGHT, underline=False, faceName=u"微软雅黑",
                             encoding=wx.FONTENCODING_DEFAULT))
        self.parent=parent
        
        
        ###############################
        self.tail=FrameTail(0,0,0xAA)
        
        self.id=staticVar.getid()
        self.lowid=self.id&0x00FF
        self.highid=self.id>>8
        
        self.List=staticVar.getCentreFreq()
        self.ListFreq=staticVar.getFreq()
        ##############################
        panel=wx.Panel(self,-1)
        
        self.FreqSection=wx.ComboBox(panel,-1,u"FM调频广播频段",choices=self.List)
        self.FreqSection.SetSelection(0)
        self.radioChoose=wx.RadioButton(panel,-1,u"选择频率")
        self.radioHand=wx.RadioButton(panel,-1,u"手动频率")
        self.CentreFreq=wx.TextCtrl(panel,-1,size=(80,25))
        self.BandWidth=wx.TextCtrl(panel,-1,size=(80,25))
        self.Radius=wx.TextCtrl(panel,-1,size=(80,25))
        self.FenBianLv=wx.TextCtrl(panel,-1,size=(80,25))
        self.RefreshIntv=wx.TextCtrl(panel,-1,size=(80,25))

        #############################################
        curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
        Year = int(curTime[0:4])
        Month = int(curTime[4:6])
        Day = int(curTime[6:8])
        Hour = int(curTime[8:10])
        Min = int(curTime[10:12]) + 2

        ###############################################

        self.StartTimeYear = wx.ComboBox(panel, -1, str(Year), choices=["2015", "2016", "2017", "2018"])
        self.StartTimeMonth = wx.ComboBox(panel, -1, str(Month),
                                          choices=["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"])
        self.StartTimeDay = wx.TextCtrl(panel, -1, str(Day), size=(60, 25))
        self.StartTimeHour = wx.TextCtrl(panel, -1, str(Hour), size=(60, 25))
        self.StartTimeMinute = wx.TextCtrl(panel, -1, str(Min), size=(60, 25))

        self.EndTimeYear = wx.ComboBox(panel, -1, str(Year), choices=["2015", "2016", "2017", "2018"])
        self.EndTimeMonth = wx.ComboBox(panel, -1, str(Month),
                                        choices=["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"])
        self.EndTimeDay = wx.TextCtrl(panel, -1, str(Day), size=(60, 25))
        self.EndTimeHour = wx.TextCtrl(panel, -1, str(Hour), size=(60, 25))
        self.EndTimeMinute = wx.TextCtrl(panel, -1, str(Min), size=(60, 25))


        sizer=wx.BoxSizer(wx.VERTICAL)
        hBox=wx.BoxSizer(wx.HORIZONTAL)
        sizer.Add((30,30))
        hBox.Add(self.radioChoose,0,wx.LEFT,20)
        hBox.Add(self.radioHand,0,wx.LEFT,20)
        sizer.Add(hBox)
        sizer.Add(self.FreqSection,0,wx.LEFT|wx.TOP,20)

        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"中心频率(MHz)",size=(100,25)),0,wx.LEFT,20)
        hBox1.Add(self.CentreFreq,0,wx.LEFT,20)
        sizer.Add(hBox1)
        
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"带宽(MHz)",size=(100,25)),0,wx.LEFT,20)
        hBox1.Add(self.BandWidth,0,wx.LEFT,20)
        sizer.Add(hBox1)

        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"地理半径(km)",size=(100,25)),0,wx.LEFT,20)
        hBox1.Add(self.Radius,0,wx.LEFT,20)
        sizer.Add(hBox1)
        
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"经纬度分辨率",size=(100,25)),0,wx.LEFT,20)
        hBox1.Add(self.FenBianLv,0,wx.LEFT,20)
        sizer.Add(hBox1)

        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel,-1,u"动态刷新间隔(Min)",size=(130,25)),0,wx.LEFT,20)
        hBox1.Add(self.RefreshIntv,0,wx.LEFT,20)
        sizer.Add(hBox1)

        sizer.Add(wx.StaticText(panel,-1,u"起始时间(年-月-日-时-分):",size=(160,25)),0,wx.LEFT,20)
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.StartTimeYear,0,wx.LEFT,20)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeMonth,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeDay,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeHour,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.StartTimeMinute,0)
        sizer.Add(hBox1)

        sizer.Add(wx.StaticText(panel,-1,u"终止时间(年-月-日-时-分):",size=(160,25)),0,wx.LEFT,20)
        sizer.Add((10,10))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.EndTimeYear,0,wx.LEFT,20)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.EndTimeMonth,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.EndTimeDay,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.EndTimeHour,0)
        hBox1.Add(wx.StaticText(panel,-1,"-"),0,wx.LEFT|wx.RIGHT|wx.ALIGN_BOTTOM,5)
        hBox1.Add(self.EndTimeMinute,0)
        sizer.Add(hBox1)
        sizer.Add((30,30))
        hBox1=wx.BoxSizer(wx.HORIZONTAL)
        self.btn_ok=wx.Button(panel,-1,"OK",size=(60,25))
        
        hBox1.Add(self.btn_ok,0,wx.LEFT,20)
        hBox1.Add(wx.Button(panel,wx.ID_CANCEL,"CANCEL",size=(60,25)),0,wx.LEFT,20)
        sizer.Add(hBox1)
        panel.SetSizer(sizer)
        
        self.CentreFreq.Enable(True)
        self.BandWidth.Enable(True)
        self.radioHand.SetValue(True)
        
        self.Layout()
        self.Centre( wx.BOTH )
        
        ##Events
        self.btn_ok.Bind(wx.EVT_BUTTON,self.OnbtnOK)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadio)
コード例 #39
0
 def QuerySend(self,funcPara):
     query=Query()
     query.CommonHeader=FrameHeader(0x55,funcPara,staticVar.getid()&0x00FF,staticVar.getid()>>8)
     query.CommonTail=self.tail
     staticVar.outPoint.write(bytearray(query))
コード例 #40
0
    def __init__(self):
        wx.Dialog.__init__(self, None, -1, u"电磁分布态势数据请求", size=(400, 500))

        self.SetFont(
            wx.Font(10,
                    wx.ROMAN,
                    wx.NORMAL,
                    wx.LIGHT,
                    underline=False,
                    faceName=u"微软雅黑",
                    encoding=wx.FONTENCODING_DEFAULT))

        ###############################
        self.tail = FrameTail(0, 0, 0xAA)

        self.id = staticVar.getid()
        self.lowid = self.id & 0x00FF
        self.highid = self.id >> 8

        self.List = staticVar.getCentreFreq()
        self.ListFreq = staticVar.getFreq()
        ##############################
        panel = wx.Panel(self, -1)

        self.FreqSection = wx.ComboBox(panel,
                                       -1,
                                       u"FM调频广播频段",
                                       choices=self.List)
        self.FreqSection.SetSelection(0)
        self.radioChoose = wx.RadioButton(panel, -1, u"选择频率")
        self.radioHand = wx.RadioButton(panel, -1, u"手动频率")
        self.CentreFreq = wx.TextCtrl(panel, -1, size=(80, 25))
        self.BandWidth = wx.TextCtrl(panel, -1, size=(80, 25))
        self.Radius = wx.TextCtrl(panel, -1, size=(80, 25))
        self.FenBianLv = wx.TextCtrl(panel, -1, size=(80, 25))
        self.RefreshIntv = wx.TextCtrl(panel, -1, size=(80, 25))

        #############################################
        curTime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
        Year = int(curTime[0:4])
        Month = int(curTime[4:6])
        Day = int(curTime[6:8])
        Hour = int(curTime[8:10])
        Min = int(curTime[10:12]) + 2

        ###############################################

        self.StartTimeYear = wx.ComboBox(
            panel, -1, str(Year), choices=["2015", "2016", "2017", "2018"])
        self.StartTimeMonth = wx.ComboBox(panel,
                                          -1,
                                          str(Month),
                                          choices=[
                                              "1", "2", "3", "4", "5", "6",
                                              "7", "8", "9", "10", "11", "12"
                                          ])
        self.StartTimeDay = wx.TextCtrl(panel, -1, str(Day), size=(60, 25))
        self.StartTimeHour = wx.TextCtrl(panel, -1, str(Hour), size=(60, 25))
        self.StartTimeMinute = wx.TextCtrl(panel, -1, str(Min), size=(60, 25))

        self.EndTimeYear = wx.ComboBox(
            panel, -1, str(Year), choices=["2015", "2016", "2017", "2018"])
        self.EndTimeMonth = wx.ComboBox(panel,
                                        -1,
                                        str(Month),
                                        choices=[
                                            "1", "2", "3", "4", "5", "6", "7",
                                            "8", "9", "10", "11", "12"
                                        ])
        self.EndTimeDay = wx.TextCtrl(panel, -1, str(Day), size=(60, 25))
        self.EndTimeHour = wx.TextCtrl(panel, -1, str(Hour), size=(60, 25))
        self.EndTimeMinute = wx.TextCtrl(panel, -1, str(Min), size=(60, 25))

        sizer = wx.BoxSizer(wx.VERTICAL)
        hBox = wx.BoxSizer(wx.HORIZONTAL)
        sizer.Add((30, 30))
        hBox.Add(self.radioChoose, 0, wx.LEFT, 20)
        hBox.Add(self.radioHand, 0, wx.LEFT, 20)
        sizer.Add(hBox)
        sizer.Add(self.FreqSection, 0, wx.LEFT | wx.TOP, 20)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"中心频率(MHz)", size=(100, 25)), 0,
                  wx.LEFT, 20)
        hBox1.Add(self.CentreFreq, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"带宽(MHz)", size=(100, 25)), 0,
                  wx.LEFT, 20)
        hBox1.Add(self.BandWidth, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"地理半径(km)", size=(100, 25)), 0,
                  wx.LEFT, 20)
        hBox1.Add(self.Radius, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"经纬度分辨率", size=(100, 25)), 0,
                  wx.LEFT, 20)
        hBox1.Add(self.FenBianLv, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(wx.StaticText(panel, -1, u"动态刷新间隔(Min)", size=(130, 25)), 0,
                  wx.LEFT, 20)
        hBox1.Add(self.RefreshIntv, 0, wx.LEFT, 20)
        sizer.Add(hBox1)

        sizer.Add(
            wx.StaticText(panel, -1, u"起始时间(年-月-日-时-分):", size=(160, 25)), 0,
            wx.LEFT, 20)
        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.StartTimeYear, 0, wx.LEFT, 20)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeMonth, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeDay, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeHour, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.StartTimeMinute, 0)
        sizer.Add(hBox1)

        sizer.Add(
            wx.StaticText(panel, -1, u"终止时间(年-月-日-时-分):", size=(160, 25)), 0,
            wx.LEFT, 20)
        sizer.Add((10, 10))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox1.Add(self.EndTimeYear, 0, wx.LEFT, 20)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.EndTimeMonth, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.EndTimeDay, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.EndTimeHour, 0)
        hBox1.Add(wx.StaticText(panel, -1, "-"), 0,
                  wx.LEFT | wx.RIGHT | wx.ALIGN_BOTTOM, 5)
        hBox1.Add(self.EndTimeMinute, 0)
        sizer.Add(hBox1)
        sizer.Add((30, 30))
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        self.btn_ok = wx.Button(panel, -1, "OK", size=(60, 25))

        hBox1.Add(self.btn_ok, 0, wx.LEFT, 20)
        hBox1.Add(wx.Button(panel, wx.ID_CANCEL, "CANCEL", size=(60, 25)), 0,
                  wx.LEFT, 20)
        sizer.Add(hBox1)
        panel.SetSizer(sizer)

        self.CentreFreq.Enable(True)
        self.BandWidth.Enable(True)
        self.radioHand.SetValue(True)

        self.Layout()
        self.Centre(wx.BOTH)

        ##Events
        self.btn_ok.Bind(wx.EVT_BUTTON, self.OnbtnOK)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadio)
コード例 #41
0
                    flag_sockFile = 1
                    self.sockFile=staticVar.sockFile
                except Exception,e:
                    print e


            if (flag_sock and flag_sockFile):
                break
            else:
                count += 1
                time.sleep(5)

        if(count<1000):
            connect = ConnectServer()

            connect.CommonHeader = FrameHeader(0x55, 0xA1, staticVar.getid() & 0x00FF, staticVar.getid() >> 8)
            connect.CommonTail = self.mainframe.tail

            if (self.mainframe.GPS_list == []):
                # 临时加的测试
                self.GPS_list = [0] * 9
                #############################

                Lon = 114.4202
                Lat = 30.5100
                Alti = 35
                Lon_fen = 0.4202 * 60
                Lat_fen = 0.51 * 60
                Lon_fen_I = int(Lon_fen)
                Lon_fen_f = int((Lon_fen - int(Lon_fen)) * 1000)
                Lat_fen_I = int(Lat_fen)
コード例 #42
0
    def __init__( self, parent ):
        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"定频接收", pos = wx.DefaultPosition, size = wx.Size( 387,392 ), style = wx.DEFAULT_DIALOG_STYLE )

        ##############################
        self.id=staticVar.getid()
        self.lowid=self.id&0x00FF
        self.highid=self.id>>8
        self.tail=FrameTail(0,0,0xAA)
        self.outPoint=staticVar.outPoint

        ###############################
        self.parent=parent
        #### show #########
        self.show_recv_set=self.parent.show_recv_set
        self.byte_to_package=self.parent.byte_to_package



        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )

        gSizer1 = wx.GridSizer( 1, 1, 0, 0 )

        self.m_notebook1 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )

        self.m_notebook1.SetFont(wx.Font(10, wx.ROMAN, wx.NORMAL, wx.LIGHT, underline=False, faceName=u"微软雅黑",
                                         encoding=wx.FONTENCODING_DEFAULT))

        self.m_panel1 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        gSizer2 = wx.GridSizer( 9, 3, 0, 0 )


        # gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        #
        #
        # gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        #
        #
        # gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )

        self.m_check_freq1 = wx.CheckBox( self.m_panel1, wx.ID_ANY, u"第一个中心频率", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_check_freq1, 0, wx.ALL, 5 )

        self.m_text_freq1 = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_text_freq1, 0, wx.ALL, 5 )

        self.m_staticText6 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"MHz", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText6.Wrap( -1 )
        gSizer2.Add( self.m_staticText6, 0, wx.ALL, 5 )

        self.m_check_freq2 = wx.CheckBox( self.m_panel1, wx.ID_ANY, u"第二个中心频率", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_check_freq2, 0, wx.ALL, 5 )

        self.m_text_freq2 = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_text_freq2, 0, wx.ALL, 5 )

        self.m_staticText7 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"MHz", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText7.Wrap( -1 )
        gSizer2.Add( self.m_staticText7, 0, wx.ALL, 5 )

        self.m_check_freq3 = wx.CheckBox( self.m_panel1, wx.ID_ANY, u"第三个中心频率", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_check_freq3, 0, wx.ALL, 5 )

        self.m_text_freq3 = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_text_freq3, 0, wx.ALL, 5 )

        self.m_staticText8 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"MHz", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText8.Wrap( -1 )
        gSizer2.Add( self.m_staticText8, 0, wx.ALL, 5 )

        self.m_staticText11 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"IQ 带宽/数据率", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText11.Wrap( -1 )
        gSizer2.Add( self.m_staticText11, 0, wx.ALL, 5 )

        m_choice_bwChoices = [ u"5", u"2.5", u"1.25", u"0.625", u"0.125" ]
        self.m_choice_bw = wx.Choice( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.Size( 110,-1 ), m_choice_bwChoices, 0 )
        self.m_choice_bw.SetSelection( 0 )
        gSizer2.Add( self.m_choice_bw, 0, wx.ALL, 5 )

        self.m_staticText12 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"MHz", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText12.Wrap( -1 )
        gSizer2.Add( self.m_staticText12, 0, wx.ALL, 5 )

        self.m_staticText13 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"上传数据块个数", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText13.Wrap( -1 )
        gSizer2.Add( self.m_staticText13, 0, wx.ALL, 5 )

        self.m_text_up_num = wx.TextCtrl( self.m_panel1, wx.ID_ANY, u"1", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_text_up_num, 0, wx.ALL, 5 )

        self.m_staticText14 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"(<=256)", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText14.Wrap( -1 )
        gSizer2.Add( self.m_staticText14, 0, wx.ALL, 5 )

        self.m_staticText15 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"  延时时间", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText15.Wrap( -1 )
        gSizer2.Add( self.m_staticText15, 0, wx.ALL, 5 )

        self.m_text_dtime = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_text_dtime, 0, wx.ALL, 5 )

        self.m_staticText16 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"s", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText16.Wrap( -1 )
        gSizer2.Add( self.m_staticText16, 0, wx.ALL, 5 )

        self.m_staticText19 = wx.StaticText(self.m_panel1, wx.ID_ANY, u"接收增益(dB)", wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.m_staticText19.Wrap(-1)
        gSizer2.Add(self.m_staticText19, 0, wx.ALIGN_CENTER | wx.ALIGN_RIGHT | wx.ALIGN_TOP | wx.ALL, 5)

        self.m_slider_gain = wx.Slider(self.m_panel1, wx.ID_ANY, 7, -1, 73, wx.Point(-1, -1), wx.Size(150, 20),
                                       wx.SL_HORIZONTAL | wx.SL_LABELS | wx.SL_SELRANGE)
        gSizer2.Add(self.m_slider_gain, 0, wx.ALIGN_CENTER | wx.ALL, 5)

        gSizer2.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )


        gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )


        gSizer2.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )

        self.m_btn_set = wx.Button( self.m_panel1, wx.ID_ANY, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_btn_set, 0, wx.ALL, 5 )

        self.m_btn_cancel = wx.Button( self.m_panel1, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer2.Add( self.m_btn_cancel, 0, wx.ALL, 5 )

        self.m_panel1.SetSizer( gSizer2 )
        self.m_panel1.Layout()
        gSizer2.Fit( self.m_panel1 )
        self.m_notebook1.AddPage( self.m_panel1, u"定频接收参数", False )
        # self.m_panel2 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.Size( 200,-1 ), wx.TAB_TRAVERSAL )
        # gSizer4 = wx.GridSizer( 2, 2, 0, 0 )
        #


        # self.btn_ok_param = wx.Button( self.m_panel2, wx.ID_ANY, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer4.Add( self.btn_ok_param, 0, wx.ALIGN_CENTER|wx.ALL, 5 )
        #
        # self.btn_cancel_param = wx.Button( self.m_panel2, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer4.Add( self.btn_cancel_param, 0, wx.ALIGN_CENTER|wx.ALL, 5 )


        # self.m_panel2.SetSizer( gSizer4 )
        # self.m_panel2.Layout()
        # self.m_notebook1.AddPage( self.m_panel2, u"参数设置", False )
        # self.m_panel3 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        # gSizer5 = wx.GridSizer( 8, 2, 0, 0 )
        #
        # gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        # gSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
        #
        # self.m_check_wave = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"波形图", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer5.Add( self.m_check_wave, 0, wx.ALL, 5 )
        #
        #
        #
        # self.m_check_spec = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"功率谱", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer5.Add( self.m_check_spec, 0, wx.ALL, 5 )
        #
        # self.m_check_water = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"瀑布图", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer5.Add( self.m_check_water, 0, wx.ALL, 5 )
        #
        # self.m_check_CCDF = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"CCDF", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer5.Add( self.m_check_CCDF, 0, wx.ALL, 5 )
        #
        #
        # self.m_check_eye = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"眼图", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer5.Add( self.m_check_eye, 0, wx.ALL, 5 )
        #
        # self.m_check_constel = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"星座图", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer5.Add( self.m_check_constel, 0, wx.ALL, 5 )
        #
        #
        #
        # self.btn_display = wx.Button( self.m_panel3, wx.ID_ANY, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer5.Add( self.btn_display, 0, wx.ALL, 5 )
        #
        # self.btn_display_cancel = wx.Button( self.m_panel3, wx.ID_ANY, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 )
        # gSizer5.Add( self.btn_display_cancel, 0, wx.ALL, 5 )
        #
        #
        # self.m_panel3.SetSizer( gSizer5 )
        # self.m_panel3.Layout()
        # gSizer5.Fit( self.m_panel3 )
        # self.m_notebook1.AddPage( self.m_panel3, u"窗口显示", False )
        self.m_panel4 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        gSizer6 = wx.GridSizer( 5, 1, 0, 0 )


        gSizer6.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )

        m_radio_chooseChoices = [ u"定频中心频率", u"定频带宽",u"定频上传数据块个数" ]
        self.m_radio_choose = wx.RadioBox( self.m_panel4, wx.ID_ANY, u"查询项", wx.DefaultPosition, wx.DefaultSize, m_radio_chooseChoices, 1, wx.RA_SPECIFY_COLS )
        self.m_radio_choose.SetSelection( 0 )
        gSizer6.Add( self.m_radio_choose, 0, wx.ALL, 5 )


        gSizer6.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )

        self.m_btn_query = wx.Button( self.m_panel4, wx.ID_ANY, u"查询", wx.DefaultPosition, wx.DefaultSize, 0 )
        gSizer6.Add( self.m_btn_query, 0, wx.ALL, 5 )


        self.m_panel4.SetSizer( gSizer6 )
        self.m_panel4.Layout()
        gSizer6.Fit( self.m_panel4 )
        self.m_notebook1.AddPage( self.m_panel4, u"查询", True )

        gSizer1.Add( self.m_notebook1, 1, wx.EXPAND |wx.ALL, 5 )


        self.SetSizer( gSizer1 )
        self.Layout()

        self.Centre( wx.BOTH )

        #Events
        self.m_btn_set.Bind( wx.EVT_BUTTON, self.m_btn_setOnButtonClick )
        # self.btn_ok_param.Bind(wx.EVT_BUTTON, self.btn_ok_paramOnButtonClick)
        # self.btn_display.Bind(wx.EVT_BUTTON, self.btn_displayOnButtonClick)
        self.m_btn_query.Bind(wx.EVT_BUTTON,self.m_btn_queryOnButtonClick)