private static int ChannelNumber(OutputChannels outputChannel) { var lastCharOfChannelName = outputChannel.ToString().Substring(outputChannel.ToString().Length - 1, 1); int.TryParse(lastCharOfChannelName, out var channelNumber); return(channelNumber > 0 ? channelNumber : 8); }
public void SetDigitalOutputChannelValue(OutputChannels outputChannel, bool value) { switch (outputChannel) { case OutputChannels.DIG_OUT_1: SendCommand(CommandSubaddress.DIG_OUT_1, (byte)(value ? 1:0)); break; case OutputChannels.DIG_OUT_2: SendCommand(CommandSubaddress.DIG_OUT_2, (byte)(value ? 1 : 0)); break; case OutputChannels.DIG_OUT_3: SendCommand(CommandSubaddress.DIG_OUT_3, (byte)(value ? 1 : 0)); break; case OutputChannels.DIG_OUT_4: SendCommand(CommandSubaddress.DIG_OUT_4, (byte)(value ? 1 : 0)); break; case OutputChannels.DIG_OUT_5: SendCommand(CommandSubaddress.DIG_OUT_5, (byte)(value ? 1 : 0)); break; default: throw new ArgumentOutOfRangeException(nameof(outputChannel)); } }
public override void CreateChannels() { for (var i = 0; i < StandardInputChannelsCount; i++) { if (InputChannels.ContainsKey(i)) { continue; } var channel = new FyyingInputChannel(i); channel.Parent = this; //channel.ValueChanged += (obj, args) => { OnChannelValueChanged(args); }; InputChannels.Add(i, channel); } for (var i = 0; i < StandardOutputChannelsCount; i++) { if (OutputChannels.ContainsKey(i)) { continue; } var channel = new FyyingOutputChannel(i); channel.Parent = this; //channel.ValueChanged += (obj, args) => { OnChannelValueChanged(args); }; OutputChannels.Add(i, channel); } }
/** * */ public override bool put_next_sample(OutputChannels channels, SynthesisFilter filter1, SynthesisFilter filter2) { if ((allocation != 0) && (channels != OutputChannels.Right)) { float scaled_sample = (sample * factor + offset) * scalefactor; filter1.input_sample(scaled_sample, subbandnumber); } return(true); }
public void create(Bitstream stream0, Header header0, SynthesisFilter filtera, SynthesisFilter filterb, Obuffer buffer0, OutputChannels which_ch0) { stream = stream0; header = header0; filter1 = filtera; filter2 = filterb; buffer = buffer0; which_channels = which_ch0; }
public string EncodeParameter() { string res = string.Empty; res += InWidth.ToString() + " "; res += InHeight.ToString() + " "; res += InputChannels.ToString() + " "; res += OutWidth.ToString() + " "; res += OutHeight.ToString() + " "; res += OutputChannels.ToString() + " "; EncodeParameterCore(ref res); return(res); }
private bool OutputChannelInitialValue(OutputChannels outputChannel) { switch (outputChannel) { case OutputChannels.DIG_OUT_1: return(_deviceConfig?.OutputChannelsConfig?.DIG_OUT_1?.InitialValue ?? false); case OutputChannels.DIG_OUT_2: return(_deviceConfig?.OutputChannelsConfig?.DIG_OUT_2?.InitialValue ?? false); case OutputChannels.DIG_OUT_3: return(_deviceConfig?.OutputChannelsConfig?.DIG_OUT_3?.InitialValue ?? false); } return(false); }
/** * */ public override bool put_next_sample(OutputChannels channels, SynthesisFilter filter1, SynthesisFilter filter2) { base.put_next_sample(channels, filter1, filter2); if ((channel2_allocation != 0) && (channels != OutputChannels.Left)) { float sample2 = (channel2_sample * channel2_factor + channel2_offset) * channel2_scalefactor; if (channels == OutputChannels.Both) { filter2.input_sample(sample2, subbandnumber); } else { filter1.input_sample(sample2, subbandnumber); } } return(true); }
public ScDs3Device(int deviceNum, RootHub rootHub) { this.rootHub = rootHub; this.deviceNum = deviceNum; this.DeviceName = "Dualshock 3 controller " + deviceNum + 1; this.StatusIcon = Properties.Resources._128.ToImageSource(); InputChannels.Add(deviceClass.Circle); InputChannels.Add(deviceClass.Cross); InputChannels.Add(deviceClass.Square); InputChannels.Add(deviceClass.Triangle); InputChannels.Add(deviceClass.vCircle); InputChannels.Add(deviceClass.vCross); InputChannels.Add(deviceClass.vSquare); InputChannels.Add(deviceClass.vTriangle); InputChannels.Add(deviceClass.LSx); InputChannels.Add(deviceClass.LSy); InputChannels.Add(deviceClass.RSx); InputChannels.Add(deviceClass.RSy); InputChannels.Add(deviceClass.L1); InputChannels.Add(deviceClass.L2); InputChannels.Add(deviceClass.L3); InputChannels.Add(deviceClass.R1); InputChannels.Add(deviceClass.R2); InputChannels.Add(deviceClass.R3); InputChannels.Add(deviceClass.PS); InputChannels.Add(deviceClass.Select); InputChannels.Add(deviceClass.Start); InputChannels.Add(deviceClass.DUp); InputChannels.Add(deviceClass.DDown); InputChannels.Add(deviceClass.DLeft); InputChannels.Add(deviceClass.DRight); OutputChannels.Add(deviceClass.BigRumble); OutputChannels.Add(deviceClass.SmallRumble); OutputChannels.Add(deviceClass.LightBar); (rootHub.Pad[deviceNum] as UsbDevice).Report += RootHub_USBReport; }
public override void RemoveSignal(SignalViewModel signal) { if (_model is Filter) { InputChannels.Remove(signal); OutputChannels.Remove(signal); } else {//need to remove the output signal depends on type of customization switch (Name) { case "Subtraction": break; default: break; } } }
public void SetOutputChannelValue(OutputChannels outputChannel, byte value) { switch (outputChannel) { case OutputChannels.DIG_PWM_1: SendCommand(CommandSubaddress.DIG_PWM_1, value); break; case OutputChannels.DIG_PWM_2: SendCommand(CommandSubaddress.DIG_PWM_2, value); break; case OutputChannels.DIG_PWM_3: SendCommand(CommandSubaddress.DIG_PWM_3, value); break; case OutputChannels.DIG_PWM_4: SendCommand(CommandSubaddress.DIG_PWM_4, value); break; case OutputChannels.DIG_PWM_5: SendCommand(CommandSubaddress.DIG_PWM_5, value); break; case OutputChannels.DIG_PWM_6: SendCommand(CommandSubaddress.DIG_PWM_6, value); break; case OutputChannels.DIG_PWM_7: SendCommand(CommandSubaddress.DIG_PWM_7, value); break; case OutputChannels.PWM_OUT: SendCommand(CommandSubaddress.ONBOARD_PWM, value); break; default: throw new ArgumentOutOfRangeException(nameof(outputChannel)); } }
protected override int PickOutputChannel(Infrastructure.ChannelMessageEventArgs e) { for (int i = 0; i < OutputChannels.Count; i++) //TODO: not nice { if (!mChannelPressure.ContainsKey(OutputChannels[i].Name)) { mChannelPressure.Add(OutputChannels[i].Name, 0); } } double minPressure = double.MaxValue; string minKey = ""; foreach (string key in mChannelPressure.Keys) { if (mChannelPressure[key] <= minPressure) { minPressure = mChannelPressure[key]; minKey = key; } } mChannelPressure[minKey] += (double)e.Message.Headers[HeaderName.PressureValue]; return(OutputChannels.IndexOf(minKey)); }
public override void AddSignal(SignalViewModel signal) { if (_model is Filter) { InputChannels.Add(signal); // Override baseclass function OutputChannels.Add(signal); } else { switch (Name) { //case "Status Flags": //case "Zeros": //case "Missing": //case "Nominal Voltage": //case "Nominal Frequency": // break; case "Subtraction": // Set parameter SetFocusedTextBox(signal); // if step is a customization, need to make up the output signal from input signal depends on type of customizaion break; } } }
public abstract bool put_next_sample(OutputChannels channels, SynthesisFilter filter1, SynthesisFilter filter2);
public void setOutputChannels(OutputChannels _out) { outputChannels = _out; }
public SC360_Device_Plugin(int device, SettingGroup settings) { ControllerID = device; this.settings = settings; this.StatusIcon = new BitmapImage(new Uri(@"pack://application:,,,/SC360;component/Resources/360.ico")); this.DeviceName = "Controller " + ControllerID; x360device myDevice = new x360device(); InputChannels.Add(myDevice.LSx); InputChannels.Add(myDevice.LSy); InputChannels.Add(myDevice.RSx); InputChannels.Add(myDevice.RSy); InputChannels.Add(myDevice.LS); InputChannels.Add(myDevice.RS); InputChannels.Add(myDevice.LT); InputChannels.Add(myDevice.RT); InputChannels.Add(myDevice.LB); InputChannels.Add(myDevice.RB); InputChannels.Add(myDevice.DUp); InputChannels.Add(myDevice.DDown); InputChannels.Add(myDevice.DLeft); InputChannels.Add(myDevice.DRight); InputChannels.Add(myDevice.A); InputChannels.Add(myDevice.B); InputChannels.Add(myDevice.X); InputChannels.Add(myDevice.Y); InputChannels.Add(myDevice.Start); InputChannels.Add(myDevice.Back); InputChannels.Add(myDevice.Guide); OutputChannels.Add(myDevice.SmallRumble); OutputChannels.Add(myDevice.BigRumble); if (SC360Globals.scBus.Open() && SC360Globals.scBus.Start()) { SC360Globals.scBus.Plugin(device); if (settings.getSetting("Low latency mode")) { byte[] Report = new byte[28]; byte[] Rumble = new byte[8]; foreach (DeviceChannel channel in InputChannels) { channel.PropertyChanged += (s, e) => { SC360Globals.scBus.Parse(myDevice, Report, ControllerID); if (SC360Globals.scBus.Report(Report, Rumble)) { // if (Rumble[1] == 0x08) // { // myDevice.SmallRumble.Value = Rumble[3]; // myDevice.BigRumble.Value = Rumble[4]; // } } }; } } else { ReportingThread = new Thread(() => ReportingThreadLoop(myDevice)); ReportingThread.Start(); } } }