QUARC 2024 SP1
Table of Contents
QUARC
Getting Started with QUARC
System Requirements
Configuring QUARC
Setting Up QUARC
License Configuration
Setting the Default Target Type
Migrating From WinCon
How the QUARC Architecture Differs from WinCon's
It's a Whole Different World - Using QUARC Versus WinCon
Building Models for Real-Time - More Choices
Running Models - Similar but Different
Changing Parameters - Why Change a Good Thing?
Plotting Signals - Tighter Integration Than Ever Before
Streaming Data to Disk - More Flexibility At Last!
Accessing Hardware - A Whole New Paradigm
Communications - It's Completely Different!
Control Panels - New Interfaces
Where Did Those Blocks Go? - Migrating WinCon Blocks to QUARC
Quanser Toolbox (qctools)
Data Acquisition Cards
Extra Sources
Extra Sinks
Transformations
CRS Robots
Quanser Haptics
Devices
Quanser Communications Toolbox (qccomm)
WinCon Toolbox (wctools)
Upgrading QUARC
User's Guide
QUARC Basics for Models
Basic Procedures
Configuring a Model
External Mode vs. Normal Simulation
External Mode Operation
Data Collection
Streaming to the MATLAB Workspace
Using the Scope Parameters Dialog
Using the "To Workspace" Block
Using the Data Import/Export Pane
Streaming to Disk
Data Archiving
Using the "To Host File" Block
Model Logging
Using the "To File" Block
MAT-File Logging
Signal Triggering
Signal and Triggering Dialog
Configuring the Trigger Event
Arming/Disarming the Trigger Signal
QUARC Figures
Time Figure
XY Figure
Display Image
Using the Floating Scope
Parameter Tuning
Managing Models on the Target
Controlling the Execution Order
Using the Atomic Subsystem Block
Block Prioritization
QUARC Basics for Scripts
Basic Procedures
Building a Script
Running a Script
Managing Scripts on the Target
Using Windows Explorer to Manage Models and Scripts
Command Line Tools
QUARC Console - Model Standard I/O
QUARC Monitor - the Tray Icon
Accessing Hardware in Models
Accessing Hardware in Scripts
Communications
Basic Communications
Intermediate Communications
Advanced Communications
Advanced Communications - Blocking Mode
Advanced Communications - Non-Blocking Mode
Using Bus Objects with QUARC
Using Variable-Size Signals with QUARC
Mavlink Communications
Multiwii Communications
Using Devices
Standard Axes
Cameras
Devices on the Host PC
Fieldbus
Haptics
Human Interface Devices
Robots
CRS Catalyst-5
Mitsubishi PA10
Schunk Gripper
Vehicles
Multithreading
Multithreading of a Multi-Rate Model
Asynchronous Threads
Multiprocessing
Bound Multiprocessing (BMP)
Partition Scheduling
Adaptive Partitioning
Dynamic Reconfiguration
Creating Models to Support Dynamic Reconfiguration
Simulating Dynamic Reconfiguration
Dynamic Reconfiguration Using the MATLAB Command Window
Dynamic Reconfiguration Using a Supervisory Model
QUARC External Interfaces
C Functions
Communications
Communications API
Setting Up the C/C++ Application to Use the Communications API
C/C++ Application as Client
C/C++ Application as Server
Stream API
Getting Started with the Stream C API
Setting Up the C/C++ Application to Use the Stream API
C/C++ Application as Client
C/C++ Application as Server
Function Reference
Functions - By Category
What Each Function Reference Page Contains
Function Categories
Stream Configuration Functions
Stream Input Functions
Stream output Functions
Functions Alphabetically
Persistent Stream API
Setting Up the C/C++ Application to Use the Persistent Stream API
C/C++ Application as Client
C/C++ Application as Server
Devices
Devices API
Setting Up the C/C++ Application to Use the Devices API
Error Handling
Messages API
Setting Up the C/C++ Application to Use the Messages API
Handling Error Codes Using the Messages API
Hardware
HIL API
Getting Started with the HIL C API
Setting up the C/C++ Application to use the HIL C API
Introduction
Channels
Clocks
Function Reference
Functions - By Category
What Each Function Reference Page Contains
Function Categories
Configuration Functions
Information Functions
Property Functions
Immediate I/O Functions
Buffered I/O Functions
Task I/O Functions
Watchdog Functions
Functions - Alphabetical List
Multimedia
Multimedia API
Setting Up the C/C++ Application to Use the Multimedia API
Capturing Audio
Rendering Audio
Capturing Video
Capturing 3D Video
Function Reference
Functions - By Category
What Each Function Reference Page Contains
Function Categories
Audio Capture Functions
Audio Render Functions
Video Capture Functions
Video Display Functions
Video Sink Functions
Video3D Capture Functions
Functions - Alphabetical List
Target Management
Target API
Setting Up the C/C++ Application to Use the Target API
Connecting to a Target
Downloading Models
Running Models
Uploading Files from a Target
Model Standard I/O
Autoloading Models
Configuring the QUARC Target Manager
.NET Functions
Common
Common API
Communications
Communications API
Hardware
Hardware API
Target Management
Target API
Java Functions
Common
Common API
Communications
Communications API
Target Management
Target API
Python Functions
Common
Common API
Communications
Communications API
Devices
Devices API
Hardware
Hardware API
Image Processing
Image Processing API
Multimedia
Multimedia API
Debugging a Model
Achieving Optimal Performance
Creating User Interfaces
Creating MATLAB GUIs
Creating Altia GUIs
Installation Requirements - Configuring Altia to work with QUARC
Where to Begin - Creating an Altia GUI from Simulink
Getting Values - Knobs and other inputs
Setting Values - Meters and other outputs
Plotting - the Quanser Plot library for Altia
Controlling Models - Starting and stopping models from Altia
Deployment - Running your GUI
Creating Visualizations
Creating Your First Visualization Part I
Creating Your First Visualization Part II
Creating Your First Visualization Part III
Creating Your First Visualization Part IV
Creating Your First Visualization Part V
Composing Your Own Transformation Matrix
Creating Your Own Content
3ds Max X3D Plugin
Exporting from 3ds Max
Mesh Construction Considerations
Blender X3D Plugin
Exporting from Blender
Mesh Construction Considerations
Creating Skyboxes
Shadows
The Flattened Mesh
The Bitmap Shadow
Texture Baking
Animate Dialog
3D Viewer
The 3D Viewer Window
Command Line Interface
Establishing Remote Connections
Setting Up TCP/IP
Determining Your Server IP Address or Name
Connecting From a Remote Machine
Anatomy of a Scene File
The Basic Structure
The Scene Parameters
The Mesh Pool
The Texture Pool
The Object Pool
The Actor Pool
QUARC Targets
Selecting a Target
Using the Configuration Parameters Dialog to Select a Target
Defining Multiple Configurations
Activating a Configuration
Communicating with the Target
Setting up Ad-hoc wireless network for Windows 8.1 and above
Using Default URIs
Specifying the Model and/or Target URI
Specific Targets
QUARC Win32 Target
QUARC Win64 Target
QUARC Linux DuoVero Target
QUARC Linux DuoVero 2016 Target
QUARC Linux Nvidia Target
QUARC Linux Raspberry Pi 3 Target
QUARC Linux Raspberry Pi 4 Target
QUARC Linux Raspberry Pi ARM64 Target
QUARC Linux QDrone 2 Target
QUARC Linux RT ARMv7 Target
QUARC Linux Verdex Target
QUARC Linux x64 Target
QUARC QNX x86 Target
Configuration Parameters
Code Generation Pane - General
Code Generation Pane - Interface
Code Generation Pane - QUARC
QUARC Communications Protocols
Universal Resource Identifiers
CAN Protocol
Com2002x (ARCNET) Protocol
File Protocol
I2C Protocol
Mailslot Protocol
Pipe Protocol
Serial Protocol
Shared Memory Protocol
SPI Protocol
SPI-QPID Protocol
SPI-QPIDe Protocol
TCP/IP Protocol
TCP/IPv6 Protocol
UDP Protocol
QUARC Data Acquisition Card Support
Quanser Cards
Aero 2
Aero
Hexapod2-USB
HiQ Aero
MultiQ-PCI
Null Device
Q2-USB
Q3 ControlPaQ-FW
Q4
Q8
Q8-USB
QAB_Controls
QArm
QBall 2
QBot 2
QBot 2e
QBot 3
QBot Platform
QCar
QDrone
QDrone 2
QPID
QPIDe
QUBE-Servo 2
QUBE-Servo 3
QUBE-SERVO-myRIO
QUBE-SERVO-USB
Gumstix Cards
Overo
Robostix
Verdex
National Instruments Cards
DAQmx Overview
DAQCards
DAQCard-6024e
DAQCard-6062e
DAQCard-6715
PCI Cards
PCI-6014
PCI-6023e
PCI-6024e
PCI-6025e
PCI-6032e
PCI-6034e
PCI-6035e
PCI-6036e
PCI-6040e
PCI-6052e
PCI-6220
PCI-6221
PCI-6221 (37-pin)
PCI-6224
PCI-6225
PCI-6229
PCI-6230
PCI-6232
PCI-6233
PCI-6236
PCI-6238
PCI-6239
PCI-6250
PCI-6251
PCI-6254
PCI-6255
PCI-6259
PCI-6280
PCI-6281
PCI-6284
PCI-6289
PCI-6711
PCI-6713
PCI-6722
PCI-6723
PCI-6731
PCI-6733
PCI Express Cards
PCIe-6251
PCIe-6259
PCIe-6320
PCIe-6321
PCIe-6341
PCIe-6351
PCIe-6353
USB Cards
USB-6210
USB-6211
USB-6215
USB-6251
Embedded Devices
myRIO 1900
NI ELVIS III
Raspberry Pi Cards
Raspberry Pi Zero W
Raspberry Pi 3
Sensoray Cards
Model 626
QUARC MATLAB Functions
Functions - By Category
What Each Function Reference Page Contains
Function Categories
Configuration and Verification
QUARC Configuration
Model Configuration
Upgrading Blocks
Verification
Target Interaction and Simulation
Model
Script
Target
Error Handling
Fonts
Input Devices
Keyboard
April Tags
Miscellaneous
Hardware
Streams
Configuration
Input
Output
User Interface
Functions - Alphabetical List
QUARC Menu
QUARC Tab
QUARC Preferences Dialog
Default Model URI
Default Target URI
Default Target Type
Automatic Model Logging
Build Options
Restoring the Factory Defaults
Quanser Error Codes
Blocks
Blocks - By Category
What Each Block Reference Page Contains
Block Categories
Advanced
Asynchronous
Dynamic Reconfiguration
Timing
Communications
Basic
Intermediate
Advanced
Mavink
Multiwii
NEES
S.BUS
Serial Receiver
Continuous
Data Acquisition
Generic
Configuration
Immediate I/O
Buffered I/O
Timebases
Watchdog
Interrupts
Transformations
Devices
Quanser
Haptics
Pantographs
Haptic 3-DOF Planar Pantograph
Haptic 5-DOF Wand
Mobile Robots
QBot 2
Virtual Plants
Third-Party
CRS
Robots
A465
CAT5
Delcom
Visual Indicators
Denso
Robots
Denso VP6242F
Displays
FDT
Force Dimension
Haptic Interfaces
iRobot
Roomba
Applications
Interfacing
Kinova
Robots
JACO
4-DOF MICO
6-DOF MICO
KUKA
Robots
KUKA LBR FRI
KUKA RSI
Leap Motion
Mitsubishi
Robots
PA-10
NaturalPoint
OptiTrack
Nintendo
Controllers
NMEA
GPS
Novint
Peak System
Peak CAN Interfaces
PhoeniX Technologies Incorporated
Interface
Point Grey Research
Cameras
Schunk
Grippers
Sensable
Sensors
Sparkfun Electronics
Accelerometers
Ublox
GPS
Vicon
Vicon Blocks
VRPN
VRPN Blocks
Peripherals
Host
Force Feedback Game Controllers
Configuration
Constant Force Effects
Ramp Force Effects
Periodic Force Effects
Condition Force Effects
Target
Discontinuities
Discrete
Fieldbus
EtherCAT
Image Processing
Generic
Point Grey Research
Logic Operations
Logos
Math Operations
Homogeneous Transformations
Matrices
Quaternions
Vectors
Multimedia
Ports & Subsystems
Signal Routing
Sinks
Figures
To Host
Error Handling
Sources
Signals
Sigmoids
Time
Status
Strings
User Interface
Altia
Visualization
Standard I/O
Vehicles
Configuration
Basic
Blocks - Alphabetical List
Release Notes
Version 2024 SP1
Version 2024
Version 2023 SP3
Version 2023 SP2
Version 2023 SP1
Version 2023
Version 2022 SP1
Version 2022
Version 2021 SP1
Version 2021
Version 2020 SP2
Version 2020 SP1
Version 2020
Version 2019 SP1
Version 2019
Version 2018
Version 2.6
Version 2.5
Version 2.4
Version 2.3
Version 2.2
Version 2.1
Version 2.0
Version 1.3
Version 1.2
Version 1.1
License Information
Quanser Software License Agreement
Third-Party License Agreements
April Tag Detection
Bosch Sensortec Sensor Driver
Image Scaling Using Anti-Aliasing
Intel Integrated Performance Primitives
Intel RealSense 2 SDK
KUKA FRI Client License Agreement
LibJPEG-Turbo License
libusb License
LLVM Release
Autoconf
CellSPU Backend
Google Test
OpenBSD Regex
Open Source Computer Vision (OpenCV) Library
JasPer License Version 2.0
OpenEXR High-Dynamic Range (HDR) Image License
The Independent JPEG Group's JPEG Software
VRPN License Agreement
ZLib Data Compression Library
Gumstix-Related Licenses
Intel Aero Related Licenses
Cypress License
Snap7 License
Demos
Basic Features
Using Hardware
Communications
Continuous-Time
Dynamic Reconfiguration
Using Devices
User Interface
Integration with Simulink and its Toolboxes
QUARC MATLAB Functions
Web Resources