public static Manager ConnectByTcpIp() { string ip = "192.168.4.1"; int port = 333; Console.WriteLine("server ip"); ip = Console.ReadLine(); Console.WriteLine("port"); port = int.Parse(Console.ReadLine() ?? throw new InvalidOperationException()); Console.WriteLine($"ip = {ip}\nport = {port}"); CommunicationInfoStruct info = new CommunicationInfoStruct(); info.TcpInfo.Ip = ip; info.TcpInfo.Port = port; return(new Manager(ConnectionModes.WiFi, info)); }
public static Manager ConnectBySerial() { string rtx = "COM13"; int baudrate = 9600; Console.WriteLine("port"); rtx = Console.ReadLine(); Console.WriteLine("baudrate"); baudrate = int.Parse(Console.ReadLine() ?? throw new InvalidOperationException()); Console.WriteLine($"rx = {rtx}\ntx = {rtx}\nbaudrate = {baudrate}"); CommunicationInfoStruct info = new CommunicationInfoStruct(); info.SerialInfo.RxPort = rtx; info.SerialInfo.TxPort = rtx; info.SerialInfo.Baudrate = baudrate; return(new Manager(ConnectionModes.Bluetooth, info)); }
private static BasicConnector CreateConnectorByMode(ConnectionModes mode, CommunicationInfoStruct info) { BasicConnector res; //TODO: add more modes switch (mode) { case ConnectionModes.Usb: case ConnectionModes.Bluetooth: res = new SerialConnector(info.SerialInfo.RxPort, info.SerialInfo.TxPort, info.SerialInfo.Baudrate); break; case ConnectionModes.WiFi: res = new TcpConnector(info.TcpInfo.Ip, info.TcpInfo.Port); break; default: res = null; break; } return(res); }
public Manager(ConnectionModes mode, CommunicationInfoStruct info) : base(CreateConnectorByMode(mode, info)) { }