Sysquake Release Notes
Sysquake 3.1.2
New features
- based on LME 4.5.1
- new style in plot to have arrows
- second output argument in scale
- multiple values in textfield
- option to remove subplot margin (command plotoption nomargin and menu Figure->Options->Margin)
- new SQ file keyword userinterface (userinterface noplotchoice removes or disables the Plots and Layout menus and prevents the user from moving subplots)
Minor changes
- 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
- 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
- support for scroll wheels and scroll balls in figures
Sysquake Application Builder
- in Windows, new menu View>Output Window
- 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
- 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
Sysquake 3.1
New features
See also release notes for extensions and libraries.
- based on LME 4.5
- 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 Application Builder ignored keydown handlers; fixed
- applications created by Sysquake Application Builder have copy, printing support, contextual menus, and menu Figure/Options/Legend
- SQ scripts weren't updated correctly with menu File/Reload from the source code window; fixed
- new "Maximize SQ File Windows" preference to maximize the window of SQ files when they're opened
- the maximized state of the main window is remembered
Mac OS X
- new entry for http://www.calerga.com in the Help menu
- memory preferences weren't restored correctly; fixed
- menu "Save As" for the command window
- 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
- Sysquake Application Builder didn't accept files whose name contained non-ASCII characters; 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
Sysquake 3.0.1
New features
- based on LME 4.4.1
Bug fixes
- When contour was the first graphical command in a figure (without scaling), nothing was displayed; fixed
Mac OS X
- In preferences, paths couldn't contain non-ASCII characters; fixed
Sysquake 3
New features
See also release notes for extensions and libraries.
- based on LME 4.4
- lsim, dlsim
- scalefactor
- options for dialog with dialogset
- support for fonts and text color in text with function fontset
- new preference to discard assert from intermediate compiled code
- popupmenu and pushbutton
- Sysquake Application Builder
Minor changes
- renamed Sysquake with a lower-case q
- special arguments like _id and _x1 can now be used in dragin and dragout handlers
- keydown handler accepts an optional single-character string to handle a specific key; several specific and a single generic keydown handlers can be declared
- image accepts images stored as arrays of class single
- plotroots calculates the eigenvalues of the companion matrix (much more robust than Laguerre algorithm); rlocus still uses the Laguerre algorithm, 10 times faster
- in slider, different colors are used for each thumb (previously, one color was used for all the thumbs of each slider)
- margins around subplots depend on the figure font
- the Delete key (in addition to the Backspace key) removes selected figures
- on Mac OS X, in the command window, Option-Return inserts a new line without evaluating the command (it's Shift-Return in previous versions and on other platforms)
- support for preformatted text in help {@...@} blocks, with <pre>/</pre> HTML tags
Bug fixes
- _nb was wrong for circle (2 less than the correct value); fixed
- in Free Layout mode, the Plots->Remove menu entry is disabled when no figure is selected (it had no effect)
- out-of-memory error when accumulating too many graphical data weren't reported correctly; fixed
Windows
- new interface with multiple documents and source editor (Sysquake LE also benefits from some improvements)
- quit to quit Sysquake
- help wasn't found for user extensions; fixed
- contextual menu in figure window might sometimes lead to a crash; fixed
Mac OS
- the default name for EPS files ends with ".eps" instead of ".epsf"
- new interface based on Cocoa instead of Carbon, with better integration with Mac OS X (source code editor, history drawer, better toolbar, expression evaluation and code execution available in the Services menu, single package)
- history is saved and restored across launches
SQ files
- gravity.sq: equipotential lines are adapted to the region displayed
- PID_dt.sq: the definition of ki and kd in the documentation didn't match the application; fixed (ki and kd are equivalent to their continuous-time counterpart, i.e. with a small-enough sample time, the behavior of the discrete-time PID controller will converge to the behavior of the continuous-time one with the same kp, ki and kd)
- PID_dt.sq: the dialog for menu "System (discrete-time model)" read "Coefficients of continuous-time system" instead of "Coefficients of discrete-time system"; fixed
- PID_dt.sq and RST_dt.sq: contrary to what was stated, it wasn't possible to discard the continuous-time model by specifying empty matrices in the dialog for menu "System (discrete-time model)"; fixed
- PID_dt.sq and RST_dt.sq: a checkmark is displayed for menu "Coefficients of continuous-time system" or "Coefficients of discrete-time system"
- PID_dt.sq: Bode phase and sensitivities have a default frequency range between 0 and pi/Ts
- id_p.sq: figure "Input"
- waves.sq: help
- filter.sq: Copy As Discrete-Time Filter
- PID_ct.sq, PID_dt.sq, RST_ct.sq, RST_dt.sq: Copy As Closed-Loop Y/R and Closed-Loop U/R
SysQuake 2.6.1
Minor changes
- import and export handler process 16-bit characters on platforms which support them
Bug fixes
- import and export handlers weren't always disabled correctly since LME 4; fixed
- loading large SQ files might lead to crashes; fixed
- out-of-memory errors for SQ data (variables etc.) could lead to an infinite number of attempts to allocate more memory; fixed
Windows
- options "SQ File Possible Warnings" and "Optimization" were saved under the same registry key; fixed
- new option "Ask When Closing"; when it is disabled, SQ files are closed silently even when they have been manipulated
SysQuake 2.6
New features
- based on LME 4.2.1
Bug fixes
- slider and button didn't produce any output when they were used in the command-line interface and didn't follow a text command; fixed
- button hasn't accepted logical values since 2.5; fixed
- on some platforms, Save As EPS crashed; fixed
- execution was interrupted after a dialog when the expression entered by the user contained errors; fixed
- on Windows, the picture produced by Copy was slightly larger than the bounding box; fixed
Mac OS
- Menu and figure titles which began with a hyphen were displayed as separators in menus; fixed
SysQuake 2.5
New features
See also release notes for extensions and libraries.
- based on LME 4.1
- support for uint8 and logical types in image
- new elements "title" and "version" in SQ files
- legend, legend/nolegend options for plotoption, and Legend entry in the Figure/Options submenu
Minor changes
- in the plot command, the style argument must be present when the identifier is specified (previously, the form "plot(x,y,id)" was accepted, but not documented)
- in SysQuake 2.3, SQ file errors weren't reported with enough details; improved
- some improvements in the command history (a new command being edited is remembered when hitting the up or down arrow key)
- more robust and detailed error reporting
- grid numbers aren't the absolute shortest ones (like style '%k' in fprintf), but have a tolerance of one character for deciding between fixed and scientific notation; for instance, 2000 is displayed as 2000, not as 2e3
Bug fixes and minor changes
- some problems in the logic to decode the arguments of graphical functions fixed
- empty subplots had the ellipsis which are displayed with text and sliders when there is more to see above or below; fixed
- handler declarations which referred to undefined functions weren't always reported; fixed
Windows
- menu entry "Go to www.Calerga.com" in the Help menu, and "User Manual" available also in demonstration mode
SQ files
- MPT.sq, triangul.sq: use of true() and false() instead of logical(ones()) and logical(zeros())
- minesweeper.sq: filled flags and flames
- gravity.sq: odeset used to set ode45 options
- title, version, and legend where it makes sense
- sampling.sq: the stability region wasn't painted in yellow in the discrete-time poles plot with bilinear method with prewarping; fixed
SysQuake 2.3
New features
See also release notes for extensions and libraries.
- based on LME 3.2
- optional argument for frequency in commands bodemag, bodephase, nyquist, nichols, sigma, and their discrete-time versions
- cancel(false) in the idle handler -> does not redraw
- step by step execution of handlers in debugging mode, which was never supported, has been explicitly removed; breakpoints in handlers (or their subfunctions) display a warning and dump the local variables
- block "embeddedfile" in SQ file, which can be opened with function "efopen"
- cross-figure drag&drop with handlers dragin and dragout
Minor changes
- settabs with a string argument which didn't end with a tabulator didn't produce the correct alignment; now a trailing tabulator is added if necessary
- improved memory management
Bug fixes
- impulse of a transfer function with an integrator sometimes didn't give the correct result; fixed
- graphics made from the command line weren't always displayed; fixed
- in the first call to the mousedrag handler after a click in a slider when a mousedown handler exists, the value of the slider was the maximum value; fixed
- getfile didn't handle correctly multiple mime types separated with semicolons; fixed
- when an error occured when fetching the special input argument for a handler, the next execution of any handler was sometimes disabled, or a hang occured when it was a mousedrag handler; fixed
Windows
- input from stdin reused the previous command (e.g. "fscanf('%d')" followed by 5 in the command line interface used input "fscanf('%d')\r\n5\r\n" instead of just "5\r\n"); fixed
- version resource
Mac OS
- commands like subplots couldn't be used in input handlers; fixed
SysQuake LE for Mac OS
- on Mac OS 10.2 and later, use the Lapack framework provided in the system
SQ files
- image.sq: use an embedded file, and functions imageread & imagewrite for image file support instead of TIFF
Previous versions
Release notes for previous versions are listed on a separate page.