History

TimeSeriesPlatformLibrary: Updated sample code to use latest common types and functions.

J. Ritchie Carroll committed 7 years ago

Commit d7733e71 parent 324c0c45 files · +43 −77Browse files

Showing the changes to Source/Libraries/TimeSeriesPlatformLibrary/Samples/AverageFrequencyCalculator.cpp (1 of 5 files). Show all

Unified · Split

Source/Libraries/TimeSeriesPlatformLibrary/Samples/AverageFrequencyCalculator.cpp+8−25
@@ -21,13 +21,9 @@ · 20 unmodified lines
2121 //
2222 //******************************************************************************************************
2323
24−#include <iostream>
25−#include <string>
26−#include <vector>
27−#include <map>
28−
29−#include "../Common/Convert.h"
3024 #include "../Transport/DataSubscriber.h"
25+#include "../Common/Convert.h"
26+#include <iostream>
3127
3228 using namespace std;
3329 using namespace GSF;
@@ -165,12 +161,7 @@ void ProcessMeasurements(DataSubscriber* source, const vector<MeasurementPtr>& m · 131 unmodified lines
165161 const float64_t HiFrequency = 62.0F;
166162 const float64_t HzResolution = 1000.0; // three decimal places
167163
168− const string TimestampFormat = "%Y-%m-%d %H:%M:%S.%f";
169− const uint32_t MaxTimestampSize = 80;
170−
171− static map<Guid, int> m_lastValues;
172−
173− map<Guid, int>::iterator lastValueIter;
164+ static unordered_map<Guid, int> m_lastValues;
174165 MeasurementPtr currentMeasurement;
175166 Guid signalID;
176167
@@ -182,8 +173,6 @@ void ProcessMeasurements(DataSubscriber* source, const vector<MeasurementPtr>& m · 5 unmodified lines
182173 int32_t lastValue;
183174 int32_t total;
184175
185− char timestamp[MaxTimestampSize];
186−
187176 frequencyTotal = 0.0;
188177 total = 0;
189178
@@ -191,13 +180,11 @@ void ProcessMeasurements(DataSubscriber* source, const vector<MeasurementPtr>& m · 1 unmodified line
191180
192181 if (!measurements.empty())
193182 {
194− if (TicksToString(timestamp, MaxTimestampSize, TimestampFormat, measurements[0]->Timestamp))
195− cout << "Timestamp: " << string(timestamp) << endl;
196−
197− cout << "Point\tValue" << endl;
183+ cout << "Timestamp: " << ToString(measurements[0]->GetDateTime()) << endl;
184+ cout << "\tPoint\tValue" << endl;
198185
199186 for (uint32_t i = 0; i < measurements.size(); ++i)
200− cout << measurements[i]->ID << '\t' << measurements[i]->Value << endl;
187+ cout << '\t' << measurements[i]->ID << '\t' << measurements[i]->Value << endl;
201188
202189 cout << endl;
203190
@@ -209,14 +196,10 @@ void ProcessMeasurements(DataSubscriber* source, const vector<MeasurementPtr>& m · 5 unmodified lines
209196 adjustedFrequency = static_cast<int32_t>(frequency * HzResolution);
210197
211198 // Do some simple flat line avoidance...
212− lastValueIter = m_lastValues.find(signalID);
213−
214− if (lastValueIter != m_lastValues.end())
199+ if (TryGetValue(m_lastValues, signalID, lastValue, 0))
215200 {
216− lastValue = lastValueIter->second;
217−
218201 if (lastValue == adjustedFrequency)
219− frequency = 0.0;
202+ frequency = 0.0; // Don't contribute duplicates to the average
220203 else
221204 m_lastValues[signalID] = adjustedFrequency;
222205 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t