Move MQTT_Subscribe to mqttConnectedCb, resolve #15

develop
Tuan PM 2015-01-04 21:23:29 +07:00
rodzic 1c68d53cbe
commit d27c9b2467
2 zmienionych plików z 9 dodań i 12 usunięć

Wyświetl plik

@ -168,8 +168,9 @@ mqtt_tcpclient_recv(void *arg, char *pdata, unsigned short len)
} else {
INFO("MQTT: Connected to %s:%d\r\n", client->host, client->port);
client->connState = MQTT_SUBSCIBE_SEND;
client->connState = MQTT_DATA;
if(client->connectedCb)
client->connectedCb((uint32_t*)client);
}
break;
case MQTT_SUBSCIBE_SENDING:
@ -184,8 +185,7 @@ mqtt_tcpclient_recv(void *arg, char *pdata, unsigned short len)
} else {
if(QUEUE_IsEmpty(&client->topicQueue)){
client->connState = MQTT_DATA;
if(client->connectedCb)
client->connectedCb((uint32_t*)client);
} else {
client->connState = MQTT_SUBSCIBE_SEND;
}
@ -221,7 +221,7 @@ mqtt_tcpclient_recv(void *arg, char *pdata, unsigned short len)
if(client->mqtt_state.pending_msg_type == MQTT_MSG_TYPE_PUBLISH && client->mqtt_state.pending_msg_id == msg_id){
INFO("MQTT: Publish successful\r\n");
if(client->publishedCb)
client->publishedCb(client);
client->publishedCb((uint32_t*)client);
}
break;
@ -235,7 +235,7 @@ mqtt_tcpclient_recv(void *arg, char *pdata, unsigned short len)
if(client->mqtt_state.pending_msg_type == MQTT_MSG_TYPE_PUBLISH && client->mqtt_state.pending_msg_id == msg_id){
INFO("MQTT: Public successful\r\n");
if(client->publishedCb)
client->publishedCb(client);
client->publishedCb((uint32_t*)client);
}
break;
case MQTT_MSG_TYPE_PINGREQ:
@ -295,7 +295,7 @@ mqtt_tcpclient_sent_cb(void *arg)
INFO("TCP: Sent\r\n");
if(client->connState == MQTT_DATA){
if(client->publishedCb)
client->publishedCb(client);
client->publishedCb((uint32_t*)client);
}
system_os_post(MQTT_TASK_PRIO, 0, (os_param_t)client);
}

Wyświetl plik

@ -43,17 +43,14 @@ void wifiConnectCb(uint8_t status)
{
if(status == STATION_GOT_IP){
MQTT_Connect(&mqttClient);
MQTT_Subscribe(&mqttClient, "/test/topic");
MQTT_Subscribe(&mqttClient, "/test2/topic");
}
}
void mqttConnectedCb(uint32_t *args)
{
MQTT_Client* client = (MQTT_Client*)args;
INFO("MQTT: Connected\r\n");
MQTT_Subscribe(&mqttClient, "/test/topic");
MQTT_Subscribe(&mqttClient, "/test2/topic");
}