- Robot::wcs_t pos= robot->mcs2wcs(mpos);
- n= snprintf(buf, sizeof(buf), "%1.4f,%1.4f,%1.4f", robot->from_millimeters(std::get<X_AXIS>(pos)), robot->from_millimeters(std::get<Y_AXIS>(pos)), robot->from_millimeters(std::get<Z_AXIS>(pos)));
- str.append("WPos:").append(buf, n);
- str.append(">\r\n");
-
- }else{
+ Robot::wcs_t pos = robot->mcs2wcs(mpos);
+ n = snprintf(buf, sizeof(buf), "%1.4f,%1.4f,%1.4f", robot->from_millimeters(std::get<X_AXIS>(pos)), robot->from_millimeters(std::get<Y_AXIS>(pos)), robot->from_millimeters(std::get<Z_AXIS>(pos)));
+ if(n > sizeof(buf)) n= sizeof(buf);
+
+ str.append("|WPos:").append(buf, n);
+ // current feedrate
+ float fr= robot->from_millimeters(conveyor->get_current_feedrate()*60.0F);
+ n = snprintf(buf, sizeof(buf), "|F:%1.4f", fr);
+ if(n > sizeof(buf)) n= sizeof(buf);
+ str.append(buf, n);
+ float sr= robot->get_s_value();
+ n = snprintf(buf, sizeof(buf), "|S:%1.4f", sr);
+ if(n > sizeof(buf)) n= sizeof(buf);
+ str.append(buf, n);
+
+ // current Laser power
+ #ifndef NO_TOOLS_LASER
+ Laser *plaser= nullptr;
+ if(PublicData::get_value(laser_checksum, (void *)&plaser) && plaser != nullptr) {
+ float lp= plaser->get_current_power();
+ n = snprintf(buf, sizeof(buf), "|L:%1.4f", lp);
+ if(n > sizeof(buf)) n= sizeof(buf);
+ str.append(buf, n);
+ }
+ #endif
+
+ } else {