fix warning when compiling AMBEFEC for NXDN regen; correct length to write from host to modem for SET_CONFIG and some other commands;

pull/12/head
Bryan Biedenkapp 4 years ago
parent cb1aad049c
commit d587423ede

@ -514,7 +514,7 @@ uint32_t AMBEFEC::regenerateNXDN(uint8_t* bytes) const
uint32_t c = 0U; uint32_t c = 0U;
MASK = 0x1000000U; MASK = 0x1000000U;
for (uint32_t i = 0U; i < 25U; i++, MASK >>= 1) { for (uint32_t i = 0U; i < 24U; i++, MASK >>= 1) {
uint32_t cPos = DMR_C_TABLE[i]; uint32_t cPos = DMR_C_TABLE[i];
if (READ_BIT(bytes, cPos)) if (READ_BIT(bytes, cPos))
c |= MASK; c |= MASK;
@ -535,7 +535,7 @@ uint32_t AMBEFEC::regenerateNXDN(uint8_t* bytes) const
} }
MASK = 0x1000000U; MASK = 0x1000000U;
for (uint32_t i = 0U; i < 25U; i++, MASK >>= 1) { for (uint32_t i = 0U; i < 24U; i++, MASK >>= 1) {
uint32_t cPos = DMR_C_TABLE[i]; uint32_t cPos = DMR_C_TABLE[i];
WRITE_BIT(bytes, cPos, c & MASK); WRITE_BIT(bytes, cPos, c & MASK);
} }

