public MovementController(Relays relayBoard, Compass compassBoard, Program passedModel) { model = passedModel; relays = relayBoard; compass = compassBoard; compass.MeasurementComplete +=new Compass.MeasurementCompleteEventHandler(compassContinuousComplete); }
/// <summary> /// Initializes a new instance of the <see cref="CakeMailRestClient"/> class. /// </summary> /// <param name="apiKey">The API Key received from CakeMail</param> /// <param name="host">The host where the API is hosted. The default is api.wbsrvc.com</param> /// <param name="httpClient">Allows you to inject your own HttpClient. This is useful, for example, to setup the HtppClient with a proxy</param> public CakeMailRestClient(string apiKey, string host = DEFAULT_HOST, HttpClient httpClient = null) { _mustDisposeHttpClient = httpClient == null; _httpClient = httpClient; ApiKey = apiKey; BaseUrl = new Uri($"https://{host.TrimEnd('/')}/"); Version = typeof(CakeMailRestClient).GetTypeInfo().Assembly.GetName().Version.ToString(); UserAgent = $"CakeMail .NET REST Client/{Version} (+https://github.com/Jericho/CakeMail.RestClient)"; _fluentClient = new FluentClient(this.BaseUrl, httpClient) .SetUserAgent(this.UserAgent); _fluentClient.BaseClient.DefaultRequestHeaders.Add("apikey", this.ApiKey); _fluentClient.Filters.Remove <DefaultErrorFilter>(); _fluentClient.Filters.Add(new DiagnosticHandler()); _fluentClient.Filters.Add(new CakeMailErrorHandler()); Campaigns = new Campaigns(_fluentClient); Clients = new Clients(_fluentClient); Countries = new Countries(_fluentClient); Permissions = new Permissions(_fluentClient); Lists = new Lists(_fluentClient); Timezones = new Timezones(_fluentClient); Mailings = new Mailings(_fluentClient); Relays = new Relays(_fluentClient); Segments = new Segments(_fluentClient); Users = new Users(_fluentClient); SuppressionLists = new SuppressionLists(_fluentClient); Templates = new Templates(_fluentClient); Triggers = new Triggers(_fluentClient); }
/// <summary> /// Clears the configurations. /// </summary> private void ClearConfig() { Positions.Clear(); Relays.Clear(); Sections.Clear(); Sensors.Clear(); Switchs.Clear(); }
// POST: api/Dados public HttpResponseMessage Post([FromBody] Relays value) { relay_state = value.relay.Equals("1") ? "OFF" : "ON"; if (relay_change.Equals("ON")) { return(new HttpResponseMessage(HttpStatusCode.OK)); } return(new HttpResponseMessage(HttpStatusCode.Created)); }
public ShowTablesShoulds(ITestOutputHelper @out) { this.@out = @out; unitUnderTest = new Relays( new StringListLogger(log = new List <string>()), new Settings { InputPath = "TestFiles", FileSearchPattern = "*.xlsx" }); }
/// <summary> /// Ativa ou desativa um relé no dispositivo /// </summary> /// <param name="relay">Relé</param> /// <param name="state">Estado</param> public void SetRelayState(Relays relay, DeviceState state) { if (state == DeviceState.Off) { byte[] package = new byte[] { (byte)(0x40 | (0x0F & (byte)relay)), 0xFF }; serialPort.Write(package, 0, 2); } else { byte[] package = new byte[] { (byte)(0x50 | (0x0F & (byte)relay)), 0xFF }; serialPort.Write(package, 0, 2); } }
// Timer Callback public void UpdateRelays(object state) { using (HttpClient httpClient = new HttpClient()) { for (int x = 0; x < Relays.Count(); x++) { string relayUrl = string.Format("{0}/settings/relay/{1}", deviceUrl, x); var httpResponse = httpClient.GetStringAsync(relayUrl).Result; Relay rel = JsonConvert.DeserializeObject <Relay>(httpResponse); List <Variance> variances = rel.DetailedCompare(Relays[x]); variances.ForEach(variance => { Console.WriteLine("Property {0} changed from {1} to {2}.", variance.Prop, variance.valB, variance.valA); if (variance.valA != null && variance.valB != null) { Relays[x].GetType().GetProperty(variance.Prop).SetValue(Relays[x], variance.valA); if (variance.Prop.Equals("Ison")) { RelaySwitched?.Invoke(this, new DeviceSwitchedEventArgs { Device = this, IsOn = rel.Ison }); } } }); /* * if (rel.Ison != Relays[x].Ison) * { * * Relays[x].Ison = rel.Ison; * } */ // Relays[x] = rel; Relays[x].Parent = this; Relays[x].Id = x; } } }
/// <summary>Disables the given relays.</summary> /// <param name="relays">The relays to turn off.</param> public void DisableRelay(Relays relays) { this.regData &= (ushort)(~relays); ushort reg = this.regData; for (int i = 0; i < 16; i++) { this.data.Write((reg & 0x1) == 0); this.clock.Write(true); this.clock.Write(false); reg >>= 1; } this.latch.Write(true); this.latch.Write(false); }
public void GivenXlsxFilesInTheInputDirectoryFindsThem() { var settings = new Settings { InputPath = "TestFiles", FileSearchPattern = "*.xlsx" }; unitUnderTest = new Relays( new StringListLogger(logLines = new List <string>()), settings); var inputDir = new DirectoryInfo(PathToExampleDocs); var foundFiles = inputDir.GetFiles("*.xlsx"); unitUnderTest .ListSourceFiles() .ShouldEqualByValue(foundFiles); }
private void SetIOData() { Response r = JsonConvert.DeserializeObject <Response>(Response); if (r.io.di != null) { DIs.Clear(); foreach (DigitalInput di in r.io.di) { DIs.Insert(di.diIndex, di); } } if (r.io.relay != null) { Relays.Clear(); foreach (Relay relay in r.io.relay) { Relays.Insert(relay.relayIndex, relay); } } }
public async Task <IEnumerable <PowerRelay> > GetRelaysAsync() { return(await Relays.ToListAsync()); }
static void write_SingleDIO(Relays relay, bool value) { NIUtils.Write_SingleDIO((uint)relay, value); }
public void Put([FromBody] Relays value) { relay_change = value.relay; }
/// <summary> /// Reads the configuration file. /// </summary> /// <param name="path">File name and path.</param> /// <returns>True on success, false otherwise.</returns> public virtual bool ReadConf(string path) { bool bReturn = true; //string myLine, myMotionLine; int iLine = 0; var nfi = new System.Globalization.NumberFormatInfo(); ScanBus(); ClearConfig(); var fi = new FileInfo(ICCConstants.SERVER_CONF_PATH); if (fi.Exists) { using (var sr = new StreamReader(ICCConstants.SERVER_CONF_PATH)) { bool bHeaderFound = false; while (!sr.EndOfStream && !bHeaderFound) { var line = sr.ReadLine().Trim(); iLine++; if (line.Length > 0 && line[0] != '#') { if (line.Substring(0, 17) == "ICHOOCHOO_CONF V1") { bHeaderFound = true; } } } if (bHeaderFound) { while (!sr.EndOfStream && bReturn) { var line = sr.ReadLine().Trim(); iLine++; if (line.Length > 0 && line[0] != '#') { var terms = line.Split(' '); if (terms.Length > 0) { if (terms[0] == "POSITION") { if (terms.Length == 3) { byte bID = 0xFF; if (byte.TryParse(terms[1], NumberStyles.HexNumber, nfi, out bID)) { if (!Positions.ContainsKey(bID)) { Positions.Add(bID, new ConfPosition() { ID = bID, Description = terms[2] }); } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else if (terms[0] == "SECTION") { if (terms.Length == 5) { int iID = -1; int iModuleAddr = -1; int iOutput = -1; if (int.TryParse(terms[1], NumberStyles.HexNumber, nfi, out iID)) { if (int.TryParse(terms[2], NumberStyles.HexNumber, nfi, out iModuleAddr)) { if (int.TryParse(terms[3], NumberStyles.HexNumber, nfi, out iOutput)) { if (!Sections.ContainsKey(iID)) { Sections.Add(iID, new ConfSection() { ID = iID, ModuleID = iModuleAddr, IOPort = iOutput, Description = terms[4] }); } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else if (terms[0] == "SWITCH") { if (terms.Length == 6) { int iID = -1; int iModuleAddr = -1; int iOutput = -1; int iStraightValue = -1; if (int.TryParse(terms[1], NumberStyles.HexNumber, nfi, out iID)) { if (int.TryParse(terms[2], NumberStyles.HexNumber, nfi, out iModuleAddr)) { if (int.TryParse(terms[3], NumberStyles.HexNumber, nfi, out iOutput)) { if (int.TryParse(terms[4], NumberStyles.Integer, nfi, out iStraightValue)) { if (!Switchs.ContainsKey(iID)) { Switchs.Add(iID, new ConfSwitch() { ID = iID, ModuleID = iModuleAddr, IOPort = iOutput, StraightValue = iStraightValue, Description = terms[5] }); } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else if (terms[0] == "RELAY") { if (terms.Length == 5) { int iID = -1; int iModuleAddr = -1; int iOutput = -1; if (int.TryParse(terms[1], NumberStyles.HexNumber, nfi, out iID)) { if (int.TryParse(terms[2], NumberStyles.HexNumber, nfi, out iModuleAddr)) { if (int.TryParse(terms[3], NumberStyles.HexNumber, nfi, out iOutput)) { if (!Relays.ContainsKey(iID)) { Relays.Add(iID, new ConfRelay() { ID = iID, ModuleID = iModuleAddr, IOPort = iOutput, Description = terms[4] }); } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else if (terms[0] == "SENSOR") { if (terms.Length == 6) { int iID = -1; int iModuleAddr = -1; int iOutput = -1; int iType = -1; if (int.TryParse(terms[1], NumberStyles.HexNumber, nfi, out iID)) { if (int.TryParse(terms[2], NumberStyles.HexNumber, nfi, out iModuleAddr)) { if (int.TryParse(terms[3], NumberStyles.HexNumber, nfi, out iOutput)) { if (int.TryParse(terms[4], NumberStyles.HexNumber, nfi, out iType)) { if (!Sensors.ContainsKey(iID)) { Sensors.Add(iID, new ConfSensor() { ID = iID, ModuleID = iModuleAddr, IOPort = iOutput, Type = iType, Description = terms[5] }); } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else { bReturn = false; } } else if (terms[0] == "MOTION") { bool bInMotion = true; while (!sr.EndOfStream && bInMotion && bReturn) { var motionLine = sr.ReadLine().Trim(); iLine++; if (line.Length > 0 && line[0] != '#') { var motionTerms = line.Split(' '); if (motionTerms.Length > 0) { if (motionTerms[0] == "ENDMOTION") { bInMotion = false; } } } } } if (!bReturn) { Log.LogText(string.Format("Configuration error: syntax error at line {0} '{1}'", iLine, line)); } } } } } else { bReturn = false; } sr.Close(); } } else { Log.LogText("No configuration file found.", LogLevel.Information); } return(bReturn); }
public RelayManager(Relays relays) { this.relays = relays; }
private static void GetRelaysListWorker(object sender, WaitWindowEventArgs e) { var result = Relays.GetServerRelays(); e.Result = result; }
/// <summary> /// Costruttore /// </summary> /// <param name="res">Nome del relè</param> public Relay(Relays res) : base((Cpu.Pin)res, false) { }
/// <summary> /// Solicita ao dispositivo o estado atual de um Relé /// </summary> /// <param name="relay">Relé</param> public void RequestRelayState(Relays relay) { byte[] package = new byte[] { (byte)(0x5F & (byte)relay), 0xFF }; serialPort.Write(package, 0, 2); }
public IEnumerable <PowerRelay> GetRelays() { return(Relays.ToList()); }