Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FormerLurker/ArcWelderLib.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFormerLurker <hochgebe@gmail.com>2020-05-10 19:37:34 +0300
committerFormerLurker <hochgebe@gmail.com>2020-05-10 19:37:34 +0300
commit4a1f1d55ff5e685a9f2818da7bf3f5e6bf0394d6 (patch)
tree6651c47d87298138aad30b28212c91d948fc5a92
parent7be8bb7021bfe8e2ea79f572e798e17494253a5c (diff)
Replace math.h with cmath. Add settings and copyright to gcode output. Add line break to console progress output.
-rw-r--r--ArcWelder/arc_welder.cpp14
-rw-r--r--ArcWelder/arc_welder.h1
-rw-r--r--ArcWelder/segmented_arc.cpp7
-rw-r--r--ArcWelder/segmented_shape.cpp5
-rw-r--r--ArcWelderConsole/ArcWelderConsole.cpp6
-rw-r--r--ArcWelderInverseProcessor/inverse_processor.cpp4
-rw-r--r--ArcWelderInverseProcessor/inverse_processor.h1
-rw-r--r--GcodeProcessorLib/gcode_position.cpp2
-rw-r--r--GcodeProcessorLib/utilities.cpp10
-rw-r--r--PyArcWelder/py_arc_welder_extension.cpp4
10 files changed, 34 insertions, 20 deletions
diff --git a/ArcWelder/arc_welder.cpp b/ArcWelder/arc_welder.cpp
index 89adbe3..84de1f5 100644
--- a/ArcWelder/arc_welder.cpp
+++ b/ArcWelder/arc_welder.cpp
@@ -189,6 +189,7 @@ arc_welder_results arc_welder::process()
{
if (output_file_.is_open())
{
+ add_arcwelder_comment_to_target();
if (info_logging_enabled_)
{
stream.clear();
@@ -614,7 +615,6 @@ std::string arc_welder::create_g92_e(double absolute_e)
int arc_welder::write_gcode_to_file(std::string gcode)
{
output_file_ << utilities::trim(gcode) << "\n";
- //std::cout << utilities::trim(gcode) << "\n";
return 1;
}
@@ -664,4 +664,16 @@ std::string arc_welder::get_arc_gcode_absolute(double e, double f, const std::st
}
+void arc_welder::add_arcwelder_comment_to_target()
+{
+ std::stringstream stream;
+ stream << std::fixed << std::setprecision(2);
+ stream << "; Postprocessed by [ArcWelder](https://github.com/FormerLurker/ArcWelderLib)\n";
+ stream << "; Copyright(C) 2020 - Brad Hochgesang\n";
+ stream << "; arc_welder_resolution_mm = " << resolution_mm_ << "\n";
+ stream << "; arc_welder_g90_influences_extruder = " << (gcode_position_args_.g90_influences_extruder ? "True" : "False") << "\n\n";
+
+ output_file_ << stream.str();
+}
+
diff --git a/ArcWelder/arc_welder.h b/ArcWelder/arc_welder.h
index d1ab85c..bad6aaa 100644
--- a/ArcWelder/arc_welder.h
+++ b/ArcWelder/arc_welder.h
@@ -104,6 +104,7 @@ public:
protected:
virtual bool on_progress_(arc_welder_progress progress);
private:
+ void add_arcwelder_comment_to_target();
void reset();
static gcode_position_args get_args_(bool g90_g91_influences_extruder, int buffer_size);
progress_callback progress_callback_;
diff --git a/ArcWelder/segmented_arc.cpp b/ArcWelder/segmented_arc.cpp
index 4f46019..2af6bc4 100644
--- a/ArcWelder/segmented_arc.cpp
+++ b/ArcWelder/segmented_arc.cpp
@@ -29,8 +29,8 @@
#include <iostream>
#include <iomanip>
#include <sstream>
-#include "math.h"
#include <stdio.h>
+#include <cmath>
segmented_arc::segmented_arc() : segmented_shape()
{
@@ -263,11 +263,12 @@ bool segmented_arc::try_get_arc_(circle& c, point endpoint, double additional_di
std::string segmented_arc::get_shape_gcode_absolute(double e, double f)
{
- return get_shape_gcode_(true, e, f);
+ bool has_e = e_relative_ != 0;
+ return get_shape_gcode_(has_e, e, f);
}
std::string segmented_arc::get_shape_gcode_relative(double f)
{
- bool has_e = e_relative_ > 0;
+ bool has_e = e_relative_ != 0;
return get_shape_gcode_(has_e, e_relative_, f);
}
diff --git a/ArcWelder/segmented_shape.cpp b/ArcWelder/segmented_shape.cpp
index e2be390..21ca2b1 100644
--- a/ArcWelder/segmented_shape.cpp
+++ b/ArcWelder/segmented_shape.cpp
@@ -24,8 +24,7 @@
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "segmented_shape.h"
-
-#include <math.h>
+#include <cmath>
#include <iostream>
#pragma region Operators for Vector and Point
point operator +(point lhs, const vector rhs) {
@@ -151,7 +150,7 @@ double distance_from_segment(segment s, point p)
bool circle::is_point_on_circle(point p, double resolution_mm)
{
// get the difference between the point and the circle's center.
- double difference = abs(utilities::get_cartesian_distance(p.x, p.y, center.x, center.y) - radius);
+ double difference = std::abs(utilities::get_cartesian_distance(p.x, p.y, center.x, center.y) - radius);
return utilities::less_than(difference, resolution_mm, CIRCLE_FLOATING_POINT_TOLERANCE);
}
diff --git a/ArcWelderConsole/ArcWelderConsole.cpp b/ArcWelderConsole/ArcWelderConsole.cpp
index c96d4e7..099f8ba 100644
--- a/ArcWelderConsole/ArcWelderConsole.cpp
+++ b/ArcWelderConsole/ArcWelderConsole.cpp
@@ -197,6 +197,8 @@ int main(int argc, char* argv[])
log_levels.push_back(log_levels::DEBUG);
logger* p_logger = new logger(log_names, log_levels);
p_logger->set_log_level_by_value(log_level_value);
+ std::string log_level_name = "No Logging";
+ if (log_level_value >= 0) log_level_names[logger::get_log_level_for_value(log_level_value)];
std::stringstream log_messages;
log_messages << "Processing Gcode\n";
@@ -204,7 +206,7 @@ int main(int argc, char* argv[])
log_messages << "\tTarget File File : " << target_file_apth << "\n";
log_messages << "\tResolution in MM : " << resolution_mm << "\n";
log_messages << "\tG90/G91 Influences Extruder : " << (g90_g91_influences_extruder ? "True" : "False") << "\n";
- log_messages << "\tLog Level : " << log_level_names[logger::get_log_level_for_value(log_level_value)] << "\n";
+ log_messages << "\tLog Level : " << log_level_name << "\n";
log_messages << "\tShow Progress Updates : " << (show_progress ? "True" : "False") << "\n";
std::cout << log_messages.str();
arc_welder* p_arc_welder = NULL;
@@ -225,6 +227,6 @@ int main(int argc, char* argv[])
static bool on_progress(arc_welder_progress progress)
{
- std::cout << progress.str();
+ std::cout << progress.str() << "\n";
return true;
} \ No newline at end of file
diff --git a/ArcWelderInverseProcessor/inverse_processor.cpp b/ArcWelderInverseProcessor/inverse_processor.cpp
index 449d6c1..6717700 100644
--- a/ArcWelderInverseProcessor/inverse_processor.cpp
+++ b/ArcWelderInverseProcessor/inverse_processor.cpp
@@ -48,7 +48,7 @@
*/
#include "inverse_processor.h"
-
+#include <cmath>
//#include "Marlin.h"
//#include "stepper.h"
@@ -308,7 +308,7 @@ void inverse_processor::mc_arc(float* position, float* target, float* offset, fl
// 20200417 - FormerLurker - rename millimeters_of_travel to millimeters_of_travel_arc to better describe what we are
// calculating here
- float millimeters_of_travel_arc = hypot(angular_travel_total * radius, fabs(travel_z));
+ float millimeters_of_travel_arc = hypot(angular_travel_total * radius, std::abs(travel_z));
if (millimeters_of_travel_arc < 0.001) { return; }
// Calculate the total travel per segment
// Calculate the number of arc segments
diff --git a/ArcWelderInverseProcessor/inverse_processor.h b/ArcWelderInverseProcessor/inverse_processor.h
index 7d5a313..d17386e 100644
--- a/ArcWelderInverseProcessor/inverse_processor.h
+++ b/ArcWelderInverseProcessor/inverse_processor.h
@@ -26,7 +26,6 @@
#include <string>
#include "gcode_position.h"
-#include "math.h"
#include <iostream>
#include <string>
#include <sstream>
diff --git a/GcodeProcessorLib/gcode_position.cpp b/GcodeProcessorLib/gcode_position.cpp
index 3fc661f..7e56844 100644
--- a/GcodeProcessorLib/gcode_position.cpp
+++ b/GcodeProcessorLib/gcode_position.cpp
@@ -24,7 +24,7 @@
#include "utilities.h"
#include <algorithm>
#include <iterator>
-#include <math.h>
+#include <cmath>
gcode_position_args::gcode_position_args(const gcode_position_args &pos_args)
{
position_buffer_size = pos_args.position_buffer_size;
diff --git a/GcodeProcessorLib/utilities.cpp b/GcodeProcessorLib/utilities.cpp
index 5a2c1d6..8844922 100644
--- a/GcodeProcessorLib/utilities.cpp
+++ b/GcodeProcessorLib/utilities.cpp
@@ -20,7 +20,7 @@
// FormerLurker@pm.me
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "utilities.h"
-#include <math.h>
+#include <cmath>
#include <sstream>
#include <iostream>
@@ -30,7 +30,7 @@ const std::string utilities::WHITESPACE_ = " \n\r\t\f\v";
bool utilities::is_zero(double x)
{
- return abs(x) < ZERO_TOLERANCE;
+ return std::abs(x) < ZERO_TOLERANCE;
}
int utilities::round_up_to_int(double x)
@@ -40,7 +40,7 @@ int utilities::round_up_to_int(double x)
bool utilities::is_equal(double x, double y)
{
- double abs_difference = abs(x - y);
+ double abs_difference = std::abs(x - y);
return abs_difference < ZERO_TOLERANCE;
}
@@ -67,12 +67,12 @@ bool utilities::less_than_or_equal(double x, double y)
// custom tolerance functions
bool utilities::is_zero(double x, double tolerance)
{
- return abs(x) < tolerance;
+ return std::abs(x) < tolerance;
}
bool utilities::is_equal(double x, double y, double tolerance)
{
- double abs_difference = abs(x - y);
+ double abs_difference = std::abs(x - y);
return abs_difference < tolerance;
}
diff --git a/PyArcWelder/py_arc_welder_extension.cpp b/PyArcWelder/py_arc_welder_extension.cpp
index 89410b9..1b7021e 100644
--- a/PyArcWelder/py_arc_welder_extension.cpp
+++ b/PyArcWelder/py_arc_welder_extension.cpp
@@ -126,7 +126,7 @@ PyInit_PyArcWelder(void)
extern "C" void initPyArcWelder(void)
#endif
{
- std::cout << "Initializing PyArcWelder V0.1.0rc1.dev0 - Copyright (C) 2019 Brad Hochgesang.";
+ std::cout << "Initializing PyArcWelder V0.1.0rc1.dev2 - Copyright (C) 2019 Brad Hochgesang.";
#if PY_MAJOR_VERSION >= 3
std::cout << " Python 3+ Detected...";
@@ -151,7 +151,7 @@ extern "C" void initPyArcWelder(void)
logger_levels.push_back(log_levels::DEBUG);
p_py_logger = new py_logger(logger_names, logger_levels);
p_py_logger->initialize_loggers();
- std::string message = "PyArcWelder V0.1.0rc1.dev0 imported - Copyright (C) 2019 Brad Hochgesang...";
+ std::string message = "PyArcWelder V0.1.0rc1.dev2 imported - Copyright (C) 2019 Brad Hochgesang...";
p_py_logger->log(GCODE_CONVERSION, INFO, message);
p_py_logger->set_log_level_by_value(DEBUG);
std::cout << " Initialization Complete\r\n";