RuiViana

MontaPacoteV01.ino

Oct 22nd, 2020 (edited)
510
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. float temp = -7.35;                           // Valor de teste
  2. float umid = 44.88;                           // Valor de teste
  3. char valor[6];                                // Matriz para guardar convesão de float
  4. String pacote = "HT";                         // String para montar o pacote com "header" HT
  5. //-----------------------------------------------------------
  6. void completar(String item)                   //  Completa com espacos a esquerda ate 6 digitos
  7. {
  8.   String leading;                             // String com espacos
  9.   //char valor[6];                                          // Matriz para guardar convesão de float
  10.   for (int i = 0; i < (6 - String(item).length()); i++)     // Verificas qto espacos sao necessarios
  11.   {
  12.     leading += " ";                                         // Acrescenta espaco
  13.   }
  14.   leading += String(valor);                                 // Concatena valor com espacos a esqueda
  15.   //Serial.print(leading);  Serial.print(" >> lgh ");       // Print para debug
  16.   //Serial.println(leading.length());                       // Print para debug
  17.   pacote += leading;                                        // Concatena com novo valor
  18. }
  19. //-----------------------------------------------------------
  20. void montaPacote()                                          // Monta "protocolo" propietario
  21. {
  22.   dtostrf(temp, 2, 2, valor);                               // Converte valor temp float em array
  23.   completar(valor);                                         // completa valores a esquerda e concatena
  24.  
  25.   dtostrf(umid, 2, 2, valor);                               // Converte valor umid float em array
  26.   completar(valor);                                         // completa valores a esquerda e concatena
  27.  
  28.   Serial.print(pacote);  Serial.print("     >> lgh ");      // Print pacote montado para debug
  29.   Serial.println(pacote.length());                          // Print tamanho do pacote para debug
  30. }
  31. //-----------------------------------------------------------
  32. void setup()
  33. {
  34.   Serial.begin(115200);
  35. }
  36. //-----------------------------------------------------------
  37. void loop()
  38. {
  39.   pacote = "HT";                                              // Recarrega string
  40.   montaPacote();                                              // Cria pacote
  41.   delay(1000);
  42. }
RAW Paste Data