diff --git a/syringefilled.cpp b/syringefilled.cpp index 571fd33c023302276577e9e2ec707cf97680b84c..bc99d376cabc2bc862f67742ee2b682f0280a2f2 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 4e4f646177752d9e850e06f7901a7df38ee9c22e..2eac62ce53e8d2ee60bd787fd70445bd7b06d44d 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