From ba41f79eac21b8bcf5cd2921874f9eed3f753173 Mon Sep 17 00:00:00 2001
From: Malaurie Bernard <mbernard@kinouby>
Date: Wed, 19 Jul 2023 12:23:47 +0200
Subject: [PATCH] Linking code of web and syringe to actually write the json
 file associated

---
 web.cpp | 35 +++++++++++++++++++++++++++++++++--
 web.h   |  4 +++-
 2 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/web.cpp b/web.cpp
index 9a7d0dd..576ff96 100644
--- a/web.cpp
+++ b/web.cpp
@@ -70,9 +70,9 @@ void web_setup ()
     name_new_syringe_label = ESPUI.addControl(ControlType::Label, "Nouvelle seringue", "Nom de la seringue :", ControlColor::None, new_syringe);
     name_new_syringe = ESPUI.addControl(ControlType::Text, "Nouvelle seringue", "", ControlColor::None, name_new_syringe_label, name_new_syringe_callback);
     internal_diameter_mm_new_syringe_label =ESPUI.addControl(ControlType::Label, "Nouvelle seringue", "Diamètre interne de la seringue en mm :", ControlColor::None, name_new_syringe_label);
-    internal_diameter_mm_new_syringe = ESPUI.addControl(ControlType::Number, "Diamètre interne de la seringue en mm", "5", ControlColor::None, name_new_syringe_label, number_callback);
+    internal_diameter_mm_new_syringe = ESPUI.addControl(ControlType::Number, "Diamètre interne de la seringue en mm", "5", ControlColor::None, name_new_syringe_label, internal_diameter_mm_new_syringe_callback);
     total_volume_mL_new_syringe_label =ESPUI.addControl(ControlType::Label, "Nouvelle seringue", "Volume total de la seringue en µL :", ControlColor::None, name_new_syringe_label);
-    total_volume_mL_new_syringe = ESPUI.addControl(ControlType::Number, "Volume total de la seringue en µL", "5", ControlColor::None, name_new_syringe_label, number_callback);
+    total_volume_mL_new_syringe = ESPUI.addControl(ControlType::Number, "Volume total de la seringue en µL", "5", ControlColor::None, name_new_syringe_label, total_volume_mL_new_syringe_callback);
     add_syringe_label =ESPUI.addControl(ControlType::Label, "Nouvelle seringue", "Ajouter la seringue", ControlColor::None, name_new_syringe_label);
     add_syringe = ESPUI.addControl(ControlType::Button, "Ajouter la seringue", "Valider", ControlColor::None, name_new_syringe_label, add_syringe_callback, (void*)19);
 
@@ -266,6 +266,35 @@ void name_new_syringe_callback(Control* sender, int type)
 -Action   : Print the value of the new syringe name chosen via the serial port.
 ***/
 {
+    name_new_syringe_value = sender->value;
+    Serial.print("Text: ID: ");
+    Serial.print(sender->id);
+    Serial.print(", Value: ");
+    Serial.println(sender->value);
+}
+
+void total_volume_mL_new_syringe_callback(Control* sender, int type)
+/***
+-Argument : Pointer to the controller calling the function, integer according to the controller type.
+-Return   : /
+-Action   : Print the value of the new syringe name chosen via the serial port.
+***/
+{
+    total_volume_mL_new_syringe_value = sender->value;
+    Serial.print("Text: ID: ");
+    Serial.print(sender->id);
+    Serial.print(", Value: ");
+    Serial.println(sender->value);
+}
+
+void internal_diameter_mm_new_syringe_callback(Control* sender, int type)
+/***
+-Argument : Pointer to the controller calling the function, integer according to the controller type.
+-Return   : /
+-Action   : Print the value of the new syringe name chosen via the serial port.
+***/
+{
+    internal_diameter_mm_new_syringe_value = sender->value,
     Serial.print("Text: ID: ");
     Serial.print(sender->id);
     Serial.print(", Value: ");
@@ -284,6 +313,8 @@ void add_syringe_callback (Control* sender, int value,  void* param)
     {
     case B_DOWN:
         Serial.println("Button DOWN");
+
+        syringe.set_syringe(name_new_syringe_value, total_volume_mL_new_syringe_value.toFloat(), internal_diameter_mm_new_syringe_value.toFloat());
         syringe.write_Json();
         break;
 
diff --git a/web.h b/web.h
index 1eabe0d..f1a18c6 100644
--- a/web.h
+++ b/web.h
@@ -36,7 +36,7 @@ uint16_t syringe_selection, syringe_ref, syringe_brand, syringe_volume_mL, syrin
 
 //New_syringe
 uint16_t name_new_syringe, name_new_syringe_label, internal_diameter_mm_new_syringe, internal_diameter_mm_new_syringe_label, total_volume_mL_new_syringe, total_volume_mL_new_syringe_label, add_syringe, add_syringe_label;
-
+String name_new_syringe_value, total_volume_mL_new_syringe_value, internal_diameter_mm_new_syringe_value;
 
 //Features
 uint16_t worm_diameter_mm, clockwise_equals_push_label, clockwise_equals_push;
@@ -85,6 +85,8 @@ void remaining_volume_mL_callback (Control* sender, int value, void* param);
 //Configurations
 void choose_syringe_callback (Control* sender, int value, void* param);
 void name_new_syringe_callback(Control* sender, int type);
+void total_volume_mL_new_syringe_callback(Control* sender, int type);
+void internal_diameter_mm_new_syringe_callback(Control* sender, int type);
 void add_syringe_callback (Control* sender, int value, void* param);
 
 //features : Configurations avancées
-- 
GitLab