Test
Diff: source/main.cpp
- Revision:
- 77:48c622bf903f
- Parent:
- 76:596c9924e51b
- Child:
- 78:bb7e309408a2
--- a/source/main.cpp Thu Jan 24 11:47:57 2019 +0000
+++ b/source/main.cpp Tue Jan 29 09:23:00 2019 +0000
@@ -1,4 +1,4 @@
-#define END_OF_JSON 0xFE
+#define END_OF_JSON 0xFE
#include "mbed.h"
#include "picojson.h"
@@ -11,6 +11,7 @@
#include "ble/DiscoveredService.h"
bool serviceDiscovered = false;
+char finalCharacterJSON = END_OF_JSON;
typedef struct {
string id; /* Id */
@@ -31,7 +32,7 @@
Thread threadBLE(osPriorityRealtime3, 1000);
/**
- * Tarea encargada de parpadear un LED continuamente
+ * Thread encargado de parpadear un LED continuamente
*/
void blinkLED3() {
while(true) {
@@ -56,13 +57,17 @@
* Thread encargado de enviar JSONs por el puerto serie
*/
void sendJsonOverSerial() {
+
char tmp[512]; // Vble auxiliar para el tratamiento de cadenas de char.
string str;
- char final = END_OF_JSON;
+
while(true) {
+
// Esperamos a un mensaje en la cola
+ picojson::object json;
picojson::object event;
picojson::object extraInfo;
+
int type = rand() % 3;
int idEvent = rand() % 500;
event["idEvent"] = picojson::value((double) idEvent);
@@ -70,21 +75,21 @@
str = "E9:ED:F4:AC:BF:8E";
extraInfo["hazardousDevice"] = picojson::value(str);
str = "D5:62:12:BF:B8:45";
+
if(type != 0) extraInfo["affectedDevice"] = picojson::value(str);
event["extraInfo"] = picojson::value(extraInfo);
+ json["Event"] = picojson::value(event);
- //printf("Se serializa el string\r\n");
- str = picojson::value(event).serialize();
+ str = picojson::value(json).serialize();
// Convertimos el string a char *
strncpy(tmp, str.c_str(), sizeof(tmp));
- strncat(tmp, &final, sizeof(final)); // Añadimos el caracter al final
+ strncat(tmp, &finalCharacterJSON, sizeof(finalCharacterJSON)); // Añadimos el caracter al final
tmp[sizeof(tmp) - 1] = 0;
- //printf("Se envia un evento por el puesto serie\r\n");
sendCharArrayToSerial(tmp, &pcSerial);
- wait(2);
+ wait(10);
}
}
@@ -230,9 +235,9 @@
int main() {
srand(time(NULL));
- threadLED.start(blinkLED3);
- //threadBLE.start(BLEServiceManagment);
- threadSerial.start(sendJsonOverSerial);
+ threadLED.start(callback(blinkLED3));
+ //threadBLE.start(callback(BLEServiceManagment));
+ threadSerial.start(callback(sendJsonOverSerial));
threadLED.join();
threadBLE.join();