kopia lustrzana https://github.com/jamescoxon/dl-fldigi
ARQ stx handshake
* send STX, 0x02, signal when ARQ command to change modem is completed.pull/1/head
rodzic
4503c990be
commit
82aeba5cb2
|
@ -192,12 +192,11 @@ void ParseMode(string src)
|
||||||
for (size_t i = 0; i < NUM_MODES; ++i) {
|
for (size_t i = 0; i < NUM_MODES; ++i) {
|
||||||
if (strlen(mode_info[i].pskmail_name) > 0) {
|
if (strlen(mode_info[i].pskmail_name) > 0) {
|
||||||
if (src == mode_info[i].pskmail_name) {
|
if (src == mode_info[i].pskmail_name) {
|
||||||
// while (trx_state != STATE_RX) {
|
|
||||||
// MilliSleep(10);
|
|
||||||
// }
|
|
||||||
if (debug_pskmail)
|
|
||||||
LOG_INFO("Setting modem to %s", mode_info[i].pskmail_name);
|
|
||||||
REQ_SYNC(init_modem_sync, mode_info[i].mode, 0);
|
REQ_SYNC(init_modem_sync, mode_info[i].mode, 0);
|
||||||
|
AbortARQ();
|
||||||
|
WriteARQ('\002');
|
||||||
|
if (debug_pskmail)
|
||||||
|
LOG_INFO("Modem set to %s", mode_info[i].pskmail_name);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -627,9 +626,14 @@ void WriteARQsocket(unsigned char* data, size_t len)
|
||||||
if (arqclient.empty()) return;
|
if (arqclient.empty()) return;
|
||||||
static string instr;
|
static string instr;
|
||||||
instr.clear();
|
instr.clear();
|
||||||
|
|
||||||
|
string outs = "";
|
||||||
|
for (unsigned int i = 0; i < len; i++)
|
||||||
|
outs += asc[data[i] & 0x7F];
|
||||||
|
LOG_INFO("%s", outs.c_str());
|
||||||
|
|
||||||
vector<ARQCLIENT>::iterator p;
|
vector<ARQCLIENT>::iterator p;
|
||||||
p = arqclient.begin();
|
for (p = arqclient.begin(); p < arqclient.end(); p++) {
|
||||||
while (p != arqclient.end()) {
|
|
||||||
try {
|
try {
|
||||||
(*p).sock.wait(1);
|
(*p).sock.wait(1);
|
||||||
(*p).sock.send(data, len);
|
(*p).sock.send(data, len);
|
||||||
|
@ -647,11 +651,6 @@ void WriteARQsocket(unsigned char* data, size_t len)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
string outs = "";
|
|
||||||
for (unsigned int i = 0; i < len; i++)
|
|
||||||
outs += asc[data[i] & 0x7F];
|
|
||||||
LOG_INFO("%s", outs.c_str());
|
|
||||||
|
|
||||||
if (arqclient.empty()) arq_reset();
|
if (arqclient.empty()) arq_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue