public TemperatureControlService(IOutputHelper helper, ITemperatureSensor sensor, Settings systemSettings)
        {
            SystemSettings = systemSettings;

            _outputHelper = helper;

            _thermistor = sensor;

            _pid = new PIDController(PinManagement.currentTemperatureSensor, _output, PinManagement.setTemperature, SystemSettings.PIDKp, SystemSettings.PIDKi, SystemSettings.PIDKd, PIDController.PID_Direction.DIRECT);

            _pid.SetOutputLimits(0, 100);

            _pid.SampleTime = _windowSize;

            _pid.Mode = PIDController.PID_Mode.AUTOMATIC;

            _windowStartTime = DateTime.Now.Ticks;

            _pidAutoTune = new PIDAutoTune();

            if (_tuning)
            {
                _tuning = false;

                ChangeAutoTune();

                _tuning = true;
            }
        }
 public MigrationHelper(IMessageFactory messageFactory, IEntityFrameworkHelper entityFrameworkHelper,
                        IOutputHelper outputHelper)
 {
     _messageFactory        = messageFactory;
     _entityFrameworkHelper = entityFrameworkHelper;
     _outputHelper          = outputHelper;
 }
        public ConvertJsonToPoco(IOutputHelper iOutputHelper,
                                 IRestClientJsonCore iRestClientJsonCore,
                                 IObjectHandler iObjectHandler)
        {
            _iObjectHandler = iObjectHandler;
            _iOutputHelper  = iOutputHelper;

            _iRestClientJsonCore = iRestClientJsonCore;
        }
Beispiel #4
0
 public SplitTrackList(ICreateFadeMarkers markerFactory, ICreateTrackRegions regionFactory, ICreateTrackMarkerNames trackMarkerNameBuilder, IFileMarkersWrapper fileMarkers, ITrackMarkerSpecifications markerSpecifications, IOutputHelper output)
 {
     _markerFactory          = markerFactory;
     _regionFactory          = regionFactory;
     _trackMarkerNameBuilder = trackMarkerNameBuilder;
     _fileMarkers            = fileMarkers;
     _file = fileMarkers.File;
     _markerSpecifications = markerSpecifications;
     _output = output;
 }
Beispiel #5
0
 public Repo(IOutputHelper outputHelper)
 {
     this._connection = "DefaultConnection";
     this._output = outputHelper;
     this._roadLimitsTable = GetSetting("tables:roadLimits");
     this._conditionsTable = GetSetting("tables:conditions");
     this._roadLimitsFields = GetSetting("tables:roadLimits:columns");
     this._conditionFields = GetSetting("tables:conditions:columns");
     this._conditionsOrderBy = GetSetting("tables:conditions:orderBy");
     this._roadLimitsOrderBy = GetSetting("tables:roadLimits:orderBy");
 }
Beispiel #6
0
 /// <summary>
 /// CTOR
 /// </summary>
 /// <param name="vault">vault protecting the string</param>
 /// <param name="helper">helper for i/o</param>
 /// <param name="favoriteChar">char it writes</param>
 /// <param name="startToken">Start token</param>
 /// <param name="minWrites">min writes</param>
 /// <param name="maxWrites">max writes</param>
 /// <exception cref="ArgumentNullException"><paramref name="vault"/> or <paramref name="helper"/>
 /// were <see langword="null"/> </exception>
 /// <exception cref="ArgumentOutOfRangeException">Min writes was negative.  Or max writes did not exceed min writes
 /// by at least three.</exception>
 protected WriterThread([NotNull] TVault vault, [NotNull] IOutputHelper helper,
                        char favoriteChar, WriterThreadBeginToken startToken, int minWrites = DefaultMinWrites, int maxWrites = DefaultMaxWrites) : base(vault, helper)
 {
     if (minWrites < 0)
     {
         throw new ArgumentOutOfRangeException(nameof(minWrites), minWrites, @"Parameter cannot be negative.");
     }
     if (maxWrites <= minWrites + 2)
     {
         throw new ArgumentOutOfRangeException(nameof(maxWrites), maxWrites,
                                               $@"Parameter must be greater than {(minWrites + 2).ToString()}");
     }
     Char        = favoriteChar;
     MaxWrites   = maxWrites;
     MinWrites   = minWrites;
     _startToken = startToken ?? throw new ArgumentNullException(nameof(startToken));
 }
