From 12095e28ea78638d1b3c1c04286bb1d9b45b7b66 Mon Sep 17 00:00:00 2001
From: Malaurie Bernard <mbernard@kinouby>
Date: Tue, 4 Jul 2023 14:29:24 +0200
Subject: [PATCH] Implementation of distance_to_volume method (and also a bit
 of code editting.

---
 syringefilled.cpp | 13 +++++++++++++
 syringefilled.h   |  6 +++---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/syringefilled.cpp b/syringefilled.cpp
index 571fd33..bc99d37 100644
--- a/syringefilled.cpp
+++ b/syringefilled.cpp
@@ -124,6 +124,19 @@ float SyringeFilled::volume_to_distance(float volume_mL, Syringe* id_syringe)
     return distance_mm;
 }
 
+float SyringeFilled::distance_to_volume(float distance_mm, Syringe* id_syringe)
+/***
+-Argument : distance in mm.
+-Return   : The volume associated in mL.
+-Action   : /
+***/
+{
+    float piston_surface_mm2 = id_syringe->get_internal_diameter_mm();
+
+    float volume_mm3 = distance_mm*piston_surface_mm2;
+
+    return volume_mm3;
+}
 
 
 //MOVEMENTS
diff --git a/syringefilled.h b/syringefilled.h
index 4e4f646..2eac62c 100644
--- a/syringefilled.h
+++ b/syringefilled.h
@@ -71,6 +71,7 @@ class SyringeFilled : public Motor
 
     //CONVERSIONS
     float volume_to_distance(float volume_mL, Syringe* id_syringe);
+    float distance_to_volume(float distance_mm, Syringe* id_syringe); //CLI
 
     //MOVEMENTS
     float move();
@@ -78,13 +79,12 @@ class SyringeFilled : public Motor
 
     //LIMIT SWITCH
     void manage_emergency (bool pressed, bool stepperMoving);
+    void run_from_emergency(); //CLI
 
     //METHODS CLI
     bool check_configuration(); //a implementer
     void show_configuration(); //a implementer
-    float distance_to_volume(float distance, Syringe* id_syringe); //a implementer
-    void run_from_emergency();
-
+    
 };
 
 extern SyringeFilled syringe_filled;
\ No newline at end of file
-- 
GitLab