Signal Logging and Parameter Tuning in XCP External Mode with Packed Mode on Arduino
This example shows how to perform parameter tuning and data logging with a Simulink® model enabled with Packed Mode running on an Arduino® board.
Packed Mode leads to enhanced signal logging performance in models containing signals of high sample rates. However, the enhanced performance comes at an additional cost because Packed Mode requires higher RAM on the target as multiple samples need to be stored on the target before transmission.
Introduction
XCP External Mode is used to log signal data and tune parameters on the Arduino board in real-time. However, there is a limited bandwidth available for communication between the host and target. This limits the data that can be sent from the target. With Packed Mode, multiple data points of multiple signals are combined in a single packet which is sent over a transport. This reduces the overhead introduced by additional bytes of framing the packet.
Prerequisite
Complete the Get Started with Arduino Hardware example.
Required MathWorks Products
Simulink
Embedded Coder®
Simulink Support Package for Arduino Hardware
Required Hardware
Any Arduino board as listed in the Supported Hardware section of Arduino Support from Simulink.
Simulink Model
Open the arduino_xcp_packed
Simulink model.
This model is a multi-rate model with signals that are being logged at sample rates of 0.5 millisecond and 1 millisecond. It is preconfigured to run on Arduino Uno board at a Baud Rate of 921600 bits per second.
Configuring the Model
In this example, you will configure a Simulink model and enable packed mode.
Note: These steps are not required in the pre-configured model. Perform these steps if you have changed the hardware or not using the pre-configured model.
1. Open the arduino_xcp_packed
Simulink model.
2. In the Hardware tab, in the Prepare gallery, select Control Panel.
3. In the External Model Control Panel, click Signal & Triggering.
4. In the External & Signal Triggering dialog box, select Send multiple contiguous samples in same packet and enter a value for Duration.
Note: Clearing the Send multiple contiguous samples in same packet option might lead to data drops. To optimize the performance and memory utilization, tune the value of the Duration parameter.
This enables the XCP Packed mode and multiple contiguous samples are sent in a single packet whose length is the value specified for Duration parameter.
5. Click Apply and OK.
Initiate Monitor and Tune Action for the Model
On the Hardware tab of the Simulink toolstrip, click Monitor & Tune to monitor signals and tune parameters.