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))
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))
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()
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()
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))
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()
def QuerySend(self, funcPara): query = Query() query.CommonHeader = FrameHeader(0x55, funcPara, self.lowid, self.highid) query.CommonTail = self.tail self.outPoint.write(bytearray(query))
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)
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()
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)