Table of Contents > QUARC > Release Notes
QUARC 2.4
These release notes describe the new features and changes introduced in QUARC 2.4. They are divided into the sections enumerated below.
New Software Compatibility
QUARC 2.4 has introduced compatibility with the following third-party software.
Compatibility with MATLAB, Simulink, and Simulink Coder R2013a has been added.
Compatibility with MATLAB, Simulink, and Simulink Coder R2013b has been added.
Compatibility with MATLAB, Simulink, and Simulink Coder R2014a has been added.
New Features
The new features introduced in QUARC 2.4 are mentioned below.
Added support for accessing the Q8-PCI series and QPID series cards from 32-bit code under 64-bit Windows. This additional support means that 32-bit third party applications running under 64-bit Windows can now be interfaced to the Quanser Q8-PCI and QPID series cards.
Added support for low-level control of the PWM outputs of the QPID-series cards via the Other Output channels. The other outputs channels may now be used to control the exact timing of both the rising and falling edge of each PWM output within the PWM period.
Other output 0 controls the rising edge of PWM output 0. It is expressed as a fraction of the PWM period. For example, a value of 0.50 places the rising edge of PWM output 0 at 50% of the PWM period. Similarly, other output 1 controls the falling edge of PWM output 0. Subsequent pairs of other output channels control subsequent PWM outputs. The polarity of the PWM output will change depending on whether the rising edge is programmed to precede or follow the falling edge.
Improved Features
Some of the features improved in QUARC 2.4 are enumerated below. There a great many miscellaneous improvements that have not been listed. Only some of the highlights are listed below.
The Display Image block provides two new options: one that allows only the image to be displayed, with no tick marks or labels, and to another to resize the figure window to the original size of the image.
The performance of the Display Image block has also been substantially improved.
The FIFO Read block now supports variable-size signals.
The FIFO Write block now supports variable-size signals.
The Log Message block now supports variable-size signals for string and variable dimension format specifiers.
The Print block now supports variable-size signals for string and variable dimension format specifiers.
The Stream Client block now supports sending and receiving variable-size signals. To receive variable-size signals, it must receive the current signal dimensions from the peer, along with the signal value. When sending data, it is also capable of sending the current signal dimensions to the peer.
The Stream Formatted Write block now supports variable-size signals for string and variable dimension format specifiers.
The Stream Print block now supports variable-size signals for string and variable dimension format specifiers.
The Stream Read block now supports variable-size signals at its output. In this case, it must receive the current signal dimensions from the peer, along with the signal value. See the variable-size signal enhancements to the Stream Write for details.
The Stream Receive block now supports variable-size signals at its output. In this case, it must receive the current signal dimensions from the peer, along with the signal value. See the variable-size signal enhancements to the Stream Send for details.
The Stream Send block now supports variable-size signals at its input. In this case, it uses the current dimensions of the signal to determine the number of elements to transmit. The block also provides an option to send those signal dimensions along with the signal value.
The Stream Server block now supports sending and receiving variable-size signals. To receive variable-size signals, it must receive the current signal dimensions from the peer, along with the signal value. When sending data, it is also capable of sending the current signal dimensions to the peer.
The Stream Write block now supports variable-size signals at its input. In this case, it uses the current dimensions of the signal to determine the number of elements to transmit. The block also provides an option to send those signal dimensions along with the signal value.
The String Accumulate block now supports variable-size signals. The input and output strings may be variable-size.
The String Constant block now supports variable-size signals. The output string may be configured as a variable-size output signal.
The String Concatenate block now supports variable-size signals. The input strings and output string may be variable-size.
The String Concatenate block can now automatically compute the maximum string length of its output by specifying a maximum string length of zero.
The String Error block now supports variable-size signals. The output string may be variable-size.
The String Print block now supports variable-size signals for string or variable dimension format specifiers. The output string may also be variable-size.
The String Scan block now supports a variable-size signal for an input string. A bug has also been fixed which prevented it from handling non-whitespace characters correctly.
The String Select block now supports variable-size signals. The output string may be variable-size.
The String Select block can now automatically compute the maximum string length of its output by specifying a maximum string length of zero.
New Demonstrations
The QUARC demonstrations added in QUARC 2.4 are listed below.
Serial Demonstrations
The QUARC Serial Interfacing Binary Demo example shows how to send and receive binary data over a serial port.
The QUARC Serial Interfacing Text Demo example shows how to send and receive formatted text over a serial port. (The original Serial Interfacing Demo was renamed to make the purpose of the demonstration clearer).
Speech Demonstrations
The QUARC Host Speech Recognition Voice Commands Demo example uses the Host Speech Recognition block to recognize spoken voice commands that might be used to drive a mobile robot.
The QUARC Host Speech Recognition Kuka Robot Demo example uses the Host Speech Recognition block to control a Kuka robot animation. It demonstrates the block's ability to recognize arbitrary spoken numbers.
The QUARC Host Speech Synthesis Animation Demo example illustrates a simple facial animation using the viseme output of the Host Speech Synthesis block to generate speech. It animates a mouth in coordination with the words being spoken.
The QUARC Host Speech Synthesis Event-Driven Demo example illustrates use of the Host Speech Synthesis block to generate speech in response to events. It speaks every time a Manual Switch is moved and tells the user the new position of the switch as well as the simulation time at which the switch was moved.
The QUARC Host Speech Synthesis State-Driven Demo example illustrates use of the Host Speech Synthesis block to generate speech in response to state changes in a state machine. It reads the name of the current state whenever the state changes.
Variable-Size Signal Demonstrations
The QUARC Basic Communications variable-size signals Demo example illustrates the transmission and reception of variable-size signals using the Basic Communications blocks in QUARC. This functionality allows the amount of data sent or received by a block to vary dynamically.
The QUARC Intermediate Communications variable-size signals Demo example illustrates the transmission and reception of variable-size signals using the Intermediate Communications blocks in QUARC. This functionality allows the amount of data sent or received by a block to vary dynamically.
The QUARC Advanced Communications variable-size signals Demo - Blocking Mode example illustrates the transmission and reception of variable-size signals using the Advanced Communications blocks in QUARC. This functionality allows the amount of data sent or received by a block to vary dynamically. The ability of the FIFO blocks to handle variable-size signals is also demonstrated.
New Blocks
New blocks have been added to the QUARC Targets library in QUARC 2.4. The new blocks are listed below.
Host Blocks
The Host Speech Recognition block recognizes spoken commands on the host and outputs an identifier associated with the command. It can also handle numbers, characters and general dictation. The speech recognition is done on the host but like all Host blocks can work with remote targets, like the gumstix, as well.
The Host Speech Synthesis block synthesizes speech based on a formatted text string. It operates much like the C printf functions but speaks the resulting text. It can also notify the model of events that allow it to coordinate visualizations or control with the speech, including detection of phoneme, word and sentence boundaries as well as bookmarks and visemes. Visemes are particularly useful for coordinating speech with facial animations or robotics.
String Blocks
The String Subset block extracts a subset of characters from a string. It is useful in conjunction with the Host Speech Synthesis block for extracting the word or sentence currently being spoken.
Discrete Blocks
The Stall Monitor monitors whether a device has stalled. It is typically used to protect a device from overheating.
New Functions
New MATLAB functions have been added to the QUARC MATLAB functions in QUARC 2.4. The new functions are listed below.
Miscellaneous Functions
A new miscellaneous function allows formatted text to be spoken using synthesized speech.
The new stream_set_byte_order MATLAB function may be used to configure the byte order used by a communications stream for sending and receiving multi-byte data types. In many cases, it is more convenient than the stream_set_swap_bytes function.
The new qc_speak function speaks the given formatted text. It is similar to the C printf function except that it speaks the text instead of printing it.
Bug Fixes
Some of the bug fixes in QUARC 2.4 are enumerated below. This list is not complete. Only some of the highlights are listed below.
Fixed setting of the most-significant byte of the 24-bit setpoint programmed at watchdog expiration when using the closed-loop control features of the Q8-USB series cards. The analog output range settings are now taken into account as well when setting the watchdog expiration states for the analog outputs.
Fixed corruption of analog input measurements for the QPIDe card when analog inputs, encoder index positions and full quadrature encoder velocities were read simultaneously.
Fixed memory corruption in hil_write_buffer functions for QPID-series drivers. Also fixed handling of other output channels.
Fixed invalid task timing when samples_in_buffer = 1 for a HIL task when using the Q8-PCI-series and QPID-series cards. This bug fix affected the HIL Timebase blocks in Simulink and the hil_task functions in MATLAB, Java, C and .NET.
Fixed bug in serial protocol driver in which the serial port would fail to open or would open with incorrect options, if specific options were not specified on the serial URI. This bug only affected the client-side blocks and functions, like the Stream Client, Stream Call and Stream Connect blocks. This bug fix may resolve serial communications issues on all targets in which the serial port failed to open.
Copyright ©2024 Quanser Inc. This page was generated 2024-10-17. Submit feedback to Quanser about this page.
Link to this page.