Communicator banner + single char commands

This commit is contained in:
2023-04-27 18:10:48 +03:00
parent 99cbad2c28
commit 32bda9d55b
3 changed files with 67 additions and 10 deletions
+15 -3
View File
@@ -553,7 +553,7 @@ public:
m_shader->set_uniform("intensity", 0.5f);
}
bool resize_event(const Vector2i& size) override {
bool resize_event(const Vector2i &size) override {
window->set_size(size);
Screen::resize_event(size);
return true;
@@ -616,7 +616,9 @@ private:
struct grbl_listener : public grbl::transport_callbacks {
void on_connected(grbl::transport *t) override {
std::cout << "Listener: connected!" << std::endl;
t->send("$$");
// telnet handshake so that we get the banner. banner won't be coming otherwise
// t->send("\xff\xfd\x18\xff\xfd\x20\xff\xfd\x23\xff\xfd\x27");
t->send("\xff\xfd\x18");
}
void on_disconnected(grbl::transport *t) override {
@@ -626,6 +628,11 @@ struct grbl_listener : public grbl::transport_callbacks {
void on_line_received(std::string line, grbl::transport *t) override {
std::cout << "Listener: -> " << line << std::endl;
}
void on_banner(std::string version, grbl::transport *t) override {
std::cout << "Banner: " << version << std::endl;
t->send("$$");
}
};
int main(int argc, char **argv) {
@@ -641,6 +648,11 @@ int main(int argc, char **argv) {
exit(result);
}
transport.request_realtime_report();
transport.request_cycle_start();
transport.request_feed_hold();
transport.parser_state_report();
try {
// grbl::program pgm;
@@ -659,7 +671,7 @@ int main(int argc, char **argv) {
}
nanogui::shutdown();
} catch (const std::exception& e) {
} catch (const std::exception &e) {
std::string error_msg = std::string("Caught a fatal error: ") + std::string(e.what());
std::cerr << error_msg << std::endl;
return -1;