Changeset 5534

Show
Ignore:
Timestamp:
10/26/07 17:27:49 (6 years ago)
Author:
jgaeddert
Message:

forwarding input data based upon its metadata content, removing antiquated playAudio method, cleaning up output

Location:
experimental/components/rc2007_gui
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • experimental/components/rc2007_gui/WorkModules.py

    r5524 r5534  
    171171     
    172172    def SendTextData(self,text): 
    173         # TODO: pack/depack 
    174         # tmp: False for text 
    175         # configure meta data here 
    176         self.text_metadata.eom = False 
     173        # TODO: configure meta data here 
     174        self.text_metadata.app_id = 2 
    177175        self.text_metadata.packet_id += 1 
    178         #print "text " + str(self.text_metadata.packet_id) + "  " + text 
    179176        self.rc2007_gui_ref.to_radio_port_servant.send_data( 
    180177                text, 
     
    207204                        data += struct.pack('B', b); 
    208205                    # tmp: true for voice 
    209                     # configure meta data here 
    210                     self.audio_metadata.eom = True 
     206                    # TODO: configure meta data here 
     207                    self.audio_metadata.app_id = 1 
    211208                    self.audio_metadata.packet_id += 1 
    212209 
    213                     #print ">"*4 + " audio enc " + str(self.audio_metadata.packet_id) + \ 
    214                     #      "  " + str(data_int[0:10]) 
    215          
    216210                    if self.rc2007_gui_ref.to_radio_port_active: 
    217211                        #print "audio length: " + str(len(data)) 
     
    286280        unpacked_audio = self.my_decoder.Decode(data) 
    287281 
    288         # The old method 
    289         #self.playAudio(left_channel, right_channel) 
    290  
    291282        # the new method 
    292         #print " output audio energy : " + str(int(energy(data))) 
    293283        packed_audio = pack_audio(unpacked_audio, self.num_channels) 
    294284        self.speaker_driver.writeall(packed_audio)         
    295  
    296     def playAudio(self,Left_channel, Right_channel): 
    297             # play on speaker 
    298             my_string = '' 
    299             if Right_channel[0]==0:     # using the left channel 
    300                 for y in range(0,len(Left_channel)): 
    301                     upper_val = Left_channel[y]/256 
    302                     lower_val = Left_channel[y] - (upper_val * 256) 
    303                     my_string += struct.pack('h', Left_channel[y]) 
    304                     #my_string += struct.pack('B',lower_val) 
    305                     #my_string += struct.pack('b',upper_val) 
    306                     if self.channels == 2: 
    307                         my_string += '\0' 
    308                         my_string += '\0' 
    309                     else: 
    310                         my_string += struct.pack('h', Left_channel[y]) 
    311                         #my_string += struct.pack('B',lower_val) 
    312                         #my_string += struct.pack('b',upper_val) 
    313             else:     # using the right channel 
    314                 for y in range(0,len(Right_channel)): 
    315                     upper_val = Right_channel[y]/256 
    316                     lower_val = Right_channel[y] - (upper_val * 256) 
    317                     my_string += struct.pack('h', Right_channel[y]) 
    318                     #my_string += struct.pack('B',lower_val) 
    319                     #my_string += struct.pack('b',upper_val) 
    320                     if self.channels == 2: 
    321                         my_string += '\0' 
    322                         my_string += '\0' 
    323                     else: 
    324                         my_string += struct.pack('h', Right_channel[y]) 
    325                         #my_string += struct.pack('B',lower_val) 
    326                         #my_string += struct.pack('b',upper_val) 
    327             self.sound_driver.writeall(my_string) 
    328285 
    329286    def Release(self): 
     
    342299                self.data_queue_lock.release() 
    343300         
    344                 # temp: if EOM is true data are voice, otherwise text 
    345                 voice = metadata.eom 
    346                 text = not voice 
    347  
    348                 # TODO: look at the metadata and decide if it's voice or text         
    349                 # forwarding voice data: 
    350                 if voice: 
     301                # Use metadata application identifier to forward 
     302                # data appropriately 
     303                if metadata.app_id==1: 
     304                    # voice data 
    351305                    # convert string to list of integers 
    352306                    data_int = [] 
    353307                    for c in data: 
    354308                        data_int.append( int(struct.unpack('B', c)[0]) ) 
    355                     #print "<"*4 + " audio dec " + str(metadata.packet_id) + \ 
    356                     #      "  " + str(data_int[0:10]) 
    357309 
    358310                    self.CVSDDecode(data_int) 
    359311 
    360                 if text: 
     312                elif metadata.app_id==2: 
     313                    # text data 
    361314                    self.rc2007_gui_ref.prnt_app.frame.DisplayText(data) 
    362315 
     316                else: 
     317                    # unknown application identifier 
     318                    print "ERROR! rc2007_gui: unknown app_id: " + str(metadata.app_id) 
     319 
    363320            self.data_signal.clear()  # done reading the buffer 
    364321 
  • experimental/components/rc2007_gui/port_impl.py

    r5511 r5534  
    4545        #print "rx packet " + str(metadata.packet_id) + \ 
    4646        #      ", len = " + str(len(data)) + \ 
    47         #      "  voice? " + str(metadata.eom) 
     47        #      "  app: " + str(metadata.app_id) 
    4848        self.parent.rx_work_mod.AddMetaData(data, metadata) 
    4949 
     
    9999                (data, metadata) = self.data_buffer.pop() 
    100100                self.data_buffer_lock.release() 
    101                 #print "this is my data: " + str(data) + "\n\n" 
    102                 #print "this is my meta data: " + str(metadata) + "\n\n" 
    103101                 
    104102                # send the data to all outPort connections  
     
    106104                    #print "tx packet " + str(metadata.packet_id) + \ 
    107105                    #      ", len = " + str(len(data)) + \ 
    108                     #      "  voice? " + str(metadata.eom) 
     106                    #      "  app: " + str(metadata.app_id) 
    109107                    port.pushPacketMetaData(data, metadata) 
    110108