Beispiel #7
0
 public SplitTrackDefinition(
     SplitTrackList splitTrackList,
     ISfFileHost file,
     VinylRipOptions options,
     ICreateFadeMarkers markerFactory,
     ICreateTrackRegions regionFactory,
     IOutputHelper output)
 {
     _options                = options;
     _splitTrackList         = splitTrackList;
     _originalFile           = file;
     _markerFactory          = markerFactory;
     _regionFactory          = regionFactory;
     _output                 = output;
     _trackRegionMarker      = new SfAudioMarker();
     _trackRegionMarker.Type = MarkerType.Region;
 }
        private ThreadSafeTestOutputHelper([NotNull] IOutputHelper helper)
        {
            _helper = helper ?? throw new ArgumentNullException(nameof(helper));
            _outputHelperExecutor =
                Executor.CreateExecutor("OutputHelperEvents", str => new TimeStampCalibratingExecutor(str));
            _thread = new Thread(ThreadLoop)
            {
                Name = "DisposableOutputHelper", IsBackground = true
            };
            _thread.Start(_cts.Token);
            DateTime quitAt = TimeStampSource.Now + TimeSpan.FromMilliseconds(500);

            while (!_started.IsSet && TimeStampSource.Now <= quitAt)
            {
                Thread.Sleep(1);
            }

            if (!_started.IsSet)
            {
                throw new InvalidOperationException("Couldn't start thread.");
            }
        }
        public static void Main()
        {
            mainThread = Thread.CurrentThread;

            // create the LCD interface
            var lcd = new SPI_VFDisplay(SPI.SPI_module.SPI1, SecretLabs.NETMF.Hardware.NetduinoPlus.Pins.GPIO_PIN_D10, SPI_VFDisplay.Brightness.VFD_BRIGHTNESS25);

            // set up the LCD's number of columns and rows:
            lcd.begin(20, 2, SPI_VFDisplay.Brightness.VFD_BRIGHTNESS25);
            // set up the LCD's number of columns and rows:
            lcd.clear();
            // create the output helper and attach tot he LCD Display
            _displayHelper = new OutputHelper();
            _displayHelper.DisplayController = lcd;

            // Print a message to the LCD.
            _displayHelper.DisplayText("The DIY Brewery|Brew Controller");

            Thread.Sleep(5000);

            _displayHelper.DisplayText("Loading|Settings");

            Settings settings = new Settings();
            settings.loadSettings();

            _displayHelper.HistoryFileName = settings.HistoryFilename;

            UpdateSettingsMethod.UpdateNetworkConfiguration(settings);

            _displayHelper.DisplayText("Network|Started");

            _displayHelper.DisplayText(UpdateSettingsMethod.GetNetworkIP(settings));

            Thread.Sleep(5000);

            Server WebServer = new Server(80);
            WebServer.AddResponse(new JSONResponse("temperature", new JSONResponseCheck(GetTemperatureMethod.GetTemperature)));
            WebServer.AddResponse(new JSONResponse("settings", new JSONResponseCheck(GetSettingsMethod.GetSettings)));
            WebServer.AddResponse(new JSONResponse("updateSettings", new JSONResponseCheck(UpdateSettingsMethod.UpdateSettings)));
            WebServer.AddResponse(new JSONResponse("updateMashProfile", new JSONResponseCheck(UpdateMashProfileMethod.UpdateMashProfile)));

            _displayHelper.DisplayText("Web Server|Started");

            Thread.Sleep(5000);

            NTPTimeService timeService = new NTPTimeService();
            timeService.SystemSettings = settings;
            timeService.Start();

            _displayHelper.DisplayText("Internet Time|Service Started");

            Thread.Sleep(5000);

            MashProfileControlService mashProfileService = new MashProfileControlService(_displayHelper);
            mashProfileService.SystemSettings = settings;
            mashProfileService.Start();

            _displayHelper.DisplayText("Mash Profile|Service Started");

            Thread.Sleep(5000);

            _thermistor = new Thermistor(SecretLabs.NETMF.Hardware.NetduinoPlus.Pins.GPIO_PIN_A0);
            _thermistor.ResistanceReference = settings.PadResistance;
            _thermistor.VoltageReference = settings.VoltageReference;

            TemperatureControlService tempLogger = new TemperatureControlService(_displayHelper, _thermistor, settings);
            tempLogger.Start();

            _displayHelper.DisplayText("Temp Monitor|Started");

            Thread.Sleep(5000);

            PinManagement.engageHeaterButton.OnInterrupt += new NativeEventHandler(EngageHeaterButton_OnInterrupt);
            PinManagement.setTemperatureUpButton.OnInterrupt += new NativeEventHandler(TemperatureSetUp_OnInterrupt);
            PinManagement.setTemperatureUpDown.OnInterrupt += new NativeEventHandler(TemperatureSetDown_OnInterrupt);
            PinManagement.allStopButton.OnInterrupt += new NativeEventHandler(AllStop_OnInterrupt);

            _displayHelper.DisplayText("Inputs|Active");

            mainThread.Suspend();
        }
