flags on loq.qso

pull/12/head
Tom Early 7 years ago
parent b8557de5dd
commit 3123c2f3bd

@ -1063,7 +1063,7 @@ void CQnetGateway::ProcessG2(const ssize_t g2buflen, const SDSVT &g2buf, const b
// toRptr[i] is receiving data from a cross-band
if (0==toRptr[i].last_time && 0==band_txt[i].last_time && (Flag_is_ok(g2buf.hdr.flag[0]) || 0x01U==g2buf.hdr.flag[0] || 0x40U==g2buf.hdr.flag[0])) {
if (bool_qso_details) {
printf("id=%04x ur=%.8s r1=%.8s r2=%.8s my=%.8s/%.4s ", ntohs(g2buf.streamid), g2buf.hdr.urcall, g2buf.hdr.rpt1, g2buf.hdr.rpt2, g2buf.hdr.mycall, g2buf.hdr.sfx);
printf("id=%04x flags=%02x:%02x:%02x ur=%.8s r1=%.8s r2=%.8s my=%.8s/%.4s ", ntohs(g2buf.streamid), g2buf.hdr.flag[0], g2buf.hdr.flag[1], g2buf.hdr.flag[2], g2buf.hdr.urcall, g2buf.hdr.rpt1, g2buf.hdr.rpt2, g2buf.hdr.mycall, g2buf.hdr.sfx);
if (is_from_g2)
printf("IP=%s:%u\n", inet_ntoa(fromDst4.sin_addr), ntohs(fromDst4.sin_port));
else

@ -551,7 +551,7 @@ bool CQnetModem::ProcessGateway(const int len, const unsigned char *raw)
PacketWait.start();
g2_is_active = true;
if (LOG_QSO)
printf("Queued to %s ur=%.8s r1=%.8s r2=%.8s my=%.8s/%.4s\n", MODEM_DEVICE.c_str(), frame.header.ur, frame.header.r1, frame.header.r2, frame.header.my, frame.header.nm);
printf("Queued to %s flags=%02x:%02x:%02x ur=%.8s r1=%.8s r2=%.8s my=%.8s/%.4s\n", MODEM_DEVICE.c_str(), frame.header.flag[0], frame.header.flag[1], frame.header.flag[2], frame.header.ur, frame.header.r1, frame.header.r2, frame.header.my, frame.header.nm);
} else { // write a voice data packet
if (g2_is_active) {
if (dstr.vpkt.ctrl & 0x40U) {
@ -601,16 +601,15 @@ bool CQnetModem::ProcessModem(const SMODEM &frame)
dstr.remaining = 0x30;
dstr.vpkt.ctrl = 0x80;
//memcpy(dstr.vpkt.hdr.flag, frame.header.flag, 3);
memset(dstr.vpkt.hdr.flag, 0, 3);
memcpy(dstr.vpkt.hdr.flag, frame.header.flag, 3);
memcpy(dstr.vpkt.hdr.r1, frame.header.r1, 8);
memcpy(dstr.vpkt.hdr.r2, frame.header.r2, 8);
memcpy(dstr.vpkt.hdr.ur, frame.header.ur, 8);
//dstr.vpkt.hdr.flag[0] &= ~0x40U; // clear this bit
dstr.vpkt.hdr.flag[0] &= ~0x40U; // clear this bit
memcpy(dstr.vpkt.hdr.my, frame.header.my, 8);
memcpy(dstr.vpkt.hdr.nm, frame.header.nm, 4);
memcpy(dstr.vpkt.hdr.flag, dstr.vpkt.hdr.pfcs, 2);
memcpy(dstr.vpkt.hdr.my, frame.header.my, 8);
memcpy(dstr.vpkt.hdr.nm, frame.header.nm, 4);
memcpy(dstr.vpkt.hdr.pfcs, frame.header.pfcs, 2);
if (58 != Modem2Gate.Write(dstr.pkt_id, 58)) {
printf("ERROR: ProcessModem: Could not write gateway header packet\n");
return true;

Loading…
Cancel
Save

Powered by TurnKey Linux.