Skippity README 1.11
THIS PACKAGE
Within Skippity_1_11-full.zip are two zip files
Skippity_1_11.zip - the Java executable, user manual, this README and icons
for desktop shortcuts
Skippity_1_11-source.zip - the Skippity source code and Java documentation
The manual is also downloadable separately as Skippty-help.pdf
WHAT SKIPPITY IS FOR
Skippity is intended for configuring, and gathering data from, programmable
instruments in the laboratory and on the test bench, primarily in education,
physics and electronics experimentation, R&D and servicing, although other
uses are already emerging as we communicate with our public. This release can
support a very wide range of equipment largely independent of the instrument's
command language, and can capture both structured ASCII responses and raw binary
data. Skippity was not designed as an industrial or home automation controller,
but we intend that the next major release will include capabilities for closed
loop control, for example to allow dynamic adjustment of instruments.
RELEASE POLICY
We have a policy of updating only when essential and taking the time for
thorough research and testing, because to get the best out of a tool like
Skippity you are likely to need a stable product, a feature set with which you
are thoroughly familiar, and backward compatibility with your existing
experiment setups. Consequently, major releases are likely to be no more
frequent than around twice a year, and minor releases will be limited to bug
fixes unless there is exceptional need for a specific feature.
PLANNED ENHANCEMENTS
Here are our main envisaged enhancements to Skippity, listed in no particular
order. Please let us know your preferences and priorities for these to help us
plan our development programme. You can let us know on our Sourceforge Support
forum.
[1] Control loops: while, for_each, repeat
[2] Conditional tests: a range of numeric comparisons in addition to the
current text string comparisons
[3] Integer type conversion between real, ASCII decimal, ASCII hex
and ASCII binary to allow standardisation of response data for testing
and export
[4] Logical bit field tests on instrument responses such as status words
[5] Direct data transfers between variables and files
[6] String manipulation to extract wanted data elements from proprietary
instrument responses
[7] Arrays allowing e.g. statistical calculations on response data sets
[8] Basic mathematical and statistical capability to allow data refining and
control decisions based on instrument responses
[9] Stored macros to automate building of scripts from frequently used
functional elements
IMPORTANT
We are aiming to make Skippity upgrades an educational venture. The idea is
for students of software development with Java experience to undertake selected
upgrades, either as part of their college course work or independently.
Contributing in this way looks great on the CV.so interested students should
get in touch to discuss options.
WE WANT YOUR FEEDBACK
In addition to feature requests, please let us know on our Support forum of any
issues you encounter, and, importantly, we very much want to hear on our
Implementations forum about your use of Skippity - both about interesting
applications and instruments you have been able to control.
RELEASE HISTORY
1.11 2020-04-04
In previous versions, automatic closure of instruments occurred in arbitrary
order dictated by the Java method used. Skippity 1.11 corrects this behaviour,
enforcing a rational closure sequence.Previously, the sequence in which
instruments were automatically closed by the STOP statement, the stop option
of the Pause statement and script termination on non-system errors was
arbitrary and not predictable, being driven by the standard Java method used.
This could result in adverse consequences where power supplies were controlled
and their disengage strings included shut down or output disable commands.
Under such circumstances the power to a device under test might be turned off
while signals continued to be input, and some sensitive devices might suffer
damage from this.
For Skippity 1.11 we completely re-wrote the auto close method to eliminate
this problem. Now, auto closure triggered by STOP, PAUSE and non-system error
script termination is performed in the reverse order to that in which
instruments are opened in your script. You therefore now have complete control
over the auto closure sequence and can safely incorporate shut down or output
disable commands in the disengage string of any instrument definition,
including those for power supplies. The CLOSE statement can still be used to
override this sequence except in the case of script termination due to
non-system errors.
The manual has been revised to reflect V1.11 and the table of contents has been
simplified for clarity.
1.10 2019-05-20
Functional upgrades
Skippity 1.10 can capture arbitrary unterminated data as well as terminated data
as expected by standards such as SCPI, and can therefore read responses from a
much wider variety of instruments.
In order to accommodate this new functionality, existing instrument definitions
must be updated. Skippity 1.10 will normally do this automatically the first
time its run.
The timing mechanism of query commands has been improved. This means you now
have full control over script execution timings, which are predictable for
both control and query commands.
Weve improved response data garbage collection. Any data arriving after a query
command statement has timed out is discarded before the next query command
statement is executed, ensuring that data residue from previous responses cant
contaminate succeeding responses.
Mnemonics for the open and close round brackets have been added to the Skippity
reserved character set to allow them to be included conveniently in command
strings and user output.
Several minor bugs have been fixed.
This manual has been thoroughly revised, with corrections and clarifications
where necessary.
Release nomenclature changed from date code to Version Number starting from 1.10
2018-10-27
Updated user manual to include bookmarks for easier navigation.
The code is unchanged in this release
2018-10-15
First stable release