public smbPump(pumpType pump, string port) { m_pump = pump; m_port = port; string[] limitvals; string test; switch (m_pump) { case pumpType.CHEMYX_FUSION: try { m_serialport = new SerialPort(port); m_serialport.BaudRate = 9600; m_serialport.DataBits = 8; m_serialport.Parity = Parity.None; m_serialport.StopBits = StopBits.One; m_serialport.Handshake = Handshake.None; m_serialport.ReadTimeout = 500; m_serialport.Open(); m_serialport.Write("read limit parameter\r\n"); Thread.Sleep(200); m_serialport.ReadLine(); // remove commands limitvals = m_serialport.ReadLine().Split(' '); m_maxrate = Convert.ToDouble(limitvals[0].Trim()); m_minrate = Convert.ToDouble(limitvals[1].Trim()); m_maxvolume = Convert.ToDouble(limitvals[2].Trim()); m_minvolume = Convert.ToDouble(limitvals[3].Trim()); m_serialport.ReadExisting(); } catch { m_serialport.Close(); throw new Exception(); } break; case pumpType.HARVARD_2000: try { m_serialport = new SerialPort(port); m_serialport.BaudRate = 9600; m_serialport.DataBits = 8; m_serialport.Parity = Parity.None; m_serialport.StopBits = StopBits.Two; m_serialport.Handshake = Handshake.None; m_serialport.Open(); m_serialport.Write("\rVER\r"); Thread.Sleep(200); test = m_serialport.ReadExisting(); if (test == "") throw new Exception(); m_maxrate = 31001; m_minrate = 0; m_maxvolume = 10000; m_minvolume = 0; } catch { m_serialport.Close(); throw new Exception(); } break; } }
public static string GetPumpName(pumpType pump) { switch (pump) { case pumpType.CHEMYX_FUSION: return "Chemyx Fusion Series"; case pumpType.HARVARD_2000: return "Harvard 2000"; } return "Unknown Pump"; }