This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

soc.recorder

Data recording session for specified SoC hardware board

Description

An soc.recorder object can configure and log data from input sources on an SoC hardware board connected to MATLAB®. You can save the recorded data to a file for future use to playback in MATLAB and Simulink® models.

Creation

Syntax

dr = soc.recorder(hw)

Description

example

dr = soc.recorder(hw) creates a data recording session, dr, on the SoC hardware board connection represented by hw. hw is an socHardwareBoard object.

Input Arguments

expand all

Hardware object, specified as a socHardwareBoard object that represents the connection to the SoC hardware board.

Properties

expand all

Name of supported SoC hardware board, specified as a character vector.

Data Types: char

List of hardware-peripheral input sources added to data recording session, specified a character vector. To add input sources to a soc.recorder object, call the addSource object function.

Data Types: cell

This property is read-only.

Status of data recording session, specified as a logic value of false (0) or true (1). To get the status of the data recording session, call the isRecording object function.

Data Types: logical

Object Functions

addSourceAdd a input source to a data recording session
removeSourceRemove input source from data recording session
setupSet up hardware for data recording
recordRecord data from hardware using data recorder object
isRecordingGet data recording status
saveSave recorded data from SoC hardware board to file on host PC

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 soc.recorder 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                       

Introduced in R2019a