Support for controlling RF power level

This commit is contained in:
Andy CA6JAU 2017-12-30 00:34:06 -03:00
parent 49e9377474
commit 97b4436796
4 changed files with 17 additions and 5 deletions

View file

@ -298,10 +298,19 @@ uint8_t CSerialPort::setMode(const uint8_t* data, uint8_t length)
uint8_t CSerialPort::setFreq(const uint8_t* data, uint8_t length)
{
uint32_t freq_rx, freq_tx;
uint8_t rf_power;
if (length < 9U)
return 4U;
// Old MMDVMHost, set full power
if (length == 9U)
rf_power = 255U;
// New MMDVMHost, set power from MMDVM.ini
if (length == 10U)
rf_power = data[9];
freq_rx = data[1] * 1;
freq_rx += data[2] * 256;
freq_rx += data[3] * 65536;
@ -312,7 +321,7 @@ uint8_t CSerialPort::setFreq(const uint8_t* data, uint8_t length)
freq_tx += data[7] * 65536;
freq_tx += data[8] * 16777216;
return io.setFreq(freq_rx, freq_tx);
return io.setFreq(freq_rx, freq_tx, rf_power);
}
void CSerialPort::setMode(MMDVM_STATE modemState)