new styles controlbg and controlfont in
figurestyle and defaultstyle
type face and color with text in control figures
new input handlers, reading directly SQD files (incompatible with Sysquake before version 5.0)
new functions:
_v
value of SQ variables
progress
computation progress
sqfilepath
path of SQ file
subplotstyle
subplot style
tickformat
subplot tick format
new options 'plotmargin' and 'tickfont' in
figurestyle and defaultstyle
new option 'math' in plotoption to accept MathML or LaTeX in
title, label, legend and controls
support for Home and End keys in command window
new option /set in function scale
new watch handlers, called upon SQ variable change
Minor changes
support for integer formats in textfield
support for element <mspace/> in math
reduced minimum subplot size
multiple colors in button and pushbutton
no more background in exported EPS and PDF files
improved error message in handler declarations with illegal assignments,
such as assignments to indexed variables or structure fields
optional named id argument in text and math
Bug fixes
hgrid closed-loop magnitude circles fixed
variable loading and make circular dependency checking fixed
subplot position restoration with subplotsize fixed
textfield sometimes displayed corrupt data; fixed
a grid was always displayed when custom ticks were specified with ticks; fixed
support for non-ASCII characters in math with LaTeX notation
elements following beginlanguage/endlanguage
weren't always found; fixed
colormap in multiple subplots fixed
image with size(im,3) not equal to 1 or 3 was accepted
and displayed garbage; fixed
better compatibility of bounding box in exported EPS files
subplots in draw or mousedrag-related handlers could cause
unexpected errors or crashes; now the case is detected and an error is thrown
(see the documentation of subplots for more details)
after a mouse click, buttons without handler remained in the "pressed down" state;
fixed
Sysquake Application Builder
current amount of memory allocated to Sysquake saved to applications it creates
command-line option for batch conversion (-o app-path on Mac and GNU/Linux,
/o:app-path on Windows)
Windows
64-bit version
more modern GUI and graphics
in applications created by Sysquake Application Builder, menu Help>About
preserved even with userinterface noappmenus
in applications created by Sysquake Application Builder, option /console
to display output to the console (should be started from a Command Prompt window)
macOS
progress bar sometimes remained visible when it should not; fixed
GNU/Linux
slider and other controls could become unresponsive in SQ files with an idle handler;
fixed
terminate handler not called when a figure window is closed with menu or shortcut;
fixed
select the specified subplots in the current SQ file instance
use statement outside blocks of functions (same effect as inside)
_kz and _dz (mouse displacements as complex numbers)
line comments beginning with a single percent character are supported in SQ
files
stems style for 2D and 3D plots ('t')
scale pixel (fixed unit scale)
named argument id
named arguments as an alternative for options set with responseset,
fontset and dialog
alternative y axis for 2D plots with new function altscale (with
an alternative axis, the third argument passed to label is the label of
the alternative y axis)
image: support for uint16
line and line3 where the line is defined by a vector and a point
in SQ files, assignments in variable declarations for initial value or make
in the command window, typing the first characters of a command restrict the search
in the command history
more style options with plotset or named arguments
new zoom commands available in sqguicmd
scale synchronization between subplots
LaTeX equations in math
scale overview (separate subplot showing a larger area and the current scale with a gray
rectangle)
function sqcurrentlanguage can change the current language
arbitrary expressions in handler declarations
single value in _xdata for input and output to public handlers
Minor changes
cancel(false) in the mouseover handler prevents figure redrawing
rlocus with output argument to get list of branches
in handler declarations, mixing a parenthesis and a bracket around output
arguments is now flagged as an error (e.g. (a,b]=fun(c) isn't
allowed; (a,b)=fun(c) and [a,b]=fun(c) are)
the default scale is between -1 and 1; for infinitely thin objects
(isolated vertical or horizontal lines, points, or text), between -1 and
+1 around them (plot(2,3,'x') draws a cross at the center of the
figure)
default font size value returned by fontset is empty, because
the default value actually used is 10 for text and 12 for math
better error message upon SQ files loading
support for ISO Latin 1 characters in PDF files
when a circular dependence error is detected for make handlers, relevant
variables are listed
legends aren't displayed when there isn't enough room in the figure frame
drawnow with an input argument
on Mac OS X and in EPS, PDF and SVG files, frames and ticks are drawn with miter corners
and butt ends instead of round ones
color 'g' is changed from RGB [0,1,0] to [0,0.5,0]
(which corresponds to CSS color names)
multiple options in plotoption
improved Bode diagrams with linear scale for systems with an integrator
Bug fixes
with a style argument, polar failed silently; fixed
colors specified for area were reversed; fixed
area plot produced an _ix offset by 1; fixed
Shift along x axis of figures with equal scale didn't preserve the scale
along y axis; fixed
functions defined in SQ files can be called directly from the
command window, as in Sysquake 1
legend doesn't display anything anymore when the first argument
is the empty string
reloading SQ files sometimes resulted in corrupted instances or
to crashes; fixed
in free layout mode with a single unselected subplot, the figure was
selected in the Figure menu, which was misleading (selected an entry adds
a new figure without changing the first one); fixed
dinitial was delayed by one sample period; fixed
grids with solid thick line style were displayed with normal line width; fixed
grids with style 'K' were displayed with the default grid color;
fixed
lsim or dlsim with a transfer function with a numerator
and a denominator of the same degree didn't produce the correct value when the
input had a step at t=0; fixed
idle handler suspended when editing a textfield
contour with multiple styles fixed
Windows
Command history saved and restored across application launch, and menu
Edit>Clear Command History to clear it
applications created with Sysquake Application Builder couldn't be opened
successfully if their full path contained non-ascii characters; fixed
Reload didn't call the terminate handler; fixed
Mac OS X
when trying to run an SQ file from an editor window, no error message error
was displayed in case of error; fixed
maximum amount of memory increased from 1000 MB to 2047 MB
changing the manipulation mode with key 1-5 without the Command key didn't
update the toolbar; fixed
Sysquake Application Builder and the applications it creates are native
Intel applications (don't run anymore on Mac PowerPC)
terminate handlers were executed only upon application exit; now they're
executed when the window is closed
SQ and SQD files couldn't weren't recognized when dragged onto Sysquake
icons in the Finder; fixed
Maximum amount of memory in Preferences made larger (250 GB)
GNU/Linux
LME threads (threadnew etc.)
drawnow
new window icons
in Layout menu, wrong checkmarks were displayed in Free mode;
fixed
SQ files
everywhere: id passed as named argument
everywhere: not menu handler replaced by the tilde operator
charset conversion from ISO-Latin-1 or MacOSRoman (as specified
in a special comment in the first or second line of lml, sq or sqd files)
to UTF-8 on platforms which use Unicode
optional initial state for lsim and dlsim
optional range in responseset, used to specify the time
range for step, impulse, lsim,
initial, and their digital equivalents; and the frequency
range for nyquist, nichols, bodemagbodephase, sigma, and their digital equivalents
Minor changes
new style ' ' for invisible graphics
rlocus can draw the root locus of nonproper transfer
functions
in lsim, argument tOnly is replaced with
the more general option structure created by responseset
Delay field of options taken into account by
lsim
Bug fixes
_enable and _checkmark didn't work
correctly when there were variables which contained objects; fixed
contour with an empty third argument calculates default
values for the levels, as documented
dialog with too few output arguments threw error
"too many output arguments"; fixed
rlocus cropped branches too easily; improved
rlocus with branches having points at infinity weren't
displayed correctly; fixed
dlsim produced a shifted response when the time span
did not start at t=0; fixed
idle handler is suspended when the user clicks popupmenu
controls to avoid redraws and menu blinking
Windows
the window title is the SQ file title instead of the SQ file name,
and "Untitled" isn't displayed anymore when the state hasn't been
saved as an SQD file
in resize handler, _width and _height were
too large; fixed
Mac OS X
images weren't always copied or printed correctly; fixed
support for scroll wheels and scroll balls in figures
option to remove subplot margin (command plotoption nomargin
and menu Figure>Options>Margin)
new SQ file keyword userinterface
new resize handler (called when the figure window is resized) with new
standard variables _width and _height (also
supported as input by init handlers)
multiple "Settings" menus with beginmenu/endmenu
(for Sysquake only, not Sysquake LE)
new options for plotoption to place the legend in another corner,
and support for dragging legends to other corners
in mousedrag and mouseover handlers, frequency of Nyquist and Nichols diagrams
corresponding to the mouse position can be retrieved in _q
new function responseset to create an option argument to specify a
time delay in nyquist, nichols, bodephase,
step, and impulse; and to span negative frequencies in nyquist,
nichols, dnyquist, and dnichols
in keydown handlers, cursor keys are named 'left',
'right', 'up', 'down'
Interaction from other applications with OLE on Windows and XML-RPC
on Mac OS X and GNU/Linux, and SysquakeLink (Java package)
Minor changes
SQ files with missing endsubmenu are rejected
the Settings menu has been removed from the contextual menu
status messages set with _msg are truncated at
the first linefeed or carriage return character, if any
more labels in graphics
lsim and dlsim accept state-space
models without output (empty C and D)
style 'h(...)' supports abbreviated colors
with three hexadecimal digits in addition to 24-bit RGB colors
specified with six hexadecimal digits
line([a1,a2],b,style) with fill style ('f') fills the
area a1*x+a2*y<=b
Bug fixes
in zoom, zoom x and shift mode, buttons and menus weren't handled
correctly; fixed
SQ File Possible Error Warnings sometimes didn't evaluate
correctly the number of arguments declared in handlers; fixed
plot(x,[]) or plot([],y) threw an
incompatible size error; fixed (this can be useful when x
or y is a vector and the other argument can be an array
with an unknown number of rows which may be null)
with dB scale, coordinates and labels could collide; fixed
cancel couldn't be used in dragout
handlers; fixed
GNU/Linux
first release
Windows
improved preferences (dialog boxes, options to suppress the display of messages
written by extensions at startup, to disable extensions, to specify an additional
directory to load extensions from)
in Sysquake LE, Save and Save As didn't always work correctly; fixed
Mac OS X
universal application for Sysquake and Sysquake LE, separate versions
for PowerPC and Intel for Sysquake Application Builder and applications
it creates
dialog without text field always returned true;
fixed
in a few functions such as label and legend,
strings with unicode characters larger than 127 were truncated; fixed
memory leak when an SQ file instance window was closed; fixed
menu "Reload", "Reset Data", and "Dump Data"
weren't disabled for the Figure window; fixed
display format set with format is saved and restored
XML-RPC server to control Sysquake remotely (options are located in
Sysquake>Preferences>Extensions)
in Command window, colors for stderr and prompts (can be disabled
in Sysquake>Preferences>Graphics)
main figure window wasn't restored correctly after it had been closed;
fixed
bar or barh with logarithmic scale could
crash Sysquake; fixed
text editor unifies end-of-line character sequences (LF, CR or CRLF)
and has an option to change them in the Save dialog
Sysquake Application Builder
in Windows, the version of the SQ file has been moved to the About window
(like on Macintosh) and the menu "About SQ File" has been removed
SQ files
MPT.sq: labels
MPT.sq: boundary for higher risks (without short selling) wasn't always
correct; fixed
MPT.sq:
constant definitions for graphical object identifiers and other constants, use
of scalefactor, other minor code improvements
the sampling rate chosen by lsim is increased up to a factor 5
to match the input
support for a specific graphical object ID in dragin and dragout handler
declarations
Bug fixes
discrete-time time responses with symbols weren't displayed correctly
when the sample at t=0 wasn't visible; fixed
the end of embedded files (with keyword embeddedfile in SQ files)
encoded with base64 but not padded with = characters (i.e. whose encoded size was
a multiple of four characters) wasn't detected correctly; fixed
lookfor crashed when libraries were scanned; fixed
Windows
support for Firefox to display the online user manual
graphics with screen coordinates way outside the window were
extremely slow to redraw; fixed
Mac OS X
the figure window wasn't redisplayed correctly when it was resized; fixed
fopen with an empty path prevented Sysquake from executing
code; fixed
Sysquake Application Builder
in Windows, new menu View>Output Window
SQ files
RST_ct.sq, waves.sq, triangul.sq, triangle.sq, approx.sq:
constant definitions for graphical object identifiers and other constants
Sysquake 3.1.1
Windows
Sysquake could crash in demo mode (without registration key file);
fixed
Sysquake didn't always display the main window at startup; fixed
new keywords define and _auto in SQ files (constant definitions,
also visible in LME)
handlers for specific graphical object ID, to have multiple simple
handlers instead of large, complicated handlers with a big switch
statement
new keyword publichandler in SQ files (handlers which
can be called from another context in Sysquake, such as threads or other
SQ file instances), and new functions sqcall,
sqcurrentinstance, sqinstances, and
sqinstancetitle
textfield (new control for editing numerical values
in figures of sliders and buttons)
quiver
Minor changes
lsim accepts row vectors for u for all single-input
systems, including state-space
no more error message when a function is not defined after having loaded
an SQ file (this is not necessarily an error if a method is defined)
when a handler takes more than 0.5 second to execute, visual
feedback is displayed at the bottom of the window
in bar and barh, colors have been
reordered for aesthetics reasons
graphics functions used with output arguments, such as
nyquist or lsim, can now be used in any handler
lsim has an option to produce output only at the
specified time instants
new style '+' for graphics
phase in bodephase, bodephase, nichols,
and dnichols is unwrapped from an angle as close to -pi/2
as possible
line now accepts an empty second argument; nothing is
drawn (this permits to draw a set of vertical lines with line([1,0],X)
without testing whether X is empty)
Bug fixes
label(xstr, ystr) displayed ystr for both
x and y axis; fixed
popup menus weren't popped correctly unless they were in the last
figure (bottom right); fixed
in some cases, getting the next command in the history caused
an out-of-memory error or a crash; fixed
lsim gave an error for state-space systems of order
zero; fixed
lsim with a zero-order transfer function didn't give
the correct result; fixed
lsim didn't work correctly outside the specified range
of time (with an horizontal scale span larger than the time specified for
the input); fixed
sigma didn't balance correctly systems with multiple
inputs; fixed
bodemag, bodephase, dbodemag,
dbodephase, sigma, and dsigma with
a state-space model used only the first style; fixed
on some platforms, bodephase and nichols
with NaN arguments froze the application; fixed
on some platforms, NaN in graphics caused crashes; now NaN values are
skipped
in EPS files, the correct font metrics are used
init handlers of SQ files without any figure weren't executed; fixed
dnyquist didn't always produce a correct plot for
systems with an integrator; fixed
dlsim didn't produce the correct result when the first
coefficient of the denominator wasn't 1; fixed
zoom out wasn't always centered correctly; fixed
metric information of fonts in EPS files has been improved
rlocus could crash with numerators like [0,0];
fixed
plot skips inf values (in addition to nan) to avoid
crashes on platforms which don't support them
Sysquake Application Builder
new menu entry "Check Undefined Functions"
all functions of libraries weren't included in the generated application
when they weren't called in Sysquake Application Builder; fixed
Windows
tic and toc use the CPU time instead
of the real time to permit more meaningful timings (CPU time is the
sum of user time and kernel time, as reported by system function
GetProcessTime)
the command window wasn't created when Sysquake was opened by
double-clicking an SQ file; fixed
Hiding the Command window with the menu File/Close and showing
it again crashed; fixed
clc didn't exist in applications created by
Sysquake Application Builder (there is no output window); now it does
to support SQ files which use text output for debugging purposes
Sysquake Register didn't create the folder Calerga in ~/Library
when it didn't exist; fixed
applications created by Sysquake App Builder could open SQ
and SQD files; fixed
support for dash patterns
in addition to /Library/Calerga and ~/Library/Calerga, Sysquake
also searches SQ_Reg.key in the same folder as itself
new preference to load extensions specified separately
the service "Evaluate Expression" sometimes produced garbage
when the result had multiple lines; fixed
the executable inside Sysquake package can be run without GUI
(in a terminal, type something like
'/Application/Sysquake 3.1/Sysquake.app/Contents/MacOS/Sysquake'
--nococoa; argument --help given alone will display other
options)
image with zero-order interpolation of pixels displayed
misplaced pixels with white horizontal lines; fixed
drawnow wasn't implemented; fixed
on Mac OS 10.3 and later, extensions in save dialogs for .sq, .sqd,
.eps and .app files can be hidden
in command window, new toolbar button to toggle the history drawer
the search string is shared with other applications which support it
Sysquake Application Builder didn't save correctly to applications
which already existed (the result run correctly, but was too large); fixed
closing the window of an application created with Sysquake Application
Builder now terminates it
preference "Other" in "Extension folder" didn't work;
fixed
the cursor wasn't always updated correctly; fixed
selecting a submenu title could crash Sysquake; fixed
printing a figure now scales the figure to fit the page size, keeping
the window proportions
subplots didn't handle correctly names with non-ASCII
characters; fixed
the menu entry Window/Command Window wasn't updated correctly when
the command window was closed; fixed
SQ scripts weren't updated correctly with menu File/Reload
from the source code window; fixed
SQ files
PID_ct.sq, PID_dt.sq, RST_ct.sq, RST_dt.sq: all step and ramp responses
between reference (set point), input disturbance, or output disturbance;
and system input or output, are implemented
potential.sq: quiver plot
filter.sq: elliptic filters (all filters are now designed with the library
filter.lml)
triangul.sq: based on built-in LME functions delaunay
and voronoi, numerically better
triangul.sq: Voronoi regions are drawn correctly even far away from
the set of points
PID_ct.sq: the sign of kp cannot be changed anymore in the root locus
PID_dt.sq: controller coefficients in the dialog box take the sampling
period into account
PID_dt.sq: derivative action filtering using N is taken into account