- IEC 61850 client: added function ClientReportControlBlock_hasResvTms

- IEC 61850 server: don't empty owner when client disables BRCB (RptEna = false)
pull/147/head
Michael Zillgith 7 years ago
parent 17449300e2
commit a8821fd148

@ -137,7 +137,10 @@
#cmakedefine01 CONFIG_IEC61850_REPORT_SERVICE
/* support buffered report control blocks with ResvTms field */
#define CONFIG_IEC61850_BRCB_WITH_RESVTMS 0
#define CONFIG_IEC61850_BRCB_WITH_RESVTMS 1
/* allow only configured clients (when pre-configured by ClientLN) - note behavior in PIXIT Rp13 */
#define CONFIG_IEC61850_RCB_ALLOW_ONLY_PRECONFIGURED_CLIENT 0
/* The default buffer size of buffered RCBs in bytes */
#cmakedefine CONFIG_REPORTING_DEFAULT_REPORT_BUFFER_SIZE @CONFIG_REPORTING_DEFAULT_REPORT_BUFFER_SIZE@

@ -324,6 +324,12 @@ ClientReportControlBlock_setPurgeBuf(ClientReportControlBlock self, bool purgeBu
MmsValue_setBoolean(self->purgeBuf, purgeBuf);
}
bool
ClientReportControlBlock_hasResvTms(ClientReportControlBlock self)
{
return (self->resvTms != NULL);
}
int16_t
ClientReportControlBlock_getResvTms(ClientReportControlBlock self)
{

@ -1198,9 +1198,24 @@ ClientReportControlBlock_setGI(ClientReportControlBlock self, bool gi);
bool
ClientReportControlBlock_getPurgeBuf(ClientReportControlBlock self);
/**
* \brief Set the "PurgeBuf" attribute value (only BRCB)
*
* When set to true the report buffer will be cleared.
*
* \param purgeBuf attribute value
*/
void
ClientReportControlBlock_setPurgeBuf(ClientReportControlBlock self, bool purgeBuf);
/**
* \brief Check if optional attribute "ResvTms" is present in BRCB
*
* \return true when present, false otherwise
*/
bool
ClientReportControlBlock_hasResvTms(ClientReportControlBlock self);
int16_t
ClientReportControlBlock_getResvTms(ClientReportControlBlock self);

@ -1759,9 +1759,9 @@ Reporting_RCBWriteAccessHandler(MmsMapping* self, ReportControl* rc, char* eleme
rc->triggered = false;
rc->reserved = false;
}
updateOwner(rc, NULL);
updateOwner(rc, NULL);
}
rc->enabled = false;
}

Loading…
Cancel
Save