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))
Beispiel #2
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))
Beispiel #3
0
    def OnbtnOk(self, event):
        reqAb = ReqAbFreq()
        reqAb.CommonHeader = FrameHeader(0x55, 0xA4, self.lowid, self.highid)
        reqAb.CommonTail = self.tail
        if (self.radioBox.GetSelection()):
            reqAb.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)
        reqAb.Param.HighCentreFreqInteger = centreFreq_I >> 6
        reqAb.Param.LowCentreFreqInteger = centreFreq_I & 0x003F
        reqAb.Param.HighCentreFreqFraction = centreFreq_F >> 8
        reqAb.Param.LowCentreFreqFraction = centreFreq_F & 0x0FF
        reqAb.Param.UploadNum = int(self.UploadNum.GetValue())
        reqAb.Param.DataRate = bandWidth
        reqAb.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()))

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

        if (staticVar.getSock()):
            staticVar.getSock().sendall(bytearray(reqAb))

        self.Destroy()
Beispiel #4
0
    def btn_param_setOnChoice(self, event):

        SendWeak = SendWeakSet()
        SendWeak.CommonHeader = FrameHeader(0x55, 0x05, self.highid,
                                            self.lowid)
        SendWeak.SendWeak = int(self.m_slider_weak.GetValue())
        SendWeak.CommonTail = self.tail
        self.outPoint.write(bytearray(SendWeak))
    def startReClick(self,evt):
        
        gain = int(self.slider_recvgain.GetValue())
        centr_freq = float(self.txt_ctrl_freq.GetValue())
        bandwidth = int(self.band_data_choice.GetSelection())
        
        recordStart = RecordStartSet()
        recordStart.CommonHeader = FrameHeader(0x55,0x34,self.lowid,self.highid)
        recordStart.CommonTail = self.tail
        
        recordStart.RecvGain = gain + 2
        recordStart.FreqArray = self.FreqToByte(centr_freq)
        recordStart.BandWidth = bandwidth + 1
        recordStart.DataRate = bandwidth + 1
        
        Year = self.StartTimeYear.GetValue()
        Month = self.StartTimeMonth.GetValue()
        Day = self.StartTimeDay.GetValue()
        Hour = self.StartTimeHour.GetValue()
        Minute = self.StartTimeMinute.GetValue()
        Hour = self.StartTimeHour.GetValue()
        Sec = self.StartTimeSecond.GetValue()
        
        #########将读取的时间转换为UTC时间下发给硬件###########
        time_set = Year + '-' + Month + '-' + Day + ' ' + Hour + ':' + Minute+ ':' + Sec
        time_set_stamp = time.mktime(time.strptime(time_set,"%Y-%m-%d %H:%M:%S"))
        time_utc = datetime.datetime.utcfromtimestamp(time_set_stamp)
        ############################################
        
        Year_utc = int(str(time_utc)[0:4])
        Month_utc = int(str(time_utc)[5:7])
        Day_utc = int(str(time_utc)[8:10])
        Hour_utc = int(str(time_utc)[11:13])
        Minute_utc = int(str(time_utc)[14:16])
        Sec_utc = int(str(time_utc)[17:19])
        
        startTime = (Year_utc,Month_utc,Day_utc,Hour_utc,Minute_utc,Sec_utc)
        
        recordStart.HighYear = startTime[0] >> 4
        recordStart.LowYear = startTime[0] & 0xF
        recordStart.Month = startTime[1]
        recordStart.Day = startTime[2]
        recordStart.HighHour = startTime[3] >> 2
        recordStart.Minute = startTime[4]
        recordStart.LowHour = startTime[3] & 0x3
        recordStart.Second = startTime[5] 
        
        
        self.outPoint.write(bytearray(recordStart))
        

            

        thread = thread_recv_recorder.ReceiveRecorderDataThread(self.parent)
        thread.start()
        
        self.count_iq2.SetLabel(str(thread_recv_recorder.ReceiveRecorderDataThread(self.parent).count_iq2_file))
        print thread_recv_recorder.ReceiveRecorderDataThread(self.parent).count_iq2_file
	def btn_ok_paramOnButtonClick(self,event):
		
		Gain=int(self.m_slider_gain.GetValue())
		header=FrameHeader(0x55,0x04,self.lowid,self.highid)
		gainSet= RecvGainSet()
		gainSet.CommonHeader=header
		gainSet.RecvGain=Gain+3
		gainSet.CommonTail=self.tail
		self.outPoint.write(bytearray(gainSet))
    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))
    def OnbtnOk(self,event):

        if(self.radioBox1.GetSelection()):
            reqElec=ReqElecPath()
            reqElec.CommonHeader=FrameHeader(0x55,0xA3,self.lowid,self.highid)
            reqElec.CommonTail=self.tail
        
            reqElec.DataSource=15
            
            if(self.radioBox3.GetSelection()==0):
                centreFreq=self.ListFreq[self.FreqSection.GetSelection()][0]
                bandWidth=self.ListFreq[self.FreqSection.GetSelection()][1]
            else:
                centreFreq=int(self.CentreFreq.GetValue())
                bandWidth=int(self.BandWidth.GetValue())
            
            if(self.radioBox4.GetSelection()==0):
                reqElec.TPOA=0xFF
                
            reqElec.HighCentreFreq=centreFreq>>8
            reqElec.LowCentreFreq=centreFreq&0x00FF
            reqElec.BandWidth=bandWidth
    
            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())
                       )
            
            reqElec.StartTime=self.ByteToTime(startTime)
            reqElec.EndTime=self.ByteToTime(endTime)
            #
            # if(staticVar.getSock()):
            #     staticVar.getSock().sendall(bytearray(reqElec))

            self.parent.queueRequest.put(reqElec)
            
        else:
            if(self.parent.thread_route_map==0):
                self.parent.thread_route_map=InsertRouteThread(self.parent)
                self.parent.thread_route_map.start()
            else:
                self.parent.thread_route_map.event.set()
            
        self.Close()
    def OnbtnOk(self, event):
        freqStart = int(self.FreqStart.GetValue())
        freqEnd = int(self.FreqEnd.GetValue())
        stationPro = QueryStationPro()
        stationPro.CommonHeader = FrameHeader(0x55, self.func, self.lowid,
                                              self.highid)
        stationPro.CommonTail = self.tail
        stationPro.HighFreqStart = freqStart >> 8
        stationPro.LowFreqStart = freqStart & 0x00FF
        stationPro.HighFreqEnd = freqEnd >> 8
        stationPro.LowFreqEnd = freqEnd & 0x00FF

        if (staticVar.getSock()):
            staticVar.getSock().sendall(bytearray(stationPro))

        self.Destroy()
