VIZIO_RMC_CMD SearchingInternalCommand(string cmdstring) { VIZIO_RMC_CMD result = VIZIO_RMC_CMD.VIZIO_RMC_CMD_MAX; for (VIZIO_RMC_CMD index = 0; index < VIZIO_RMC_CMD.VIZIO_RMC_CMD_MAX; index++) { if (cmdstring == index.ToString()) { result = index; break; } } return(result); }
public bool SendCommand(VIZIO_RMC_CMD interCommand) { if (this.IsOpen == false) { this.ErrorMessage = "RMC TX가 연결되지 않았습니다.\nSerial Port 연결을 확인해 주세요."; return(false); } try { this._rmcSerialPort.WriteLine(this._cmd[interCommand]); Thread.Sleep(WAIT_COMMAND_EXECUTION_TIME); } catch (Exception ex) { this.ErrorMessage = ex.Message; return(false); } return(true); }
public bool LoadCommandFromIno(string inoFileName) { bool isResult = false; try { StreamReader file = new StreamReader(inoFileName); string line = string.Empty; bool isFoundSendIR = false; bool isFoundCommand = false; int posFront = 0; int posRear = 0; string arduinoCommand = string.Empty; VIZIO_RMC_CMD internalCommand = VIZIO_RMC_CMD.VIZIO_RMC_CMD_MAX; string internalCommandString = string.Empty; this._cmd.Clear(); while ((line = file.ReadLine()) != null) { if (isFoundSendIR) { //if (inputString == "Power") //VIZIO_RMC_CMD_POWER posFront = line.IndexOf(ARDUINO_REAL_COMMAND_PREFIX); if (posFront <= 0) { continue; } posFront += ARDUINO_REAL_COMMAND_PREFIX.Length; posRear = line.IndexOf(ARDUINO_REAL_COMMAND_TAIL, posFront); if (posRear <= 0) { continue; } arduinoCommand = line.Substring(posFront, posRear - posFront); posRear += ARDUINO_REAL_COMMAND_TAIL.Length; posFront = line.IndexOf(ARDUINO_ENUM_TOKEN, posRear); if (posFront <= 0) { continue; } posFront += ARDUINO_ENUM_TOKEN.Length; internalCommandString = line.Substring(posFront).Trim(); internalCommand = SearchingInternalCommand(internalCommandString); if (internalCommand == VIZIO_RMC_CMD.VIZIO_RMC_CMD_MAX) { continue; } this._cmd.Add(internalCommand, arduinoCommand); isFoundCommand = true; } else { //void SendIR() { posFront = line.IndexOf(ARDUINO_SEND_IR); if (posFront > 0) { isFoundSendIR = true; } } } file.Close(); if (isFoundSendIR == false || isFoundCommand == false) { throw new Exception("SendIR() 함수 또는 Command 주석이 없습니다."); } isResult = true; } catch (Exception ex) { this.ErrorMessage = ex.Message; } this.IsReady = isResult; return(isResult); }