Beispiel #10
0
 /// <inheritdoc />
 public BasicVaultWriterThread([NotNull] BasicReadWriteVault <string> vault, [NotNull] IOutputHelper helper, char favoriteChar, WriterThreadBeginToken startToken, int minWrites = DefaultMinWrites, int maxWrites = DefaultMaxWrites) : base(vault, helper, favoriteChar, startToken, minWrites, maxWrites)
 {
 }
Beispiel #11
0
 /// <inheritdoc />
 public CustomVaultWriterThread([NotNull] ReadWriteStringBufferVault vault, [NotNull] IOutputHelper helper, char favoriteChar, WriterThreadBeginToken startToken, int minWrites = DefaultMinWrites, int maxWrites = DefaultMaxWrites) : base(vault, helper, favoriteChar, startToken, minWrites, maxWrites)
 {
 }
Beispiel #12
0
 /// <inheritdoc />
 protected ClortonGameThread([NotNull] TVault vault,
                             [NotNull] IOutputHelper helper) : base(vault, helper)
 {
 }
Beispiel #13
0
 /// <inheritdoc />
 public StringBufferVaultArbiterThread([NotNull] ReadWriteStringBufferVault vault, [NotNull] IOutputHelper helper) : base(vault, helper)
 {
 }
 private protected override ReaderThread <ReadWriteStringBufferVault> InitReaderThread(
     ReadWriteStringBufferVault vault, IOutputHelper outputHelper, int index,
     string lookFor) => new CustomVaultReaderThread(vault, outputHelper, index, lookFor);
Beispiel #15
0
 /// <inheritdoc />
 public CustomVaultReaderThread([NotNull] ReadWriteStringBufferVault vault,
                                [NotNull] IOutputHelper helper, int num, [NotNull] string lookFor)
     : base(vault, helper, num, lookFor)
 {
 }
 private protected override ArbiterThread <BasicReadWriteVault <string> > InitArbiterThread(
     BasicReadWriteVault <string> vault, IOutputHelper outputHelper)
 => new BasicVaultArbiterThread(vault, outputHelper);
 /// <summary>
 /// Factory method
 /// </summary>
 /// <param name="helper">helper to wrap</param>
 /// <returns>the output helper</returns>
 /// <exception cref="ArgumentNullException"><paramref name="helper"/> was <see langword="null"/></exception>
 public static IEventRaisingOutputHelper CreateOutputHelper([NotNull] IOutputHelper helper)
 => new ThreadSafeTestOutputHelper(helper);
Beispiel #18
0
 [NotNull] private protected abstract ReaderThread <TVault> InitReaderThread([NotNull] TVault vault,
                                                                             [NotNull] IOutputHelper outputHelper, int index, [NotNull] string lookFor);
Beispiel #19
0
 [NotNull] private protected abstract WriterThread <TVault> InitWriterThread([NotNull] TVault vault,
                                                                             [NotNull] IOutputHelper outputHelper, char charToWrite, [NotNull] WriterThreadBeginToken beginToken);
