mqtt publish shell command fixed

main
Jonas Arnold 4 years ago
parent c71f05964b
commit fcc6e9c503
  1. 25
      ADIS_ESP32_Eclipse/main/myMqtt.c

@ -178,17 +178,32 @@ uint8_t MyMqtt_ParseShellCommand(const unsigned char* cmd, bool *handled, const
}else if (McuUtility_strncmp((char*)cmd,"mqtt publish ",sizeof("mqtt publish ")-1) == 0){
*handled = TRUE;
cmd += sizeof("mqtt publish")-1;
// skip until double quotes (topic)
while(*cmd!='\"'){
cmd++;
}
uint8_t topic[128] = "";
uint8_t data[128] = "";
McuShell_SendStr(cmd, McuShell_GetStdio()->stdOut);
//McuShell_SendStr(cmd, McuShell_GetStdio()->stdOut);
McuUtility_ScanDoubleQuotedString(&cmd, topic, sizeof(topic));
McuShell_SendStr(topic, McuShell_GetStdio()->stdOut);
ESP_LOGI(TAG, "Parsed topic=%s", topic);
//McuShell_SendStr(topic, McuShell_GetStdio()->stdOut);
// McuUtility_strcpy(topic, sizeof(topic), cmd);
cmd += strlen((const char*)topic)-1;
//cmd += strlen((char*)topic);
// skip to data
cmd++;
// while(true){
// cmd++; // next char
// if(*cmd == ' '){
// cmd++; // skip last space
// break;
// }
// }
McuUtility_ScanDoubleQuotedString(&cmd, data, sizeof(data));
// McuUtility_strcpy(data,sizeof(data),cmd);
McuShell_SendStr(data, McuShell_GetStdio()->stdOut);
MyMqtt_Publish((const char*)topic, (const char*)data);
ESP_LOGI(TAG, "Parsed data=%s", data);
//McuShell_SendStr(data, McuShell_GetStdio()->stdOut);
MyMqtt_Publish((char*)topic, (char*)data);
}
return ERR_OK;
}

Loading…
Cancel
Save