diff options
author | Jason Reiss <jreiss@multitech.com> | 2021-01-20 17:24:10 -0600 |
---|---|---|
committer | Jason Reiss <jreiss@multitech.com> | 2021-01-20 17:24:10 -0600 |
commit | 71a8866e4ba1000ffd5df0a871009a4545c0e855 (patch) | |
tree | a992176effd39d4d3cef223e4f6d812f7937150f /libloragw/src/loragw_hal.c | |
parent | 03a003c56355b7597c68711ce95424285b66d311 (diff) | |
download | lora_gateway_mtac_full-71a8866e4ba1000ffd5df0a871009a4545c0e855.tar.gz lora_gateway_mtac_full-71a8866e4ba1000ffd5df0a871009a4545c0e855.tar.bz2 lora_gateway_mtac_full-71a8866e4ba1000ffd5df0a871009a4545c0e855.zip |
Allow dig_gain to be set in txpkt for 64 tx output options5.0.3
Diffstat (limited to 'libloragw/src/loragw_hal.c')
-rw-r--r-- | libloragw/src/loragw_hal.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libloragw/src/loragw_hal.c b/libloragw/src/loragw_hal.c index c723be9..2627aaf 100644 --- a/libloragw/src/loragw_hal.c +++ b/libloragw/src/loragw_hal.c @@ -1439,8 +1439,14 @@ int lgw_send(struct lgw_pkt_tx_s pkt_data) { /* loading TX imbalance correction */ target_mix_gain = txgain_lut.lut[pow_index].mix_gain; - /* Set digital gain from LUT */ - lgw_reg_w(LGW_TX_GAIN, txgain_lut.lut[pow_index].dig_gain); + + if (pkt_data.dig_gain == -1 || pkt_data.dig_gain > 3) { + /* Set digital gain from LUT */ + lgw_reg_w(LGW_TX_GAIN, txgain_lut.lut[pow_index].dig_gain); + } else { + /* Set digital gain set by forwarder */ + lgw_reg_w(LGW_TX_GAIN, pkt_data.dig_gain); + } } if (pkt_data.rf_chain == 0) { /* use radio A calibration table */ |