Skip to content
Snippets Groups Projects
Commit fe5429c6 authored by benjamin.franksen's avatar benjamin.franksen
Browse files

docs: started adding release notes for 2.2.0

parent d77276b0
No related branches found
No related tags found
No related merge requests found
......@@ -11,6 +11,7 @@ Users' Guide
Using
Reference
Examples
ReleaseNotes-2-2
ReleaseNotes-2-1
ReleaseNotes-2-0-and-older
KnownProblems
......
Release Notes for Version 2.2
=============================
.. _Release_Notes_2.2.0:
Release 2.2.0
-------------
PV Library
^^^^^^^^^^
The PV library has been almost completely eliminated. What remains is a
very think layer over CA, implemented in C, and offering only the
functionality that is actually needed by the sequencer. The API is similar
(but not identical) to the old C API; particularly, all the pvStat, pvSevr,
and pvType definitions are as before.
The documentation for the PV layer has been removed, too. The only remaining
user relevant part of the interface is contained in pvAlarm.h, see next
paragraph.
Built-in Constants
^^^^^^^^^^^^^^^^^^
All built-in constants are now known to *snc* and thus no longer give
"undefined variable" warnings. They are also documented in the reference.
The *snc*-generated C code for built-in constants now uses the name of the
constant, instead of its value. This makes the code a bit more readable and
slightly simplifies code generation.
Foreign Types and Type Casts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It is now possible to use foreign types (i.e. types declared in C code) in
variable declarations and in type casts. All types definable in C *except
function types* are supported. Note however, all uses of C *type aliases*
(defined in C with ``typedef``) always need to be prefixed with the new
keyword ``typename`` (which I borrowed from C++). Also note that type
*definitions* are still not supported in SNL. Type casts are now allowed
in expressions as in C and with the same precedence. The special sizeof
function is now supported and can be used with a value (expression) or a
type expression as in C.
The words ``enum``, ``struct``, ``typename``, and ``union`` are reserved
words and can no longer be used as identifiers.
In order to make it possible to ``%%#include`` type declarations (so they
appear in the generated C code but not in the code that SNL has to parse)
*and* use them in global variable declarations, the generated variable
block is now placed *after* escaped C code that appears before the first
state set. In previous versions, this was the other way around. Note that
this means that escaped C code that appears before the first state set
cannot access global variables declared in SNL, even if the reentrant
option is not in effect. Such C code should now be placed after the last
state set.
......@@ -26,6 +26,7 @@ download, build, and install the software.
Using
Reference
Examples
ReleaseNotes-2-2
ReleaseNotes-2-1
ReleaseNotes-2-0-and-older
KnownProblems
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment