From a1577f19eabcc7641fa4c1aefecebb4119d3851a Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 6 Aug 2024 09:26:03 -0600 Subject: [PATCH 1/3] zeek/spicy#90 made 'result' a type, so renaming result variables to resultRec to fix syntax error ('syntax error, unexpected RESULT, expecting identifier or scoped identifier') --- analyzer/synchrophasor.spicy | 104 +++++++++++++++++------------------ 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/analyzer/synchrophasor.spicy b/analyzer/synchrophasor.spicy index cdc89d5..82a3505 100644 --- a/analyzer/synchrophasor.spicy +++ b/analyzer/synchrophasor.spicy @@ -279,72 +279,72 @@ type PMUConfigRec = tuple< cfgcnt : uint16>; function PhasorConversionFactorToRec(u : PhasorConversionFactor) : PhasorConversionFactorRec { - local result : PhasorConversionFactorRec; + local resultRec : PhasorConversionFactorRec; if (u?.format) { - result.phunit = u.format.phunit; - result.phvalue = u.format.phvalue; + resultRec.phunit = u.format.phunit; + resultRec.phvalue = u.format.phvalue; } if (u?.flags) { - result.upsampledInterpolation = (u.flags.upsampledInterpolation != 0); - result.upsampledExtrapolation = (u.flags.upsampledExtrapolation != 0); - result.downsampledReselection = (u.flags.downsampledReselection != 0); - result.downsampledFIRFilter = (u.flags.downsampledFIRFilter != 0); - result.downsampledNoFIRFilter = (u.flags.downsampledNoFIRFilter != 0); - result.filteredWithoutChangingSampling = (u.flags.filteredWithoutChangingSampling != 0); - result.calibrationMagAdj = (u.flags.calibrationMagAdj != 0); - result.calibrationPhasAdj = (u.flags.calibrationPhasAdj != 0); - result.rotationPhaseAdj = (u.flags.rotationPhaseAdj != 0); - result.pseudoPhasorVal = (u.flags.pseudoPhasorVal != 0); - result.modAppl = (u.flags.modAppl != 0); + resultRec.upsampledInterpolation = (u.flags.upsampledInterpolation != 0); + resultRec.upsampledExtrapolation = (u.flags.upsampledExtrapolation != 0); + resultRec.downsampledReselection = (u.flags.downsampledReselection != 0); + resultRec.downsampledFIRFilter = (u.flags.downsampledFIRFilter != 0); + resultRec.downsampledNoFIRFilter = (u.flags.downsampledNoFIRFilter != 0); + resultRec.filteredWithoutChangingSampling = (u.flags.filteredWithoutChangingSampling != 0); + resultRec.calibrationMagAdj = (u.flags.calibrationMagAdj != 0); + resultRec.calibrationPhasAdj = (u.flags.calibrationPhasAdj != 0); + resultRec.rotationPhaseAdj = (u.flags.rotationPhaseAdj != 0); + resultRec.pseudoPhasorVal = (u.flags.pseudoPhasorVal != 0); + resultRec.modAppl = (u.flags.modAppl != 0); } if (u?.typeInd) { - result.phasorComponent = u.typeInd.phasorComponent; - result.phasorType = (u.typeInd.phasorType != 0); + resultRec.phasorComponent = u.typeInd.phasorComponent; + resultRec.phasorType = (u.typeInd.phasorType != 0); } if (u?.userDef) - result.userDef = u.userDef; + resultRec.userDef = u.userDef; if (u?.scaleFactor) - result.scaleFactor = u.scaleFactor; + resultRec.scaleFactor = u.scaleFactor; if (u?.angleAdj) - result.angleAdj = u.angleAdj; + resultRec.angleAdj = u.angleAdj; - return result; + return resultRec; } function AnalogConversionFactorToRec(u : AnalogConversionFactor) : AnalogConversionFactorRec { - local result : AnalogConversionFactorRec; + local resultRec : AnalogConversionFactorRec; if (u?.analogFlags) - result.analogFlags = u.analogFlags; + resultRec.analogFlags = u.analogFlags; if (u?.userDefinedScaling) - result.userDefinedScaling = u.userDefinedScaling; + resultRec.userDefinedScaling = u.userDefinedScaling; if (u?.magScale) - result.magScale = u.magScale; + resultRec.magScale = u.magScale; if (u?.offset) - result.offset = u.offset; + resultRec.offset = u.offset; - return result; + return resultRec; } function DigitalStatusMaskWordsToRec(u : DigitalStatusMaskWords) : DigitalStatusMaskWordsRec { - local result : DigitalStatusMaskWordsRec; + local resultRec : DigitalStatusMaskWordsRec; if (u?.normalStatusMask) - result.normalStatusMask = u.normalStatusMask; + resultRec.normalStatusMask = u.normalStatusMask; if (u?.validInputsMask) - result.validInputsMask = u.validInputsMask; + resultRec.validInputsMask = u.validInputsMask; - return result; + return resultRec; } function PMUConfigToRec(pmu : PMUConfig) : PMUConfigRec { @@ -644,67 +644,67 @@ type PMUDataRec = tuple< digital : vector>; function PhasorEstimateToRec(val : PhasorEstimate) : PhasorEstimateRec { - local result : PhasorEstimateRec; + local resultRec : PhasorEstimateRec; if (val?.rectangular) { if (val.rectangular?.realValInt) - result.rectangularRealValInt = val.rectangular.realValInt; + resultRec.rectangularRealValInt = val.rectangular.realValInt; if (val.rectangular?.realValFloat) - result.rectangularRealValFloat = val.rectangular.realValFloat; + resultRec.rectangularRealValFloat = val.rectangular.realValFloat; if (val.rectangular?.imaginaryValInt) - result.rectangularImaginaryValInt = val.rectangular.imaginaryValInt; + resultRec.rectangularImaginaryValInt = val.rectangular.imaginaryValInt; if (val.rectangular?.imaginaryValFloat) - result.rectangularImaginaryValFloat = val.rectangular.imaginaryValFloat; + resultRec.rectangularImaginaryValFloat = val.rectangular.imaginaryValFloat; } if (val?.polar) { if (val.polar?.magnitudeValInt) - result.polarMagnitudeValInt = val.polar.magnitudeValInt; + resultRec.polarMagnitudeValInt = val.polar.magnitudeValInt; if (val.polar?.magnitudeValFloat) - result.polarMagnitudeValFloat = val.polar.magnitudeValFloat; + resultRec.polarMagnitudeValFloat = val.polar.magnitudeValFloat; if (val.polar?.angleValInt) - result.polarAngleValInt = val.polar.angleValInt; + resultRec.polarAngleValInt = val.polar.angleValInt; if (val.polar?.angleValFloat) - result.polarAngleValFloat = val.polar.angleValFloat; + resultRec.polarAngleValFloat = val.polar.angleValFloat; } - return result; + return resultRec; } function FrequencyDeviationToRec(val : FrequencyDeviation) : FrequencyDeviationRec { - local result : FrequencyDeviationRec; + local resultRec : FrequencyDeviationRec; if (val?.freqDevMhzInt) - result.freqDevMhzInt = val.freqDevMhzInt; + resultRec.freqDevMhzInt = val.freqDevMhzInt; if (val?.freqDevMhzFloat) - result.freqDevMhzFloat = val.freqDevMhzFloat; + resultRec.freqDevMhzFloat = val.freqDevMhzFloat; - return result; + return resultRec; } function ROCOFToRec(val : ROCOF) : ROCOFRec { - local result : ROCOFRec; + local resultRec : ROCOFRec; if (val?.rocofInt) - result.rocofInt = val.rocofInt; + resultRec.rocofInt = val.rocofInt; if (val?.rocofFloat) - result.rocofFloat = val.rocofFloat; + resultRec.rocofFloat = val.rocofFloat; - return result; + return resultRec; } function AnalogDataToRec(val : AnalogData) : AnalogDataRec { - local result : AnalogDataRec; + local resultRec : AnalogDataRec; if (val?.analogDataInt) - result.analogDataInt = val.analogDataInt; + resultRec.analogDataInt = val.analogDataInt; if (val?.analogDataFloat) - result.analogDataFloat = val.analogDataFloat; + resultRec.analogDataFloat = val.analogDataFloat; - return result; + return resultRec; } function PMUDataToRec(pmuDat : PMUData) : PMUDataRec { From 521295ae15cb1a81f17e3cc63c64e0293b3d61a9 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 6 Aug 2024 09:27:48 -0600 Subject: [PATCH 2/3] replaced 'hilti::' with 'spicy::' namespace for spicy v1.11.0 --- analyzer/synchrophasor.spicy | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/analyzer/synchrophasor.spicy b/analyzer/synchrophasor.spicy index 82a3505..b36be76 100644 --- a/analyzer/synchrophasor.spicy +++ b/analyzer/synchrophasor.spicy @@ -88,7 +88,7 @@ type CommandFrame = unit(parent : Frame, cfgMap : ConfigFrameMap&) { type HeaderFrame = unit(parent : Frame, cfgMap : ConfigFrameMap&) { var data : string = ""; : bytes &eod { - self.data = $$.decode(hilti::Charset::ASCII); + self.data = $$.decode(spicy::Charset::ASCII); } }; @@ -490,7 +490,7 @@ type PMUConfig = unit(header : FrameHeader, inout cfgMap : ConfigFrameMap&, inou # service class, measurement window and measurement group delay (CFG-3) : bytes &size = 1 if (self.frameType == FrameTypeCode::CONFIG_3_FRAME) { - self.svcClass = $$.decode(hilti::Charset::ASCII); + self.svcClass = $$.decode(spicy::Charset::ASCII); } window : int32 &optional if (self.frameType == FrameTypeCode::CONFIG_3_FRAME); groupDelay : int32 &optional if (self.frameType == FrameTypeCode::CONFIG_3_FRAME); @@ -515,18 +515,18 @@ type NameField = unit(frameType : FrameTypeCode) { var trimmedName : string = ""; : bytes &size = 16 if (frameType != FrameTypeCode::CONFIG_3_FRAME) { - self.trimmedName = $$.decode(hilti::Charset::ASCII); + self.trimmedName = $$.decode(spicy::Charset::ASCII); # TODO: spicy bug here (error ...: bound object has expired) # This has been fixed, once spicy 1.5 has been out for a while we # can go back to trimming on the spicy side instead of the Zeek side. # - https://github.com/zeek/spicy/issues/1390 # - https://github.com/zeek/spicy/pull/1391 - # self.trimmedName = $$.strip(spicy::Side::Both).decode(hilti::Charset::ASCII); + # self.trimmedName = $$.strip(spicy::Side::Both).decode(spicy::Charset::ASCII); } nameLen : uint8 &optional if (frameType == FrameTypeCode::CONFIG_3_FRAME); : bytes &size = self.nameLen if (frameType == FrameTypeCode::CONFIG_3_FRAME) { - self.trimmedName = $$.decode(hilti::Charset::UTF8); + self.trimmedName = $$.decode(spicy::Charset::UTF8); } } &convert=self.trimmedName; From 92347050f96d1ff8b6dd0c58ed91ab3a2879671a Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 6 Aug 2024 09:29:32 -0600 Subject: [PATCH 3/3] remove inout from reference arguments in spicy code --- analyzer/synchrophasor.spicy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/analyzer/synchrophasor.spicy b/analyzer/synchrophasor.spicy index b36be76..383b0f0 100644 --- a/analyzer/synchrophasor.spicy +++ b/analyzer/synchrophasor.spicy @@ -184,7 +184,7 @@ type NominalLineFreq = unit() { # C37.118.2-2011, 6.4 Configuration-1 and -2 frame, Table 8 ############################################################ # C37.118.2-2011, 6.4 Configuration-3 frame, Table 10 ################################################################## -type ConfigFrame = unit(parent : Frame, inout cfgMap : ConfigFrameMap&) { +type ConfigFrame = unit(parent : Frame, cfgMap : ConfigFrameMap&) { var initialized : bool = False; var cfgNum : bool = False; var timeBase : uint32 = 1000000; @@ -440,7 +440,7 @@ public function ConfigFrameToPMUCfgRecs(cfgFrm : ConfigFrame) : vector