Beispiel #20
0
 private protected abstract ArbiterThread <TVault> InitArbiterThread([NotNull] TVault vault, [NotNull] IOutputHelper outputHelper);
 private protected override ReaderThread <BasicReadWriteVault <string> > InitReaderThread(
     BasicReadWriteVault <string> vault, IOutputHelper outputHelper, int index, string lookFor)
 => new BasicVaultReaderThread(vault, outputHelper, index, lookFor);
 private protected override ArbiterThread <ReadWriteStringBufferVault> InitArbiterThread(
     ReadWriteStringBufferVault vault, IOutputHelper outputHelper) =>
 new StringBufferVaultArbiterThread(vault, outputHelper);
 protected abstract WriterThread InitWriterThread([NotNull] ReadWriteValueListVault <UInt256> vault,
                                                  [NotNull] IOutputHelper outputHelper, in UInt256 favoriteNumber, [NotNull] WriterThreadBeginToken beginToken);
 private protected override WriterThread <ReadWriteStringBufferVault> InitWriterThread(
     ReadWriteStringBufferVault vault, IOutputHelper outputHelper, char charToWrite,
     WriterThreadBeginToken beginToken) =>
 new CustomVaultWriterThread(vault, outputHelper, charToWrite, beginToken);
Beispiel #25
0
 private protected CafeBabeGameThread([NotNull] ReadWriteValueListVault <UInt256> vault, [NotNull] IOutputHelper helper)
 {
     _concreteType = new LocklessConcreteType(this);
     _valueList    = vault ?? throw new ArgumentNullException(nameof(vault));
     _t            = new LocklessWriteOnce <Thread>(InitThread);
     _helper       = helper ?? throw new ArgumentNullException(nameof(helper));
 }
 private protected override WriterThread <BasicReadWriteVault <string> > InitWriterThread(
     BasicReadWriteVault <string> vault, IOutputHelper outputHelper, char charToWrite,
     WriterThreadBeginToken beginToken) =>
 new BasicVaultWriterThread(vault, outputHelper, charToWrite, beginToken);
Beispiel #27
0
 /// <summary>
 /// CTOR
 /// </summary>
 /// <param name="vault">the vault</param>
 /// <param name="helper">the output helper</param>
 /// <exception cref="ArgumentNullException"><paramref name="vault"/> or <paramref name="helper"/> was null.</exception>
 public ArbiterThread([NotNull] ReadWriteValueListVault <UInt256> vault, [NotNull] IOutputHelper helper) : base(
         vault, helper)
 {
 }
Beispiel #28
0
 /// <inheritdoc />
 public BasicVaultReaderThread([NotNull] BasicReadWriteVault <string> vault, [NotNull] IOutputHelper helper, int num, [NotNull] string lookFor) : base(vault, helper, num, lookFor)
 {
 }
 public MashProfileControlService(IOutputHelper helper)
 {
     _outputHelper = helper;
 }
 protected abstract ArbiterThread InitArbiterThread([NotNull] ReadWriteValueListVault <UInt256> vault,
                                                    [NotNull] IOutputHelper outputHelper);
Beispiel #31
0
 /// <summary>
 ///CTOR
 /// </summary>
 /// <param name="vault">vault protecting the string</param>
 /// <param name="helper">helper for i/o</param>
 /// <param name="favoriteNumber">number it writes</param>
 /// <param name="token">Start token</param>
 /// <param name="minWrites">min writes</param>
 /// <param name="maxWrites">max writes</param>
 /// <exception cref="ArgumentNullException"><paramref name="vault"/> or <paramref name="helper"/>
 /// or <paramref name="token"/> was <see langword="null"/>.</exception>
 /// <exception cref="ArgumentOutOfRangeException">Min writes was negative.  Or max writes did not exceed min writes
 /// by at least three.</exception>
 internal WriterThread([NotNull] ReadWriteValueListVault <UInt256> vault, [NotNull] IOutputHelper helper,
                       in UInt256 favoriteNumber, [NotNull] WriterThreadBeginToken token, int minWrites = DefaultMinWrites,