Skip to content

Commit

Permalink
Add an end of transmission marker to the USRP protocol.
Browse files Browse the repository at this point in the history
  • Loading branch information
g4klx committed Apr 20, 2021
1 parent cfe9e0f commit 82b5b01
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 3 deletions.
61 changes: 59 additions & 2 deletions FMNetwork.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ bool CFMNetwork::writeData(float* data, unsigned int nSamples)
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;

// PTT, this may be wrong
// PTT on
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
Expand Down Expand Up @@ -135,7 +135,64 @@ bool CFMNetwork::writeData(float* data, unsigned int nSamples)

bool CFMNetwork::writeEOT()
{
return true;
unsigned char buffer[1500U];
::memset(buffer, 0x00U, 1500U);

unsigned int length = 0U;

if (m_protocol == FMNP_USRP) {
buffer[length++] = 'U';
buffer[length++] = 'S';
buffer[length++] = 'R';
buffer[length++] = 'P';

// Sequence number
buffer[length++] = (m_seqNo >> 24) & 0xFFU;
buffer[length++] = (m_seqNo >> 16) & 0xFFU;
buffer[length++] = (m_seqNo >> 8) & 0xFFU;
buffer[length++] = (m_seqNo >> 0) & 0xFFU;

buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;

// PTT off
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;

buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;

// Type, 0 for audio
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;

buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;

buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;
buffer[length++] = 0x00U;

length += 160U * sizeof(int16_t);
}

if (m_debug)
CUtils::dump(1U, "FM Network Data Sent", buffer, length);

m_seqNo++;

return m_socket.write(buffer, length, m_addr, m_addrLen);
}

void CFMNetwork::clock(unsigned int ms)
Expand Down
2 changes: 1 addition & 1 deletion Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
#if !defined(VERSION_H)
#define VERSION_H

const char* VERSION = "20210411";
const char* VERSION = "20210420";

#endif

0 comments on commit 82b5b01

Please sign in to comment.