Ejemplo n.º 1
0
        private static void WriteData(Session session, Parameter parameter, ParameterDataAccessBase pdaNewParameter, ParameterValues samples)
        {
            // add data to new created parameter
            for (var j = samples.SampleCount - 1; j >= 0; j--)
            {
                var newTimestamp = samples.Timestamp[j];
                var newValue     = samples.Data[j] + 10;

                session.AddChannelData(
                    parameter.ChannelIds.FirstOrDefault(),
                    newTimestamp,
                    1, //value of 1 param
                    BitConverter.GetBytes(newValue));

                Console.WriteLine($"Written sample. Timestamp: {newTimestamp.ToTimeString()} Value:{newValue}");
            }

            // read data back to verify the data added
            pdaNewParameter.GoTo(session.EndTime);
            var samplesNewParameter = pdaNewParameter.GetNextSamples(10, StepDirection.Reverse);

            for (var j = 0; j < samplesNewParameter.SampleCount; j++)
            {
                Console.WriteLine($"{parameter.Identifier} {samplesNewParameter.Timestamp[j].ToTimeString()} {samplesNewParameter.Data[j]}");
            }
        }
Ejemplo n.º 2
0
        private static ParameterValues ReadData(Session session, ParameterDataAccessBase pda)
        {
            // read vCar data
            pda.GoTo(session.EndTime);
            var samples = pda.GetNextSamples(10, StepDirection.Reverse);

            Console.WriteLine("** Samples **");
            for (var j = 0; j < samples.SampleCount; j++)
            {
                Console.WriteLine($"vCar:Chassis {samples.Timestamp[j].ToTimeString()} {samples.Data[j]}");
            }

            return(samples);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="executionContext"></param>
        public void Execute(IExecutionContext executionContext)
        {
            var timestamps      = executionContext.FunctionInput.Timestamps;
            var timestampsCount = timestamps.Length;

            var index           = executionContext.FunctionOutput.OutputParameterIndexes[ParameterIdentifier];
            var parameterOutput = executionContext.FunctionOutput.OutputParametersValues[index];
            var input           = executionContext.FunctionInput.Values[index];

            if (parameterDataAccess == null)
            {
                this.parameterDataAccess = executionContext.Session.CreateParameterDataAccess("vCar:Chassis");
            }

            var count = parameterDataAccess.GetSamplesCount(timestamps.FirstOrDefault(), timestamps.LastOrDefault());

            for (int i = 0; i < timestampsCount; i++)
            {
                parameterOutput[i] = count;
            }
        }