private void SendMessageToArduino(MessageProtocol mess, ArduinoBotComm bot) { if (bot == null) { Logger.GlobalLogger.error("Robot inconu !"); return; } if (bot.Connected) { if (bot.stateComm == StateArduinoComm.STATE_COMM_NONE) { if (mess is PCtoEMBMessageAskSensor) { bot.stateComm = StateArduinoComm.STATE_COMM_WAIT_SENSOR; } else if (mess is PCtoEMBMessageCloseClaw || mess is PCtoEMBMessageOpenClaw) { bot.stateComm = StateArduinoComm.STATE_COMM_WAIT_ACK; } else if (mess is PCtoEMBMessageTurn || mess is PCtoEMBMessageMove) { bot.stateComm = StateArduinoComm.STATE_COMM_WAIT_ACK; } else if (mess is PCtoEMBMessagePing) { bot.stateComm = StateArduinoComm.STATE_COMM_WAIT_PING; } else if (mess is PCtoEMBMessageRespConn) { bot.stateComm = StateArduinoComm.STATE_COMM_WAIT_ACK; } else if (mess is PCtoEMBMessageAutoMode) { bot.stateComm = StateArduinoComm.STATE_COMM_WAIT_ACK; } else { Logger.GlobalLogger.error("Envoi d'un message non connu !"); } bot.MessageAttenteAck(mess, bot.CountSend); TrameProtocole trame = _SerialXbee.EncodeTrame(_IdPc, bot.id, bot.CountSend++, mess); //trame.num = bot.CountSend++; _SerialXbee.PushTrameAEnvoyer(trame); } } else { Logger.GlobalLogger.error("Envoi d'un message à un robot non connecté :("); } }