discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] filename using time-stamp in GRC


From: ematlis
Subject: [Discuss-gnuradio] filename using time-stamp in GRC
Date: Wed, 19 Jan 2011 10:47:04 -0800 (PST)

He all-

is there a way to implement a button controlling a record-to-file function 
where the filename is generated instantly from the current time stamp?  I can 
do this manually in python as follows (taken from a previously existing 
gnuradio code):

        #
        # Recording file, in case we ever need to record baseband data
        #
        self.recording = gr.file_sink(gr.sizeof_float, "/dev/null")
        self.recording_state = False
        # Filename prefix for recording file
        self.prefix = options.prefix

        # We come up with recording turned off, but the user may
        #  request recording later on
        self.recording.close()

.
.
.

        self.connect (self.source, self.recording)

.
.
.

        # Data recording control
        buttonbox = wx.BoxSizer(wx.HORIZONTAL)
        self.record_control = form.button_with_callback(self.panel,
              label="Recording Data: Off                                        
                           ",
              callback=self.toggle_recording)

        buttonbox.Add(self.record_control, 0, wx.CENTER)

.
.
.

    #
    # Turn recording on/off
    # Called-back by "Recording" button
    #
    def toggle_recording(self):
        # Pick up localtime, for generating filenames
        timestamp = time.localtime()

        # Generate filenames for both data and header file
        filename = "%04d_%02d_%02d_%02d:%02d:%02d.dat" % (timestamp.tm_year, 
timestamp.tm_mon,
        timestamp.tm_mday, timestamp.tm_hour, timestamp.tm_min,timestamp.tm_sec)

        # Current recording?  Flip state
        if (self.recording_state == True):
          self.recording_state = False
          self.record_control.SetLabel("Recording Data: Off                     
                               ")
          self.recording.close()
        # Not recording?
        else:
          self.recording_state = True
          self.record_control.SetLabel("Recording Data to: "+filename)

          # Cause gr_file_sink object to accept new filename
          #   note use of self.prefix--filename prefix from
          #   command line (defaults to ./)
          #
          self.recording.open (self.prefix+filename)


Thanks!
eric



      



reply via email to

[Prev in Thread] Current Thread [Next in Thread]