private void Start() { var error = string.Empty; config = SerialPortConfigurer.Instance.ReadConfig(out error); if (config == null) { config = new SerialPortConfig(); } }
/// <summary> /// Write SerialPortConfig to config file. /// </summary> /// <param name="config">Config of serialport.</param> /// <returns>succeed?</returns> public bool WriteConfig(SerialPortConfig config) { try { #if UNITY_5_3_OR_NEWER var configJson = JsonUtility.ToJson(config); #else var configJson = JsonMapper.ToJson(config); #endif if (DirectoryUtility.RequireDirectory(ConfigPath)) { File.WriteAllText(ConfigPath, configJson); return(true); } } catch (Exception ex) { LogUtility.LogError("Write serialport config to file exception: {0}\r\n{1}", ex.Message, ex.StackTrace); } return(false); }
/// <summary> /// Write SerialPortConfig to config file. /// </summary> /// <param name="config">Config of serialport.</param> /// <param name="error">Error message.</param> /// <returns>succeed?</returns> public bool WriteConfig(SerialPortConfig config, out string error) { error = string.Empty; try { #if UNITY_5_3_OR_NEWER var configJson = JsonUtility.ToJson(config); #else var configJson = JsonMapper.ToJson(config); #endif if (DirectoryUtility.RequirePath(ConfigPath, out error)) { File.WriteAllText(ConfigPath, configJson); return(true); } } catch (Exception ex) { error = ex.Message; } LogUtility.LogError("Write serialport config to file exception: {0}", error); return(false); }
/// <summary> /// Initialize serialport. /// </summary> /// <returns>Initialize serialport use config file succeed?</returns> public bool InitializeSerialPort() { //Read config and initialize serialport. config = SerialPortConfigurer.Instance.ReadConfig(); var isReadConfig = true; if (config == null) { isReadConfig = false; config = new SerialPortConfig(); LogUtility.LogWarning("Initialize serialport: Read config is failed, serialport will initialize with default config."); } serialPort = new SerialPort(config.portName, config.baudRate, config.parity, config.dataBits, config.stopBits) { ReadBufferSize = config.readBufferSize, ReadTimeout = config.readTimeout, WriteBufferSize = config.writeBufferSize, WriteTimeout = config.writeTimeout }; //Initialize read and write thread. readThread = new Thread(ReadBytesFromBuffer) { IsBackground = true }; writeThread = new Thread(WriteBytesToBuffer) { IsBackground = true }; //Initialize bytes array. readBytes = new byte[config.readCount]; writeBytes = new byte[config.writeCount]; return(isReadConfig); }