#include
#include
#include
#include
#include
#include
#include
#include "gcode/gcode_meta.h"
#include "gcode/parsers/common_parser.h"
#include "managers/settings/settings_manager.h"
#include "units/unit.h"
#include "utilities/constants.h"
namespace {
bool expect(bool condition, const char* message) {
if (!condition) std::cerr setSetting(ORNL::MS::Cooling::kForceMinLayerTime, true);
global_settings->setSetting(ORNL::MS::Cooling::kForceMinLayerTimeMethod,
static_cast(ORNL::ForceMinimumLayerTime::kSlow_Feedrate));
global_settings->setSetting(ORNL::MS::Cooling::kMinLayerTime, 5.0);
global_settings->setSetting(ORNL::MS::Cooling::kMaxLayerTime, 0.0);
global_settings->setSetting(ORNL::MS::Cooling::kExtruderScaleFactor, 1.0);
global_settings->setSetting(ORNL::MS::Filament::kFilamentBAxis, false);
global_settings->setSetting(ORNL::MS::Startup::kDisableFeedrateScaling, false);
global_settings->setSetting(ORNL::MS::Slowdown::kDisableFeedrateScaling, false);
global_settings->setSetting(ORNL::MS::TipWipe::kDisableFeedrateScaling, false);
global_settings->setSetting(ORNL::MS::SpiralLift::kDisableFeedrateScaling, false);
global_settings->setSetting(ORNL::PS::Travel::kDisableFeedrateScaling, false);
global_settings->setSetting(ORNL::PRS::MachineSpeed::kMinXYSpeed, 0.0);
global_settings->setSetting(ORNL::PRS::MachineSpeed::kMaxXYSpeed, 1000000.0);
global_settings->setSetting(ORNL::PS::Layer::kBeadWidth, 0.4);
global_settings->setSetting(ORNL::PS::Layer::kLayerHeight, 0.2);
}
bool accumulatesTravelTimeForNonDepositionMove() {
QStringList original_lines {"G1 F60 X1 ;TRAVEL"};
QStringList upper_lines = upperLines(original_lines);
ORNL::CommonParser parser(ORNL::GcodeMetaList::MarlinMeta, false, original_lines, upper_lines);
try {
parser.parseLines();
return parser.getTravelDistance() > 0.0 * ORNL::mm && parser.getTravelTime() > 0.0 * ORNL::s;
} catch (const std::exception& ex) {
std::cerr 0.0 * ORNL::mm && parser.getTravelTime() > 0.0 * ORNL::s;
} catch (const std::exception& ex) {
std::cerr 0.0 && modifiers[1] < 1.0 &&
lineFeedrate(original_lines[1], travel_feedrate) && lineFeedrate(original_lines[2], print_feedrate) &&
std::abs(travel_feedrate - 60.0) < 1.0e-6 && print_feedrate > 0.0 && print_feedrate < 60.0 &&
std::abs(adjusted_travel_time - travel_time) < 1.0e-6;
} catch (const std::exception& ex) {
std::cerr 0.0 && modifiers[1] < 1.0 &&
lineFeedrate(original_lines[1], travel_feedrate) && travel_feedrate > 0.0 && travel_feedrate < 60.0 &&
parser.getAdjustedTravelTime()() > parser.getTravelTime()();
} catch (const std::exception& ex) {
std::cerr