Exemplo n.º 1
0
        public CallModel(BatCall call, BatNodeData data)
        {
            _data = data;
            Call  = call;

            StringBuilder warnings = new StringBuilder();

            if (call.MissedSamples > 0)
            {
                warnings.AppendFormat(CultureInfo.CurrentCulture, "Clipped Samples: {0}\n", call.MissedSamples);
            }
            Warnings = warnings.ToString();

            DateTime startTime = _data.LogStart.AddMilliseconds(call.StartTimeMs);

            Date          = $"{startTime:d}";
            Time          = $"{startTime:HH:mm:ss.ffff}";
            MainFrequency = $"{call.MainFrequency} kHz";
        }
Exemplo n.º 2
0
        public void Analyze(BatProject project, BatNode node, RawNodeData rawNodeData)
        {
            BatNodeData nodeData = node.NodeData;

            node.IsDirty = true;

            node.NodeId   = rawNodeData.NodeId;
            node.LogStart = rawNodeData.LogStart;

            nodeData.Calls.Clear();

            List <RawCall> rawCallsToMerge = new List <RawCall>();
            BatCall        currentCallData = new BatCall();

            nodeData.Calls.Add(currentCallData);
            uint endCallTime = 0;

            foreach (RawCall call in rawNodeData.Calls)
            {
                if (endCallTime + 50 >= call.StartTimeMs || rawCallsToMerge.Count == 0)
                {
                    rawCallsToMerge.Add(call);
                }
                else
                {
                    nodeData.Calls.Add(Merge(rawCallsToMerge));
                    rawCallsToMerge.Clear();
                }

                endCallTime = call.EndTimeMs;
            }

            if (rawCallsToMerge.Count > 0)
            {
                nodeData.Calls.Add(Merge(rawCallsToMerge));
            }
        }