diff --git a/examples/sv_publisher/sv_publisher_example.c b/examples/sv_publisher/sv_publisher_example.c index 311b6ff6..e87e5966 100644 --- a/examples/sv_publisher/sv_publisher_example.c +++ b/examples/sv_publisher/sv_publisher_example.c @@ -44,6 +44,8 @@ main(int argc, char** argv) int ts2 = SVPublisher_ASDU_addTimestamp(asdu2); SVPublisher_setupComplete(svPublisher); + SVPublisher_ASDU_setSmpSynch(asdu1, 2); + SVPublisher_ASDU_setSmpSynch(asdu2, 1); float fVal1 = 1234.5678f; float fVal2 = 0.12345f; diff --git a/examples/sv_subscriber/sv_subscriber_example.c b/examples/sv_subscriber/sv_subscriber_example.c index 1a1f1deb..11d2e532 100644 --- a/examples/sv_subscriber/sv_subscriber_example.c +++ b/examples/sv_subscriber/sv_subscriber_example.c @@ -32,6 +32,7 @@ svUpdateListener (SVSubscriber subscriber, void* parameter, SVSubscriber_ASDU as printf(" smpCnt: %i\n", SVSubscriber_ASDU_getSmpCnt(asdu)); printf(" confRev: %u\n", SVSubscriber_ASDU_getConfRev(asdu)); + printf(" smpSynch: %u\n", SVSubscriber_ASDU_getSmpSynch(asdu)); /* * Access to the data requires a priori knowledge of the data set. diff --git a/src/sampled_values/sv_subscriber.c b/src/sampled_values/sv_subscriber.c index 838fb855..ed56e4c9 100644 --- a/src/sampled_values/sv_subscriber.c +++ b/src/sampled_values/sv_subscriber.c @@ -878,6 +878,12 @@ SVSubscriber_ASDU_getDataSize(SVSubscriber_ASDU self) return self->dataBufferLength; } +uint8_t +SVSubscriber_ASDU_getSmpSynch(SVSubscriber_ASDU self) +{ + return self->smpSynch[0]; +} + uint16_t SVClientASDU_getSmpCnt(SVSubscriber_ASDU self) { diff --git a/src/sampled_values/sv_subscriber.h b/src/sampled_values/sv_subscriber.h index 2388527e..870cd692 100644 --- a/src/sampled_values/sv_subscriber.h +++ b/src/sampled_values/sv_subscriber.h @@ -528,6 +528,16 @@ SVSubscriber_ASDU_getQuality(SVSubscriber_ASDU self, int index); int SVSubscriber_ASDU_getDataSize(SVSubscriber_ASDU self); +/** + * \brief return the SmpSynch value included in the SV ASDU + * + * The SmpSynch gives information about the clock synchronization. + * + * \param self ASDU object instance + */ +uint8_t +SVSubscriber_ASDU_getSmpSynch(SVSubscriber_ASDU self); + #ifndef DEPRECATED #if defined(__GNUC__) || defined(__clang__) #define DEPRECATED __attribute__((deprecated))