Merge remote-tracking branch 'g4klx/master'
This commit is contained in:
commit
06bafad705
5 changed files with 14 additions and 9 deletions
|
@ -30,7 +30,8 @@ CDMREmbeddedLC::CDMREmbeddedLC() :
|
||||||
m_rawLC(NULL),
|
m_rawLC(NULL),
|
||||||
m_state(LCS_NONE)
|
m_state(LCS_NONE)
|
||||||
{
|
{
|
||||||
m_rawLC = new bool[128U];
|
// Allow for multi-block non embedded LC data
|
||||||
|
m_rawLC = new bool[300U];
|
||||||
}
|
}
|
||||||
|
|
||||||
CDMREmbeddedLC::~CDMREmbeddedLC()
|
CDMREmbeddedLC::~CDMREmbeddedLC()
|
||||||
|
|
|
@ -123,9 +123,13 @@ void CDMRSlot::writeModem(unsigned char *data, unsigned int len)
|
||||||
uint16_t raw = 0U;
|
uint16_t raw = 0U;
|
||||||
raw |= (data[35U] << 8) & 0xFF00U;
|
raw |= (data[35U] << 8) & 0xFF00U;
|
||||||
raw |= (data[36U] << 0) & 0x00FFU;
|
raw |= (data[36U] << 0) & 0x00FFU;
|
||||||
|
|
||||||
|
// Convert the raw RSSI to dBm
|
||||||
int rssi = m_rssiMapper->interpolate(raw);
|
int rssi = m_rssiMapper->interpolate(raw);
|
||||||
|
LogDebug("DMR Slot %u, raw RSSI: %u, reported RSSI: %d dBm", m_slotNo, raw, rssi);
|
||||||
|
|
||||||
|
// RSSI is always reported as positive
|
||||||
m_rssi = (rssi >= 0) ? rssi : -rssi;
|
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;
|
bool dataSync = (data[1U] & DMR_SYNC_DATA) == DMR_SYNC_DATA;
|
||||||
|
|
|
@ -32,8 +32,8 @@ The wiring ist as follows:
|
||||||
D5 12 -------- 12 GPIO1 (1)
|
D5 12 -------- 12 GPIO1 (1)
|
||||||
D6 13 -------- 13 GPIO2 (2)
|
D6 13 -------- 13 GPIO2 (2)
|
||||||
D7 14 -------- 15 GPIO3 (3)
|
D7 14 -------- 15 GPIO3 (3)
|
||||||
GND 15 -------- 6 GND
|
VCC 15 -------- 2 +5V
|
||||||
VCC 16 -------- 2 +5V
|
GND 16 -------- 6 GND
|
||||||
|
|
||||||
The relevant part in the MMDVM.ini is like outlined below.
|
The relevant part in the MMDVM.ini is like outlined below.
|
||||||
|
|
||||||
|
|
|
@ -78,11 +78,11 @@ int CRSSIInterpolator::interpolate(uint16_t val) const
|
||||||
if (it == m_map.begin())
|
if (it == m_map.begin())
|
||||||
return it->second;
|
return it->second;
|
||||||
|
|
||||||
unsigned int x2 = it->first;
|
uint16_t x2 = it->first;
|
||||||
int y2 = it->second;
|
int y2 = it->second;
|
||||||
|
|
||||||
--it;
|
--it;
|
||||||
unsigned int x1 = it->first;
|
uint16_t x1 = it->first;
|
||||||
int y1 = it->second;
|
int y1 = it->second;
|
||||||
|
|
||||||
float p = float(val - x1) / float(x2 - x1);
|
float p = float(val - x1) / float(x2 - x1);
|
||||||
|
|
|
@ -19,6 +19,6 @@
|
||||||
#if !defined(VERSION_H)
|
#if !defined(VERSION_H)
|
||||||
#define VERSION_H
|
#define VERSION_H
|
||||||
|
|
||||||
const char* VERSION = "20161124";
|
const char* VERSION = "20161230";
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue