Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
c0b9c0fd
Commit
c0b9c0fd
authored
Apr 06, 2014
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(VTypes): перенёс новые типы F2r,U2r,I2r из uniset
parent
d9634c7d
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
183 additions
and
18 deletions
+183
-18
MBExchange.cc
extensions/ModbusMaster/MBExchange.cc
+85
-13
MBSlave.cc
extensions/ModbusSlave/MBSlave.cc
+31
-1
VTypes.h
extensions/include/VTypes.h
+52
-1
VTypes.cc
extensions/lib/VTypes.cc
+15
-3
No files found.
extensions/ModbusMaster/MBExchange.cc
View file @
c0b9c0fd
...
@@ -713,6 +713,11 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty
...
@@ -713,6 +713,11 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty
VTypes
::
F2
f
(
data
,
VTypes
::
F2
::
wsize
());
VTypes
::
F2
f
(
data
,
VTypes
::
F2
::
wsize
());
IOBase
::
processingFasAI
(
p
,
(
float
)
f
,
shm
,
true
);
IOBase
::
processingFasAI
(
p
,
(
float
)
f
,
shm
,
true
);
}
}
else
if
(
p
->
vType
==
VTypes
::
vtF2r
)
{
VTypes
::
F2r
f
(
data
,
VTypes
::
F2r
::
wsize
());
IOBase
::
processingFasAI
(
p
,
(
float
)
f
,
shm
,
true
);
}
else
if
(
p
->
vType
==
VTypes
::
vtF4
)
else
if
(
p
->
vType
==
VTypes
::
vtF4
)
{
{
VTypes
::
F4
f
(
data
,
VTypes
::
F4
::
wsize
());
VTypes
::
F4
f
(
data
,
VTypes
::
F4
::
wsize
());
...
@@ -723,11 +728,21 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty
...
@@ -723,11 +728,21 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty
VTypes
::
I2
i2
(
data
,
VTypes
::
I2
::
wsize
());
VTypes
::
I2
i2
(
data
,
VTypes
::
I2
::
wsize
());
IOBase
::
processingAsAI
(
p
,
(
int
)
i2
,
shm
,
true
);
IOBase
::
processingAsAI
(
p
,
(
int
)
i2
,
shm
,
true
);
}
}
else
if
(
p
->
vType
==
VTypes
::
vtI2r
)
{
VTypes
::
I2r
i2
(
data
,
VTypes
::
I2
::
wsize
());
IOBase
::
processingAsAI
(
p
,
(
int
)
i2
,
shm
,
true
);
}
else
if
(
p
->
vType
==
VTypes
::
vtU2
)
else
if
(
p
->
vType
==
VTypes
::
vtU2
)
{
{
VTypes
::
U2
u2
(
data
,
VTypes
::
U2
::
wsize
());
VTypes
::
U2
u2
(
data
,
VTypes
::
U2
::
wsize
());
IOBase
::
processingAsAI
(
p
,
(
unsigned
int
)
u2
,
shm
,
true
);
IOBase
::
processingAsAI
(
p
,
(
unsigned
int
)
u2
,
shm
,
true
);
}
}
else
if
(
p
->
vType
==
VTypes
::
vtU2r
)
{
VTypes
::
U2r
u2
(
data
,
VTypes
::
U2
::
wsize
());
IOBase
::
processingAsAI
(
p
,
(
unsigned
int
)
u2
,
shm
,
true
);
}
return
true
;
return
true
;
}
}
...
@@ -1226,7 +1241,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1226,7 +1241,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
return
;
return
;
}
}
else
if
(
p
->
vType
==
VTypes
::
vtF2
)
else
if
(
p
->
vType
==
VTypes
::
vtF2
||
p
->
vType
==
VTypes
::
vtF2r
)
{
{
auto
i
=
p
->
reg
->
rit
;
auto
i
=
p
->
reg
->
rit
;
if
(
save
)
if
(
save
)
...
@@ -1234,9 +1249,18 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1234,9 +1249,18 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
if
(
r
->
mb_initOK
)
if
(
r
->
mb_initOK
)
{
{
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force_out
);
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force_out
);
if
(
p
->
vType
==
VTypes
::
vtF2
)
{
VTypes
::
F2
f2
(
f
);
VTypes
::
F2
f2
(
f
);
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
F2
::
wsize
();
k
++
,
i
++
)
for
(
int
k
=
0
;
k
<
VTypes
::
F2
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
f2
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
f2
.
raw
.
v
[
k
];
}
else
if
(
p
->
vType
==
VTypes
::
vtF2r
)
{
VTypes
::
F2r
f2
(
f
);
for
(
int
k
=
0
;
k
<
VTypes
::
F2r
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
f2
.
raw
.
v
[
k
];
}
r
->
sm_initOK
=
true
;
r
->
sm_initOK
=
true
;
}
}
...
@@ -1247,10 +1271,21 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1247,10 +1271,21 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
F2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
F2
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
VTypes
::
F2
f
(
data
,
VTypes
::
F2
::
wsize
());
float
f
=
0
;
if
(
p
->
vType
==
VTypes
::
vtF2
)
{
VTypes
::
F2
f1
(
data
,
VTypes
::
F2
::
wsize
());
f
=
(
float
)
f1
;
}
else
if
(
p
->
vType
==
VTypes
::
vtF2r
)
{
VTypes
::
F2r
f1
(
data
,
VTypes
::
F2r
::
wsize
());
f
=
(
float
)
f1
;
}
delete
[]
data
;
delete
[]
data
;
IOBase
::
processingFasAI
(
p
,
(
float
)
f
,
shm
,
force
);
IOBase
::
processingFasAI
(
p
,
f
,
shm
,
force
);
}
}
}
}
else
if
(
p
->
vType
==
VTypes
::
vtF4
)
else
if
(
p
->
vType
==
VTypes
::
vtF4
)
...
@@ -1278,7 +1313,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1278,7 +1313,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
IOBase
::
processingFasAI
(
p
,
(
float
)
f
,
shm
,
force
);
IOBase
::
processingFasAI
(
p
,
(
float
)
f
,
shm
,
force
);
}
}
}
}
else
if
(
p
->
vType
==
VTypes
::
vtI2
)
else
if
(
p
->
vType
==
VTypes
::
vtI2
||
p
->
vType
==
VTypes
::
vtI2r
)
{
{
auto
i
=
p
->
reg
->
rit
;
auto
i
=
p
->
reg
->
rit
;
if
(
save
)
if
(
save
)
...
@@ -1286,10 +1321,18 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1286,10 +1321,18 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
if
(
r
->
mb_initOK
)
if
(
r
->
mb_initOK
)
{
{
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force_out
);
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force_out
);
if
(
p
->
vType
==
VTypes
::
vtI2
)
{
VTypes
::
I2
i2
(
v
);
VTypes
::
I2
i2
(
v
);
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
for
(
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
i2
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
i2
.
raw
.
v
[
k
];
}
else
if
(
p
->
vType
==
VTypes
::
vtI2r
)
{
VTypes
::
I2r
i2
(
v
);
for
(
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
i2
.
raw
.
v
[
k
];
}
r
->
sm_initOK
=
true
;
r
->
sm_initOK
=
true
;
}
}
}
}
...
@@ -1299,13 +1342,23 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1299,13 +1342,23 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
int
v
=
0
;
if
(
p
->
vType
==
VTypes
::
vtI2
)
{
VTypes
::
I2
i2
(
data
,
VTypes
::
I2
::
wsize
());
VTypes
::
I2
i2
(
data
,
VTypes
::
I2
::
wsize
());
delete
[]
data
;
v
=
(
int
)
i2
;
}
else
if
(
p
->
vType
==
VTypes
::
vtI2r
)
{
VTypes
::
I2r
i2
(
data
,
VTypes
::
I2
::
wsize
());
v
=
(
int
)
i2
;
}
IOBase
::
processingAsAI
(
p
,
(
int
)
i2
,
shm
,
force
);
delete
[]
data
;
IOBase
::
processingAsAI
(
p
,
v
,
shm
,
force
);
}
}
}
}
else
if
(
p
->
vType
==
VTypes
::
vtU2
)
else
if
(
p
->
vType
==
VTypes
::
vtU2
||
p
->
vType
==
VTypes
::
vtU2r
)
{
{
auto
i
=
p
->
reg
->
rit
;
auto
i
=
p
->
reg
->
rit
;
if
(
save
)
if
(
save
)
...
@@ -1313,9 +1366,18 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1313,9 +1366,18 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
if
(
r
->
mb_initOK
)
if
(
r
->
mb_initOK
)
{
{
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force_out
);
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force_out
);
if
(
p
->
vType
==
VTypes
::
vtU2
)
{
VTypes
::
U2
u2
(
v
);
VTypes
::
U2
u2
(
v
);
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
for
(
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
u2
.
raw
.
v
[
k
];
}
else
if
(
p
->
vType
==
VTypes
::
vtU2r
)
{
VTypes
::
U2r
u2
(
v
);
for
(
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
u2
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
u2
.
raw
.
v
[
k
];
}
r
->
sm_initOK
=
true
;
r
->
sm_initOK
=
true
;
}
}
...
@@ -1326,10 +1388,20 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1326,10 +1388,20 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
unsigned
int
v
=
0
;
if
(
p
->
vType
==
VTypes
::
vtU2
)
{
VTypes
::
U2
u2
(
data
,
VTypes
::
U2
::
wsize
());
VTypes
::
U2
u2
(
data
,
VTypes
::
U2
::
wsize
());
delete
[]
data
;
v
=
(
unsigned
int
)
u2
;
}
else
if
(
p
->
vType
==
VTypes
::
vtU2r
)
{
VTypes
::
U2r
u2
(
data
,
VTypes
::
U2
::
wsize
());
v
=
(
unsigned
int
)
u2
;
}
IOBase
::
processingAsAI
(
p
,
(
unsigned
int
)
u2
,
shm
,
force
);
delete
[]
data
;
IOBase
::
processingAsAI
(
p
,
v
,
shm
,
force
);
}
}
}
}
...
...
extensions/ModbusSlave/MBSlave.cc
View file @
c0b9c0fd
...
@@ -1258,7 +1258,7 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
...
@@ -1258,7 +1258,7 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
{
{
val
=
IOBase
::
processingAsAO
(
p
,
shm
,
force
);
val
=
IOBase
::
processingAsAO
(
p
,
shm
,
force
);
}
}
if
(
p
->
vtype
==
VTypes
::
vtF2
)
else
if
(
p
->
vtype
==
VTypes
::
vtF2
)
{
{
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force
);
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force
);
VTypes
::
F2
f2
(
f
);
VTypes
::
F2
f2
(
f
);
...
@@ -1268,6 +1268,16 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
...
@@ -1268,6 +1268,16 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
// if( p->wnum >=0 && p->wnum < f4.wsize()
// if( p->wnum >=0 && p->wnum < f4.wsize()
val
=
f2
.
raw
.
v
[
p
->
wnum
];
val
=
f2
.
raw
.
v
[
p
->
wnum
];
}
}
else
if
(
p
->
vtype
==
VTypes
::
vtF2r
)
{
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force
);
VTypes
::
F2r
f2
(
f
);
// оптимизируем и проверку не делаем
// считая, что при "загрузке" всё было правильно
// инициализировано
// if( p->wnum >=0 && p->wnum < f4.wsize()
val
=
f2
.
raw
.
v
[
p
->
wnum
];
}
else
if
(
p
->
vtype
==
VTypes
::
vtF4
)
else
if
(
p
->
vtype
==
VTypes
::
vtF4
)
{
{
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force
);
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force
);
...
@@ -1288,6 +1298,16 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
...
@@ -1288,6 +1298,16 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
// if( p->wnum >=0 && p->wnum < i2.wsize()
// if( p->wnum >=0 && p->wnum < i2.wsize()
val
=
i2
.
raw
.
v
[
p
->
wnum
];
val
=
i2
.
raw
.
v
[
p
->
wnum
];
}
}
else
if
(
p
->
vtype
==
VTypes
::
vtI2r
)
{
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force
);
VTypes
::
I2r
i2
(
v
);
// оптимизируем и проверку не делаем
// считая, что при "загрузке" всё было правильно
// инициализировано
// if( p->wnum >=0 && p->wnum < i2.wsize()
val
=
i2
.
raw
.
v
[
p
->
wnum
];
}
else
if
(
p
->
vtype
==
VTypes
::
vtU2
)
else
if
(
p
->
vtype
==
VTypes
::
vtU2
)
{
{
unsigned
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force
);
unsigned
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force
);
...
@@ -1298,6 +1318,16 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
...
@@ -1298,6 +1318,16 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
// if( p->wnum >=0 && p->wnum < u2.wsize()
// if( p->wnum >=0 && p->wnum < u2.wsize()
val
=
u2
.
raw
.
v
[
p
->
wnum
];
val
=
u2
.
raw
.
v
[
p
->
wnum
];
}
}
else
if
(
p
->
vtype
==
VTypes
::
vtU2r
)
{
unsigned
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force
);
VTypes
::
U2r
u2
(
v
);
// оптимизируем и проверку не делаем
// считая, что при "загрузке" всё было правильно
// инициализировано
// if( p->wnum >=0 && p->wnum < u2.wsize()
val
=
u2
.
raw
.
v
[
p
->
wnum
];
}
else
else
val
=
IOBase
::
processingAsAO
(
p
,
shm
,
force
);
val
=
IOBase
::
processingAsAO
(
p
,
shm
,
force
);
}
}
...
...
extensions/include/VTypes.h
View file @
c0b9c0fd
...
@@ -16,12 +16,15 @@ namespace VTypes
...
@@ -16,12 +16,15 @@ namespace VTypes
{
{
vtUnknown
,
vtUnknown
,
vtF2
,
/*!< двойное слово float(4 байта). В виде строки задаётся как \b "F2". */
vtF2
,
/*!< двойное слово float(4 байта). В виде строки задаётся как \b "F2". */
vtF2r
,
/*!< двойное слово float(4 байта). С перевёрнутой (reverse) последовательностью слов. \b "F2r". */
vtF4
,
/*!< 8-х байтовое слово (double). В виде строки задаётся как \b "F4". */
vtF4
,
/*!< 8-х байтовое слово (double). В виде строки задаётся как \b "F4". */
vtByte
,
/*!< байт. В виде строки задаётся как \b "byte". */
vtByte
,
/*!< байт. В виде строки задаётся как \b "byte". */
vtUnsigned
,
/*!< беззнаковое целое (2 байта). В виде строки задаётся как \b "unsigned". */
vtUnsigned
,
/*!< беззнаковое целое (2 байта). В виде строки задаётся как \b "unsigned". */
vtSigned
,
/*!< знаковое целое (2 байта). В виде строки задаётся как \b "signed". */
vtSigned
,
/*!< знаковое целое (2 байта). В виде строки задаётся как \b "signed". */
vtI2
,
/*!< целое (4 байта). В виде строки задаётся как \b "I2".*/
vtI2
,
/*!< целое (4 байта). В виде строки задаётся как \b "I2".*/
vtU2
/*!< беззнаковое целое (4 байта). В виде строки задаётся как \b "U2".*/
vtI2r
,
/*!< целое (4 байта). С перевёрнутой (reverse) последовательностью слов. В виде строки задаётся как \b "I2r".*/
vtU2
,
/*!< беззнаковое целое (4 байта). В виде строки задаётся как \b "U2".*/
vtU2r
/*!< беззнаковое целое (4 байта). С перевёрнутой (reverse) последовательностью слов. В виде строки задаётся как \b "U2r".*/
};
};
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
VType
&
vt
);
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
VType
&
vt
);
...
@@ -67,6 +70,24 @@ namespace VTypes
...
@@ -67,6 +70,24 @@ namespace VTypes
F2mem
raw
;
F2mem
raw
;
};
};
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
class
F2r
:
public
F2
{
public
:
// ------------------------------------------
// конструкторы на разные случаи...
F2r
(){}
F2r
(
float
f
)
:
F2
(
f
){}
F2r
(
const
ModbusRTU
::
ModbusData
*
data
,
int
size
)
:
F2
(
data
,
size
)
{
std
::
swap
(
raw
.
v
[
0
],
raw
.
v
[
1
]);
}
~
F2r
(){}
};
// --------------------------------------------------------------------------
class
F4
class
F4
{
{
public
:
public
:
...
@@ -239,6 +260,21 @@ namespace VTypes
...
@@ -239,6 +260,21 @@ namespace VTypes
I2mem
raw
;
I2mem
raw
;
};
};
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
class
I2r
:
public
I2
{
public
:
I2r
(){}
I2r
(
int
v
)
:
I2
(
v
){}
I2r
(
const
ModbusRTU
::
ModbusData
*
data
,
int
size
)
:
I2
(
data
,
size
)
{
std
::
swap
(
raw
.
v
[
0
],
raw
.
v
[
1
]);
}
~
I2r
(){}
};
// --------------------------------------------------------------------------
class
U2
class
U2
{
{
public
:
public
:
...
@@ -274,6 +310,21 @@ namespace VTypes
...
@@ -274,6 +310,21 @@ namespace VTypes
U2mem
raw
;
U2mem
raw
;
};
};
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
class
U2r
:
public
U2
{
public
:
U2r
(){}
U2r
(
int
v
)
:
U2
(
v
){}
U2r
(
const
ModbusRTU
::
ModbusData
*
data
,
int
size
)
:
U2
(
data
,
size
)
{
std
::
swap
(
raw
.
v
[
0
],
raw
.
v
[
1
]);
}
~
U2r
(){}
};
// --------------------------------------------------------------------------
}
// end of namespace VTypes
}
// end of namespace VTypes
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
...
...
extensions/lib/VTypes.cc
View file @
c0b9c0fd
...
@@ -18,6 +18,8 @@ VType str2type( const std::string& s )
...
@@ -18,6 +18,8 @@ VType str2type( const std::string& s )
return
vtByte
;
return
vtByte
;
if
(
s
==
"F2"
||
s
==
"f2"
)
if
(
s
==
"F2"
||
s
==
"f2"
)
return
vtF2
;
return
vtF2
;
if
(
s
==
"F2r"
||
s
==
"f2r"
)
return
vtF2r
;
if
(
s
==
"F4"
||
s
==
"f4"
)
if
(
s
==
"F4"
||
s
==
"f4"
)
return
vtF4
;
return
vtF4
;
if
(
s
==
"Unsigned"
||
s
==
"unsigned"
)
if
(
s
==
"Unsigned"
||
s
==
"unsigned"
)
...
@@ -26,8 +28,12 @@ VType str2type( const std::string& s )
...
@@ -26,8 +28,12 @@ VType str2type( const std::string& s )
return
vtSigned
;
return
vtSigned
;
if
(
s
==
"I2"
||
s
==
"i2"
)
if
(
s
==
"I2"
||
s
==
"i2"
)
return
vtI2
;
return
vtI2
;
if
(
s
==
"I2r"
||
s
==
"i2r"
)
return
vtI2r
;
if
(
s
==
"U2"
||
s
==
"u2"
)
if
(
s
==
"U2"
||
s
==
"u2"
)
return
vtU2
;
return
vtU2
;
if
(
s
==
"U2r"
||
s
==
"u2r"
)
return
vtU2r
;
return
vtUnknown
;
return
vtUnknown
;
}
}
...
@@ -38,6 +44,8 @@ string type2str( VType t )
...
@@ -38,6 +44,8 @@ string type2str( VType t )
return
"Byte"
;
return
"Byte"
;
if
(
t
==
vtF2
)
if
(
t
==
vtF2
)
return
"F2"
;
return
"F2"
;
if
(
t
==
vtF2r
)
return
"F2r"
;
if
(
t
==
vtF4
)
if
(
t
==
vtF4
)
return
"F4"
;
return
"F4"
;
if
(
t
==
vtUnsigned
)
if
(
t
==
vtUnsigned
)
...
@@ -46,8 +54,12 @@ string type2str( VType t )
...
@@ -46,8 +54,12 @@ string type2str( VType t )
return
"Signed"
;
return
"Signed"
;
if
(
t
==
vtI2
)
if
(
t
==
vtI2
)
return
"I2"
;
return
"I2"
;
if
(
t
==
vtI2r
)
return
"I2r"
;
if
(
t
==
vtU2
)
if
(
t
==
vtU2
)
return
"U2"
;
return
"U2"
;
if
(
t
==
vtU2r
)
return
"U2r"
;
return
"vtUnknown"
;
return
"vtUnknown"
;
}
}
...
@@ -56,7 +68,7 @@ int wsize( VType t )
...
@@ -56,7 +68,7 @@ int wsize( VType t )
{
{
if
(
t
==
vtByte
)
if
(
t
==
vtByte
)
return
Byte
::
wsize
();
return
Byte
::
wsize
();
if
(
t
==
vtF2
)
if
(
t
==
vtF2
||
t
==
vtF2r
)
return
F2
::
wsize
();
return
F2
::
wsize
();
if
(
t
==
vtF4
)
if
(
t
==
vtF4
)
return
F4
::
wsize
();
return
F4
::
wsize
();
...
@@ -64,9 +76,9 @@ int wsize( VType t )
...
@@ -64,9 +76,9 @@ int wsize( VType t )
return
Unsigned
::
wsize
();
return
Unsigned
::
wsize
();
if
(
t
==
vtSigned
)
if
(
t
==
vtSigned
)
return
Signed
::
wsize
();
return
Signed
::
wsize
();
if
(
t
==
vtI2
)
if
(
t
==
vtI2
||
t
==
vtI2r
)
return
I2
::
wsize
();
return
I2
::
wsize
();
if
(
t
==
vtU2
)
if
(
t
==
vtU2
||
t
==
vtU2r
)
return
U2
::
wsize
();
return
U2
::
wsize
();
return
1
;
return
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment