diff --git a/src/gsensor.c b/src/gsensor.c index 86b4b50..c019a74 100644 --- a/src/gsensor.c +++ b/src/gsensor.c @@ -12,9 +12,13 @@ #include #include +extern void MQTTPublish(char * topic, char * payload); + #define SPEEDYBOI_ADDR 0x18 #define ACCD_X_MSB 0x03 +char mqtt_topic[] = "top_pik"; + typedef struct { enum {Vooruit, Achteruit} richting; double timestamp; @@ -49,17 +53,19 @@ void * GSensorTask(void *args) { // publish read into mailbox (defined in mqtt.c) timer += 0.1; - pakketje pakket; - pakket.richting = (buffer_rcv < 0) ? Achteruit : Vooruit; - pakket.timestamp = timer; - pakket.g = abs(buffer_rcv); + // pakketje pakket; + // pakket.richting = (buffer_rcv < 0) ? Achteruit : Vooruit; + // pakket.timestamp = timer; + // pakket.g = abs(buffer_rcv); + char payload[150]; + + sprintf(&payload, "handshake (richting: %s; timestamp: %.1f)", (buffer_rcv < 0) ? "Achteruit" : "Vooruit", timer); + + MQTTPublish(&mqtt_topic, payload); // MQTTPublish(pakket); - sleeper = 6000000; - while(sleeper) { - sleeper--; - } + usleep(100000U); } return 0; diff --git a/src/mqtt_client_app.c b/src/mqtt_client_app.c index 542ecc3..376e784 100644 --- a/src/mqtt_client_app.c +++ b/src/mqtt_client_app.c @@ -121,6 +121,7 @@ enum{ struct msgQueue { int event; + char* topic; char* payload; }; @@ -544,6 +545,14 @@ int WifiInit(){ return ret; } +void MQTTPublish(char * topic, char * payload){ + struct msgQueue queueElement; + queueElement.event = APP_MQTT_PUBLISH; + queueElement.topic = topic; + queueElement.payload = payload; + int res = mq_send(appQueue, (const char*)&queueElement, sizeof(struct msgQueue), 0); +} + void MQTTTask(void * args){ int32_t ret; @@ -625,9 +634,9 @@ MQTT_DEMO: LOG_TRACE("APP_MQTT_PUBLISH\r\n"); MQTT_IF_Publish(mqttClientHandle, - "cc32xx/ToggleLED1", - "LED 1 toggle\r\n", - strlen("LED 1 toggle\r\n"), + queueElement.topic, + queueElement.payload, + strlen(queueElement.payload), MQTT_QOS_2); }