36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# StreamDevice
|
|
|
|
_StreamDevice_ is a generic [EPICS](https://epics.anl.gov/)
|
|
device support for devices with a "byte stream" based
|
|
communication interface.
|
|
That means devices that can be controlled by sending and receiving
|
|
strings (in the broadest sense, including non-printable characters
|
|
and even null-bytes).
|
|
Examples for this type of communication interface are
|
|
serial line (RS-232, RS-485, ...),
|
|
IEEE-488 (also known as GPIB or HP-IB), and telnet-like TCP/IP.
|
|
|
|
_StreamDevice_ is not limited to a specific device type or manufacturer
|
|
nor is it necessary to re-compile anything to support a new device type.
|
|
Instead, it can be configured for any device type with _protocol files_
|
|
in plain ASCII text which describes the commands a device understands
|
|
and the replies it sends.
|
|
|
|
For a full documentation see
|
|
https://paulscherrerinstitute.github.io/StreamDevice.
|
|
|
|
## Licensing
|
|
|
|
StreamDevice is free software: You can redistribute it and/or modify
|
|
it under the terms of the GNU Lesser General Public License as published
|
|
by the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
StreamDevice is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public License
|
|
along with StreamDevice. If not, see https://www.gnu.org/licenses/.
|