Enabled arcs render after adapting OpenCNCPilot code.
Started porting iosender to C++
This commit is contained in:
+45
-1
@@ -2,6 +2,8 @@
|
||||
|
||||
#include "grbl.h"
|
||||
#include "grbl_machine.h"
|
||||
#include "gcode_parser.h"
|
||||
#include "glm/gtx/string_cast.hpp"
|
||||
|
||||
TEST(grbl_program, default_state) {
|
||||
grbl::program pgm;
|
||||
@@ -53,4 +55,46 @@ TEST(grbl_status_report, parse) {
|
||||
EXPECT_EQ(false, r.signals.bit.x_limit);
|
||||
EXPECT_EQ(false, r.signals.bit.y_limit);
|
||||
EXPECT_EQ(true, r.signals.bit.z_limit);
|
||||
}
|
||||
}
|
||||
|
||||
TEST(grbl_parser, parse) {
|
||||
std::string content = R"(G17 G21 G90 G94 G54
|
||||
G0 Z0.25
|
||||
X-0.5 Y0.
|
||||
Z0.1
|
||||
G01 Z0. F5.
|
||||
G02 X0. Y0.5 I0.5 J0. F2.5
|
||||
X0.5 Y0. I0. J-0.5
|
||||
X0. Y-0.5 I-0.5 J0.
|
||||
X-0.5 Y0. I0. J0.5
|
||||
G01 Z0.1 F5.
|
||||
G00 X0. Y0. Z0.25
|
||||
)";
|
||||
std::stringstream ss;
|
||||
ss << content;
|
||||
|
||||
grbl::grbl_parser parser;
|
||||
try {
|
||||
parser.parse(ss);
|
||||
} catch (std::exception &e) {
|
||||
std::cerr << e.what();
|
||||
}
|
||||
|
||||
for (auto &c: parser.commands) {
|
||||
auto line = dynamic_cast<grbl::line_motion_cmd *>(c.get());
|
||||
if (line != nullptr) {
|
||||
std::cout << "Line from " << glm::to_string(line->start) << " to " << glm::to_string(line->end)
|
||||
<< std::endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
auto arc = dynamic_cast<grbl::arc_motion_cmd *>(c.get());
|
||||
if (arc != nullptr) {
|
||||
std::cout << "Arc from " << glm::to_string(arc->start) << " to " << glm::to_string(arc->end) << std::endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// EXPECT_EQ(true, false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user