Alter the format of the returned RSSI data.

This commit is contained in:
Jonathan Naylor 2016-08-11 17:28:47 +01:00
parent 19c7578bb9
commit 83b27188e5
6 changed files with 26 additions and 23 deletions

View File

@ -47,7 +47,7 @@ m_dataType(0U),
m_seqNo(0U),
m_n(0U),
m_ber(0U),
m_rssi(0)
m_rssi(0U)
{
m_data = new unsigned char[2U * DMR_FRAME_LENGTH_BYTES];
}
@ -158,12 +158,12 @@ void CDMRData::setBER(unsigned char ber)
m_ber = ber;
}
signed char CDMRData::getRSSI() const
unsigned char CDMRData::getRSSI() const
{
return m_rssi;
}
void CDMRData::setRSSI(signed char rssi)
void CDMRData::setRSSI(unsigned char rssi)
{
m_rssi = rssi;
}

View File

@ -48,8 +48,8 @@ public:
unsigned char getBER() const;
void setBER(unsigned char ber);
signed char getRSSI() const;
void setRSSI(signed char ber);
unsigned char getRSSI() const;
void setRSSI(unsigned char ber);
void setData(const unsigned char* buffer);
unsigned int getData(unsigned char* buffer) const;
@ -64,7 +64,7 @@ private:
unsigned char m_seqNo;
unsigned char m_n;
unsigned char m_ber;
signed char m_rssi;
unsigned char m_rssi;
};
#endif

View File

@ -87,7 +87,7 @@ m_netErrs(0U),
m_lastFrame(NULL),
m_lastFrameValid(false),
m_lastEMB(),
m_rssi(0),
m_rssi(0U),
m_fp(NULL)
{
m_lastFrame = new unsigned char[DMR_FRAME_LENGTH_BYTES + 2U];
@ -123,11 +123,12 @@ void CDMRSlot::writeModem(unsigned char *data, unsigned int len)
// Have we got RSSI bytes on the end?
if (len == (DMR_FRAME_LENGTH_BYTES + 4U) && m_rssiMultiplier != 0) {
uint16_t rssi = 0U;
rssi |= (data[35U] << 8) & 0xFF00U;
rssi |= (data[36U] << 0) & 0x00FFU;
m_rssi = (rssi - m_rssiOffset) / m_rssiMultiplier;
LogDebug("DMR Slot %u, raw RSSI: %u, reported RSSI: %d dBm", m_slotNo, rssi, m_rssi);
uint16_t raw = 0U;
raw |= (data[35U] << 8) & 0xFF00U;
raw |= (data[36U] << 0) & 0x00FFU;
int rssi = (raw - m_rssiOffset) / m_rssiMultiplier;
m_rssi = (rssi >= 0) ? rssi : -rssi;
LogDebug("DMR Slot %u, raw RSSI: %u, reported RSSI: -%u dBm", m_slotNo, raw, m_rssi);
}
bool dataSync = (data[1U] & DMR_SYNC_DATA) == DMR_SYNC_DATA;

View File

@ -84,7 +84,7 @@ private:
unsigned char* m_lastFrame;
bool m_lastFrameValid;
CDMREMB m_lastEMB;
signed char m_rssi;
unsigned char m_rssi;
FILE* m_fp;
static unsigned int m_id;

View File

@ -125,11 +125,12 @@ bool CDStarControl::writeModem(unsigned char *data, unsigned int len)
// Have we got RSSI bytes on the end?
if (len == (DSTAR_FRAME_LENGTH_BYTES + 3U) && m_rssiMultiplier != 0) {
uint16_t rssi = 0U;
rssi |= (data[13U] << 8) & 0xFF00U;
rssi |= (data[14U] << 0) & 0x00FFU;
signed char m_rssi = (rssi - m_rssiOffset) / m_rssiMultiplier;
LogDebug("D-Star, raw RSSI: %u, reported RSSI: %d dBm", rssi, m_rssi);
uint16_t raw = 0U;
raw |= (data[35U] << 8) & 0xFF00U;
raw |= (data[36U] << 0) & 0x00FFU;
int rssi = (raw - m_rssiOffset) / m_rssiMultiplier;
unsigned char m_rssi = (rssi >= 0) ? rssi : -rssi;
LogDebug("D-Star, raw RSSI: %u, reported RSSI: -%u dBm", raw, m_rssi);
}
if (type == TAG_HEADER) {

View File

@ -94,11 +94,12 @@ bool CYSFControl::writeModem(unsigned char *data, unsigned int len)
// Have we got RSSI bytes on the end?
if (len == (YSF_FRAME_LENGTH_BYTES + 4U) && m_rssiMultiplier != 0) {
uint16_t rssi = 0U;
rssi |= (data[122U] << 8) & 0xFF00U;
rssi |= (data[123U] << 0) & 0x00FFU;
signed char m_rssi = (rssi - m_rssiOffset) / m_rssiMultiplier;
LogDebug("YSF, raw RSSI: %u, reported RSSI: %d dBm", rssi, m_rssi);
uint16_t raw = 0U;
raw |= (data[35U] << 8) & 0xFF00U;
raw |= (data[36U] << 0) & 0x00FFU;
int rssi = (raw - m_rssiOffset) / m_rssiMultiplier;
unsigned char m_rssi = (rssi >= 0) ? rssi : -rssi;
LogDebug("YSF, raw RSSI: %u, reported RSSI: -%u dBm", raw, m_rssi);
}
CYSFFICH fich;