Main Content

record

Record data from hardware using data recorder object

Description

record(dr,duration) records hardware input data on the SoC hardware board represented by dr, for the specified duration. dr is a data recording session on SoC hardware board created using DataRecorder.

example

Examples

collapse all

Create a connection from MATLAB to the specified SoC hardware board using the IP address, username, and password of the board.

hw = socHardwareBoard('Xilinx Zynq ZC706 evaluation kit','hostname','192.168.1.18','username','root','password','root');

Create a data recording session on the SoC hardware board by using the hw object. The resulting DataRecorder object represents the data recording session on the SoC hardware board.

dr = soc.recorder(hw)
dr = 

  DataRecorder with properties:

          HardwareName: 'Xilinx Zynq ZC706 evaluation kit'
               Sources: {}                            
             Recording: false                         

List the input sources added to the data recording session.

dr.Sources(hw)
ans =

  1×0 empty cell array                       

By default, soc.recorder objects have no added input sources. To add an input source to the data recording session, first create an input source object by using the soc.iosource function. For this example, create an User Datagram Protocol (UDP) source object.

udpSrc = soc.iosource(hw,'UDP Receive')
udpSrc = 

  soc.iosource.UDPRead with properties:

   Main
              LocalPort: 25000
             DataLength: 1
               DataType: 'uint8'
      ReceiveBufferSize: -1
           BlockingTime: 0
    OutputVarSizeSignal: false
             SampleTime: 0.1000
         HideEventLines: true

  Show all properties

Add this UDP source object to the data recording session by using the addSource object function.

addSource(dr,udpSrc,'UDPDataReceived-Port25000')

Verify the result by inspecting the Sources property of the soc.recorder object.

dr.Sources
ans =

  1×1 cell array

    {'UDPDataOnPort25000'}                        

Call the setup function to initialize all hardware peripheral input sources added to the data recording session, and start the data recording process.

setup(dr)

Record data for 60 seconds on the SoC hardware board.

record(dr, 60);

Check the status of the data recording session by using the isRecording object function. The recording status when data recording is in progress is 1.

recordingStatus = isRecording(dr)
recordingStatus =

  logical

   1

The recording status when data recording is complete is 0.

isRecording(dr)
recordingStatus =

  logical

   0

Save recorded data to a TGZ-compressed file.

save(dr,'UDPDataReceived','UDP Data Testing',{'Recorded On Zynq Board'})

This function saves the recorded data as the file UDPDataReceived.tgz in your working folder of the host PC. You can read this file by using an socFileReader object in MATLAB™ or an IO Data Source block in your Simulink® model.

Remove the added source from the data recording session by using the removeSource object function.

removeSource(dr,'UDPDataReceived-Port25000')

Verify the result by inspecting the Sources property of the soc.recorder object.

ans =

  1×0 empty cell array                       

Input Arguments

collapse all

Data recording session for specified SoC hardware board, specified as a DataRecorder object.

Duration of recording session, specified as a positive scalar in seconds. Data is recorded on the hardware board for the specified duration of time. You can check the status of the data recording session by calling the isRecording object function.

Data Types: double

Version History

Introduced in R2019a