public void ResetPins() { for (int i = 0; i < Pins.Count; i++) { _pins[i] = new PinVMConverter(); if (i < 8) { Pins[i].AllowedTypes.Add(PinType.Axis_Analog); } if (i == 12 || i == 13 || i == 15) { if (!Pins[i].AllowedTypes.Contains(PinType.LED_PWM)) { Pins[i].AllowedTypes.Add(PinType.LED_PWM); } } if (i == 14) { Pins[i].AllowedTypes.Remove(PinType.TLE501x_CS); Pins[i].AllowedTypes.Remove(PinType.ShiftReg_LATCH); Pins[i].AllowedTypes.Remove(PinType.ShiftReg_DATA); if (!Pins[i].AllowedTypes.Contains(PinType.SPI_SCK)) { Pins[i].AllowedTypes.Add(PinType.SPI_SCK); } } if (i == 16) { Pins[i].AllowedTypes.Remove(PinType.TLE501x_CS); if (!Pins[i].AllowedTypes.Contains(PinType.TLE501x_DATA)) { Pins[i].AllowedTypes.Add(PinType.TLE501x_DATA); } } if (i == 17) { Pins[i].AllowedTypes.Remove(PinType.TLE501x_CS); if (!Pins[i].AllowedTypes.Contains(PinType.TLE501x_GEN)) { Pins[i].AllowedTypes.Add(PinType.TLE501x_GEN); } } Pins[i].PropertyChanged += PinsVM_PropertyChanged; } // update config //DeviceConfig tmp = Config; for (int i = 0; i < Config.PinConfig.Count; i++) { Config.PinConfig[i] = Pins[i].SelectedType; } //Config = tmp; PinsVM_PropertyChanged(this, null); }
public void ResetPins() { for (int i = 0; i < Pins.Count; i++) { _pins[i] = new PinVMConverter(); if (i < 8) { Pins[i].AllowedTypes.Add(PinType.Axis_Analog); } if (i == 8 || i == 9) { Pins[i].AllowedTypes.Add(PinType.Fast_Encoder); } if (i == 12 || i == 13 || i == 15) { if (!Pins[i].AllowedTypes.Contains(PinType.LED_PWM)) { Pins[i].AllowedTypes.Add(PinType.LED_PWM); } } if (i == 14) { Pins[i].AllowedTypes.Remove(PinType.TLE5011_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3201_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3202_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3204_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3208_CS); Pins[i].AllowedTypes.Remove(PinType.MLX90393_CS); Pins[i].AllowedTypes.Remove(PinType.ShiftReg_LATCH); Pins[i].AllowedTypes.Remove(PinType.ShiftReg_DATA); if (!Pins[i].AllowedTypes.Contains(PinType.SPI_SCK)) { Pins[i].AllowedTypes.Add(PinType.SPI_SCK); } } if (i == 15) { Pins[i].AllowedTypes.Remove(PinType.TLE5011_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3201_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3202_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3204_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3208_CS); Pins[i].AllowedTypes.Remove(PinType.MLX90393_CS); if (!Pins[i].AllowedTypes.Contains(PinType.SPI_MISO)) { Pins[i].AllowedTypes.Add(PinType.SPI_MISO); } } if (i == 16) { Pins[i].AllowedTypes.Remove(PinType.TLE5011_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3201_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3202_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3204_CS); Pins[i].AllowedTypes.Remove(PinType.MCP3208_CS); Pins[i].AllowedTypes.Remove(PinType.MLX90393_CS); if (!Pins[i].AllowedTypes.Contains(PinType.SPI_MOSI)) { Pins[i].AllowedTypes.Add(PinType.SPI_MOSI); } } if (i == 17) { Pins[i].AllowedTypes.Remove(PinType.TLE5011_CS); if (!Pins[i].AllowedTypes.Contains(PinType.TLE5011_GEN)) { Pins[i].AllowedTypes.Add(PinType.TLE5011_GEN); } } if (i == 19) { if (!Pins[i].AllowedTypes.Contains(PinType.I2C_SCL)) { Pins[i].AllowedTypes.Add(PinType.I2C_SCL); } } if (i == 20) { if (!Pins[i].AllowedTypes.Contains(PinType.I2C_SDA)) { Pins[i].AllowedTypes.Add(PinType.I2C_SDA); } } Pins[i].PropertyChanged += PinsVM_PropertyChanged; } // update config //DeviceConfig tmp = Config; for (int i = 0; i < Config.PinConfig.Count; i++) { Config.PinConfig[i] = Pins[i].SelectedType; } //Config = tmp; PinsVM_PropertyChanged(this, null); }