Beispiel #10
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()
 def endReClick(self,evt):
     gain = int(self.slider_recvgain.GetValue())
     
     recordEnd = RecorderEndSet()
     recordEnd.CommonHeader = FrameHeader(0x55,0x35,self.lowid,self.highid)
     recordEnd.CommonTail = self.tail
     recordEnd.RecvGain = gain + 2
     
     freq_s = self.parent.FreqMin
     freq_e = self.parent.FreqMax
     
     array = self.SweepSection(freq_s, freq_e)
     recordEnd.StartSectionNo = array[0]
     recordEnd.EndSectionNo = array[1]
     recordEnd.HighStartFreq = array[2]
     recordEnd.LowStartFreq = array[3]
     recordEnd.HighEndFreq = array[4]
     recordEnd.LowEndFreq = array[5]
     
     self.outPoint.write(bytearray(recordEnd))
Beispiel #12
0
    def OnbtnOK(self, event):
        reqElec = ReqElecTrend()
        reqElec.CommonHeader = FrameHeader(0x55, 0xA2, self.lowid, self.highid)
        reqElec.CommonTail = self.tail
        if (self.radioChoose.GetValue()):
            centreFreq = int(self.ListFreq[self.FreqSection.GetSelection()][0])
            bandWidth = int(self.ListFreq[self.FreqSection.GetSelection()][1])

        else:
            centreFreq = int(self.CentreFreq.GetValue())
            bandWidth = int(self.BandWidth.GetValue())

        reqElec.HighCentreFreq = centreFreq >> 8
        reqElec.LowCentreFreq = centreFreq & 0x00FF
        reqElec.BandWidth = bandWidth
        reqElec.Radius = int(self.Radius.GetValue())
        fenBianLv = float(self.FenBianLv.GetValue())
        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())
                   )

        reqElec.FenBianLvInteger = int(fenBianLv)
        reqElec.FenBianLvFraction = int((fenBianLv - int(fenBianLv)) * 8)

        reqElec.RefreshIntv = int(self.RefreshIntv.GetValue())
        reqElec.StartTime = self.ByteToTime(startTime)
        reqElec.EndTime = self.ByteToTime(endTime)

        # if(staticVar.getSock()):
        #     staticVar.getSock().sendall(bytearray(reqElec))
        #     for i in  bytearray(reqElec):
        #         print i,

        self.parent.queueRequest.put(reqElec)

        self.Close()
Beispiel #13
0
 def QuerySend(self, funcPara):
     query = Query()
     query.CommonHeader = FrameHeader(0x55, funcPara, self.lowid,
                                      self.highid)
     query.CommonTail = self.tail
     self.outPoint.write(bytearray(query))
