rohdeschwarz
0.2.0
TCPIP socket library for Rohde & Schwarz instrument control
src
instruments
vna
preserve_data_format.cpp
Go to the documentation of this file.
1
7
// rohdeschwarz
8
#include "
rohdeschwarz/instruments/vna/preserve_data_format.hpp
"
9
using namespace
rohdeschwarz::instruments::vna
;
10
11
12
PreserveDataFormat::PreserveDataFormat
(
Vna
*znx) :
13
_dataFormat(znx->dataFormat())
14
{
15
_isBinary = !_dataFormat.
isAscii
();
16
_is64Bit = _dataFormat.
isBinary64Bit
();
17
_isBigEndian = _dataFormat.
isBigEndian
();
18
}
19
20
21
PreserveDataFormat::~PreserveDataFormat
()
22
{
23
if
(!_isBinary)
24
{
25
// ascii
26
_dataFormat.
setAscii
();
27
return
;
28
}
29
30
// binary
31
restoreBinaryBits();
32
restoreByteOrder();
33
}
34
35
36
void
PreserveDataFormat::restoreBinaryBits()
37
{
38
if
(_is64Bit)
39
{
40
// 64 bit
41
_dataFormat.
setBinary64Bit
();
42
return
;
43
}
44
45
// 32 bit
46
_dataFormat.
setBinary32Bit
();
47
}
48
49
50
void
PreserveDataFormat::restoreByteOrder()
51
{
52
if
(_isBigEndian)
53
{
54
// big endian
55
_dataFormat.
setBigEndian
();
56
return
;
57
}
58
59
// little endian
60
_dataFormat.
setLittleEndian
();
61
}
rohdeschwarz::instruments::vna::DataFormat::setBigEndian
void setBigEndian()
Sets the byte order for float data transfer to big-endian.
Definition:
data_format.cpp:64
rohdeschwarz::instruments::vna::DataFormat::setLittleEndian
void setLittleEndian()
Sets the byte order for float data transfer to little-endian.
Definition:
data_format.cpp:76
rohdeschwarz::instruments::vna::DataFormat::isAscii
bool isAscii()
Queries if data transfer format is ASCII.
Definition:
data_format.cpp:22
rohdeschwarz::instruments::vna::DataFormat::setAscii
void setAscii()
Sets data transfer format to ASCII.
Definition:
data_format.cpp:28
rohdeschwarz::instruments::vna::DataFormat::setBinary64Bit
void setBinary64Bit()
Sets data transfer format to 64-bit float.
Definition:
data_format.cpp:52
rohdeschwarz::instruments::vna::DataFormat::isBinary64Bit
bool isBinary64Bit()
Queries if data transfer format is 64-bit float.
Definition:
data_format.cpp:46
rohdeschwarz::instruments::vna::DataFormat::isBigEndian
bool isBigEndian()
Queries if the byte order for float data transfer is big-endian.
Definition:
data_format.cpp:58
rohdeschwarz::instruments::vna::DataFormat::setBinary32Bit
void setBinary32Bit()
Sets data transfer format to 32-bit float.
Definition:
data_format.cpp:40
rohdeschwarz::instruments::vna::PreserveDataFormat::~PreserveDataFormat
~PreserveDataFormat()
Destructor.
Definition:
preserve_data_format.cpp:21
rohdeschwarz::instruments::vna::PreserveDataFormat::PreserveDataFormat
PreserveDataFormat(Vna *vna)
Constructor.
Definition:
preserve_data_format.cpp:12
rohdeschwarz::instruments::vna::Vna
Object-oriented R&S ZNX-series VNA control.
Definition:
vna.hpp:34
rohdeschwarz::instruments::vna
Definition:
channel.hpp:16
preserve_data_format.hpp
rohdeschwarz::instruments::vna::PreserveDataFormat definition
Generated by
1.9.1