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:
Diffstat (limited to 'ArcWelderTest/ArcWelderTest.cpp')
-rw-r--r--ArcWelderTest/ArcWelderTest.cpp76
1 files changed, 32 insertions, 44 deletions
diff --git a/ArcWelderTest/ArcWelderTest.cpp b/ArcWelderTest/ArcWelderTest.cpp
index 9add004..bd173d5 100644
--- a/ArcWelderTest/ArcWelderTest.cpp
+++ b/ArcWelderTest/ArcWelderTest.cpp
@@ -24,7 +24,6 @@
#include "ArcWelderTest.h"
#include "logger.h"
#include <iostream>
-#include "utilities.h"
int main(int argc, char* argv[])
{
@@ -34,7 +33,7 @@ int main(int argc, char* argv[])
int run_tests(int argc, char* argv[])
{
- _CrtMemState state;
+ _CrtMemState state1, state2, state3;
// This line will take a snapshot
// of the memory allocated at this point.
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
@@ -46,7 +45,7 @@ int run_tests(int argc, char* argv[])
//std::string filename = argv[1];
unsigned int num_runs = 1;
- _CrtMemCheckpoint(&state);
+ _CrtMemCheckpoint(&state1);
auto start = std::chrono::high_resolution_clock::now();
for (unsigned int index = 0; index < num_runs; index++)
@@ -94,7 +93,11 @@ int run_tests(int argc, char* argv[])
}
auto end = std::chrono::high_resolution_clock::now();
- _CrtMemDumpAllObjectsSince(&state);
+ _CrtMemCheckpoint(&state2);
+ if (_CrtMemDifference(&state3, &state1, &state2)) {
+ _CrtMemDumpStatistics(&state3);
+ }
+ //_CrtMemDumpAllObjectsSince(&state);
std::chrono::duration<double> diff = end - start;
std::cout << "Tests completed in " << diff.count() << " seconds";
//std::cout << "Has Memory Leak = " << has_leak << ".\r\n";
@@ -266,47 +269,19 @@ static gcode_position_args get_5_extruder_position_args()
static void TestAntiStutter(std::string filePath)
{
- //double max_resolution = DEFAULT_RESOLUTION_MM;
- double max_resolution = 0.05;
- double max_radius_mm = 100000;
- //int min_arc_segments = DEFAULT_MIN_ARC_SEGMENTS;
- int min_arc_segments = 0;
- double mm_per_arc_segment = 0;
-
- //double path_tolerance_percent = ARC_LENGTH_PERCENT_TOLERANCE_DEFAULT; // 1 percent
- double path_tolerance_percent = 0.05;
- //double path_tolerance_percent = 0.05;
std::vector<std::string> logger_names;
logger_names.push_back("arc_welder.gcode_conversion");
std::vector<int> logger_levels;
- logger_levels.push_back(log_levels::NOSET);
- logger_levels.push_back(log_levels::VERBOSE);
- logger_levels.push_back(log_levels::DEBUG);
- logger_levels.push_back(log_levels::INFO);
- logger_levels.push_back(log_levels::WARNING);
- logger_levels.push_back(log_levels::ERROR);
- logger_levels.push_back(log_levels::CRITICAL);
+ logger_levels.push_back((int)log_levels::NOSET);
+ logger_levels.push_back((int)log_levels::VERBOSE);
+ logger_levels.push_back((int)log_levels::DEBUG);
+ logger_levels.push_back((int)log_levels::INFO);
+ logger_levels.push_back((int)log_levels::WARNING);
+ //logger_levels.push_back((int)(log_levels::ERROR));
+ logger_levels.push_back((int)log_levels::CRITICAL);
logger* p_logger = new logger(logger_names, logger_levels);
- p_logger->set_log_level(INFO);
- //p_logger->set_log_level_by_value(5);
- //arc_welder arc_welder_obj(BENCHY_0_5_MM_NO_WIPE, "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\test_output.gcode", p_logger, max_resolution, false, 50, static_cast<progress_callback>(on_progress));
- //arc_welder arc_welder_obj(SIX_SPEED_TEST, "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\test_output.gcode", p_logger, max_resolution, false, 50, on_progress);
- arc_welder arc_welder_obj(
- BENCHY_L1_DIFFICULT,
- "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\test_output.gcode",
- p_logger,
- max_resolution,
- path_tolerance_percent,
- max_radius_mm,
- min_arc_segments,
- mm_per_arc_segment,
- false,
- true,
- DEFAULT_ALLOW_DYNAMIC_PRECISION,
- DEFAULT_XYZ_PRECISION,
- DEFAULT_E_PRECISION,
- DEFAULT_GCODE_BUFFER_SIZE,
- on_progress);
+ p_logger->set_log_level(log_levels::INFO);
+
//FIRMWARE_COMPENSATION_TEST_1
//BENCHY_MIN_RADIUS_TEST
//BENCHY_DIFFICULT
@@ -330,15 +305,28 @@ static void TestAntiStutter(std::string filePath)
// BENCHY_L1_DIFFICULT
// SPIRAL_TEST
// SPIRAL_VASE_TEST_FUNNEL
+ std::string source_path = SPIRAL_VASE_TEST_SINGLE_LAYER_CYLINDER;
+ std::string target_path = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\test_output.gcode";
+ arc_welder_args args(source_path, target_path, p_logger);
+ args.box_encoding = args.box_encoding = utilities::box_drawing::HTML;
+ args.callback = on_progress;
+ // override any arguments here;
+ args.allow_travel_arcs = true;
+ args.allow_3d_arcs = true;
+ args.max_radius_mm = 9999;
+ args.resolution_mm = 0.05;
+ args.extrusion_rate_variance_percent = 1000;
+ arc_welder arc_welder_obj(args);
+
arc_welder_results results = arc_welder_obj.process();
- p_logger->log(0, INFO, results.progress.detail_str());
- p_logger->log(0, INFO, "Processing Complete.");
+ p_logger->log(0, log_levels::INFO, results.progress.detail_str());
+ p_logger->log(0, log_levels::INFO, "Processing Complete.");
delete p_logger;
}
bool on_progress(arc_welder_progress progress, logger * p_logger, int logger_type)
{
- p_logger->log(logger_type, INFO, progress.str());
+ p_logger->log(logger_type, log_levels::INFO, progress.str());
return true;
}