Stop every axis on a bare 'gimbal stop'
This commit is contained in:
parent
93f47bd142
commit
8cf3b3b9e9
|
|
@ -2200,6 +2200,10 @@ struct Application::Impl {
|
||||||
std::string fw = sub;
|
std::string fw = sub;
|
||||||
for (char& ch : fw) ch = static_cast<char>(std::toupper((unsigned char)ch));
|
for (char& ch : fw) ch = static_cast<char>(std::toupper((unsigned char)ch));
|
||||||
for (size_t i = 2; i < tok.size(); ++i) fw += " " + tok[i];
|
for (size_t i = 2; i < tok.size(); ++i) fw += " " + tok[i];
|
||||||
|
// A bare `gimbal stop` means every axis. The firmware wants the axis
|
||||||
|
// named, and answered a bare STOP with "ERR missing argument" - so the
|
||||||
|
// one command that has to work, did nothing.
|
||||||
|
if (sub == "stop" && tok.size() == 2) fw = "STOP ALL";
|
||||||
motor->sendCommand(fw);
|
motor->sendCommand(fw);
|
||||||
} else {
|
} else {
|
||||||
LOG_WARN << "unknown gimbal subcommand: " << sub;
|
LOG_WARN << "unknown gimbal subcommand: " << sub;
|
||||||
|
|
|
||||||
|
|
@ -95,8 +95,8 @@ const std::vector<HelpSection>& helpCatalog() {
|
||||||
"Run the endstop-finding home sequence (both axes, or one).", {
|
"Run the endstop-finding home sequence (both axes, or one).", {
|
||||||
"Example: gimbal home / gimbal home y"}},
|
"Example: gimbal home / gimbal home y"}},
|
||||||
{"gimbal stop [y|p|all]",
|
{"gimbal stop [y|p|all]",
|
||||||
"Stop motion immediately.", {
|
"Stop motion immediately; bare, every axis. The axis holds where it stops.", {
|
||||||
"To cancel a running procedure use 'cancel' (or Esc, or x):",
|
"To cancel a running procedure use 'cancel' (or Esc, or m):",
|
||||||
"the whole 'gimbal' family is ignored while one is in progress."}},
|
"the whole 'gimbal' family is ignored while one is in progress."}},
|
||||||
{"gimbal speed <y|p> <vel>",
|
{"gimbal speed <y|p> <vel>",
|
||||||
"Set the max slew speed (counts/s) for an axis.", {}},
|
"Set the max slew speed (counts/s) for an axis.", {}},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue