Can you show us where in v3 this problem is?
@eliggett
if ((commands_list[i].flags & ARG_IN_LINE ) == ARG_IN_LINE && !longCommand)
{
command[0].remove(0,1);
command.removeAll({});
}
else
{
command.removeFirst(); // Remove the actual command so it only contains params
}
imho, !longCommmand is not required.
if command should be \w+(\s\w)*\\n format, app just need removeFirst.
so, this full comparing is not required.
an original code was just use removeFirst for all cases, I think, it was correct.
it’s introduced to support not1mm’s buggy case. not1mm was resolved their bug at couple month ago.
samely,
if (!longCommand && !commands.isEmpty() ){
commands.remove(0,1);
goto restart; // Need to restart loop without going to next command incase of compound command
}
also i think, it’s also not need. when a received commands are correct, it’s already split with \n.
IDK, I’m correct or not, when an app receive wrong message which d defga\n.
an app detect this message is short command, and it’s not empty.
so return to removing first char case (when we revert first comparing)
imho, app would do e command in this case, or app spend meanless computing power to remove all char..
(it might not be actual bug, it might be related with my middle of works..)
// Stop sending CW if a blank command is received.
// If 2nd letter of fullcmd is space , send space.
if ( fullcmd.mid(1,1) == ' ' )
{
queue->add(priorityImmediate, queueItem(func, QString(" "),false,0));
}
else
{
queue->add(priorityImmediate, queueItem(func, QString(),false,0));
}
break;
stop_morse was work well.
in my case, sometimes, it makes stucking between stop and next send commands.
it might be related queue handling.
also, idk, why it send space, so I just use second one for all cases.
we have a compatibility table comparing ‘actual’ Hamlib rigctld with the wfview implementation, I will add the send_morse commands and do some more testing. The goal is to achieve feature parity (where possible) with the original implementation
@phil that’s sounds great! I hope see v3 soon!
imho, you need additional testing which non-ascii command comparing such as 0xbb.
0xbb is short command version of \\stop_morse,
when I check the issue, app cannot detect this command correctly.