@ -2263,9 +2263,9 @@ bool HostCal::writeConfig(uint8_t modeOverride)
{ {
uint8_t buffer[25U]; uint8_t buffer[25U];
::memset(buffer, 0x00U, 25U); ::memset(buffer, 0x00U, 25U);
uint8_t lengthToWrite = 17U;
buffer[0U] = DVM_FRAME_START; buffer[0U] = DVM_FRAME_START;
buffer[1U] = 17U;
buffer[2U] = CMD_SET_CONFIG; buffer[2U] = CMD_SET_CONFIG;
buffer[3U] = 0x00U; buffer[3U] = 0x00U;
@ -2331,7 +2331,7 @@ bool HostCal::writeConfig(uint8_t modeOverride)
// are we on a protocol version 3 firmware? // are we on a protocol version 3 firmware?
if (m_modem->getVersion() >= 3U) { if (m_modem->getVersion() >= 3U) {
buffer[1U] = 24U; lengthToWrite = 24U;
if (m_nxdnEnabled) if (m_nxdnEnabled)
buffer[4U] |= 0x10U; buffer[4U] |= 0x10U;
@ -2346,8 +2346,10 @@ bool HostCal::writeConfig(uint8_t modeOverride)
buffer[24U] = m_rssiFinePot; buffer[24U] = m_rssiFinePot;
} }
int ret = m_modem->write(buffer, buffer[1U]); buffer[1U] = lengthToWrite;
if (ret <= 0)
int ret = m_modem->write(buffer, lengthToWrite);
if (ret != lengthToWrite)
return false; return false;
sleep(10U); sleep(10U);
@ -2364,9 +2366,9 @@ bool HostCal::writeRFParams()
{ {
uint8_t buffer[20U]; uint8_t buffer[20U];
::memset(buffer, 0x00U, 20U); ::memset(buffer, 0x00U, 20U);
uint8_t lengthToWrite = 18U;
buffer[0U] = DVM_FRAME_START; buffer[0U] = DVM_FRAME_START;
buffer[1U] = 18U;
buffer[2U] = CMD_SET_RFPARAMS; buffer[2U] = CMD_SET_RFPARAMS;
buffer[3U] = 0x00U; buffer[3U] = 0x00U;
@ -2397,7 +2399,7 @@ bool HostCal::writeRFParams()
// are we on a protocol version 3 firmware? // are we on a protocol version 3 firmware?
if (m_modem->getVersion() >= 3U) { if (m_modem->getVersion() >= 3U) {
buffer[1U] = 20U; lengthToWrite = 20U;
m_conf["system"]["modem"]["hotspot"]["nxdnDiscBWAdj"] = __INT_STR(m_nxdnDiscBWAdj); m_conf["system"]["modem"]["hotspot"]["nxdnDiscBWAdj"] = __INT_STR(m_nxdnDiscBWAdj);
buffer[18U] = (uint8_t)(m_nxdnDiscBWAdj + 128); buffer[18U] = (uint8_t)(m_nxdnDiscBWAdj + 128);
@ -2405,9 +2407,9 @@ bool HostCal::writeRFParams()
buffer[19U] = (uint8_t)(m_nxdnPostBWAdj + 128); buffer[19U] = (uint8_t)(m_nxdnPostBWAdj + 128);
} }
// CUtils::dump(1U, "Written", buffer, buffer[1U]); buffer[1U] = lengthToWrite;
int ret = m_modem->write(buffer, buffer[1U]); int ret = m_modem->write(buffer, lengthToWrite);
if (ret <= 0) if (ret <= 0)
return false; return false;
@ -2425,9 +2427,9 @@ bool HostCal::writeSymbolAdjust()
{ {
uint8_t buffer[20U]; uint8_t buffer[20U];
::memset(buffer, 0x00U, 20U); ::memset(buffer, 0x00U, 20U);
uint8_t lengthToWrite = 7U;
buffer[0U] = DVM_FRAME_START; buffer[0U] = DVM_FRAME_START;
buffer[1U] = 7U;
buffer[2U] = CMD_SET_SYMLVLADJ; buffer[2U] = CMD_SET_SYMLVLADJ;
m_conf["system"]["modem"]["repeater"]["dmrSymLvl3Adj"] = __INT_STR(m_dmrSymLevel3Adj); m_conf["system"]["modem"]["repeater"]["dmrSymLvl3Adj"] = __INT_STR(m_dmrSymLevel3Adj);
@ -2442,7 +2444,7 @@ bool HostCal::writeSymbolAdjust()
// are we on a protocol version 3 firmware? // are we on a protocol version 3 firmware?
if (m_modem->getVersion() >= 3U) { if (m_modem->getVersion() >= 3U) {
buffer[1U] = 9U; lengthToWrite = 9U;
m_conf["system"]["modem"]["repeater"]["nxdnSymLvl3Adj"] = __INT_STR(m_nxdnSymLevel3Adj); m_conf["system"]["modem"]["repeater"]["nxdnSymLvl3Adj"] = __INT_STR(m_nxdnSymLevel3Adj);
buffer[7U] = (uint8_t)(m_nxdnSymLevel3Adj + 128); buffer[7U] = (uint8_t)(m_nxdnSymLevel3Adj + 128);
@ -2450,7 +2452,9 @@ bool HostCal::writeSymbolAdjust()
buffer[8U] = (uint8_t)(m_nxdnSymLevel1Adj + 128); buffer[8U] = (uint8_t)(m_nxdnSymLevel1Adj + 128);
} }
int ret = m_modem->write(buffer, buffer[1U]); buffer[1U] = lengthToWrite;
int ret = m_modem->write(buffer, lengthToWrite);
if (ret <= 0) if (ret <= 0)
return false; return false;

@ -1768,9 +1768,9 @@ bool Modem::writeConfig()
{ {
uint8_t buffer[25U]; uint8_t buffer[25U];
::memset(buffer, 0x00U, 25U); ::memset(buffer, 0x00U, 25U);
uint8_t lengthToWrite = 17U;
buffer[0U] = DVM_FRAME_START; buffer[0U] = DVM_FRAME_START;
buffer[1U] = 17U;
buffer[2U] = CMD_SET_CONFIG; buffer[2U] = CMD_SET_CONFIG;
buffer[3U] = 0x00U; buffer[3U] = 0x00U;
@ -1826,7 +1826,7 @@ bool Modem::writeConfig()
// are we on a protocol version 3 firmware? // are we on a protocol version 3 firmware?
if (m_protoVer >= 3U) { if (m_protoVer >= 3U) {
buffer[1U] = 24U; lengthToWrite = 24U;
if (m_nxdnEnabled) if (m_nxdnEnabled)
buffer[4U] |= 0x10U; buffer[4U] |= 0x10U;
@ -1841,12 +1841,14 @@ bool Modem::writeConfig()
buffer[24U] = m_rssiFinePot; buffer[24U] = m_rssiFinePot;
} }
buffer[1U] = lengthToWrite;
#if DEBUG_MODEM #if DEBUG_MODEM
Utils::dump(1U, "Modem::writeConfig(), Written", buffer, buffer[1U]); Utils::dump(1U, "Modem::writeConfig(), Written", buffer, lengthToWrite);
#endif #endif
int ret = write(buffer, buffer[1U]); int ret = write(buffer, lengthToWrite);
if (ret != 17) if (ret != lengthToWrite)
return false; return false;
uint32_t count = 0U; uint32_t count = 0U;
@ -1884,9 +1886,9 @@ bool Modem::writeSymbolAdjust()
{ {
uint8_t buffer[20U]; uint8_t buffer[20U];
::memset(buffer, 0x00U, 20U); ::memset(buffer, 0x00U, 20U);
uint8_t lengthToWrite = 7U;
buffer[0U] = DVM_FRAME_START; buffer[0U] = DVM_FRAME_START;
buffer[1U] = 7U;
buffer[2U] = CMD_SET_SYMLVLADJ; buffer[2U] = CMD_SET_SYMLVLADJ;
buffer[3U] = (uint8_t)(m_dmrSymLevel3Adj + 128); buffer[3U] = (uint8_t)(m_dmrSymLevel3Adj + 128);
@ -1897,13 +1899,15 @@ bool Modem::writeSymbolAdjust()
// are we on a protocol version 3 firmware? // are we on a protocol version 3 firmware?
if (m_protoVer >= 3U) { if (m_protoVer >= 3U) {
buffer[1U] = 9U; lengthToWrite = 9U;
buffer[7U] = (uint8_t)(m_nxdnSymLevel3Adj + 128); buffer[7U] = (uint8_t)(m_nxdnSymLevel3Adj + 128);
buffer[8U] = (uint8_t)(m_nxdnSymLevel1Adj + 128); buffer[8U] = (uint8_t)(m_nxdnSymLevel1Adj + 128);
} }
int ret = write(buffer, buffer[1U]); buffer[1U] = lengthToWrite;
int ret = write(buffer, lengthToWrite);
if (ret <= 0) if (ret <= 0)
return false; return false;
@ -1940,9 +1944,9 @@ bool Modem::writeRFParams()
{ {
uint8_t buffer[20U]; uint8_t buffer[20U];
::memset(buffer, 0x00U, 20U); ::memset(buffer, 0x00U, 20U);
uint8_t lengthToWrite = 18U;
buffer[0U] = DVM_FRAME_START; buffer[0U] = DVM_FRAME_START;
buffer[1U] = 18U;
buffer[2U] = CMD_SET_RFPARAMS; buffer[2U] = CMD_SET_RFPARAMS;
buffer[3U] = 0x00U; buffer[3U] = 0x00U;
@ -1970,15 +1974,15 @@ bool Modem::writeRFParams()
// are we on a protocol version 3 firmware? // are we on a protocol version 3 firmware?
if (m_protoVer >= 3U) { if (m_protoVer >= 3U) {
buffer[1U] = 20U; lengthToWrite = 20U;
buffer[18U] = (uint8_t)(m_nxdnDiscBWAdj + 128); buffer[18U] = (uint8_t)(m_nxdnDiscBWAdj + 128);
buffer[19U] = (uint8_t)(m_nxdnPostBWAdj + 128); buffer[19U] = (uint8_t)(m_nxdnPostBWAdj + 128);
} }
// CUtils::dump(1U, "Written", buffer, buffer[1U]); buffer[1U] = lengthToWrite;
int ret = m_port->write(buffer, buffer[1U]); int ret = m_port->write(buffer, lengthToWrite);
if (ret <= 0) if (ret <= 0)
return false; return false;

Loading…
Cancel
Save

Powered by TurnKey Linux.