Análise de dados em série do Arduino

Estou escrevendo um aplicativo para controlar meu robô com meu telefone Android via Bluetooth, tudo corre bem, os dados são ecoados e verificados, mas estou tendo alguns problemas com o protocolo, especificamente eu quero que as rodas do meu robô vire quando eu enviar um comando comos,10,100 ous,-30,-10... (valores em porcentagem).

Meu problema é que quando eu quero analisar o comando da velocidade da roda no meu Arduino eu preciso analisarde até 4 separadobytes paraint, por exemplos,-100,-100 faz meu robô retroceder a toda velocidade, mas como faço para analisar isso para que eu possa ligarsetSpeed(left, right); comlefteright igual a -100?

Eu sei que posso analisar cada byte separadamente e juntá-los para obter um número inteiro, mas não é muito elegante e provavelmente há uma solução melhor para tudo isso, infelizmente ainda não o encontrei.

EDITAR

Aqui está a minha função Arduino para analisar meus comandos:

void parseCommand(char* command, int* returnValues)
{
  // parsing state machine
  byte i = 2, j = 0, sign = 0;
  int temp = 0;
  while(*(command + i) != '\0')
  {
    switch(*(command + i))
    {
      case ',':
        returnValues[j++] = sign?-temp:temp;
        sign = 0;
        temp = 0;
        break;
      case '-':
        sign = 1;
        break;
      default:
        temp = temp * 10 + *(command + i) - 48;
    }
    i++;
  }
  // set last return value
  returnValues[j] = sign?-temp:temp;
}

Você chama assim quando analisar algo comos,100,-100 (devemos ser\0 terminado):

char serialData[16];
void loop()
{
  if(Serial.available() > 0)
  {
    Serial.readBytesUntil('\0', serialData, 15);
    switch(serialData[0])
    {
      case 's':
        int speed[2];
        parseCommand(serialData, speed);
        setSpeed(speed[0], speed[1]);
        break;
    }
    // always echo
    Serial.write(serialData);
    // end of message is maked with a \0
    Serial.print('\0');

    // clear serialData array
    memset(serialData, 0, sizeof(serialData));
  }
}

questionAnswers(2)

yourAnswerToTheQuestion