Added ACTIVE/IDLE query. Fixed CQ start transmission.
This commit is contained in:
parent
18052773f1
commit
2e2551519d
@ -6315,6 +6315,8 @@ void MainWindow::on_cqMacroButton_clicked(){
|
|||||||
|
|
||||||
clearCallsignSelected();
|
clearCallsignSelected();
|
||||||
addMessageText(message);
|
addMessageText(message);
|
||||||
|
|
||||||
|
if(m_config.transmit_directed()) toggleTx(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_replyMacroButton_clicked(){
|
void MainWindow::on_replyMacroButton_clicked(){
|
||||||
@ -6322,7 +6324,10 @@ void MainWindow::on_replyMacroButton_clicked(){
|
|||||||
if(call.isEmpty()){
|
if(call.isEmpty()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
addMessageText(QString("%1 %2").arg(call).arg(m_config.reply_message()));
|
addMessageText(QString("%1 %2").arg(call).arg(m_config.reply_message()));
|
||||||
|
|
||||||
|
if(m_config.transmit_directed()) toggleTx(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_qthMacroButton_clicked(){
|
void MainWindow::on_qthMacroButton_clicked(){
|
||||||
@ -6544,6 +6549,20 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){
|
|||||||
if(m_config.transmit_directed()) toggleTx(true);
|
if(m_config.transmit_directed()) toggleTx(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
auto stationIdleQueryAction = menu->addAction(QString("%1* - Is your station active or idle?").arg(call).trimmed());
|
||||||
|
stationIdleQueryAction->setDisabled(isAllCall);
|
||||||
|
connect(stationIdleQueryAction, &QAction::triggered, this, [this](){
|
||||||
|
|
||||||
|
QString selectedCall = callsignSelected();
|
||||||
|
if(selectedCall.isEmpty()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
addMessageText(QString("%1*").arg(selectedCall), true);
|
||||||
|
|
||||||
|
if(m_config.transmit_directed()) toggleTx(true);
|
||||||
|
});
|
||||||
|
|
||||||
auto heardQueryAction = menu->addAction(QString("%1$ - What are the stations are you hearing? (Top 4 ranked by most recently heard)").arg(call).trimmed());
|
auto heardQueryAction = menu->addAction(QString("%1$ - What are the stations are you hearing? (Top 4 ranked by most recently heard)").arg(call).trimmed());
|
||||||
heardQueryAction->setDisabled(isAllCall);
|
heardQueryAction->setDisabled(isAllCall);
|
||||||
connect(heardQueryAction, &QAction::triggered, this, [this](){
|
connect(heardQueryAction, &QAction::triggered, this, [this](){
|
||||||
@ -8607,6 +8626,15 @@ void MainWindow::processCommandActivity() {
|
|||||||
reply = QString("%1 QTH %2").arg(d.from).arg(qth);
|
reply = QString("%1 QTH %2").arg(d.from).arg(qth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// QUERIED ACTIVE
|
||||||
|
else if (d.cmd == "*" && !isAllCall) {
|
||||||
|
if(m_idleMinutes < 10){
|
||||||
|
reply = QString("%1 ACTIVE").arg(d.from);
|
||||||
|
} else {
|
||||||
|
reply = QString("%1 IDLE").arg(d.from);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// QUERIED GRID
|
// QUERIED GRID
|
||||||
else if (d.cmd == "^" && !isAllCall) {
|
else if (d.cmd == "^" && !isAllCall) {
|
||||||
QString grid = m_config.my_grid();
|
QString grid = m_config.my_grid();
|
||||||
|
10
varicode.cpp
10
varicode.cpp
@ -46,14 +46,14 @@ QMap<QString, int> directed_cmds = {
|
|||||||
{"$", 3 }, // query station(s) heard
|
{"$", 3 }, // query station(s) heard
|
||||||
{"^", 4 }, // query grid
|
{"^", 4 }, // query grid
|
||||||
{">", 5 }, // relay message
|
{">", 5 }, // relay message
|
||||||
//{"|", 6 }, // retransmit message
|
{"*", 6 }, // query idle message
|
||||||
//{"!", 7 }, // alert message
|
//{"!", 7 }, // alert message
|
||||||
{"#", 8 }, // all or nothing message
|
{"#", 8 }, // all or nothing message
|
||||||
|
|
||||||
// {"=", 9 }, // unused
|
// {"=", 9 }, // unused
|
||||||
// {"/", 10 }, // unused
|
|
||||||
|
|
||||||
|
|
||||||
|
{" ACTIVE", 10 }, // i have been active in the past 10 minutes
|
||||||
|
{" IDLE", 11 }, // i have not been active in the past 10 minutes
|
||||||
|
|
||||||
{" BEACON", -1 }, // this is my beacon (unused except for faux processing of beacons as directed commands)
|
{" BEACON", -1 }, // this is my beacon (unused except for faux processing of beacons as directed commands)
|
||||||
{" BEACON ACK", 12 }, // i received your beacon at this snr
|
{" BEACON ACK", 12 }, // i received your beacon at this snr
|
||||||
@ -81,7 +81,7 @@ QMap<QString, int> directed_cmds = {
|
|||||||
{" ", 31 }, // send freetext
|
{" ", 31 }, // send freetext
|
||||||
};
|
};
|
||||||
|
|
||||||
QSet<int> allowed_cmds = {-1, 0, 1, 2, 3, 4, 5, /*6,*/ /*7,*/ 8, /*...*/ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
|
QSet<int> allowed_cmds = {-1, 0, 1, 2, 3, 4, 5, 6, /*7,*/ 8, /*9,*/ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
|
||||||
|
|
||||||
QSet<int> buffered_cmds = {3, 5, /*6,*/ /*7,*/ 8, 13, 14, 15};
|
QSet<int> buffered_cmds = {3, 5, /*6,*/ /*7,*/ 8, 13, 14, 15};
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ QMap<int, int> checksum_cmds = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
QString callsign_pattern = QString("(?<callsign>[A-Z0-9/]+)");
|
QString callsign_pattern = QString("(?<callsign>[A-Z0-9/]+)");
|
||||||
QString optional_cmd_pattern = QString("(?<cmd>\\s?(?:BEACON (ACK|REQ)|AGN[?]|QSL[?]|HW CPY[?]|APRS[:]|QRZ[?]|(?:(?:ACK|73|YES|NO|SNR|QSL|RR|HEARING|FB|QTH|QTC|GRID)(?=[ ]|$))|[?@&$%#^> ]))?");
|
QString optional_cmd_pattern = QString("(?<cmd>\\s?(?:BEACON (ACK|REQ)|AGN[?]|QSL[?]|HW CPY[?]|APRS[:]|QRZ[?]|(?:(?:ACK|73|YES|NO|SNR|QSL|RR|HEARING|FB|QTH|QTC|GRID|ACTIVE|IDLE)(?=[ ]|$))|[?@&$%#^>* ]))?");
|
||||||
QString optional_grid_pattern = QString("(?<grid>\\s?[A-R]{2}[0-9]{2})?");
|
QString optional_grid_pattern = QString("(?<grid>\\s?[A-R]{2}[0-9]{2})?");
|
||||||
QString optional_extended_grid_pattern = QString("^(?<grid>\\s?(?:[A-R]{2}[0-9]{2}(?:[A-X]{2}(?:[0-9]{2})?)*))?");
|
QString optional_extended_grid_pattern = QString("^(?<grid>\\s?(?:[A-R]{2}[0-9]{2}(?:[A-X]{2}(?:[0-9]{2})?)*))?");
|
||||||
QString optional_num_pattern = QString("(?<num>(?<=SNR|BEACON ACK)\\s?[-+]?(?:3[01]|[0-2]?[0-9]))?");
|
QString optional_num_pattern = QString("(?<num>(?<=SNR|BEACON ACK)\\s?[-+]?(?:3[01]|[0-2]?[0-9]))?");
|
||||||
|
Loading…
Reference in New Issue
Block a user