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
e959c3a8
Commit
e959c3a8
authored
Oct 25, 2015
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Исправления ошибок по результатам компиляции с -Werror
parent
fe804c9f
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
145 additions
and
165 deletions
+145
-165
configure.ac
configure.ac
+1
-1
PostgreSQLInterface.cc
extensions/DBServer-PostgreSQL/PostgreSQLInterface.cc
+1
-1
main.cc
extensions/DBServer-SQLite/main.cc
+0
-5
Element.h
extensions/LogicProcessor/Element.h
+1
-1
TDelay.cc
extensions/LogicProcessor/TDelay.cc
+2
-2
TDelay.h
extensions/LogicProcessor/TDelay.h
+4
-4
TOR.cc
extensions/LogicProcessor/TOR.cc
+1
-1
lproc.cc
extensions/LogicProcessor/tests/lproc.cc
+0
-6
MBExchange.cc
extensions/ModbusMaster/MBExchange.cc
+9
-5
test_mbtcpmaster.cc
extensions/ModbusMaster/tests/test_mbtcpmaster.cc
+15
-14
smemory-plus.cc
extensions/SharedMemoryPlus/smemory-plus.cc
+0
-47
UDPPacket.h
extensions/UNetUDP/UDPPacket.h
+1
-1
UNetSender.cc
extensions/UNetUDP/UNetSender.cc
+3
-3
UNetSender.h
extensions/UNetUDP/UNetSender.h
+11
-11
UObject_SK.h
extensions/include/UObject_SK.h
+3
-3
IOBase.cc
extensions/lib/IOBase.cc
+3
-3
UObject_SK.cc
extensions/lib/UObject_SK.cc
+5
-2
ComPort.h
include/ComPort.h
+6
-5
ComPort485F.h
include/ComPort485F.h
+10
-10
ModbusClient.h
include/modbus/ModbusClient.h
+1
-1
ModbusRTUMaster.h
include/modbus/ModbusRTUMaster.h
+1
-1
ModbusTCPCore.h
include/modbus/ModbusTCPCore.h
+3
-3
ModbusTCPMaster.h
include/modbus/ModbusTCPMaster.h
+1
-1
ModbusTypes.h
include/modbus/ModbusTypes.h
+1
-1
Makefile.am
python/lib/pyUniSet/Makefile.am
+4
-2
UModbus.cc
python/lib/pyUniSet/UModbus.cc
+15
-7
ComPort.cc
src/Communications/ComPort.cc
+5
-5
ComPort485F.cc
src/Communications/ComPort485F.cc
+3
-3
ModbusClient.cc
src/Communications/Modbus/ModbusClient.cc
+3
-3
ModbusRTUMaster.cc
src/Communications/Modbus/ModbusRTUMaster.cc
+1
-1
ModbusServer.cc
src/Communications/Modbus/ModbusServer.cc
+1
-1
ModbusTCPCore.cc
src/Communications/Modbus/ModbusTCPCore.cc
+6
-6
ModbusTCPMaster.cc
src/Communications/Modbus/ModbusTCPMaster.cc
+1
-1
ModbusTypes.cc
src/Communications/Modbus/ModbusTypes.cc
+1
-1
RunLock.cc
src/Various/RunLock.cc
+1
-0
SMonitor.cc
src/Various/SMonitor.cc
+5
-1
WDTInterface.cc
src/Various/WDTInterface.cc
+16
-2
No files found.
configure.ac
View file @
e959c3a8
...
@@ -275,7 +275,7 @@ AM_CONDITIONAL(HAVE_COVERAGE, test ${buildgcov} = true)
...
@@ -275,7 +275,7 @@ AM_CONDITIONAL(HAVE_COVERAGE, test ${buildgcov} = true)
AM_CONDITIONAL(HAVE_TESTS, test ${buildtests} = true)
AM_CONDITIONAL(HAVE_TESTS, test ${buildtests} = true)
# -Weffc++
# -Weffc++
CXX_EXTRA_FLAGS="-Wnon-virtual-dtor -Wctor-dtor-privacy -Woverloaded-virtual"
CXX_EXTRA_FLAGS="-Wnon-virtual-dtor -Wctor-dtor-privacy -Woverloaded-virtual
-Werror
"
# export
# export
LDFLAGS="$LDFLAGS ${OMNI_LIBS} ${XML_LIBS} ${SIGC_LIBS} ${COV_LIBS} ${COMCPP_LIBS}"
LDFLAGS="$LDFLAGS ${OMNI_LIBS} ${XML_LIBS} ${SIGC_LIBS} ${COV_LIBS} ${COMCPP_LIBS}"
...
...
extensions/DBServer-PostgreSQL/PostgreSQLInterface.cc
View file @
e959c3a8
...
@@ -207,7 +207,7 @@ PostgreSQLResult::PostgreSQLResult( const pqxx::result& res )
...
@@ -207,7 +207,7 @@ PostgreSQLResult::PostgreSQLResult( const pqxx::result& res )
{
{
COL
col
;
COL
col
;
for
(
in
t
i
=
0
;
i
<
c
.
size
();
i
++
)
for
(
size_
t
i
=
0
;
i
<
c
.
size
();
i
++
)
col
.
push_back
(
c
[
i
].
as
<
string
>
()
);
col
.
push_back
(
c
[
i
].
as
<
string
>
()
);
row
.
push_back
(
col
);
row
.
push_back
(
col
);
...
...
extensions/DBServer-SQLite/main.cc
View file @
e959c3a8
...
@@ -6,11 +6,6 @@
...
@@ -6,11 +6,6 @@
using
namespace
UniSetTypes
;
using
namespace
UniSetTypes
;
using
namespace
std
;
using
namespace
std
;
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
static
void
short_usage
()
{
cout
<<
"Usage: uniset-mysql-dbserver [--name ObjectId] [--confile configure.xml]
\n
"
;
}
// --------------------------------------------------------------------------
int
main
(
int
argc
,
char
**
argv
)
int
main
(
int
argc
,
char
**
argv
)
{
{
// std::ios::sync_with_stdio(false);
// std::ios::sync_with_stdio(false);
...
...
extensions/LogicProcessor/Element.h
View file @
e959c3a8
...
@@ -124,7 +124,7 @@ class TOR:
...
@@ -124,7 +124,7 @@ class TOR:
{
{
public
:
public
:
TOR
(
ElementID
id
,
int
numbers
=
0
,
bool
st
=
false
);
TOR
(
ElementID
id
,
unsigned
int
numbers
=
0
,
bool
st
=
false
);
virtual
~
TOR
();
virtual
~
TOR
();
virtual
void
setIn
(
int
num
,
bool
state
)
override
;
virtual
void
setIn
(
int
num
,
bool
state
)
override
;
...
...
extensions/LogicProcessor/TDelay.cc
View file @
e959c3a8
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
using
namespace
std
;
using
namespace
std
;
using
namespace
UniSetExtensions
;
using
namespace
UniSetExtensions
;
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
TDelay
::
TDelay
(
Element
::
ElementID
id
,
int
delayMS
,
int
inCount
)
:
TDelay
::
TDelay
(
Element
::
ElementID
id
,
timeout_t
delayMS
,
unsigned
int
inCount
)
:
Element
(
id
),
Element
(
id
),
myout
(
false
),
myout
(
false
),
delay
(
delayMS
)
delay
(
delayMS
)
...
@@ -78,7 +78,7 @@ bool TDelay::getOut()
...
@@ -78,7 +78,7 @@ bool TDelay::getOut()
return
myout
;
return
myout
;
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
void
TDelay
::
setDelay
(
in
t
timeMS
)
void
TDelay
::
setDelay
(
timeout_
t
timeMS
)
{
{
delay
=
timeMS
;
delay
=
timeMS
;
}
}
...
...
extensions/LogicProcessor/TDelay.h
View file @
e959c3a8
...
@@ -11,7 +11,7 @@ class TDelay:
...
@@ -11,7 +11,7 @@ class TDelay:
{
{
public
:
public
:
TDelay
(
Element
::
ElementID
id
,
int
delayMS
=
0
,
int
inCount
=
0
);
TDelay
(
Element
::
ElementID
id
,
timeout_t
delayMS
=
0
,
unsigned
int
inCount
=
0
);
virtual
~
TDelay
();
virtual
~
TDelay
();
...
@@ -23,8 +23,8 @@ class TDelay:
...
@@ -23,8 +23,8 @@ class TDelay:
return
"Delay"
;
return
"Delay"
;
}
}
void
setDelay
(
in
t
timeMS
);
void
setDelay
(
timeout_
t
timeMS
);
inline
in
t
getDelay
()
inline
timeout_
t
getDelay
()
{
{
return
delay
;
return
delay
;
}
}
...
@@ -34,7 +34,7 @@ class TDelay:
...
@@ -34,7 +34,7 @@ class TDelay:
bool
myout
;
bool
myout
;
PassiveTimer
pt
;
PassiveTimer
pt
;
in
t
delay
;
timeout_
t
delay
;
private
:
private
:
};
};
...
...
extensions/LogicProcessor/TOR.cc
View file @
e959c3a8
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
using
namespace
std
;
using
namespace
std
;
using
namespace
UniSetExtensions
;
using
namespace
UniSetExtensions
;
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
TOR
::
TOR
(
ElementID
id
,
int
num
,
bool
st
)
:
TOR
::
TOR
(
ElementID
id
,
unsigned
int
num
,
bool
st
)
:
Element
(
id
),
Element
(
id
),
myout
(
false
)
myout
(
false
)
{
{
...
...
extensions/LogicProcessor/tests/lproc.cc
View file @
e959c3a8
...
@@ -139,12 +139,6 @@ TEST_CASE("Logic processor: elements", "[LogicProcessor][elements]")
...
@@ -139,12 +139,6 @@ TEST_CASE("Logic processor: elements", "[LogicProcessor][elements]")
e
.
setDelay
(
0
);
e
.
setDelay
(
0
);
e
.
setIn
(
1
,
true
);
e
.
setIn
(
1
,
true
);
CHECK
(
e
.
getOut
()
);
CHECK
(
e
.
getOut
()
);
// delay < 0 === 0
e
.
setIn
(
1
,
false
);
e
.
setDelay
(
-
10
);
e
.
setIn
(
1
,
true
);
CHECK
(
e
.
getOut
()
);
}
}
}
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
...
...
extensions/ModbusMaster/MBExchange.cc
View file @
e959c3a8
...
@@ -1052,8 +1052,8 @@ bool MBExchange::pollRTU( std::shared_ptr<RTUDevice>& dev, RegMap::iterator& it
...
@@ -1052,8 +1052,8 @@ bool MBExchange::pollRTU( std::shared_ptr<RTUDevice>& dev, RegMap::iterator& it
return
true
;
return
true
;
}
}
//
cerr << "**** mbreg=" << ModbusRTU::dat2str(p->mbreg) << " val=" << ModbusRTU::dat2str(p->mbval) << endl;
//
игнорируем return т.к. в случае ошибки будет исключение..
ModbusRTU
::
WriteSingleOutputRetMessage
ret
=
mb
->
write06
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
mbval
);
(
void
)
mb
->
write06
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
mbval
);
}
}
break
;
break
;
...
@@ -1081,7 +1081,9 @@ bool MBExchange::pollRTU( std::shared_ptr<RTUDevice>& dev, RegMap::iterator& it
...
@@ -1081,7 +1081,9 @@ bool MBExchange::pollRTU( std::shared_ptr<RTUDevice>& dev, RegMap::iterator& it
msg
.
addData
(
it
->
second
->
mbval
);
msg
.
addData
(
it
->
second
->
mbval
);
it
--
;
it
--
;
ModbusRTU
::
WriteOutputRetMessage
ret
=
mb
->
write10
(
msg
);
// игнорируем return т.к. в случае ошибки будет исключение..
(
void
)
mb
->
write10
(
msg
);
}
}
break
;
break
;
...
@@ -1101,7 +1103,8 @@ bool MBExchange::pollRTU( std::shared_ptr<RTUDevice>& dev, RegMap::iterator& it
...
@@ -1101,7 +1103,8 @@ bool MBExchange::pollRTU( std::shared_ptr<RTUDevice>& dev, RegMap::iterator& it
return
true
;
return
true
;
}
}
ModbusRTU
::
ForceSingleCoilRetMessage
ret
=
mb
->
write05
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
mbval
);
// игнорируем return т.к. в случае ошибки будет исключение..
(
void
)
mb
->
write05
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
mbval
);
}
}
break
;
break
;
...
@@ -1120,7 +1123,8 @@ bool MBExchange::pollRTU( std::shared_ptr<RTUDevice>& dev, RegMap::iterator& it
...
@@ -1120,7 +1123,8 @@ bool MBExchange::pollRTU( std::shared_ptr<RTUDevice>& dev, RegMap::iterator& it
msg
.
addBit
(
(
it
->
second
->
mbval
?
true
:
false
)
);
msg
.
addBit
(
(
it
->
second
->
mbval
?
true
:
false
)
);
it
--
;
it
--
;
ModbusRTU
::
ForceCoilsRetMessage
ret
=
mb
->
write0F
(
msg
);
// игнорируем return т.к. в случае ошибки будет исключение..
(
void
)
mb
->
write0F
(
msg
);
}
}
break
;
break
;
...
...
extensions/ModbusMaster/tests/test_mbtcpmaster.cc
View file @
e959c3a8
...
@@ -83,20 +83,6 @@ static void InitTest()
...
@@ -83,20 +83,6 @@ static void InitTest()
}
}
}
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
static
bool
init_iobase
(
IOBase
*
ib
,
const
std
::
string
&
sensor
)
{
InitTest
();
auto
conf
=
uniset_conf
();
xmlNode
*
snode
=
conf
->
getXMLObjectNode
(
conf
->
getSensorID
(
sensor
)
);
CHECK
(
snode
!=
0
);
UniXML
::
iterator
it
(
snode
);
smi
->
initIterator
(
ib
->
d_it
);
smi
->
initIterator
(
ib
->
ioit
);
smi
->
initIterator
(
ib
->
t_ait
);
return
IOBase
::
initItem
(
ib
,
it
,
smi
,
""
,
false
);
}
// -----------------------------------------------------------------------------
TEST_CASE
(
"MBTCPMaster: 0x01 (read coil status)"
,
"[modbus][0x01][mbmaster][mbtcpmaster]"
)
TEST_CASE
(
"MBTCPMaster: 0x01 (read coil status)"
,
"[modbus][0x01][mbmaster][mbtcpmaster]"
)
{
{
InitTest
();
InitTest
();
...
@@ -602,6 +588,21 @@ TEST_CASE("MBTCPMaster: 0x66 (file transfer)", "[modbus][0x66][mbmaster][mbtcpma
...
@@ -602,6 +588,21 @@ TEST_CASE("MBTCPMaster: 0x66 (file transfer)", "[modbus][0x66][mbmaster][mbtcpma
}
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
#if 0
#if 0
// -----------------------------------------------------------------------------
static bool init_iobase( IOBase* ib, const std::string& sensor )
{
InitTest();
auto conf = uniset_conf();
xmlNode* snode = conf->getXMLObjectNode( conf->getSensorID(sensor) );
CHECK( snode != 0 );
UniXML::iterator it(snode);
smi->initIterator(ib->d_it);
smi->initIterator(ib->ioit);
smi->initIterator(ib->t_ait);
return IOBase::initItem(ib, it, smi, "", false);
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x10 (F2)", "[modbus][0x10][F2][mbmaster][mbtcpmaster]")
TEST_CASE("MBTCPMaster: 0x10 (F2)", "[modbus][0x10][F2][mbmaster][mbtcpmaster]")
{
{
InitTest();
InitTest();
...
...
extensions/SharedMemoryPlus/smemory-plus.cc
View file @
e959c3a8
...
@@ -28,7 +28,6 @@ using namespace UniSetExtensions;
...
@@ -28,7 +28,6 @@ using namespace UniSetExtensions;
const
unsigned
int
MaxAddNum
=
10
;
const
unsigned
int
MaxAddNum
=
10
;
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
static
void
help_print
(
int
argc
,
const
char
*
argv
[]
);
static
void
help_print
(
int
argc
,
const
char
*
argv
[]
);
static
std
::
shared_ptr
<
LogServer
>
run_logserver
(
const
std
::
string
&
cnamem
,
std
::
shared_ptr
<
LogAgregator
>&
log
);
#ifdef UNISET_ENABLE_IO
#ifdef UNISET_ENABLE_IO
std
::
list
<
ThreadCreator
<
IOControl
>*
>
lst_iothr
;
std
::
list
<
ThreadCreator
<
IOControl
>*
>
lst_iothr
;
#endif
#endif
...
@@ -295,49 +294,3 @@ void help_print( int argc, const char* argv[] )
...
@@ -295,49 +294,3 @@ void help_print( int argc, const char* argv[] )
cout
<<
"--logfile - Use logfile. Default: smemory-plus.log"
<<
endl
;
cout
<<
"--logfile - Use logfile. Default: smemory-plus.log"
<<
endl
;
}
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
std
::
shared_ptr
<
LogServer
>
run_logserver
(
const
std
::
string
&
cname
,
std
::
shared_ptr
<
LogAgregator
>&
log
)
{
auto
conf
=
uniset_conf
();
auto
xml
=
conf
->
getConfXML
();
xmlNode
*
cnode
=
conf
->
findNode
(
xml
->
getFirstNode
(),
"LogServer"
,
cname
);
if
(
cnode
==
0
)
{
cerr
<<
"(init_ulogserver): Not found xmlnode for '"
<<
cname
<<
"'"
<<
endl
;
return
0
;
}
UniXML
::
iterator
it
(
cnode
);
auto
ls
=
make_shared
<
LogServer
>
(
log
);
timeout_t
sessTimeout
=
conf
->
getArgPInt
(
"--"
+
cname
+
"-session-timeout"
,
it
.
getProp
(
"sessTimeout"
),
3600000
);
timeout_t
cmdTimeout
=
conf
->
getArgPInt
(
"--"
+
cname
+
"-cmd-timeout"
,
it
.
getProp
(
"cmdTimeout"
),
2000
);
timeout_t
outTimeout
=
conf
->
getArgPInt
(
"--"
+
cname
+
"-out-timeout"
,
it
.
getProp
(
"outTimeout"
),
2000
);
ls
->
setSessionTimeout
(
sessTimeout
);
ls
->
setCmdTimeout
(
cmdTimeout
);
ls
->
setOutTimeout
(
outTimeout
);
std
::
string
host
=
conf
->
getArgParam
(
"--"
+
cname
+
"-host"
,
it
.
getProp
(
"host"
));
if
(
host
.
empty
()
)
{
cerr
<<
"(init_ulogserver): "
<<
cname
<<
": unknown host.."
<<
endl
;
return
nullptr
;
}
ost
::
tpport_t
port
=
conf
->
getArgPInt
(
"--"
+
cname
+
"-port"
,
it
.
getProp
(
"port"
),
0
);
if
(
port
==
0
)
{
cerr
<<
"(init_ulogserver): "
<<
cname
<<
": unknown port.."
<<
endl
;
return
nullptr
;
}
cout
<<
"logserver: "
<<
host
<<
":"
<<
port
<<
endl
;
ls
->
run
(
host
,
port
,
true
);
return
ls
;
}
// -----------------------------------------------------------------------------
extensions/UNetUDP/UDPPacket.h
View file @
e959c3a8
...
@@ -61,7 +61,7 @@ namespace UniSetUDP
...
@@ -61,7 +61,7 @@ namespace UniSetUDP
{
{
UDPPacket
()
:
len
(
0
)
{}
UDPPacket
()
:
len
(
0
)
{}
in
t
len
;
size_
t
len
;
unsigned
char
data
[
sizeof
(
UDPHeader
)
+
MaxDCount
*
sizeof
(
long
)
+
MaxDDataCount
+
MaxACount
*
sizeof
(
UDPAData
)
];
unsigned
char
data
[
sizeof
(
UDPHeader
)
+
MaxDCount
*
sizeof
(
long
)
+
MaxDDataCount
+
MaxACount
*
sizeof
(
UDPAData
)
];
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
...
...
extensions/UNetUDP/UNetSender.cc
View file @
e959c3a8
...
@@ -349,7 +349,7 @@ bool UNetSender::initItem( UniXML::iterator& it )
...
@@ -349,7 +349,7 @@ bool UNetSender::initItem( UniXML::iterator& it )
if
(
p
.
iotype
==
UniversalIO
::
DI
||
p
.
iotype
==
UniversalIO
::
DO
)
if
(
p
.
iotype
==
UniversalIO
::
DI
||
p
.
iotype
==
UniversalIO
::
DO
)
{
{
in
t
dnum
=
packs_dnum
[
priority
];
size_
t
dnum
=
packs_dnum
[
priority
];
if
(
pk
.
size
()
<=
dnum
)
if
(
pk
.
size
()
<=
dnum
)
pk
.
resize
(
dnum
+
1
);
pk
.
resize
(
dnum
+
1
);
...
@@ -386,7 +386,7 @@ bool UNetSender::initItem( UniXML::iterator& it )
...
@@ -386,7 +386,7 @@ bool UNetSender::initItem( UniXML::iterator& it )
}
}
else
if
(
p
.
iotype
==
UniversalIO
::
AI
||
p
.
iotype
==
UniversalIO
::
AO
)
else
if
(
p
.
iotype
==
UniversalIO
::
AI
||
p
.
iotype
==
UniversalIO
::
AO
)
{
{
in
t
anum
=
packs_anum
[
priority
];
size_
t
anum
=
packs_anum
[
priority
];
if
(
pk
.
size
()
<=
anum
)
if
(
pk
.
size
()
<=
anum
)
pk
.
resize
(
anum
+
1
);
pk
.
resize
(
anum
+
1
);
...
@@ -452,7 +452,7 @@ void UNetSender::askSensors( UniversalIO::UIOCommand cmd )
...
@@ -452,7 +452,7 @@ void UNetSender::askSensors( UniversalIO::UIOCommand cmd )
shm
->
askSensor
(
it
.
id
,
cmd
);
shm
->
askSensor
(
it
.
id
,
cmd
);
}
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
in
t
UNetSender
::
getDataPackCount
()
const
size_
t
UNetSender
::
getDataPackCount
()
const
{
{
return
mypacks
.
size
();
return
mypacks
.
size
();
}
}
...
...
extensions/UNetUDP/UNetSender.h
View file @
e959c3a8
...
@@ -48,15 +48,15 @@ class UNetSender
...
@@ -48,15 +48,15 @@ class UNetSender
UItem
()
:
UItem
()
:
iotype
(
UniversalIO
::
UnknownIOType
),
iotype
(
UniversalIO
::
UnknownIOType
),
id
(
UniSetTypes
::
DefaultObjectId
),
id
(
UniSetTypes
::
DefaultObjectId
),
pack_num
(
-
1
),
pack_num
(
0
),
pack_ind
(
-
1
),
pack_ind
(
0
),
pack_sendfactor
(
0
)
{}
pack_sendfactor
(
0
)
{}
UniversalIO
::
IOType
iotype
;
UniversalIO
::
IOType
iotype
;
UniSetTypes
::
ObjectId
id
;
UniSetTypes
::
ObjectId
id
;
IOController
::
IOStateList
::
iterator
ioit
;
IOController
::
IOStateList
::
iterator
ioit
;
in
t
pack_num
;
size_
t
pack_num
;
in
t
pack_ind
;
size_
t
pack_ind
;
sendfactor_t
pack_sendfactor
=
{
0
};
sendfactor_t
pack_sendfactor
=
{
0
};
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
UItem
&
p
);
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
UItem
&
p
);
...
@@ -64,7 +64,7 @@ class UNetSender
...
@@ -64,7 +64,7 @@ class UNetSender
typedef
std
::
vector
<
UItem
>
DMap
;
typedef
std
::
vector
<
UItem
>
DMap
;
in
t
getDataPackCount
()
const
;
size_
t
getDataPackCount
()
const
;
void
start
();
void
start
();
void
stop
();
void
stop
();
...
@@ -144,8 +144,8 @@ class UNetSender
...
@@ -144,8 +144,8 @@ class UNetSender
std
::
string
s_host
=
{
""
};
std
::
string
s_host
=
{
""
};
std
::
string
myname
=
{
""
};
std
::
string
myname
=
{
""
};
in
t
sendpause
=
{
150
};
timeout_
t
sendpause
=
{
150
};
in
t
packsendpause
=
{
5
};
timeout_
t
packsendpause
=
{
5
};
std
::
atomic_bool
activated
=
{
false
};
std
::
atomic_bool
activated
=
{
false
};
UniSetTypes
::
uniset_rwmutex
pack_mutex
;
UniSetTypes
::
uniset_rwmutex
pack_mutex
;
...
@@ -153,11 +153,11 @@ class UNetSender
...
@@ -153,11 +153,11 @@ class UNetSender
typedef
std
::
unordered_map
<
sendfactor_t
,
std
::
vector
<
UniSetUDP
::
UDPMessage
>>
Packs
;
typedef
std
::
unordered_map
<
sendfactor_t
,
std
::
vector
<
UniSetUDP
::
UDPMessage
>>
Packs
;
Packs
mypacks
;
Packs
mypacks
;
std
::
unordered_map
<
sendfactor_t
,
in
t
>
packs_anum
;
std
::
unordered_map
<
sendfactor_t
,
size_
t
>
packs_anum
;
std
::
unordered_map
<
sendfactor_t
,
in
t
>
packs_dnum
;
std
::
unordered_map
<
sendfactor_t
,
size_
t
>
packs_dnum
;
DMap
dlist
;
DMap
dlist
;
in
t
maxItem
=
{
0
};
size_
t
maxItem
=
{
0
};
unsigned
long
packetnum
=
{
1
};
/*!< номер очередного посылаемого пакета */
size_t
packetnum
=
{
1
};
/*!< номер очередного посылаемого пакета */
unsigned
short
lastcrc
=
{
0
};
unsigned
short
lastcrc
=
{
0
};
UniSetUDP
::
UDPPacket
s_msg
;
UniSetUDP
::
UDPPacket
s_msg
;
...
...
extensions/include/UObject_SK.h
View file @
e959c3a8
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/
*/
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
// generate timestamp: 2015-10-
14
+03:00
// generate timestamp: 2015-10-
25
+03:00
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
#ifndef UObject_SK_H_
#ifndef UObject_SK_H_
#define UObject_SK_H_
#define UObject_SK_H_
...
@@ -191,9 +191,9 @@ class UObject_SK:
...
@@ -191,9 +191,9 @@ class UObject_SK:
/*! получить текстовое свойство из конф. файла по привязанной confnode */
/*! получить текстовое свойство из конф. файла по привязанной confnode */
inline
const
std
::
string
getProp
(
const
std
::
string
&
name
)
{
return
UniSetTypes
::
uniset_conf
()
->
getProp
(
confnode
,
name
);
}
inline
const
std
::
string
getProp
(
const
std
::
string
&
name
)
{
return
UniSetTypes
::
uniset_conf
()
->
getProp
(
confnode
,
name
);
}
in
t
smReadyTimeout
;
/*!< время ожидания готовности SM */
timeout_
t
smReadyTimeout
;
/*!< время ожидания готовности SM */
std
::
atomic_bool
activated
;
std
::
atomic_bool
activated
;
in
t
activateTimeout
;
/*!< время ожидания готовности UniSetObject к работе */
timeout_
t
activateTimeout
;
/*!< время ожидания готовности UniSetObject к работе */
PassiveTimer
ptStartUpTimeout
;
/*!< время на блокировку обработки WatchDog, если недавно был StartUp */
PassiveTimer
ptStartUpTimeout
;
/*!< время на блокировку обработки WatchDog, если недавно был StartUp */
int
askPause
;
/*!< пауза между неудачными попытками заказать датчики */
int
askPause
;
/*!< пауза между неудачными попытками заказать датчики */
...
...
extensions/lib/IOBase.cc
View file @
e959c3a8
...
@@ -550,13 +550,13 @@ bool IOBase::initItem( IOBase* b, UniXML::iterator& it, const std::shared_ptr<SM
...
@@ -550,13 +550,13 @@ bool IOBase::initItem( IOBase* b, UniXML::iterator& it, const std::shared_ptr<SM
b
->
breaklim
=
initIntProp
(
it
,
"breaklim"
,
prefix
,
init_prefix_only
);
b
->
breaklim
=
initIntProp
(
it
,
"breaklim"
,
prefix
,
init_prefix_only
);
b
->
rawdata
=
initIntProp
(
it
,
"rawdata"
,
prefix
,
init_prefix_only
);
b
->
rawdata
=
initIntProp
(
it
,
"rawdata"
,
prefix
,
init_prefix_only
);
long
d_msec
=
initIntProp
(
it
,
"debouncedelay"
,
prefix
,
init_prefix_only
,
UniSetTimer
::
WaitUpTime
);
timeout_t
d_msec
=
initIntProp
(
it
,
"debouncedelay"
,
prefix
,
init_prefix_only
,
UniSetTimer
::
WaitUpTime
);
b
->
ptDebounce
.
setTiming
(
d_msec
);
b
->
ptDebounce
.
setTiming
(
d_msec
);
long
d_on_msec
=
initIntProp
(
it
,
"ondelay"
,
prefix
,
init_prefix_only
,
UniSetTimer
::
WaitUpTime
);
timeout_t
d_on_msec
=
initIntProp
(
it
,
"ondelay"
,
prefix
,
init_prefix_only
,
UniSetTimer
::
WaitUpTime
);
b
->
ptOnDelay
.
setTiming
(
d_on_msec
);
b
->
ptOnDelay
.
setTiming
(
d_on_msec
);
long
d_off_msec
=
initIntProp
(
it
,
"offdelay"
,
prefix
,
init_prefix_only
,
UniSetTimer
::
WaitUpTime
);
timeout_t
d_off_msec
=
initIntProp
(
it
,
"offdelay"
,
prefix
,
init_prefix_only
,
UniSetTimer
::
WaitUpTime
);
b
->
ptOffDelay
.
setTiming
(
d_off_msec
);
b
->
ptOffDelay
.
setTiming
(
d_off_msec
);
...
...
extensions/lib/UObject_SK.cc
View file @
e959c3a8
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/
*/
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
// generate timestamp: 2015-10-
14
+03:00
// generate timestamp: 2015-10-
25
+03:00
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
#include <memory>
#include <memory>
#include <iomanip>
#include <iomanip>
...
@@ -67,7 +67,6 @@ static const std::string init3_str( const std::string& s1, const std::string& s2
...
@@ -67,7 +67,6 @@ static const std::string init3_str( const std::string& s1, const std::string& s2
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
UObject_SK
::
UObject_SK
(
ObjectId
id
,
xmlNode
*
cnode
,
const
std
::
string
&
_argprefix
)
:
UObject_SK
::
UObject_SK
(
ObjectId
id
,
xmlNode
*
cnode
,
const
std
::
string
&
_argprefix
)
:
UniSetObject
(
id
),
UniSetObject
(
id
),
argprefix
(
(
_argprefix
.
empty
()
?
myname
+
"-"
:
_argprefix
)
),
// Инициализация идентификаторов (имена берутся из конф. файла)
// Инициализация идентификаторов (имена берутся из конф. файла)
// Используемые идентификаторы сообщений (имена берутся из конф. файла)
// Используемые идентификаторы сообщений (имена берутся из конф. файла)
...
@@ -76,6 +75,7 @@ argprefix( (_argprefix.empty() ? myname+"-" : _argprefix) ),
...
@@ -76,6 +75,7 @@ argprefix( (_argprefix.empty() ? myname+"-" : _argprefix) ),
sleep_msec
(
150
),
sleep_msec
(
150
),
active
(
true
),
active
(
true
),
argprefix
(
(
_argprefix
.
empty
()
?
myname
+
"-"
:
_argprefix
)
),
idHeartBeat
(
DefaultObjectId
),
idHeartBeat
(
DefaultObjectId
),
maxHeartBeat
(
10
),
maxHeartBeat
(
10
),
...
@@ -155,6 +155,9 @@ end_private(false)
...
@@ -155,6 +155,9 @@ end_private(false)
// Инициализация значений
// Инициализация значений
si
.
id
=
UniSetTypes
::
DefaultObjectId
;
si
.
node
=
conf
->
getLocalNode
();
sleep_msec
=
conf
->
getArgPInt
(
"--"
+
argprefix
+
"sleep-msec"
,
"150"
,
150
);
sleep_msec
=
conf
->
getArgPInt
(
"--"
+
argprefix
+
"sleep-msec"
,
"150"
,
150
);
string
s_resetTime
(
""
);
string
s_resetTime
(
""
);
...
...
include/ComPort.h
View file @
e959c3a8
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
#include <fcntl.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/ioctl.h>
#include <string>
#include <string>
#include <cc++/thread.h> // for use timeout_t
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
class
ComPort
class
ComPort
{
{
...
@@ -88,8 +89,8 @@ class ComPort
...
@@ -88,8 +89,8 @@ class ComPort
void
setCharacterSize
(
CharacterSize
);
void
setCharacterSize
(
CharacterSize
);
void
setStopBits
(
StopBits
sBit
);
void
setStopBits
(
StopBits
sBit
);
virtual
void
setTimeout
(
int
msec
);
virtual
void
setTimeout
(
timeout_t
msec
);
inline
in
t
getTimeout
()
inline
timeout_
t
getTimeout
()
{
{
return
uTimeout
/
1000
;
// msec
return
uTimeout
/
1000
;
// msec
}
}
...
@@ -99,8 +100,8 @@ class ComPort
...
@@ -99,8 +100,8 @@ class ComPort
virtual
unsigned
char
receiveByte
();
virtual
unsigned
char
receiveByte
();
virtual
void
sendByte
(
unsigned
char
x
);
virtual
void
sendByte
(
unsigned
char
x
);
virtual
int
receiveBlock
(
unsigned
char
*
msg
,
in
t
len
);
virtual
size_t
receiveBlock
(
unsigned
char
*
msg
,
size_
t
len
);
virtual
int
sendBlock
(
unsigned
char
*
msg
,
in
t
len
);
virtual
size_t
sendBlock
(
unsigned
char
*
msg
,
size_
t
len
);
void
setBlocking
(
bool
blocking
);
void
setBlocking
(
bool
blocking
);
...
@@ -115,7 +116,7 @@ class ComPort
...
@@ -115,7 +116,7 @@ class ComPort
int
curSym
=
{
0
};
int
curSym
=
{
0
};
int
bufLength
=
{
0
};
int
bufLength
=
{
0
};
int
fd
=
{
-
1
};
int
fd
=
{
-
1
};
in
t
uTimeout
=
{
0
};
timeout_
t
uTimeout
=
{
0
};
bool
waiting
=
{
false
};
bool
waiting
=
{
false
};
Speed
speed
=
ComSpeed38400
;
Speed
speed
=
ComSpeed38400
;
std
::
string
dev
=
{
""
};
std
::
string
dev
=
{
""
};
...
...
include/ComPort485F.h
View file @
e959c3a8
#ifndef
_
COMPORT_485F_H_
#ifndef COMPORT_485F_H_
#define
_
COMPORT_485F_H_
#define COMPORT_485F_H_
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
#include <queue>
#include <queue>
#include "ComPort.h"
#include "ComPort.h"
...
@@ -23,16 +23,16 @@ class ComPort485F:
...
@@ -23,16 +23,16 @@ class ComPort485F:
ComPort485F
(
const
std
::
string
&
comDevice
,
int
gpio_num
,
bool
tmit_ctrl
=
false
);
ComPort485F
(
const
std
::
string
&
comDevice
,
int
gpio_num
,
bool
tmit_ctrl
=
false
);
virtual
void
sendByte
(
unsigned
char
x
);
virtual
void
sendByte
(
unsigned
char
x
)
override
;
virtual
void
setTimeout
(
int
timeout
)
;
virtual
void
setTimeout
(
timeout_t
timeout
)
override
;
virtual
int
sendBlock
(
unsigned
char
*
msg
,
int
len
)
;
virtual
size_t
sendBlock
(
unsigned
char
*
msg
,
size_t
len
)
override
;
virtual
void
cleanupChannel
();
virtual
void
cleanupChannel
()
override
;
virtual
void
reopen
();
virtual
void
reopen
()
override
;
protected
:
protected
:
virtual
unsigned
char
m_receiveByte
(
bool
wait
);
virtual
unsigned
char
m_receiveByte
(
bool
wait
)
override
;
void
save2queue
(
unsigned
char
*
msg
,
int
len
,
int
bnum
);
void
save2queue
(
unsigned
char
*
msg
,
int
len
,
int
bnum
);
bool
remove_echo
(
unsigned
char
tb
[],
int
len
);
bool
remove_echo
(
unsigned
char
tb
[],
int
len
);
void
m_read
(
int
tmsec
);
void
m_read
(
int
tmsec
);
...
@@ -46,8 +46,8 @@ class ComPort485F:
...
@@ -46,8 +46,8 @@ class ComPort485F:
int
gpio_num
;
int
gpio_num
;
bool
tmit_ctrl_on
;
bool
tmit_ctrl_on
;
PassiveTimer
ptRecv
;
PassiveTimer
ptRecv
;
in
t
tout_msec
=
{
2000
};
timeout_
t
tout_msec
=
{
2000
};
};
};
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
#endif //
_COMPORT_E
_H_
#endif //
COMPORT_485F
_H_
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
include/modbus/ModbusClient.h
View file @
e959c3a8
...
@@ -170,7 +170,7 @@ class ModbusClient
...
@@ -170,7 +170,7 @@ class ModbusClient
\param len - size of buf
\param len - size of buf
\return real data lenght ( must be <= len )
\return real data lenght ( must be <= len )
*/
*/
virtual
in
t
getNextData
(
unsigned
char
*
buf
,
int
len
)
=
0
;
virtual
size_
t
getNextData
(
unsigned
char
*
buf
,
int
len
)
=
0
;
/*! set timeout for send/receive data */
/*! set timeout for send/receive data */
virtual
void
setChannelTimeout
(
timeout_t
msec
)
=
0
;
virtual
void
setChannelTimeout
(
timeout_t
msec
)
=
0
;
...
...
include/modbus/ModbusRTUMaster.h
View file @
e959c3a8
...
@@ -46,7 +46,7 @@ class ModbusRTUMaster:
...
@@ -46,7 +46,7 @@ class ModbusRTUMaster:
\param len - size of buf
\param len - size of buf
\return real data lenght ( must be <= len )
\return real data lenght ( must be <= len )
*/
*/
virtual
in
t
getNextData
(
unsigned
char
*
buf
,
int
len
)
override
;
virtual
size_
t
getNextData
(
unsigned
char
*
buf
,
int
len
)
override
;
/*! set timeout for send/receive data */
/*! set timeout for send/receive data */
virtual
void
setChannelTimeout
(
timeout_t
msec
)
override
;
virtual
void
setChannelTimeout
(
timeout_t
msec
)
override
;
...
...
include/modbus/ModbusTCPCore.h
View file @
e959c3a8
...
@@ -9,9 +9,9 @@
...
@@ -9,9 +9,9 @@
/*! ModbusTCP core functions */
/*! ModbusTCP core functions */
namespace
ModbusTCPCore
namespace
ModbusTCPCore
{
{
in
t
readNextData
(
ost
::
TCPStream
*
tcp
,
std
::
queue
<
unsigned
char
>&
qrecv
,
int
max
=
100
);
size_
t
readNextData
(
ost
::
TCPStream
*
tcp
,
std
::
queue
<
unsigned
char
>&
qrecv
,
int
max
=
100
);
int
getNextData
(
ost
::
TCPStream
*
tcp
,
std
::
queue
<
unsigned
char
>&
qrecv
,
unsigned
char
*
buf
,
in
t
len
);
size_t
getNextData
(
ost
::
TCPStream
*
tcp
,
std
::
queue
<
unsigned
char
>&
qrecv
,
unsigned
char
*
buf
,
size_
t
len
);
ModbusRTU
::
mbErrCode
sendData
(
ost
::
TCPStream
*
tcp
,
unsigned
char
*
buf
,
in
t
len
);
ModbusRTU
::
mbErrCode
sendData
(
ost
::
TCPStream
*
tcp
,
unsigned
char
*
buf
,
size_
t
len
);
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
#endif // ModbusTCPCore_H_
#endif // ModbusTCPCore_H_
...
...
include/modbus/ModbusTCPMaster.h
View file @
e959c3a8
...
@@ -49,7 +49,7 @@ class ModbusTCPMaster:
...
@@ -49,7 +49,7 @@ class ModbusTCPMaster:
protected
:
protected
:
virtual
in
t
getNextData
(
unsigned
char
*
buf
,
int
len
)
override
;
virtual
size_
t
getNextData
(
unsigned
char
*
buf
,
int
len
)
override
;
virtual
void
setChannelTimeout
(
timeout_t
msec
)
override
;
virtual
void
setChannelTimeout
(
timeout_t
msec
)
override
;
virtual
ModbusRTU
::
mbErrCode
sendData
(
unsigned
char
*
buf
,
int
len
)
override
;
virtual
ModbusRTU
::
mbErrCode
sendData
(
unsigned
char
*
buf
,
int
len
)
override
;
virtual
ModbusRTU
::
mbErrCode
query
(
ModbusRTU
::
ModbusAddr
addr
,
ModbusRTU
::
ModbusMessage
&
msg
,
virtual
ModbusRTU
::
mbErrCode
query
(
ModbusRTU
::
ModbusAddr
addr
,
ModbusRTU
::
ModbusMessage
&
msg
,
...
...
include/modbus/ModbusTypes.h
View file @
e959c3a8
...
@@ -175,7 +175,7 @@ namespace ModbusRTU
...
@@ -175,7 +175,7 @@ namespace ModbusRTU
ModbusByte
data
[
MAXLENPACKET
+
szCRC
];
/*!< данные */
ModbusByte
data
[
MAXLENPACKET
+
szCRC
];
/*!< данные */
// Это поле вспомогательное и игнорируется при пересылке
// Это поле вспомогательное и игнорируется при пересылке
in
t
len
;
/*!< фактическая длина */
size_
t
len
;
/*!< фактическая длина */
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
ModbusMessage
&
m
);
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
ModbusMessage
&
m
);
...
...
python/lib/pyUniSet/Makefile.am
View file @
e959c3a8
...
@@ -49,8 +49,10 @@ _pyUExceptions_la_LIBADD = $(UNISET_LIBS) $(UNISET_EXT_LIBS) $(PYTHON_LIBS)
...
@@ -49,8 +49,10 @@ _pyUExceptions_la_LIBADD = $(UNISET_LIBS) $(UNISET_EXT_LIBS) $(PYTHON_LIBS)
UExceptions_wrap.cxx
:
UExceptions.i UExceptions.h
UExceptions_wrap.cxx
:
UExceptions.i UExceptions.h
swig
-python
-c
++
-classic
UExceptions.i
swig
-python
-c
++
-classic
UExceptions.i
clean-local
:
# Специальное правило для удаления сгенерированного кода
rm
-rf
*
.py
*
# для дальнейшей перегенерации
clean-gen
:
rm
-rf
*
.py
*
*
_wrap.cxx
include
$(top_builddir)/include.mk
include
$(top_builddir)/include.mk
...
...
python/lib/pyUniSet/UModbus.cc
View file @
e959c3a8
...
@@ -303,7 +303,9 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
...
@@ -303,7 +303,9 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
{
{
case
ModbusRTU
:
:
fnWriteOutputSingleRegister
:
case
ModbusRTU
:
:
fnWriteOutputSingleRegister
:
{
{
ModbusRTU
::
WriteSingleOutputRetMessage
ret
=
mb
->
write06
(
mbaddr
,
mbreg
,
val
);
// ModbusRTU::WriteSingleOutputRetMessage ret =
// игнорируем return т.к. если будет ошибка, то будет исключение
(
void
)
mb
->
write06
(
mbaddr
,
mbreg
,
val
);
}
}
break
;
break
;
...
@@ -311,13 +313,17 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
...
@@ -311,13 +313,17 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
{
{
ModbusRTU
::
WriteOutputMessage
msg
(
mbaddr
,
mbreg
);
ModbusRTU
::
WriteOutputMessage
msg
(
mbaddr
,
mbreg
);
msg
.
addData
(
val
);
msg
.
addData
(
val
);
ModbusRTU
::
WriteOutputRetMessage
ret
=
mb
->
write10
(
msg
);
//ModbusRTU::WriteOutputRetMessage ret =
// игнорируем return т.к. если будет ошибка, то будет исключение
(
void
)
mb
->
write10
(
msg
);
}
}
break
;
break
;
case
ModbusRTU
:
:
fnForceSingleCoil
:
case
ModbusRTU
:
:
fnForceSingleCoil
:
{
{
ModbusRTU
::
ForceSingleCoilRetMessage
ret
=
mb
->
write05
(
mbaddr
,
mbreg
,
val
);
// ModbusRTU::ForceSingleCoilRetMessage ret =
// игнорируем return т.к. если будет ошибка, то будет исключение
(
void
)
mb
->
write05
(
mbaddr
,
mbreg
,
val
);
}
}
break
;
break
;
...
@@ -325,7 +331,9 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
...
@@ -325,7 +331,9 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
{
{
ModbusRTU
::
ForceCoilsMessage
msg
(
mbaddr
,
mbreg
);
ModbusRTU
::
ForceCoilsMessage
msg
(
mbaddr
,
mbreg
);
msg
.
addBit
(
(
val
?
true
:
false
)
);
msg
.
addBit
(
(
val
?
true
:
false
)
);
ModbusRTU
::
ForceCoilsRetMessage
ret
=
mb
->
write0F
(
msg
);
// ModbusRTU::ForceCoilsRetMessage ret =
// игнорируем return т.к. если будет ошибка, то будет исключение
(
void
)
mb
->
write0F
(
msg
);
}
}
break
;
break
;
...
@@ -338,7 +346,7 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
...
@@ -338,7 +346,7 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
break
;
break
;
}
}
}
}
catch
(
ModbusRTU
::
mbException
&
ex
)
catch
(
const
ModbusRTU
::
mbException
&
ex
)
{
{
if
(
ex
.
err
!=
ModbusRTU
::
erTimeOut
)
if
(
ex
.
err
!=
ModbusRTU
::
erTimeOut
)
throw
UTimeOut
();
throw
UTimeOut
();
...
@@ -347,9 +355,9 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
...
@@ -347,9 +355,9 @@ void UModbus::mbwrite( int mbaddr, int mbreg, int val, int mbfunc, const char* n
err
<<
ex
;
err
<<
ex
;
throw
UException
(
err
.
str
());
throw
UException
(
err
.
str
());
}
}
catch
(
...
)
catch
(
const
std
::
exception
&
ex
)
{
{
throw
UException
(
"(mbwrite): catch
..."
);
throw
UException
(
"(mbwrite): catch
"
+
std
::
string
(
ex
.
what
())
);
}
}
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
src/Communications/ComPort.cc
View file @
e959c3a8
...
@@ -271,18 +271,18 @@ void ComPort::sendByte(unsigned char x)
...
@@ -271,18 +271,18 @@ void ComPort::sendByte(unsigned char x)
}
}
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
// Lav: убрать, переделать в receiveBlock
// Lav: убрать, переделать в receiveBlock
void
ComPort
::
setTimeout
(
in
t
msec
)
void
ComPort
::
setTimeout
(
timeout_
t
msec
)
{
{
uTimeout
=
msec
*
1000
;
uTimeout
=
msec
*
1000
;
}
}
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
// Lav: ситуация, когда отправлено меньше запрошенного, не типична и должна
// Lav: ситуация, когда отправлено меньше запрошенного, не типична и должна
// генерировать исключение
// генерировать исключение
int
ComPort
::
sendBlock
(
unsigned
char
*
msg
,
in
t
len
)
size_t
ComPort
::
sendBlock
(
unsigned
char
*
msg
,
size_
t
len
)
{
{
// fcntl(fd,F_SETFL,0);
// fcntl(fd,F_SETFL,0);
in
t
sndLen
=::
write
(
fd
,
msg
,
len
);
ssize_
t
sndLen
=::
write
(
fd
,
msg
,
len
);
// fcntl(fd,F_SETFL,O_NONBLOCK);
// fcntl(fd,F_SETFL,O_NONBLOCK);
...
@@ -298,9 +298,9 @@ int ComPort::sendBlock(unsigned char* msg, int len)
...
@@ -298,9 +298,9 @@ int ComPort::sendBlock(unsigned char* msg, int len)
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
// Lav: ожидание задавать третим необязательным параметром
// Lav: ожидание задавать третим необязательным параметром
// Lav: Никогда не возвращаТЬ меньше запрошенного (кроме 0)
// Lav: Никогда не возвращаТЬ меньше запрошенного (кроме 0)
int
ComPort
::
receiveBlock
(
unsigned
char
*
msg
,
in
t
len
)
size_t
ComPort
::
receiveBlock
(
unsigned
char
*
msg
,
size_
t
len
)
{
{
int
k
;
size_t
k
=
0
;
if
(
!
len
)
if
(
!
len
)
return
0
;
return
0
;
...
...
src/Communications/ComPort485F.cc
View file @
e959c3a8
...
@@ -80,7 +80,7 @@ ComPort485F::ComPort485F( const string& dev, int gpio_num, bool tmit_ctrl ):
...
@@ -80,7 +80,7 @@ ComPort485F::ComPort485F( const string& dev, int gpio_num, bool tmit_ctrl ):
}
}
}
}
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
void
ComPort485F
::
setTimeout
(
in
t
msec
)
void
ComPort485F
::
setTimeout
(
timeout_
t
msec
)
{
{
tout_msec
=
msec
;
tout_msec
=
msec
;
ComPort
::
setTimeout
(
msec
);
ComPort
::
setTimeout
(
msec
);
...
@@ -152,7 +152,7 @@ unsigned char ComPort485F::m_receiveByte( bool wait )
...
@@ -152,7 +152,7 @@ unsigned char ComPort485F::m_receiveByte( bool wait )
return
x
;
return
x
;
}
}
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
int
ComPort485F
::
sendBlock
(
unsigned
char
*
msg
,
in
t
len
)
size_t
ComPort485F
::
sendBlock
(
unsigned
char
*
msg
,
size_
t
len
)
{
{
if
(
tmit_ctrl_on
)
if
(
tmit_ctrl_on
)
{
{
...
@@ -160,7 +160,7 @@ int ComPort485F::sendBlock( unsigned char* msg, int len )
...
@@ -160,7 +160,7 @@ int ComPort485F::sendBlock( unsigned char* msg, int len )
gpio_low_set_value
(
gpio_num
,
1
);
gpio_low_set_value
(
gpio_num
,
1
);
}
}
in
t
r
=
0
;
size_
t
r
=
0
;
try
try
{
{
...
...
src/Communications/Modbus/ModbusClient.cc
View file @
e959c3a8
...
@@ -419,7 +419,7 @@ mbErrCode ModbusClient::recv_pdu( ModbusByte qfunc, ModbusMessage& rbuf, timeout
...
@@ -419,7 +419,7 @@ mbErrCode ModbusClient::recv_pdu( ModbusByte qfunc, ModbusMessage& rbuf, timeout
if
(
crcNoCheckit
)
if
(
crcNoCheckit
)
rbuf
.
len
-=
szCRC
;
rbuf
.
len
-=
szCRC
;
in
t
rlen
=
getNextData
((
unsigned
char
*
)(
&
(
rbuf
.
data
)),
rbuf
.
len
);
size_
t
rlen
=
getNextData
((
unsigned
char
*
)(
&
(
rbuf
.
data
)),
rbuf
.
len
);
if
(
rlen
<
rbuf
.
len
)
if
(
rlen
<
rbuf
.
len
)
{
{
...
@@ -555,7 +555,7 @@ mbErrCode ModbusClient::recv_pdu( ModbusByte qfunc, ModbusMessage& rbuf, timeout
...
@@ -555,7 +555,7 @@ mbErrCode ModbusClient::recv_pdu( ModbusByte qfunc, ModbusMessage& rbuf, timeout
setChannelTimeout
(
10
);
// 10 msec
setChannelTimeout
(
10
);
// 10 msec
// Получаем остальную часть сообщения
// Получаем остальную часть сообщения
in
t
rlen
=
getNextData
((
unsigned
char
*
)(
rbuf
.
data
),
rbuf
.
len
);
size_
t
rlen
=
getNextData
((
unsigned
char
*
)(
rbuf
.
data
),
rbuf
.
len
);
if
(
rlen
<
rbuf
.
len
)
if
(
rlen
<
rbuf
.
len
)
{
{
...
@@ -992,7 +992,7 @@ mbErrCode ModbusClient::recv_pdu( ModbusByte qfunc, ModbusMessage& rbuf, timeout
...
@@ -992,7 +992,7 @@ mbErrCode ModbusClient::recv_pdu( ModbusByte qfunc, ModbusMessage& rbuf, timeout
if
(
mPreRDI
.
objNum
>
0
)
if
(
mPreRDI
.
objNum
>
0
)
{
{
in
t
onum
=
0
;
size_
t
onum
=
0
;
while
(
(
rlen
+
2
)
<
sizeof
(
rbuf
)
&&
onum
<
mPreRDI
.
objNum
)
while
(
(
rlen
+
2
)
<
sizeof
(
rbuf
)
&&
onum
<
mPreRDI
.
objNum
)
{
{
...
...
src/Communications/Modbus/ModbusRTUMaster.cc
View file @
e959c3a8
...
@@ -108,7 +108,7 @@ int ModbusRTUMaster::getTimeout()
...
@@ -108,7 +108,7 @@ int ModbusRTUMaster::getTimeout()
return
port
->
getTimeout
();
return
port
->
getTimeout
();
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
in
t
ModbusRTUMaster
::
getNextData
(
unsigned
char
*
buf
,
int
len
)
size_
t
ModbusRTUMaster
::
getNextData
(
unsigned
char
*
buf
,
int
len
)
{
{
// if( !port ) return 0;
// if( !port ) return 0;
return
port
->
receiveBlock
(
buf
,
len
);
return
port
->
receiveBlock
(
buf
,
len
);
...
...
src/Communications/Modbus/ModbusServer.cc
View file @
e959c3a8
...
@@ -751,7 +751,7 @@ mbErrCode ModbusServer::recv_pdu( ModbusMessage& rbuf, timeout_t timeout )
...
@@ -751,7 +751,7 @@ mbErrCode ModbusServer::recv_pdu( ModbusMessage& rbuf, timeout_t timeout )
setChannelTimeout
(
10
);
// 10 msec
setChannelTimeout
(
10
);
// 10 msec
// Получаем остальную часть сообщения
// Получаем остальную часть сообщения
in
t
rlen
=
getNextData
((
unsigned
char
*
)(
rbuf
.
data
),
rbuf
.
len
);
size_
t
rlen
=
getNextData
((
unsigned
char
*
)(
rbuf
.
data
),
rbuf
.
len
);
if
(
rlen
<
rbuf
.
len
)
if
(
rlen
<
rbuf
.
len
)
{
{
...
...
src/Communications/Modbus/ModbusTCPCore.cc
View file @
e959c3a8
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
using
namespace
std
;
using
namespace
std
;
using
namespace
ModbusRTU
;
using
namespace
ModbusRTU
;
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
in
t
ModbusTCPCore
::
readNextData
(
ost
::
TCPStream
*
tcp
,
size_
t
ModbusTCPCore
::
readNextData
(
ost
::
TCPStream
*
tcp
,
std
::
queue
<
unsigned
char
>&
qrecv
,
int
max
)
std
::
queue
<
unsigned
char
>&
qrecv
,
int
max
)
{
{
if
(
!
tcp
||
!
tcp
->
isConnected
()
)
if
(
!
tcp
||
!
tcp
->
isConnected
()
)
...
@@ -25,9 +25,9 @@ int ModbusTCPCore::readNextData( ost::TCPStream* tcp,
...
@@ -25,9 +25,9 @@ int ModbusTCPCore::readNextData( ost::TCPStream* tcp,
return
i
;
return
i
;
}
}
// ------------------------------------------------------------------------
// ------------------------------------------------------------------------
int
ModbusTCPCore
::
getNextData
(
ost
::
TCPStream
*
tcp
,
size_t
ModbusTCPCore
::
getNextData
(
ost
::
TCPStream
*
tcp
,
std
::
queue
<
unsigned
char
>&
qrecv
,
std
::
queue
<
unsigned
char
>&
qrecv
,
unsigned
char
*
buf
,
in
t
len
)
unsigned
char
*
buf
,
size_
t
len
)
{
{
if
(
!
tcp
||
!
tcp
->
isConnected
()
)
if
(
!
tcp
||
!
tcp
->
isConnected
()
)
return
0
;
return
0
;
...
@@ -43,7 +43,7 @@ int ModbusTCPCore::getNextData( ost::TCPStream* tcp,
...
@@ -43,7 +43,7 @@ int ModbusTCPCore::getNextData( ost::TCPStream* tcp,
return
0
;
return
0
;
}
}
in
t
i
=
0
;
size_
t
i
=
0
;
for
(
;
i
<
len
&&
!
qrecv
.
empty
();
i
++
)
for
(
;
i
<
len
&&
!
qrecv
.
empty
();
i
++
)
{
{
...
@@ -54,14 +54,14 @@ int ModbusTCPCore::getNextData( ost::TCPStream* tcp,
...
@@ -54,14 +54,14 @@ int ModbusTCPCore::getNextData( ost::TCPStream* tcp,
return
i
;
return
i
;
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
mbErrCode
ModbusTCPCore
::
sendData
(
ost
::
TCPStream
*
tcp
,
unsigned
char
*
buf
,
in
t
len
)
mbErrCode
ModbusTCPCore
::
sendData
(
ost
::
TCPStream
*
tcp
,
unsigned
char
*
buf
,
size_
t
len
)
{
{
if
(
!
tcp
||
!
tcp
->
isConnected
()
)
if
(
!
tcp
||
!
tcp
->
isConnected
()
)
return
erTimeOut
;
return
erTimeOut
;
try
try
{
{
for
(
auto
i
=
0
;
i
<
len
;
i
++
)
for
(
size_t
i
=
0
;
i
<
len
;
i
++
)
(
*
tcp
)
<<
buf
[
i
];
(
*
tcp
)
<<
buf
[
i
];
return
erNoError
;
return
erNoError
;
...
...
src/Communications/Modbus/ModbusTCPMaster.cc
View file @
e959c3a8
...
@@ -33,7 +33,7 @@ ModbusTCPMaster::~ModbusTCPMaster()
...
@@ -33,7 +33,7 @@ ModbusTCPMaster::~ModbusTCPMaster()
tcp
.
reset
();
tcp
.
reset
();
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
in
t
ModbusTCPMaster
::
getNextData
(
unsigned
char
*
buf
,
int
len
)
size_
t
ModbusTCPMaster
::
getNextData
(
unsigned
char
*
buf
,
int
len
)
{
{
return
ModbusTCPCore
::
getNextData
(
tcp
.
get
(),
qrecv
,
buf
,
len
);
return
ModbusTCPCore
::
getNextData
(
tcp
.
get
(),
qrecv
,
buf
,
len
);
}
}
...
...
src/Communications/Modbus/ModbusTypes.cc
View file @
e959c3a8
...
@@ -2521,7 +2521,7 @@ void MEIMessageRetRDI::init( ModbusMessage& m )
...
@@ -2521,7 +2521,7 @@ void MEIMessageRetRDI::init( ModbusMessage& m )
bcnt
=
0
;
bcnt
=
0
;
dlist
.
clear
();
dlist
.
clear
();
in
t
i
=
6
;
size_
t
i
=
6
;
if
(
objNum
>
0
)
if
(
objNum
>
0
)
{
{
...
...
src/Various/RunLock.cc
View file @
e959c3a8
...
@@ -89,6 +89,7 @@ bool RunLock::isLocked( const string& name )
...
@@ -89,6 +89,7 @@ bool RunLock::isLocked( const string& name )
fclose
(
out
);
fclose
(
out
);
closedir
(
d
);
closedir
(
d
);
return
false
;
}
}
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
bool
RunLock
::
lock
(
const
string
&
name
)
bool
RunLock
::
lock
(
const
string
&
name
)
...
...
src/Various/SMonitor.cc
View file @
e959c3a8
...
@@ -115,7 +115,11 @@ void SMonitor::sensorInfo( const SensorMessage* si )
...
@@ -115,7 +115,11 @@ void SMonitor::sensorInfo( const SensorMessage* si )
cmd
<<
" "
<<
si
->
id
<<
" "
<<
si
->
value
<<
" "
<<
si
->
sm_tv_sec
<<
" "
<<
si
->
sm_tv_usec
;
cmd
<<
" "
<<
si
->
id
<<
" "
<<
si
->
value
<<
" "
<<
si
->
sm_tv_sec
<<
" "
<<
si
->
sm_tv_usec
;
(
void
)
system
(
cmd
.
str
().
c_str
());
int
ret
=
system
(
cmd
.
str
().
c_str
());
int
res
=
WEXITSTATUS
(
ret
);
if
(
res
!=
0
)
cerr
<<
"run script '"
<<
cmd
.
str
()
<<
"' failed.."
<<
endl
;
// if( WIFSIGNALED(ret) && (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
// if( WIFSIGNALED(ret) && (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
// {
// {
// cout << "finish..." << endl;
// cout << "finish..." << endl;
...
...
src/Various/WDTInterface.cc
View file @
e959c3a8
...
@@ -31,7 +31,14 @@ bool WDTInterface::ping()
...
@@ -31,7 +31,14 @@ bool WDTInterface::ping()
return
false
;
return
false
;
}
}
write
(
fd
,
(
void
*
)
CMD_PING
,
sizeof
(
CMD_PING
));
int
ret
=
write
(
fd
,
(
void
*
)
CMD_PING
,
sizeof
(
CMD_PING
));
if
(
ret
==
-
1
)
{
cerr
<<
": Unable to open device "
<<
dev
<<
" with err: "
<<
strerror
(
errno
)
<<
endl
;
close
(
fd
);
return
false
;
}
close
(
fd
);
close
(
fd
);
return
true
;
return
true
;
}
}
...
@@ -46,7 +53,14 @@ bool WDTInterface::stop()
...
@@ -46,7 +53,14 @@ bool WDTInterface::stop()
return
false
;
return
false
;
}
}
write
(
fd
,
(
void
*
)
CMD_STOP
,
sizeof
(
CMD_STOP
));
int
ret
=
write
(
fd
,
(
void
*
)
CMD_STOP
,
sizeof
(
CMD_STOP
));
if
(
ret
==
-
1
)
{
cerr
<<
": Unable to open device "
<<
dev
<<
" with err: "
<<
strerror
(
errno
)
<<
endl
;
close
(
fd
);
return
false
;
}
close
(
fd
);
close
(
fd
);
return
true
;
return
true
;
}
}
...
...
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