public static void Main() { var bufferMeasPeriod = new Buffer { }; var bufferLowTriggerLevel = new Buffer { }; var bufferLowTriggerDuration = new Buffer { }; var bufferHoldOffTime = new Buffer { }; var bufferCurrentValue = new Buffer { }; Parameters.Setup(); //Call Gsiot Configuration.Parameters.Setup to set Parameters.StreamProvider to null (i.e. we don't want to use a YALER relay) currentPeriod = 2000; currentLowTrigLevel = 500L; currentLowTrigDur = 6000; currentHoldOffTime = 6000; belowThreshold = false; var rangeFinder = new RangeFinder(currentPeriod, currentLowTrigLevel, currentLowTrigDur, currentHoldOffTime) { sourceBufferMeasPeriod = bufferMeasPeriod, sourceBufferLowTrigLevel = bufferLowTriggerLevel, sourceBufferLowTrigDur = bufferLowTriggerDuration, sourceBufferHoldOffTime = bufferHoldOffTime, sourceBufferCurrentValue = bufferCurrentValue }; var webServer = new HttpServer() { StreamProvider = Parameters.StreamProvider, RequestRouting = { { "GET /hello", HandleGetHello }, { "GET /about*", HandleGetAbout }, { "PUT /measurementPeriod", new ManipulatedVariable { FromHttpRequest = CSharpRepresentation.TryDeserializeInt, ToActuator = bufferMeasPeriod.HandlePut }.HandleRequest }, { "GET /measurementPeriod.html", HandleGetMeasPeriod }, { "PUT /lowTrigLevel", new ManipulatedVariable { FromHttpRequest = CSharpRepresentation.TryDeserializeInt, ToActuator = bufferLowTriggerLevel.HandlePut }.HandleRequest }, { "GET /lowTrigLevel.html", HandleGetLowTrigLevel }, { "PUT /lowTrigDuration", new ManipulatedVariable { FromHttpRequest = CSharpRepresentation.TryDeserializeInt, ToActuator = bufferLowTriggerDuration.HandlePut }.HandleRequest }, { "PUT /holdOffTime", new ManipulatedVariable { FromHttpRequest = CSharpRepresentation.TryDeserializeInt, ToActuator = bufferHoldOffTime.HandlePut }.HandleRequest }, { "GET /lowTrigDuration.html", HandleGetLowTrigDuration }, { "GET /holdOffTime.html", HandleGetHoldOffTime }, { "GET /measurement/current", HandleGetCurrentValue }, { "GET /settings.html", HandleGetSettings } } }; //Create and start threads var rangeFinderThread = new Thread(rangeFinder.Run); rangeFinderThread.Start(); webServer.Run(); }
public static void Main() { var bufferMeasPeriod = new Buffer { }; var bufferLowTriggerLevel = new Buffer { }; var bufferLowTriggerDuration = new Buffer { }; var bufferCurrentValue = new Buffer { }; //long currentValue; var rangeFinder = new RangeFinder { SourceBuffer1 = bufferMeasPeriod, SourceBuffer2 = bufferLowTriggerLevel, SourceBuffer3 = bufferLowTriggerDuration, SourceBuffer4 = bufferCurrentValue }; var webServer = new HttpServer { StreamProvider = Parameters.StreamProvider, RequestRouting = { { "GET /hello", HandleGetHelloHtml }, { "PUT /measurementPeriod/target", new ManipulatedVariable { FromHttpRequest = CSharpRepresentation.TryDeserializeInt, ToActuator = bufferMeasPeriod.HandlePut }.HandleRequest }, { "GET /measurementPeriod/target.html", HandleMeasPeriodTargetHtml }, { "PUT /lowTrigLevel/target", new ManipulatedVariable { FromHttpRequest = CSharpRepresentation.TryDeserializeInt, ToActuator = bufferLowTriggerLevel.HandlePut }.HandleRequest }, { "GET /lowTrigLevel/target.html", HandleLowTrigLevelTargetHtml }, { "PUT /lowTrigDuration/target", new ManipulatedVariable { FromHttpRequest = CSharpRepresentation.TryDeserializeInt, ToActuator = bufferLowTriggerDuration.HandlePut }.HandleRequest }, { "GET /lowTrigDuration/target.html", HandleLowTrigDurationTargetHtml }, { "GET /measurement/current", HandleCurrentValueQuery } } }; var rangeFinderThread = new Thread(rangeFinder.Run); rangeFinderThread.Start(); webServer.Run(); }