Commit e4ae89b3 authored by Pavel Vainerman's avatar Pavel Vainerman

(codegen): Сделал чтобы в качествет "тестового датчика" для SM,

брался первый у которого задан ID.
parent 9b58e430
...@@ -162,6 +162,21 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::initFromSM() ...@@ -162,6 +162,21 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::initFromSM()
</xsl:for-each> </xsl:for-each>
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UniSetTypes::ObjectId <xsl:value-of select="$CLASSNAME"/>_SK::getSMTestID()
{
if( smTestID != DefaultObjectId )
return smTestID;
<xsl:for-each select="//sensors/item/consumers/consumer">
<xsl:if test="normalize-space(@name)=$OID">
if( <xsl:value-of select="../../@name"/> != DefaultObjectId )
return <xsl:value-of select="../../@name"/>;
</xsl:if>
</xsl:for-each>
return DefaultObjectId;
}
// -----------------------------------------------------------------------------
void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOCommand _cmd ) void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOCommand _cmd )
{ {
PassiveTimer ptAct(activateTimeout); PassiveTimer ptAct(activateTimeout);
......
...@@ -230,6 +230,21 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool _force ) ...@@ -230,6 +230,21 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool _force )
--> -->
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UniSetTypes::ObjectId <xsl:value-of select="$CLASSNAME"/>_SK::getSMTestID()
{
if( smTestID != DefaultObjectId )
return smTestID;
<xsl:for-each select="//sensors/item/consumers/consumer">
<xsl:if test="normalize-space(@name)=$OID">
if( <xsl:value-of select="../../@name"/> != DefaultObjectId )
return <xsl:value-of select="../../@name"/>;
</xsl:if>
</xsl:for-each>
return DefaultObjectId;
}
// -----------------------------------------------------------------------------
<!-- END CC-FILE --> <!-- END CC-FILE -->
</xsl:template> </xsl:template>
......
...@@ -276,6 +276,7 @@ ...@@ -276,6 +276,7 @@
void preSysCommand( const UniSetTypes::SystemMessage* sm ); void preSysCommand( const UniSetTypes::SystemMessage* sm );
void waitSM( int wait_msec, UniSetTypes::ObjectId testID = UniSetTypes::DefaultObjectId ); void waitSM( int wait_msec, UniSetTypes::ObjectId testID = UniSetTypes::DefaultObjectId );
void initFromSM(); void initFromSM();
UniSetTypes::ObjectId getSMTestID();
void resetMsg(); void resetMsg();
Trigger trResetMsg; Trigger trResetMsg;
...@@ -913,6 +914,9 @@ end_private(false) ...@@ -913,6 +914,9 @@ end_private(false)
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
if( smTestID == DefaultObjectId )
smTestID = getSMTestID();
activateTimeout = conf->getArgPInt("--" + argprefix + "activate-timeout", 20000); activateTimeout = conf->getArgPInt("--" + argprefix + "activate-timeout", 20000);
int msec = conf->getArgPInt("--" + argprefix + "startup-timeout", 10000); int msec = conf->getArgPInt("--" + argprefix + "startup-timeout", 10000);
...@@ -1062,6 +1066,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::resetMsg() ...@@ -1062,6 +1066,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::resetMsg()
</xsl:for-each> </xsl:for-each>
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UniSetTypes::ObjectId <xsl:value-of select="$CLASSNAME"/>_SK::getSMTestID()
{
if( smTestID != DefaultObjectId )
return smTestID;
<xsl:for-each select="//smap/item">
if( <xsl:value-of select="@name"/> != DefaultObjectId )
return <xsl:value-of select="@name"/>;
</xsl:for-each>
return DefaultObjectId;
}
// -----------------------------------------------------------------------------
void <xsl:value-of select="$CLASSNAME"/>_SK::testMode( bool _state ) void <xsl:value-of select="$CLASSNAME"/>_SK::testMode( bool _state )
{ {
if( !_state ) if( !_state )
...@@ -1318,6 +1335,9 @@ askPause(uniset_conf()->getPIntProp(cnode,"askPause",2000)) ...@@ -1318,6 +1335,9 @@ askPause(uniset_conf()->getPIntProp(cnode,"askPause",2000))
smTestID = conf->getSensorID(init3_str(conf->getArgParam("--" + argprefix + "sm-test-id"),conf->getProp(cnode,"smTestID"),"")); smTestID = conf->getSensorID(init3_str(conf->getArgParam("--" + argprefix + "sm-test-id"),conf->getProp(cnode,"smTestID"),""));
if( smTestID == DefaultObjectId )
smTestID = getSMTestID();
activateTimeout = conf->getArgPInt("--" + argprefix + "activate-timeout", 20000); activateTimeout = conf->getArgPInt("--" + argprefix + "activate-timeout", 20000);
int msec = conf->getArgPInt("--" + argprefix + "startup-timeout", 10000); int msec = conf->getArgPInt("--" + argprefix + "startup-timeout", 10000);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment