added bsic config file

This commit is contained in:
Conor 2020-10-27 20:07:26 +00:00
parent 0d129c574a
commit 48d9879645
27 changed files with 561 additions and 69 deletions

Binary file not shown.

View File

@ -7,18 +7,19 @@ namespace RGBController2.Boards
{
public class ArduinoBoard : IBoard
{
public bool Connected { get; }
private SerialPort _serialPort;
public bool Conected { get; }
public ArduinoBoard(string portName, int baudRate = 9600)
{
Conected = false;
Connected = false;
_serialPort = new SerialPort();
_serialPort.PortName = portName;
_serialPort.BaudRate = baudRate;
_serialPort.Open();
if (_serialPort.IsOpen)
Conected = true;
Connected = true;
}
public void SetAllLeds(byte red, byte green, byte blue)

View File

@ -0,0 +1,141 @@
using CUE.NET;
using CUE.NET.Brushes;
using CUE.NET.Devices.Generic.Enums;
using CUE.NET.Devices.Keyboard;
using CUE.NET.Devices.Keyboard.Enums;
using CUE.NET.Exceptions;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Windows;
using System.ComponentModel;
using CUE.NET.Devices.Generic;
namespace RGBController2.Boards
{
public class CUEDeviceBoard : IBoard
{
private AbstractCueDevice _device;
private CorsairDeviceType _deviceType;
public CorsairDeviceType DeviceType
{
get { return _deviceType; }
set { _deviceType = value; }
}
private CorsairDeviceType[] _availableDevices;
public CorsairDeviceType[] AvailableDevices
{
get { return _availableDevices; }
}
private bool _connected;
public bool Connected
{
get { return _connected; }
}
/// <summary>
/// Contructs oject to control Cue devices. Note: this does not connect to a device.
/// </summary>
public CUEDeviceBoard()
{
List<CorsairDeviceType> device = new List<CorsairDeviceType>();
// Find which devices are available
if (CueSDK.IsSDKAvailable(CorsairDeviceType.Headset))
device.Add(CorsairDeviceType.Headset);
if (CueSDK.IsSDKAvailable(CorsairDeviceType.HeadsetStand))
device.Add(CorsairDeviceType.HeadsetStand);
if (CueSDK.IsSDKAvailable(CorsairDeviceType.Keyboard))
device.Add(CorsairDeviceType.Keyboard);
if (CueSDK.IsSDKAvailable(CorsairDeviceType.Mouse))
device.Add(CorsairDeviceType.Mouse);
if (CueSDK.IsSDKAvailable(CorsairDeviceType.Mousemat))
device.Add(CorsairDeviceType.Mousemat);
_availableDevices = device.ToArray();
_connected = false;
}
/// <summary>
/// Connects to and initilises the given device.
/// </summary>
/// <param name="deviceType">The type of device to connect to</param>
public void ConnectToDevice(CorsairDeviceType deviceType)
{
try
{
CueSDK.Initialize();
switch(deviceType)
{
case CorsairDeviceType.Headset:
_device = CueSDK.HeadsetSDK;
break;
case CorsairDeviceType.HeadsetStand:
_device = CueSDK.HeadsetStandSDK;
break;
case CorsairDeviceType.Keyboard:
_device = CueSDK.KeyboardSDK;
break;
case CorsairDeviceType.Mouse:
_device = CueSDK.MouseSDK;
break;
case CorsairDeviceType.Mousemat:
_device = CueSDK.MousematSDK;
break;
}
if (_device == null)
throw new WrapperException("No CUE device found");
_device.Brush = (CUE.NET.Brushes.SolidColorBrush)Color.Transparent; // This 'enables' manual color changes.
// Sets the device to blue, this should probally be changed to a different colour
SolidColorBrush solidColorBrush = new SolidColorBrush(Color.Blue);
_device.Brush = solidColorBrush;
_device.Update();
_connected = true;
}
catch (CUEException ex)
{
MessageBox.Show("CUE Exception! ErrorCode: " + Enum.GetName(typeof(CorsairError), ex.Error));
}
catch (WrapperException ex)
{
MessageBox.Show("Wrapper Exception! Message:" + ex.Message);
}
}
/// <summary>
/// Sets all of the LEDs to the chosen RGB colour.
/// </summary>
/// <param name="red">The red value</param>
/// <param name="green">The green value</param>
/// <param name="blue">The blue value</param>
public void SetAllLeds(byte red, byte green, byte blue)
{
if (Connected)
{
SolidColorBrush solidColorBrush = new SolidColorBrush(Color.FromArgb(255, (byte)red, (byte)green, (byte)blue));
_device.Brush = solidColorBrush;
_device.Update();
}
}
/// <summary>
/// Turns off all of the LEDs for that device.
/// </summary>
public void TurnOffAllLeds()
{
if (Connected)
{
SolidColorBrush solidColorBrush = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));
_device.Brush = solidColorBrush;
_device.Update();
}
}
}
}

