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
269f43d1
Commit
269f43d1
authored
Aug 10, 2010
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add new MTR type: "T10"
parent
21d51161
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
64 additions
and
0 deletions
+64
-0
mtrconv.cc
extensions/RTUExchange/mtrconv.cc
+9
-0
MTR.h
extensions/include/MTR.h
+49
-0
MTR.cc
extensions/lib/MTR.cc
+6
-0
No files found.
extensions/RTUExchange/mtrconv.cc
View file @
269f43d1
...
@@ -104,6 +104,15 @@ int main( int argc, const char **argv )
...
@@ -104,6 +104,15 @@ int main( int argc, const char **argv )
<<
":"
<<
setw
(
2
)
<<
t
.
sec
()
<<
"."
<<
setw
(
2
)
<<
t
.
ssec
()
<<
":"
<<
setw
(
2
)
<<
t
.
sec
()
<<
"."
<<
setw
(
2
)
<<
t
.
ssec
()
<<
endl
;
<<
endl
;
}
}
else
if
(
!
strcmp
(
type
,
"T10"
)
)
{
T10
t
(
v1
,
v2
);
cout
<<
"(T10): v1="
<<
t
.
raw
.
v
[
0
]
<<
" v2="
<<
t
.
raw
.
v
[
1
]
<<
" ===> "
<<
setfill
(
'0'
)
<<
dec
<<
setw
(
4
)
<<
t
.
year
()
<<
"/"
<<
setw
(
2
)
<<
t
.
mon
()
<<
"/"
<<
setw
(
2
)
<<
t
.
day
()
<<
endl
;
}
else
if
(
!
strcmp
(
type
,
"F1"
)
)
else
if
(
!
strcmp
(
type
,
"F1"
)
)
{
{
F1
f
(
v1
,
v2
);
F1
f
(
v1
,
v2
);
...
...
extensions/include/MTR.h
View file @
269f43d1
...
@@ -29,6 +29,7 @@ namespace MTR
...
@@ -29,6 +29,7 @@ namespace MTR
mtT7
,
mtT7
,
mtT8
,
mtT8
,
mtT9
,
mtT9
,
mtT10
,
mtT16
,
mtT16
,
mtT17
,
mtT17
,
mtF1
,
mtF1
,
...
@@ -465,6 +466,54 @@ namespace MTR
...
@@ -465,6 +466,54 @@ namespace MTR
T9mem
raw
;
T9mem
raw
;
};
};
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
class
T10
{
public
:
// ------------------------------------------
/*! тип хранения в памяти */
typedef
union
{
unsigned
short
v
[
u2size
];
struct
u_T10
{
unsigned
short
year
:
16
;
unsigned
short
mon
:
8
;
unsigned
short
day
:
8
;
}
__attribute__
(
(
packed
)
)
u2
;
}
T10mem
;
// ------------------------------------------
// конструкторы на разные случаи...
T10
(){
memset
(
raw
.
v
,
0
,
sizeof
(
raw
.
v
));
}
T10
(
unsigned
short
v1
,
unsigned
short
v2
)
{
raw
.
v
[
0
]
=
v1
;
raw
.
v
[
1
]
=
v2
;
}
T10
(
const
ModbusRTU
::
ModbusData
*
data
,
int
size
)
{
if
(
size
>=
u2size
)
{
for
(
int
i
=
0
;
i
<
u2size
;
i
++
)
raw
.
v
[
i
]
=
data
[
i
];
}
}
inline
unsigned
short
year
(){
return
raw
.
u2
.
year
;
}
inline
unsigned
short
mon
(){
return
raw
.
u2
.
mon
;
}
inline
unsigned
short
day
(){
return
raw
.
u2
.
day
;
}
~
T10
(){}
// ------------------------------------------
/*! размер в словах */
static
int
wsize
(){
return
u2size
;
}
/*! тип значения */
static
MTRType
type
(){
return
mtT10
;
}
// ------------------------------------------
T10mem
raw
;
};
// --------------------------------------------------------------------------
class
T16
class
T16
{
{
public
:
public
:
...
...
extensions/lib/MTR.cc
View file @
269f43d1
...
@@ -34,6 +34,8 @@ MTRType str2type( const std::string s )
...
@@ -34,6 +34,8 @@ MTRType str2type( const std::string s )
return
mtT8
;
return
mtT8
;
if
(
s
==
"T9"
)
if
(
s
==
"T9"
)
return
mtT9
;
return
mtT9
;
if
(
s
==
"T10"
)
return
mtT10
;
if
(
s
==
"T16"
)
if
(
s
==
"T16"
)
return
mtT16
;
return
mtT16
;
if
(
s
==
"T17"
)
if
(
s
==
"T17"
)
...
@@ -68,6 +70,8 @@ string type2str( MTRType t )
...
@@ -68,6 +70,8 @@ string type2str( MTRType t )
return
"T8"
;
return
"T8"
;
if
(
t
==
mtT9
)
if
(
t
==
mtT9
)
return
"T9"
;
return
"T9"
;
if
(
t
==
mtT10
)
return
"T10"
;
if
(
t
==
mtT16
)
if
(
t
==
mtT16
)
return
"T16"
;
return
"T16"
;
if
(
t
==
mtT17
)
if
(
t
==
mtT17
)
...
@@ -102,6 +106,8 @@ int wsize( MTRType t )
...
@@ -102,6 +106,8 @@ int wsize( MTRType t )
return
T8
::
wsize
();
return
T8
::
wsize
();
if
(
t
==
mtT9
)
if
(
t
==
mtT9
)
return
T9
::
wsize
();
return
T9
::
wsize
();
if
(
t
==
mtT10
)
return
T10
::
wsize
();
if
(
t
==
mtT16
)
if
(
t
==
mtT16
)
return
T16
::
wsize
();
return
T16
::
wsize
();
if
(
t
==
mtT17
)
if
(
t
==
mtT17
)
...
...
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