Beispiel #14
0
    def btn_press_setOnChoice(self, event):

        ###压制参数设置#################

        pressSet = PressParaSet()

        pressSet.PressMode = self.press_mode
        pressSet.CommonHeader = FrameHeader(0x55, 0x08, self.highid,
                                            self.lowid)
        pressSet.PressSignal = int(self.m_press_signaltype.GetSelection()) + 1
        pressSet.PressSignalBandWidth = int(self.m_press_bw.GetSelection()) + 1
        pressSet.CommonTail = self.tail
        if (self.press_mode < 5):
            pressSet.HighT1 = self.T1 >> 8
            pressSet.LowT1 = self.T1 & 0x00FF
            pressSet.HighT2 = self.T2 >> 8
            pressSet.LowT2 = self.T2 & 0x00FF

            PressFreq1 = float(self.m_freq1.GetValue())

            if (self.press_mode > 2):
                pressSet.HighT3 = self.T3 >> 8
                pressSet.LowT3 = self.T3 & 0x00FF
                pressSet.HighT4 = self.T4 >> 8
                pressSet.LowT4 = self.T4 & 0x00FF

                PressFreq2 = float(self.m_freq2.GetValue())

        self.outPoint.write(bytearray(pressSet))

        ################# show ########################

        self.show_recv_set.ShowPressPara(pressSet)

        ##### 压制中心频率设置  ###########

        if (self.press_mode < 5):

            pressFreqSet = PressFreqSet()
            pressFreqSet.CommonHeader = FrameHeader(0x55, 0x03, self.highid,
                                                    self.lowid)
            pressFreqSet.CommonTail = self.tail

            array1 = self.FreqToByte(PressFreq1)
            pressFreqSet.PressNum = 1
            pressFreqSet.FreqArray[0] = CentreFreq(array1[0], array1[1],
                                                   array1[2], array1[3])

            if (self.press_mode > 2):
                array2 = self.FreqToByte(PressFreq2)
                pressFreqSet.PressNum = 2
                pressFreqSet.FreqArray[1] = CentreFreq(array2[0], array2[1],
                                                       array2[2], array2[3])

            self.outPoint.write(bytearray(pressFreqSet))
            ##############  show  #####################
            self.show_recv_set.ShowPressFreq(pressFreqSet)

            if (self.press_mode == 2 or self.press_mode == 4):
                press_hand.set_press_hand(1)
                press_hand.set_press_set(pressSet)
                press_hand.set_press_freq(pressFreqSet)
            else:
                press_hand.set_press_hand(0)

        else:
            press_hand.set_press_hand(0)
Beispiel #15
0
	def m_btn_setOnButtonClick(self,event):
		
		
		##################################
		self.parent.start_local_iq=1
		###########   定频参数设置     ##########
		iqPara=IQParaSet()
		bandWidth=int(self.m_choice_bw.GetSelection())
		uploadNum=int(self.m_text_up_num.GetValue())
		delayTime=int(self.m_text_dtime.GetValue())
		
		curTime=time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
		
		iqPara.CommonHeader=FrameHeader(0x55,0x07,self.highid,self.lowid)
		iqPara.CommonTail=self.tail
		iqPara.BandWidth=bandWidth+1
		iqPara.DataRate=bandWidth+1
		iqPara.UploadNum=uploadNum
		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])
		Second=int(curTime[12:14])+delayTime
		if(Second>=60):
			Min+=1 
			Second-=60
		#######  转UTC 格式 ########
		Hour-=8
		
		HourStruct=Hour5bit(Hour,0)
		
		############################
		iqPara.Time.HighYear=Year>>4
		iqPara.Time.LowYear=Year&0x00F
		iqPara.Time.Month=Month
		iqPara.Time.Day=Day
		iqPara.Time.HighHour=HourStruct.Hour>>2
		iqPara.Time.LowHour=HourStruct.Hour&0x03
		iqPara.Time.Minute=Min
		iqPara.Time.Second=Second
		self.outPoint.write(bytearray(iqPara))
		
		
		########### 定频中心频率设置 ############
	
		listfreq=[]
		if(self.m_check_freq1.GetValue()):
			freq1=int(self.m_text_freq1.GetValue())
			listfreq.append(freq1)
			
		if(self.m_check_freq2.GetValue()):
			freq2=int(self.m_text_freq2.GetValue())
			listfreq.append(freq2)
		if(self.m_check_freq3.GetValue()):
			freq3=int(self.m_text_freq3.GetValue())
			listfreq.append(freq3)

		iqFreq=IQFreqSet()
		iqFreq.CommonHeader=FrameHeader(0x55,0x02,self.highid,self.lowid)
		iqFreq.CommonTail=self.tail
		iqFreq.FreqNum=len(listfreq)

		
		for i in xrange(len(listfreq)):
			array=self.FreqToByte(listfreq[i])
			iqFreq.FreqArray[i]=CentreFreq(array[0],array[1],array[2],array[3])

		
		self.outPoint.write(bytearray(iqFreq))
		
		
		for i in  bytearray(iqPara):
			print i,
			print
		for i in bytearray(iqFreq):
			print i,
		################# show ########################
		
		self.show_recv_set.ShowIQPara(iqPara)
		self.show_recv_set.ShowIQCentreFreq(iqFreq)


		self.Destroy()
		######################### 开启iq 接收线程 #################  
		time.sleep(delayTime-1)   
	
		thread=thread_recv_iq.ReceiveIQThread(self.parent)

		thread.start()
Beispiel #16
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)