View File

@ -6,6 +6,8 @@ namespace RGBController2.Boards
{
public interface IBoard
{
public bool Connected { get; }
/// <summary>
/// Sets all of the LEDs to the chosen RGB colour.
/// </summary>

View File

@ -22,8 +22,21 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="CUE.NET" Version="1.2.0.1" />
<PackageReference Include="Extended.Wpf.Toolkit" Version="4.0.1" />
<PackageReference Include="System.IO.Ports" Version="4.7.0" />
</ItemGroup>
<ItemGroup>
<Compile Update="Views\Tabs\CUEDeviceTabView.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<Page Update="Views\Tabs\CUEDeviceTabView.xaml">
<SubType>Designer</SubType>
</Page>
</ItemGroup>
</Project>

View File

@ -36,6 +36,9 @@
<Page Update="Views\LightingModes\StaticView.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Views\Tabs\CUEDeviceTabView.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Views\Tabs\ArduinoTabView.xaml">
<SubType>Designer</SubType>
</Page>

View File

@ -82,8 +82,8 @@ namespace RGBController2.ViewModels.LightingModes
public ICommand SendCommand { get; set; }
private ArduinoBoard _arduinoBoard;
public StaticViewModel(ArduinoBoard arduinoBoard)
private IBoard _ledBoard;
public StaticViewModel(IBoard ledBoard)
{
SendCommand = new ActionCommand(o => SendButtonClick("SenderButton"));
@ -98,7 +98,7 @@ namespace RGBController2.ViewModels.LightingModes
ColourSend = new SolidColorBrush(Color.FromRgb((byte)RedColourSend, (byte)GreenColourSend, (byte)BlueColourSend));
// This is here to allow us to interface with the board stored in the MainViewModel
// ideally this would involved pointers but C# does not seem to like pointers
_arduinoBoard = arduinoBoard;
_ledBoard = ledBoard;
// ToDo load from previous values
}
@ -111,10 +111,10 @@ namespace RGBController2.ViewModels.LightingModes
private void SendButtonClick(object sender)
{
if (_arduinoBoard != null)
if (_arduinoBoard.Conected)
if (_ledBoard != null)
if (_ledBoard.Connected)
{
_arduinoBoard.SetAllLeds((byte)RedColourSend, (byte)GreenColourSend, (byte)BlueColourSend);
_ledBoard.SetAllLeds((byte)RedColourSend, (byte)GreenColourSend, (byte)BlueColourSend);
RedColourCurrent = RedColourSend;
GreenColourCurrent = GreenColourSend;
BlueColourCurrent = BlueColourSend;

View File

@ -2,28 +2,71 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Text;
using System.Windows.Input;
using RGBController2.Commands;
using RGBController2.ViewModels.Tabs;
using RGBController2.ViewModels.Dialogs;
using System.ComponentModel;
using System.Windows;
using System.Xml;
namespace RGBController2.ViewModels
{
class MainViewModel
{
private readonly ObservableCollection<ITab> _tabs;
private readonly ObservableCollection<Tab> _tabs;
public ICommand NewTabCommand { get; }
public static ICollection<ITab> Tabs { get; set; }
public static ICollection<Tab> Tabs { get; set; }
public MainViewModel()
{
NewTabCommand = new ActionCommand(p => NewTab());
_tabs = new ObservableCollection<ITab>();
_tabs = new ObservableCollection<Tab>();
_tabs.CollectionChanged += Tabs_CollectionChanged;
Tabs = _tabs;
// Check here that the config file exists
// Load the config file
using (XmlReader reader = XmlReader.Create("config.xml"))
{
string name = "";
string type = "";
while (reader.Read())
{
if (reader.IsStartElement())
{
//return only when you have START tag
switch (reader.Name.ToString())
{
case "name":
name = reader.ReadString();
break;
case "type":
type = reader.ReadString();
break;
}
}
// Create the tab here
if (name != "" && type != "")
{
switch(type)
{
case "arduino":
_tabs.Add(new ArduinoTab(name));
break;
case "cue":
_tabs.Add(new CueDeviceTab(name));
break;
}
name = "";
type = "";
}
}
}
}
private void Tabs_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
@ -46,7 +89,7 @@ namespace RGBController2.ViewModels
private void OnTabCloseRequested(object sender, EventArgs e)
{
Tabs.Remove((ITab) sender);
Tabs.Remove((Tab) sender);
}
private void NewTab()
@ -58,9 +101,62 @@ namespace RGBController2.ViewModels
// Use the results from the dialog when creating the new tab
if (dialog.Success)
{
Tabs.Add(new ArduinoTab(dialog.DeviceName));
switch(dialog.SelectedDeviceType)
{
case 0: // Arduino
Tabs.Add(new ArduinoTab(dialog.DeviceName));
break;
case 1:
Tabs.Add(new CueDeviceTab(dialog.DeviceName));
break;
}
}
}
/// <summary>
/// This function is called when the application is closed.
/// This allows the configuration to be saved to disk.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void OnWindowClosing(object sender, CancelEventArgs e)
{
// ToDo - Save the config to disk
// This may need to be saved somwhere better, for now we will just save it
// with the executable
XmlWriter xmlWriter = XmlWriter.Create("config.xml");
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("tabs");
xmlWriter.WriteAttributeString("count", Tabs.Count.ToString());
foreach (var tab in Tabs)
{
xmlWriter.WriteStartElement("tab");
xmlWriter.WriteStartElement("name");
xmlWriter.WriteString(tab.Name);
xmlWriter.WriteEndElement();
switch (tab.TabType)
{
case Tab.tabType.Arduino:
xmlWriter.WriteStartElement("type");
xmlWriter.WriteString("arduino");
xmlWriter.WriteEndElement();
break;
case Tab.tabType.CUE:
xmlWriter.WriteStartElement("type");
xmlWriter.WriteString("cue");
xmlWriter.WriteEndElement();
break;
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndDocument();
xmlWriter.Close();
}
}
}

View File

@ -10,6 +10,7 @@ namespace RGBController2.ViewModels.Tabs
{
public class ArduinoTab : Tab, INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private enum LightingModes
{
@ -45,12 +46,12 @@ namespace RGBController2.ViewModels.Tabs
_selectedPort = value;
// Connect to the port here
_arduinoBoard = new ArduinoBoard(_selectedPort);
if (_arduinoBoard.Conected)
if (_arduinoBoard.Connected)
{
ConnectionStatus = "Device Connected";
// Set the page to static lighting mode to allow the user to change the
// lighting mode now that we are connected to the arduino
_selectedLightingMode = new StaticViewModel(_arduinoBoard);
SelectedLightingMode = new StaticViewModel(_arduinoBoard);
OnPropertyChanged(nameof(SelectedLightingMode));
}
else
@ -68,15 +69,9 @@ namespace RGBController2.ViewModels.Tabs
set { _lightingMode = (LightingModes) value; }
}
private BaseViewModel _selectedLightingMode;
public BaseViewModel SelectedLightingMode
{
get { return _selectedLightingMode; }
set { _selectedLightingMode = value; }
}
public ArduinoTab(string name)
{
TabType = tabType.Arduino;
Name = name;
ConnectionStatus = "Device Disconnected";
_selectedPort = "";
@ -86,7 +81,7 @@ namespace RGBController2.ViewModels.Tabs
_availablePorts = ports;
// This is a temporary viewmodel that is used before the user has connected to a device
_selectedLightingMode = new InformationViewModel();
SelectedLightingMode = new InformationViewModel();
}
protected void OnPropertyChanged(string propertyName)

View File

@ -0,0 +1,98 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;
using RGBController2.Boards;
using System.ComponentModel;
using RGBController2.ViewModels.LightingModes;
using CUE.NET.Devices.Generic.Enums;
namespace RGBController2.ViewModels.Tabs
{
public class CueDeviceTab : Tab, INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private enum LightingModes
{
StaticMode = 0,
AnimationMode,
QuakeMode
}
private CUEDeviceBoard _cueDeviceBoard;
private CorsairDeviceType[] _availableDevices;
public CorsairDeviceType[] AvailableDevices
{
get { return _availableDevices; }
}
private CorsairDeviceType _selectedDevice;
public CorsairDeviceType SelectedDevice
{
get { return _selectedDevice; }
set
{
if (value != _selectedDevice)
{
// Connect to the device
_cueDeviceBoard.ConnectToDevice(value);
if (_cueDeviceBoard.Connected)
{
ConnectionStatus = "Device Connected";
// Set the page to static lighting mode to allow the user to change the
// lighting mode now that we are connected to the CUE Device
SelectedLightingMode = new StaticViewModel(_cueDeviceBoard);
OnPropertyChanged(nameof(SelectedLightingMode));
}
else
ConnectionStatus = "Failed to connect to device";
OnPropertyChanged(nameof(ConnectionStatus));
}
}
}
private string _conntectionStatus;
public string ConnectionStatus
{
get { return _conntectionStatus; }
set { _conntectionStatus = value; }
}
private LightingModes _lightingMode;
public int LightingMode
{
get { return (int)_lightingMode; }
set { _lightingMode = (LightingModes) value; }
}
private BaseViewModel _selectedLightingMode;
public CueDeviceTab(string name)
{
TabType = tabType.CUE;
Name = name;
ConnectionStatus = "Device Disconnected";
// Create the device object
_cueDeviceBoard = new CUEDeviceBoard();
// Get a list of the available cue devices
_availableDevices = _cueDeviceBoard.AvailableDevices;
// This is a temporary viewmodel that is used before the user has connected to a device
_selectedLightingMode = new InformationViewModel();
}
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}

View File

@ -1,4 +1,5 @@
using System;
using RGBController2.ViewModels;
using System;
using System.Windows.Input;
namespace RGBController2

View File

@ -6,11 +6,26 @@ namespace RGBController2.ViewModels.Tabs
{
public abstract class Tab : ITab
{
public enum tabType
{
Unknown,
Arduino,
CUE
}
public tabType TabType = tabType.Unknown;
public Tab()
{
CloseCommand = new ActionCommand(p => CloseRequested?.Invoke(this, EventArgs.Empty));
}
private BaseViewModel _selectedLightingMode;
public BaseViewModel SelectedLightingMode
{
get { return _selectedLightingMode; }
set { _selectedLightingMode = value; }
}
public string Name { get; set; }
public ICommand CloseCommand { get; }
public event EventHandler CloseRequested;

View File

@ -5,12 +5,13 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:RGBController2.Views.Dialogs"
mc:Ignorable="d"
Title="NewTabDialogView" Height="150" Width="300">
ResizeMode="NoResize"
Title="New Tab" Height="150" Width="300">
<Grid>
<Label Content="Device Type" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="5,5,0,0"/>
<ComboBox VerticalAlignment="Top" HorizontalAlignment="Left" Margin="90,5,0,0" Width="150" SelectedIndex="{Binding SelectedDeviceType}">
<ComboBoxItem>Arduino</ComboBoxItem>
<ComboBoxItem>Corsair Keyboard</ComboBoxItem>
<ComboBoxItem>Corsair CUE Device</ComboBoxItem>
</ComboBox>
<Label Content="Device Name" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="5,30,0,0"/>
<TextBox VerticalAlignment="Top" HorizontalAlignment="Left" Margin="90,35,0,0" Width="150" Text="{Binding DeviceName}"/>

View File

@ -5,6 +5,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:RGBController2.Views.LightingModes"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:viewmodels="clr-namespace:RGBController2.ViewModels.LightingModes"
mc:Ignorable="d"
d:DesignHeight="250" d:DesignWidth="700"
Background="White">

View File

@ -29,7 +29,7 @@ namespace RGBController2.Views.LightingModes
// This is a bit hacky but ensure we are only creating one ArduinoTab object and using
// that in both the MainViewModel and here
var test = (ArduinoTab)MainViewModel.Tabs.Last();
var test = MainViewModel.Tabs.Last(); // FIX ME - this needs to be something else than .Last to find the correct viewmodel
DataContext = test.SelectedLightingMode;
}
}

View File

@ -8,7 +8,7 @@
xmlns:tabsviews="clr-namespace:RGBController2.Views.Tabs"
xmlns:viewmodels="clr-namespace:RGBController2.ViewModels"
mc:Ignorable="d"
Title="MainWindow"
Title="RGB Controller"
Height="360"
Width="715"
d:DataContext="{d:DesignInstance viewmodels:MainViewModel}">
@ -33,6 +33,9 @@
<DataTemplate DataType="{x:Type tabsviewmodels:ArduinoTab}">
<tabsviews:ArduinoTabView/>
</DataTemplate>
<DataTemplate DataType="{x:Type tabsviewmodels:CueDeviceTab}">
<tabsviews:CUEDeviceTabView/>
</DataTemplate>
</TabControl.Resources>
<TabControl.ItemTemplate>

View File

@ -14,7 +14,9 @@ namespace RGBController2.Views
InitializeComponent();
// This allows the biniding to be done to the MainViewModel.cs class rather than this one.
// Why? Something to do with MVVM & good practice?
DataContext = new MainViewModel();
var viewModel = new MainViewModel();
DataContext = viewModel;
Closing += viewModel.OnWindowClosing;
}
}
}

View File

@ -0,0 +1,23 @@
<UserControl x:Class="RGBController2.Views.Tabs.CUEDeviceTabView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:RGBController2"
mc:Ignorable="d"
d:DesignHeight="280" d:DesignWidth="700"
Background="White">
<Grid>
<Label Content="Lighting Mode" Margin="0,5,0,0"/>
<ComboBox VerticalAlignment="top" HorizontalAlignment="left" Margin="100,5,0,0" Width="150" x:Name="lightingModeSelectionComboBox" SelectedIndex="{Binding LightingMode}" IsEnabled="False">
<ComboBoxItem Content="Static Colour"></ComboBoxItem>
<ComboBoxItem Content="Animations"></ComboBoxItem>
<ComboBoxItem Content="Quake Live"></ComboBoxItem>
</ComboBox>
<Label Content="Device" VerticalAlignment="top" HorizontalAlignment="left" Margin="280,5,0,0"/>
<ComboBox VerticalAlignment="top" HorizontalAlignment="left" Margin="330,5,0,0" Width="150" ItemsSource="{Binding AvailableDevices}" SelectedItem="{Binding SelectedDevice}">
</ComboBox>
<Label Content="{Binding ConnectionStatus}" VerticalAlignment="top" HorizontalAlignment="left" Margin="500,5,0,0"/>
<ContentControl Content="{Binding SelectedLightingMode}" VerticalAlignment="top" HorizontalAlignment="left" Margin="0,30,0,0" Width="700" Height="250"/>
</Grid>
</UserControl>

View File

@ -0,0 +1,29 @@
using RGBController2.ViewModels.Tabs;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace RGBController2.Views.Tabs
{
/// <summary>
/// Interaction logic for ArduinoTabView.xaml
/// </summary>
public partial class CUEDeviceTabView : UserControl
{
public CUEDeviceTabView()
{
InitializeComponent();
//DataContext = new ArduinoTab();
}
}
}

View File

@ -1,44 +1,27 @@
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Dialogs\NewTabDialogView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\AnimationView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\InformationView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\StaticView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\MainWindow.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Tabs\ArduinoTabView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Tabs\CUEDeviceTabView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\App.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2_MarkupCompile.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2_MarkupCompile.lref
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\RGBController2.exe
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\RGBController2.deps.json
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\RGBController2.runtimeconfig.json
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\RGBController2.runtimeconfig.dev.json
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\RGBController2.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\RGBController2.pdb
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.csprojAssemblyReference.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\App.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2_MarkupCompile.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2_MarkupCompile.lref
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.g.resources
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.AssemblyInfoInputs.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.AssemblyInfo.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.pdb
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.genruntimeconfig.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Tabs\ArduinoTabView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Tabs\ArduinoTabView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\System.IO.Ports.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\linux-arm\native\System.IO.Ports.Native.so
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\linux-arm64\native\System.IO.Ports.Native.so
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\linux-x64\native\System.IO.Ports.Native.so
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\osx-x64\native\System.IO.Ports.Native.dylib
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\linux\lib\netstandard2.0\System.IO.Ports.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\osx\lib\netstandard2.0\System.IO.Ports.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\win\lib\netstandard2.0\System.IO.Ports.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.csproj.CoreCompileInputs.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.csproj.CopyComplete
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\MainWindow.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\MainWindow.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\AnimationView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\StaticView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\App.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\AnimationView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\StaticView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\CUE.NET.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\Xceed.Wpf.AvalonDock.Themes.Aero.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\Xceed.Wpf.AvalonDock.Themes.Metro.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\Xceed.Wpf.AvalonDock.Themes.VS2010.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\Xceed.Wpf.AvalonDock.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\Xceed.Wpf.Toolkit.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\System.IO.Ports.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\cs-CZ\Xceed.Wpf.AvalonDock.resources.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\de\Xceed.Wpf.AvalonDock.resources.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\es\Xceed.Wpf.AvalonDock.resources.dll
@ -50,7 +33,27 @@ C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\ru\Xceed.Wpf.AvalonDock.resources.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\sv\Xceed.Wpf.AvalonDock.resources.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\zh-Hans\Xceed.Wpf.AvalonDock.resources.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\InformationView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\InformationView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Dialogs\NewTabDialogView.g.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\linux-arm\native\System.IO.Ports.Native.so
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\linux-arm64\native\System.IO.Ports.Native.so
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\linux-x64\native\System.IO.Ports.Native.so
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\osx-x64\native\System.IO.Ports.Native.dylib
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\linux\lib\netstandard2.0\System.IO.Ports.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\osx\lib\netstandard2.0\System.IO.Ports.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\bin\Debug\netcoreapp3.1\runtimes\win\lib\netstandard2.0\System.IO.Ports.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\App.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Dialogs\NewTabDialogView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\AnimationView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\InformationView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\LightingModes\StaticView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\MainWindow.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Tabs\ArduinoTabView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\Views\Tabs\CUEDeviceTabView.baml
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.g.resources
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.AssemblyInfoInputs.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.AssemblyInfo.cs
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.csproj.CoreCompileInputs.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.csproj.CopyComplete
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.dll
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.pdb
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.genruntimeconfig.cache
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\obj\Debug\netcoreapp3.1\RGBController2.csprojAssemblyReference.cache

View File

@ -6,6 +6,14 @@
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.1": {
"CUE.NET/1.2.0.1": {
"runtime": {
"lib/net45/CUE.NET.dll": {
"assemblyVersion": "1.2.0.1",
"fileVersion": "1.2.0.1"
}
}
},
"Extended.Wpf.Toolkit/4.0.1": {
"runtime": {
"lib/net40/Xceed.Wpf.AvalonDock.Themes.Aero.dll": {
@ -213,6 +221,13 @@
}
},
"libraries": {
"CUE.NET/1.2.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-t0Nf5jZKoZMzm4Uzk5/M/rwYrZVZ5aCXOsQUBOwjpUw+Ng1JC5/AJGrIXb75H4ml3rqRUskZSxZ08IHGoqvxRQ==",
"path": "cue.net/1.2.0.1",
"hashPath": "cue.net.1.2.0.1.nupkg.sha512"
},
"Extended.Wpf.Toolkit/4.0.1": {
"type": "package",
"serviceable": true,

View File

@ -10,11 +10,11 @@ none
false
TRACE;DEBUG;NETCOREAPP;NETCOREAPP3_1
C:\Users\Conor\Desktop\RGB Contorller Tabs Test\RGBController\RGBController2\App.xaml
6528146077
7-119750560
23-1728879787
198942953170
Views\Dialogs\NewTabDialogView.xaml;Views\LightingModes\AnimationView.xaml;Views\LightingModes\InformationView.xaml;Views\LightingModes\StaticView.xaml;Views\MainWindow.xaml;Views\Tabs\ArduinoTabView.xaml;
26994411623
1991249145588
Views\Dialogs\NewTabDialogView.xaml;Views\LightingModes\AnimationView.xaml;Views\LightingModes\InformationView.xaml;Views\LightingModes\StaticView.xaml;Views\MainWindow.xaml;Views\Tabs\ArduinoTabView.xaml;Views\Tabs\CUEDeviceTabView.xaml;
False
True

View File

@ -38,6 +38,10 @@
"frameworks": {
"netcoreapp3.1": {
"dependencies": {
"CUE.NET": {
"target": "Package",
"version": "[1.2.0.1, )"
},
"Extended.Wpf.Toolkit": {
"target": "Package",
"version": "[4.0.1, )"

View File

@ -3,4 +3,7 @@
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)cue.net\1.2.0.1\build\net45\CUE.NET.targets" Condition="Exists('$(NuGetPackageRoot)cue.net\1.2.0.1\build\net45\CUE.NET.targets')" />
</ImportGroup>
</Project>

View File

@ -2,6 +2,18 @@
"version": 3,
"targets": {
".NETCoreApp,Version=v3.1": {
"CUE.NET/1.2.0.1": {
"type": "package",
"compile": {
"lib/net45/CUE.NET.dll": {}
},
"runtime": {
"lib/net45/CUE.NET.dll": {}
},
"build": {
"build/net45/CUE.NET.targets": {}
}
},
"Extended.Wpf.Toolkit/4.0.1": {
"type": "package",
"compile": {
@ -199,6 +211,22 @@
}
},
"libraries": {
"CUE.NET/1.2.0.1": {
"sha512": "t0Nf5jZKoZMzm4Uzk5/M/rwYrZVZ5aCXOsQUBOwjpUw+Ng1JC5/AJGrIXb75H4ml3rqRUskZSxZ08IHGoqvxRQ==",
"type": "package",
"path": "cue.net/1.2.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"build/net45/CUE.NET.targets",
"build/net45/libs/x64/CUESDK_2015.dll",
"build/net45/libs/x86/CUESDK_2015.dll",
"cue.net.1.2.0.1.nupkg.sha512",
"cue.net.nuspec",
"lib/net45/CUE.NET.XML",
"lib/net45/CUE.NET.dll"
]
},
"Extended.Wpf.Toolkit/4.0.1": {
"sha512": "K8BoXvwokEJTiVkOH4L8FGeWaT0TptzgXJsFI/FlfPA1TSzhgNcrHJtxDFecAYwHNU3wnUjSGZ/YMq5gR5TGag==",
"type": "package",
@ -509,6 +537,7 @@
},
"projectFileDependencyGroups": {
".NETCoreApp,Version=v3.1": [
"CUE.NET >= 1.2.0.1",
"Extended.Wpf.Toolkit >= 4.0.1",
"System.IO.Ports >= 4.7.0"
]
@ -550,6 +579,10 @@
"frameworks": {
"netcoreapp3.1": {
"dependencies": {
"CUE.NET": {
"target": "Package",
"version": "[1.2.0.1, )"
},
"Extended.Wpf.Toolkit": {
"target": "Package",
"version": "[4.0.1, )"
@ -582,6 +615,16 @@
}
},
"logs": [
{
"code": "NU1701",
"level": "Warning",
"warningLevel": 1,
"message": "Package 'CUE.NET 1.2.0.1' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.",
"libraryId": "CUE.NET",
"targetGraphs": [
".NETCoreApp,Version=v3.1"
]
},
{
"code": "NU1701",
"level": "Warning",