ReaderLibrary.MyTag.GetSOCData C# (CSharp) Method

GetSOCData() public method

public GetSOCData ( ) : int[]
return int[]
        public int[] GetSOCData()
        {
            string data = GetAccessResultData();

            if (data.Length == 0)
                return new int[] { };

            if (data.Length < 4)
                return new int[] { };

            int[] socValues;

            if (socVersion == 2)
                socValues = HandleSOCV2(data);
            else
                socValues = HandleSOCV1(data);

            return socValues;
        }

Usage Example

Example #1
0
        private void HandleSOCTag(MyTag tag)
        {
            tag.SetSOCVersion(SOCVersion);

            int[] SOCValues = tag.GetSOCData();
            // store current value
            if (SOCValues.Length > 0)
                SOCValue = SOCValues[0];
            // add all the new values to the graph.
            for (int i = 0; i < SOCValues.Length; i++)
            {
                SOCFilteredValue = SOCFilteredValue * SOCFilterAlpha + SOCValues[i] * (1 - SOCFilterAlpha);
            }

            SOCTemperature = Math.Round(SOCFilteredValue * SOCSlope + SOCIntercept, 3);
            
            double valToPlot;
            if (socPlotTemp) valToPlot = SOCTemperature;
            else valToPlot = SOCFilteredValue;

            lock (SOCData)
            {
                // add new point to the graph.
                SOCData.Add(new PointPair(SOCReportNumber++, valToPlot));

                // keep graph data from getting too big, or performance degrades.
                if (SOCData.Count > 1000)
                    SOCData.RemoveAt(0);
            }

            tag.socFilteredValue = SOCFilteredValue; // for logging, etc.
            tag.socFilteredTemperature = SOCTemperature;
        }
All Usage Examples Of ReaderLibrary.MyTag::GetSOCData