//Is called when "YourDyno" Closes private void OnApplicationExit(object sender, EventArgs e) { try { RelayManager.CloseAllChannels(); //Closes all relay channels } catch { MessageBox.Show("Failed to close relays."); } try { //Removes the driver (Needs to be done though CMD since not every one runs "YourDyno" as admin. System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; startInfo.Arguments = "/C del " + dlldir; process.StartInfo = startInfo; process.Start(); } catch { MessageBox.Show("Failed to clean up USB Relay Driver."); } }
private void timer2000_Tick(object sender, EventArgs e) { RelayManager.Open(0, 2); R2.BackColor = Color.Orange; timer2000.Stop(); timer500.Start(); Properties.Status.Default.race_state = 1; }
public Manager() { if (Manager.manager != null) { throw new UnityException("Cannot create another instance of Manager"); } this.rManager = new RelayManager(); this.sManager = new SatelliteManager(); this.eManager = new EchoManager(); this.cManager = new CityManager(); this.lManager = new LeverManager(); this.mManager = new MusicManager(); }
private void Awake() { if (Instance == null) { Instance = this; _constructiblesTiles = new List <BaseTileData>(); _relayInRange = new List <BaseTileData>(); InitState = InitializationState.Ready; } else { Destroy(gameObject); } }
private void buttonCancelRace_Click(object sender, EventArgs e) { groupBox2.Enabled = true; groupBox3.Enabled = true; stopwatch.Stop(); startButton.Enabled = true; RelayManager.Close(0, 1); R1.BackColor = SystemColors.Control; RelayManager.Close(0, 2); R2.BackColor = SystemColors.Control; RelayManager.Close(0, 3); R3.BackColor = SystemColors.Control; RelayManager.Close(0, 4); R4.BackColor = SystemColors.Control; RelayManager.Close(0, 5); R5.BackColor = SystemColors.Control; buttonCancelRace.Visible = false; }
private void startButton_Click(object sender, EventArgs e) { SaveEverything(); Properties.Status.Default.race_state = 0; //Race State: //0 - before start //1 - starting //2 - green, Go! //3 - false start //4 - Finished counter = 0; RelayManager.Open(0, 1); R1.BackColor = Color.Blue; RelayManager.Close(0, 2); R2.BackColor = SystemColors.Control; RelayManager.Close(0, 3); R3.BackColor = SystemColors.Control; RelayManager.Close(0, 4); R4.BackColor = SystemColors.Control; RelayManager.Close(0, 5); R5.BackColor = SystemColors.Control; buttonCancelRace.Visible = false; timer2000.Interval = Properties.Settings.Default.preStageTime_ms; if (Properties.Settings.Default.start_mode) { timer500.Interval = 500; } else { timer500.Interval = 400; } groupBox2.Enabled = false; groupBox3.Enabled = false; stopwatch.Stop(); stopwatch.Reset(); timer2000.Start(); }
private void timer500_Tick(object sender, EventArgs e) { counter++; switch (counter) { case 1: if (Properties.Settings.Default.start_mode) { RelayManager.Close(0, 2); R2.BackColor = SystemColors.Control; } RelayManager.Open(0, 3); R3.BackColor = Color.Orange; break; case 2: if (Properties.Settings.Default.start_mode) { RelayManager.Close(0, 3); R3.BackColor = SystemColors.Control; } RelayManager.Open(0, 4); R4.BackColor = Color.Orange; break; case 3: RelayManager.Close(0, 2); RelayManager.Close(0, 3); RelayManager.Close(0, 4); RelayManager.Open(0, 5); R2.BackColor = SystemColors.Control; R3.BackColor = SystemColors.Control; R4.BackColor = SystemColors.Control; R5.BackColor = Color.ForestGreen; timer500.Stop(); buttonCancelRace.Visible = true; stopwatch.Restart(); Properties.Status.Default.race_state = 2; break; } }
public void ResetExceptMusic() { this.rManager.Destroy(); this.rManager = null; this.sManager.Destroy(); this.sManager = null; this.eManager.Destroy(); this.eManager = null; this.cManager.Destroy(); this.cManager = null; this.lManager.Destroy(); this.lManager = null; this.rManager = new RelayManager(); this.sManager = new SatelliteManager(); this.eManager = new EchoManager(); this.cManager = new CityManager(); this.lManager = new LeverManager(); }
public void Destroy() { this.rManager.Destroy(); this.rManager = null; this.sManager.Destroy(); this.sManager = null; this.eManager.Destroy(); this.eManager = null; this.cManager.Destroy(); this.cManager = null; this.lManager.Destroy(); this.lManager = null; this.mManager.Destroy(); this.mManager = null; Manager.manager = null; //GameObject.Destroy(gameObject); }
private Exception RegisterForPacketRelay() { if (_worker.CancellationPending) { return(null); } var msgResult = MessageBox.Show(String.Format("Failed to configure NAT/Firewall. " + "MiracleSticks can still connect using a hosted relay service, but performance may be degraded. " + "To ensure optimal performance, either enable UPnP on your NAT/Firewall or manually configure it to forward port {0} to this computer.", ConfigManager.Data.Port), "Configuration Warning", MessageBoxButton.OKCancel, MessageBoxImage.Warning); if (msgResult == MessageBoxResult.Cancel || _worker.CancellationPending) { return(null); } _worker.ReportProgress(80, "Registering Server"); log.Write(TraceLevel.Info, "Registering with service (proxy = true)"); var response = _apiClient.Register(new RegistrationRequest { ComputerName = ConfigManager.Data.ComputerName, StickID = ConfigManager.Data.StickId, GroupID = ConfigManager.Data.GroupId, RequireRelay = true }); if (!response.Success) { log.Write(TraceLevel.Error, "Registration failed: " + response.Description); return(new Exception("Registration failed: " + response.Description)); } else { if (String.IsNullOrWhiteSpace(response.RelayIPAddress) || response.RelayPort == 0) { log.Write(TraceLevel.Error, "Relay registration error: Invalid response from server. Please contact technical support."); return(new Exception("Relay registration error: Incomplete response from server: " + response.Description)); } log.Write(TraceLevel.Info, String.Format("Connecting to relay: {0}:{1}", response.RelayIPAddress, response.RelayPort)); var relayHost = Dns.GetHostEntry(response.RelayIPAddress); if (relayHost == null || relayHost.AddressList == null || relayHost.AddressList.Length == 0 || relayHost.AddressList[0] == null) { log.Write(TraceLevel.Error, "Relay registration error: Could not resolve hostname of relay server: " + response.RelayIPAddress); return(new Exception("Relay registration error: Could not resolve hostname of relay server: " + response.RelayIPAddress)); } IPEndPoint relayEP = new IPEndPoint(relayHost.AddressList[0], response.RelayPort); _relayManager = new RelayManager(); if (!_relayManager.Start(relayEP, ConfigManager.Data.Port)) { log.Write(TraceLevel.Error, "Local relay error: " + _relayManager.ErrorDescription); return(new Exception(_relayManager.ErrorDescription)); } else { MainServerWindow.ViewModel.Address = "Relay Mode"; _worker.ReportProgress(100, "Listening for Connections..."); log.Write(TraceLevel.Info, "Listening for Connections..."); } } return(null); }
static void Main(string[] args) { RelayManager.Init(); Console.WriteLine("Total devices : " + RelayManager.DevicesCount().ToString()); for (int i = 0; i < RelayManager.DevicesCount(); ++i) { RelayManager.OpenDevice(i); Console.WriteLine("Device number : {0}", RelayManager.CurrentDeviceIndex()); Console.WriteLine("Device serial : {0}", RelayManager.RelaySerial()); Console.WriteLine("Device channels : {0}", RelayManager.ChannelsCount()); Console.WriteLine("--------------------------------"); } Console.WriteLine("Enter 'q' for quit"); while (true) { string s = Console.ReadLine(); if (s == "1") { Console.WriteLine("Opening..."); RelayManager.Open(0, 1); Console.WriteLine("Channel 1 opened status : " + RelayManager.ChannelOpened(1)); } if (s == "2") { Console.WriteLine("Closing..."); RelayManager.Close(0, 1); Console.WriteLine("Channel 1 opened status : " + RelayManager.ChannelOpened(1)); } if (s == "3") { Console.WriteLine("Opening..."); RelayManager.Open(1, 1); Console.WriteLine("Channel 1 opened status : " + RelayManager.ChannelOpened(1)); } if (s == "4") { Console.WriteLine("Closing..."); RelayManager.Close(1, 1); Console.WriteLine("Channel 1 opened status : " + RelayManager.ChannelOpened(1)); } if (s == "5") { Console.WriteLine("Inverting channel 1 on relay 0..."); RelayManager.Invert(0, 1); Console.WriteLine("Channel 1 opened status : " + RelayManager.ChannelOpened(1)); } if (s == "6") { Console.WriteLine("Inverting channel 1 on relay 1 ..."); RelayManager.Invert(1, 1); Console.WriteLine("Channel 1 opened status : " + RelayManager.ChannelOpened(1)); } if (s == "q") { break; } } RelayManager.Close(); }
public SetDistancePerRev() { //////////////////////////////////// ///Hotkeys /// //////////////////////////////////// //Hilfsform erschaffen um die Hotkeys zu behandeln. nicht sichtbar Form HKHandlerForm = new Form() { Visible = false }; HK.OwnerForm = HKHandlerForm; HK.HotKeyPressed += new HotKey.HotKeyPressedEventHandler(HK_HotKeyPressed); /*HK.AddHotKey(Keys.F1, HotKey.MODKEY.MOD_CONTROL, "Relay1Key"); * HK.AddHotKey(Keys.F2, HotKey.MODKEY.MOD_CONTROL, "Relay2Key"); * HK.AddHotKey(Keys.F3, HotKey.MODKEY.MOD_CONTROL, "Relay3Key"); * HK.AddHotKey(Keys.F4, HotKey.MODKEY.MOD_CONTROL, "Relay4Key"); * HK.AddHotKey(Keys.F5, HotKey.MODKEY.MOD_CONTROL, "Relay5Key");*/ HK.AddHotKey(Keys.F6, HotKey.MODKEY.MOD_NONE, "Relay6Key"); HK.AddHotKey(Keys.F7, HotKey.MODKEY.MOD_NONE, "Relay7Key"); HK.AddHotKey(Keys.F8, HotKey.MODKEY.MOD_NONE, "Relay8Key"); HK.AddHotKey(Keys.F9, HotKey.MODKEY.MOD_NONE, "ResetDistance"); ////////////////////////////// ///Relay Status /// Rectangle screensize = Screen.PrimaryScreen.WorkingArea; int width = 600; int xpos = screensize.Width - width; int ypos = 25; statusOverlay.Location = new System.Drawing.Point(xpos, ypos); statusOverlay.Size = new Size(width, 38); InitializeComponent(); statusOverlay.Show(); R6.Text = Properties.Settings.Default.R_6Name; R7.Text = Properties.Settings.Default.R_7Name; R8.Text = Properties.Settings.Default.R_8Name; //Starts the driver RelayManager.Init(); startButton.Enabled = true; R1.Enabled = false; R1.BackColor = SystemColors.Control; R2.Enabled = false; R2.BackColor = SystemColors.Control; R3.Enabled = false; R3.BackColor = SystemColors.Control; R4.Enabled = false; R4.BackColor = SystemColors.Control; R5.Enabled = false; R5.BackColor = SystemColors.Control; R6.Enabled = true; R7.Enabled = true; R8.Enabled = true; //Checks to see if there is a connected USB Relay board. if (RelayManager.DevicesCount() == 0) { Properties.Status.Default.NoRelayBrd = true; //MessageBox.Show("USBRelay (No Connected Devices)"); } else { //Opens first USB Relay board found RelayManager.OpenDevice(0); //Reads serial number RSerial.Text = "USB Relay Serial: " + (RelayManager.RelaySerial().ToString()); //Reads info on how many channels and enables the correct number of buttons. switch (RelayManager.ChannelsCount()) { case 1: R1.Enabled = true; //Checks state of relay and sets colour accordingly. if (RelayManager.ChannelOpened(1).ToString() == "False") { R1.BackColor = SystemColors.Control; } else { R1.BackColor = Color.ForestGreen; } break; case 2: R1.Enabled = true; R2.Enabled = true; if (RelayManager.ChannelOpened(1).ToString() == "False") { R1.BackColor = SystemColors.Control; } else { R1.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(2).ToString() == "False") { R2.BackColor = SystemColors.Control; } else { R2.BackColor = Color.ForestGreen; } break; case 4: R1.Enabled = true; R2.Enabled = true; R3.Enabled = true; R4.Enabled = true; if (RelayManager.ChannelOpened(1).ToString() == "False") { R1.BackColor = SystemColors.Control; } else { R1.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(2).ToString() == "False") { R2.BackColor = SystemColors.Control; } else { R2.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(3).ToString() == "False") { R3.BackColor = SystemColors.Control; } else { R3.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(4).ToString() == "False") { R4.BackColor = SystemColors.Control; } else { R4.BackColor = Color.ForestGreen; } break; case 8: R1.Enabled = true; R2.Enabled = true; R3.Enabled = true; R4.Enabled = true; R5.Enabled = true; R6.Enabled = true; R7.Enabled = true; R8.Enabled = true; if (RelayManager.ChannelOpened(1).ToString() == "False") { R1.BackColor = SystemColors.Control; } else { R1.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(2).ToString() == "False") { R2.BackColor = SystemColors.Control; } else { R2.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(3).ToString() == "False") { R3.BackColor = SystemColors.Control; } else { R3.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(4).ToString() == "False") { R4.BackColor = SystemColors.Control; } else { R4.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(5).ToString() == "False") { R5.BackColor = SystemColors.Control; } else { R5.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(6).ToString() == "False") { R6.BackColor = SystemColors.Control; } else { R6.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(7).ToString() == "False") { R7.BackColor = SystemColors.Control; } else { R7.BackColor = Color.ForestGreen; } if (RelayManager.ChannelOpened(8).ToString() == "False") { R8.BackColor = SystemColors.Control; } else { R8.BackColor = Color.ForestGreen; } break; default: MessageBox.Show("Something went wrong with detecting number of relays."); break; } } //Fill Text Boxes and other control elements with Settings textBoxBrakeCirc.Value = (decimal)Properties.Settings.Default.brakeCirc; textBoxCdA.Text = Properties.Settings.Default.CdA.ToString(); textBoxStageTime.Text = Properties.Settings.Default.preStageTime_ms.ToString(); textBoxWeight.Text = Properties.Settings.Default.VehicleWeight.ToString(); if (Properties.Settings.Default.start_mode) { radioButtonModeStd.Checked = true; } else { radioButtonModeNHRA.Checked = true; } switch (Properties.Settings.Default.race_mode) { case 0: radioButtonRaceMode1.Checked = true; break; case 1: radioButtonRaceMode2.Checked = true; break; case 2: radioButtonRaceMode3.Checked = true; break; case 3: radioButtonRaceMode4.Checked = true; break; case 4: radioButtonRaceMode5.Checked = true; break; } }
public void toggleRelay(int RelayNo) { //Set RelayNo to 0 if rollers are turning and deactivation checkbox is checked //DEBUG: //Properties.Status.Default.RollersTurning = true; if (Properties.Status.Default.RollersTurning & Properties.Settings.Default.R6dis_on_speed & RelayNo == 6) { RelayNo = 0; } if (Properties.Status.Default.RollersTurning & Properties.Settings.Default.R7dis_on_speed & RelayNo == 7) { RelayNo = 0; } if (Properties.Status.Default.RollersTurning & Properties.Settings.Default.R8dis_on_speed & RelayNo == 8) { RelayNo = 0; } switch (RelayNo) { case 0: break; case 1: if (R1.BackColor == SystemColors.Control) { //Enables that relay when button pressed. RelayManager.Open(0, 1); R1.BackColor = Color.ForestGreen; } else { //Disables that relay when button pressed. RelayManager.Close(0, 1); R1.BackColor = SystemColors.Control; } break; case 2: if (R2.BackColor == SystemColors.Control) { //Enables that relay when button pressed. RelayManager.Open(0, 2); R2.BackColor = Color.ForestGreen; } else { //Disables that relay when button pressed. RelayManager.Close(0, 2); R2.BackColor = SystemColors.Control; } break; case 3: if (R3.BackColor == SystemColors.Control) { //Enables that relay when button pressed. RelayManager.Open(0, 3); R3.BackColor = Color.ForestGreen; } else { //Disables that relay when button pressed. RelayManager.Close(0, 3); R3.BackColor = SystemColors.Control; } break; case 4: if (R4.BackColor == SystemColors.Control) { //Enables that relay when button pressed. RelayManager.Open(0, 4); R4.BackColor = Color.ForestGreen; } else { //Disables that relay when button pressed. RelayManager.Close(0, 4); R4.BackColor = SystemColors.Control; } break; case 5: if (R5.BackColor == SystemColors.Control) { //Enables that relay when button pressed. RelayManager.Open(0, 5); R5.BackColor = Color.ForestGreen; } else { //Disables that relay when button pressed. RelayManager.Close(0, 5); R5.BackColor = SystemColors.Control; } break; case 6: if (R6.BackColor == SystemColors.Control) { //Enables that relay when button pressed. RelayManager.Open(0, 6); R6.BackColor = Color.ForestGreen; statusOverlay.button1.BackColor = Color.ForestGreen; } else { //Disables that relay when button pressed. RelayManager.Close(0, 6); R6.BackColor = SystemColors.Control; statusOverlay.button1.BackColor = SystemColors.Control; } break; case 7: if (R7.BackColor == SystemColors.Control) { //Enables that relay when button pressed. RelayManager.Open(0, 7); R7.BackColor = Color.ForestGreen; statusOverlay.button2.BackColor = Color.ForestGreen; } else { //Disables that relay when button pressed. RelayManager.Close(0, 7); R7.BackColor = SystemColors.Control; statusOverlay.button2.BackColor = SystemColors.Control; } break; case 8: if (R8.BackColor == SystemColors.Control) { //Enables that relay when button pressed. RelayManager.Open(0, 8); R8.BackColor = Color.ForestGreen; statusOverlay.button3.BackColor = Color.ForestGreen; } else { //Disables that relay when button pressed. RelayManager.Close(0, 8); R8.BackColor = SystemColors.Control; statusOverlay.button3.BackColor = SystemColors.Control; } break; } }