DataRecorder
Data recording session for specified SoC hardware board
Description
A DataRecorder
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
Create a DataRecorder
object using soc.recorder
function.
Properties
HardwareName
— Name of supported SoC hardware board
character vector
Name of supported SoC hardware board, specified as a character vector.
Data Types: char
Sources
— List of hardware-peripheral input sources
cell array
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
Recording
— Status of data recording session
false
(0
) | true
(1
)
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
addSource | Add an input source to a data recording session |
removeSource | Remove input source from data recording session |
setup | Set up hardware for data recording |
record | Record data from hardware using data recorder object |
isRecording | Get data recording status |
save | Save recorded data from SoC hardware board to file on host PC |
Examples
Record Data From SoC Hardware Board
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
Version History
Introduced in R2019a
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)