syslog
This commit is contained in:
@ -32,10 +32,10 @@ static uint32_t watchdogCounter = 0;
|
||||
|
||||
void watchdogHandler(void *handle) {
|
||||
if (watchdogCounter > 0) {
|
||||
coloredMsg(LOG_GREEN, "Watchdog received in between");
|
||||
coloredMsg(LOG_GREEN, false, "Watchdog received in between");
|
||||
watchdogCounter = 0;
|
||||
} else {
|
||||
coloredMsg(LOG_RED, "No watchdog received in between, booting the system ...");
|
||||
coloredMsg(LOG_RED, true, "No watchdog received in between, booting the system ...");
|
||||
// boot the system
|
||||
}
|
||||
}
|
||||
@ -45,18 +45,18 @@ static void mqttCallback(char *topic, uint8_t *payload, uint16_t payloadLength)
|
||||
if (0 == strcmp(topic, WatchdogTopic)) {
|
||||
watchdogCounter++;
|
||||
} else {
|
||||
logMsg("mqcb: %s : %.*s", topic, payloadLength, payload);
|
||||
coloredMsg(LOG_GREEN, false, "mqcb: %s : %.*s", topic, payloadLength, payload);
|
||||
}
|
||||
}
|
||||
|
||||
static void mqttStatusPublisher(void *handle) {
|
||||
logMsg("mqsp: publishing status");
|
||||
coloredMsg(LOG_GREEN, false, "mqsp: publishing status");
|
||||
t_mbusCommStats *mbusCommStats = mbusCommGetStats();
|
||||
char buf[64];
|
||||
snprintf(buf, 128, "{\"uptime\":\"%ld\", \"tasks\":\"%d\", \"requests\":\"%d\", \"errors\":\"%d\"}",
|
||||
HAL_GetTick()/1000, schTaskCnt(), mbusCommStats->requestCnt, mbusCommStats->errorCnt);
|
||||
bool res = publish(&mqttClient, StatusTopic, (const char*)buf, strlen(buf), false);
|
||||
coloredMsg(LOG_YELLOW, "mqch, publish returned %d", res);
|
||||
coloredMsg(LOG_GREEN, false, "mqch, publish returned %d", res);
|
||||
|
||||
}
|
||||
|
||||
@ -67,21 +67,21 @@ void mqttCommHandler(void *handle) {
|
||||
if (isNetworkAvailable()) {
|
||||
switch (state) {
|
||||
case 0:
|
||||
coloredMsg(LOG_YELLOW, "mqch, initializing mqtt client");
|
||||
coloredMsg(LOG_GREEN, false, "mqch, initializing mqtt client");
|
||||
client.sockNum = MQTT_SOCK;
|
||||
mqttClientInit(&mqttClient, &client, mqttCallback);
|
||||
coloredMsg(LOG_YELLOW, "mqch: mqtt client initialized");
|
||||
coloredMsg(LOG_GREEN, false, "mqch: mqtt client initialized");
|
||||
|
||||
state = 1;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
coloredMsg(LOG_YELLOW, "mqch, connecting to broker ");
|
||||
coloredMsg(LOG_GREEN, false, "mqch, connecting to broker ");
|
||||
bool res = mqttConnect(&mqttClient, brokerAddress, 1883, "mbv3gw-client", NULL, NULL, NULL, 0, false, NULL, false);
|
||||
coloredMsg(LOG_YELLOW, "mqch, mqttConnect returns %d", res);
|
||||
coloredMsg(LOG_GREEN, false, "mqch, mqttConnect returns %d", res);
|
||||
|
||||
if (res) {
|
||||
coloredMsg(LOG_YELLOW, "mqch, ok, connected");
|
||||
coloredMsg(LOG_GREEN, false, "mqch, ok, connected");
|
||||
state = 2;
|
||||
} else {
|
||||
state = 255;
|
||||
@ -89,40 +89,39 @@ void mqttCommHandler(void *handle) {
|
||||
break;
|
||||
|
||||
case 2:
|
||||
coloredMsg(LOG_YELLOW, "mqch, publish start-up");
|
||||
coloredMsg(LOG_GREEN, false, "mqch, publish start-up");
|
||||
res = publish(&mqttClient, StartupTopic, (const char*)message, strlen(message), false);
|
||||
coloredMsg(LOG_YELLOW, "mqch, publish returned %d", res);
|
||||
coloredMsg(LOG_GREEN, false, "mqch, publish returned %d", res);
|
||||
schAdd(mqttStatusPublisher, NULL, 0, 60000);
|
||||
coloredMsg(LOG_YELLOW, "mqch, status publisher scheduled");
|
||||
coloredMsg(LOG_GREEN, false, "mqch, status publisher scheduled");
|
||||
state = 3;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
coloredMsg(LOG_YELLOW, "mqch, subscribe watchdog");
|
||||
coloredMsg(LOG_GREEN, false, "mqch, subscribe watchdog");
|
||||
res = subscribe(&mqttClient, WatchdogTopic, MQTTQOS0);
|
||||
coloredMsg(LOG_YELLOW, "mqch, subscribe returned %d", res);
|
||||
coloredMsg(LOG_GREEN, false, "mqch, subscribe returned %d", res);
|
||||
schAdd(watchdogHandler, NULL, 60000, 60000);
|
||||
coloredMsg(LOG_YELLOW, "mqch, watchdogHandler scheduled");
|
||||
coloredMsg(LOG_GREEN, false, "mqch, watchdogHandler scheduled");
|
||||
state = 4;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
coloredMsg(LOG_YELLOW, "mqch, now entering the loop");
|
||||
coloredMsg(LOG_GREEN, false, "mqch, now entering the loop");
|
||||
state = 5;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
// coloredMsg(LOG_YELLOW, "mqch, looping");
|
||||
if (! mqttLoop(&mqttClient)) {
|
||||
state = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 255:
|
||||
coloredMsg(LOG_YELLOW, "mqch, error state, will stop here");
|
||||
coloredMsg(LOG_RED, true, "mqch, error state, will stop here");
|
||||
schDel(mqttCommHandler, NULL);
|
||||
schDel(watchdogHandler, NULL);
|
||||
coloredMsg(LOG_YELLOW, "mqch, trying again in one minute");
|
||||
coloredMsg(LOG_RED, true, "mqch, trying again in one minute");
|
||||
schAdd(mqttCommHandler, NULL, 60000, 100);
|
||||
break;
|
||||
}
|
||||
@ -136,8 +135,8 @@ void mqttCommInit() {
|
||||
void mqttPublish(char *topic, char *message) {
|
||||
bool res = publish(&mqttClient, topic, message, strlen(message), false);
|
||||
if (res) {
|
||||
coloredMsg(LOG_YELLOW, "mqp: %s -> %s successfully published", message, topic);
|
||||
coloredMsg(LOG_GREEN, false, "mqp: %s -> %s successfully published", message, topic);
|
||||
} else {
|
||||
coloredMsg(LOG_RED, "mqp: %s -> %s failed to publish", message, topic);
|
||||
coloredMsg(LOG_RED, true, "mqp: %s -> %s failed to publish", message, topic);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user