Commit 62c6a8a7 authored by Pavel Vainerman's avatar Pavel Vainerman

Исправил небольшой баг в генераторе кода. Проявляется если для разных,

датчиков указать один и тот-же id.
parent 1d0d4bca
...@@ -104,19 +104,15 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback() ...@@ -104,19 +104,15 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorMessage* _sm ) void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorMessage* _sm )
{ {
if( _sm->id == DefaultObjectId )
{
// dummy if...
}
<xsl:for-each select="//sensors/item/consumers/consumer"> <xsl:for-each select="//sensors/item/consumers/consumer">
<xsl:if test="normalize-space(../../@msg)!='1'"> <xsl:if test="normalize-space(../../@msg)!='1'">
<xsl:if test="normalize-space(@name)=$OID"> <xsl:if test="normalize-space(@name)=$OID">
<xsl:if test="normalize-space(@vartype)='in'"> <xsl:if test="normalize-space(@vartype)='in'">
else if( _sm->id == <xsl:value-of select="../../@name"/> ) if( _sm->id == <xsl:value-of select="../../@name"/> )
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value;
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'"> <xsl:if test="normalize-space(@vartype)='io'">
else if( _sm->id == <xsl:value-of select="../../@name"/> ) if( _sm->id == <xsl:value-of select="../../@name"/> )
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value;
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
......
...@@ -154,17 +154,13 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool _force ) ...@@ -154,17 +154,13 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool _force )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorMessage* _sm ) void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorMessage* _sm )
{ {
if( _sm->id == DefaultObjectId )
{
// dummy if...
}
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:if test="normalize-space(@vartype)='in'"> <xsl:if test="normalize-space(@vartype)='in'">
else if( _sm->id == <xsl:value-of select="@name"/> ) if( _sm->id == <xsl:value-of select="@name"/> )
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value;
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'"> <xsl:if test="normalize-space(@vartype)='io'">
else if( _sm->id == <xsl:value-of select="@name"/> ) if( _sm->id == <xsl:value-of select="@name"/> )
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value;
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
......
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