From 399dc00fde1d94393dece8f24247f0b1f7918c34 Mon Sep 17 00:00:00 2001
From: finikokasulanovenda <13515029@std.stei.itb.ac.id>
Date: Tue, 10 Apr 2018 17:02:19 +0700
Subject: [PATCH] Fix json bug

---
 src/main_2/main_2.ino | 46 +++++++++++++++++++++++++++----------------
 1 file changed, 29 insertions(+), 17 deletions(-)

diff --git a/src/main_2/main_2.ino b/src/main_2/main_2.ino
index 514ca9d..65176f6 100644
--- a/src/main_2/main_2.ino
+++ b/src/main_2/main_2.ino
@@ -54,13 +54,13 @@ char json[] = "{\"success\":true,\"year\":3,\"humidity\":5,\"light\":10}";
 
 
 #define TIME_MSG_LEN  11   // time sync to PC is HEADER and unix time_t as ten ascii digits
-#define TIME_HEADER  255   // Header tag for serial time sync message
+#define TIME_HEADER  'T'   // Header tag for serial time sync message
 
 void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);
-  InitializeClient();
-  Connect("https://tranquil-citadel-63668.herokuapp.com/api/status");
+  //InitializeClient();
+  //Connect("https://tranquil-citadel-63668.herokuapp.com/api/status");
 
   pinMode(buttonPin, INPUT);
   
@@ -78,6 +78,7 @@ void setup() {
 
   // Turn on the blacklight and print a message.
   lcd.backlight();
+  ReadJson();
 }
 
 void loop() {
@@ -91,12 +92,11 @@ void loop() {
 
   // get the value to be displayed and update one digit
   //update_one_digit(counter % digit_base);
-  update_one_digit(GetCurrentTime());
+  update_one_digit(GetCurrentTime() % digit_base);
   
   lcd.setCursor(0,0);
   lcd.autoscroll();
-  lcd.println(json);
-  //lcd.print(ReadJson());
+  //lcd.print(GenerateJSONString());
   //lcd.print("Hello! Welcome to GreenTyNo :)");
   delay(1000);
   
@@ -135,9 +135,15 @@ void loop() {
   float vout0 = valueLDR*0.0048828125;      // calculate the voltage
   int lux0 = 500/(res0*((5-vout0)/vout0));           // calculate the Lux
   Serial.println(lux0);
+
+  lcd.print(GenerateSoilandLightText(readSoil(),lux0));
 //  delay(1000); //​take a reading every second 
 }
 
+String GenerateSoilandLightText(int soil, int light) {
+  return ("|GreenTyno | Humidity : "+ String(soil) + " RB Light : " + String(light) +" Lux |");
+}
+
 int readSoil() {
 //  digitalWrite(soilPower, HIGH);​ //turn D7 "On"     
   digitalWrite(soilPower, HIGH);     
@@ -177,27 +183,30 @@ void ReadJson() {
   years = jsonReader["year"];
   humidity = jsonReader["humidity"];
   light = jsonReader["light"];
-  
-  char* jsonString = GenerateJSONString();
-  Serial.println(jsonString);
 }
 
-char* GenerateJSONString() {
-  char buff[12];
-  char* totalString, yearString, humidityString, lightString;
-  yearString = itoa(years,buff,10);
-  humidityString = itoa(humidity,buff,10);
-  lightString = itoa(light,buff,10);
+String GenerateJSONString() {
+  String totalString, yearString, humidityString, lightString, cleanString;
+  yearString = String(years);
+  humidityString = String(humidity);
+  lightString = String(light);
   
-  totalString = "|Antyno| Humidity : ", humidityString, " Light : ", lightString, "|";
+  totalString = "|GreenTyno | Humidity : "+ humidityString + " Light : " + lightString +" |";
   return (totalString);
 }
 
 int GetCurrentTime() {
-  if (Serial.available()) {
+  //GetPCTime();
+  //setTime(0);
+  //Serial.println(Serial.available());
+  if (Serial.available() > 0) {
     GetPCTime();
   }
   if(timeStatus() != timeNotSet) {
+    Serial.println(year());
+    Serial.println();
+    Serial.println();
+    Serial.println();
     return(year()); 
   } else {
     return (0);
@@ -208,6 +217,7 @@ int GetCurrentTime() {
 void GetPCTime() {
   // if time available from serial port, sync the DateTime library
   while(Serial.available() >=  TIME_MSG_LEN ){  // time message
+    //Serial.println(Serial.read());
     if( Serial.read() == TIME_HEADER ) {        
       time_t pctime = 0;
       for(int i=0; i < TIME_MSG_LEN -1; i++){  
@@ -217,6 +227,8 @@ void GetPCTime() {
         }
       }
       setTime(pctime);
+      Serial.println(pctime);
+      //Serial.println();
     }
   }
 }
-- 
GitLab