* Added missing LICENSE.TXT file
* HAL & Packet Forwarder: added support for sx1250-based reference design for
CN490 region
* Packet Forwarder: disabled beaconing by default
This commit is contained in:
Michael Coracin 2019-11-22 16:08:34 +01:00
commit 81e748c904
23 changed files with 306 additions and 48 deletions

View file

@ -291,13 +291,15 @@ int lgw_rxrf_setconf(uint8_t rf_chain, struct lgw_conf_rxrf_s * conf) {
CONTEXT_RF_CHAIN[rf_chain].rssi_tcomp.coeff_e = conf->rssi_tcomp.coeff_e;
CONTEXT_RF_CHAIN[rf_chain].type = conf->type;
CONTEXT_RF_CHAIN[rf_chain].tx_enable = conf->tx_enable;
CONTEXT_RF_CHAIN[rf_chain].single_input_mode = conf->single_input_mode;
DEBUG_PRINTF("Note: rf_chain %d configuration; en:%d freq:%d rssi_offset:%f radio_type:%d tx_enable:%d\n", rf_chain,
DEBUG_PRINTF("Note: rf_chain %d configuration; en:%d freq:%d rssi_offset:%f radio_type:%d tx_enable:%d single_input_mode:%d\n", rf_chain,
CONTEXT_RF_CHAIN[rf_chain].enable,
CONTEXT_RF_CHAIN[rf_chain].freq_hz,
CONTEXT_RF_CHAIN[rf_chain].rssi_offset,
CONTEXT_RF_CHAIN[rf_chain].type,
CONTEXT_RF_CHAIN[rf_chain].tx_enable);
CONTEXT_RF_CHAIN[rf_chain].tx_enable,
CONTEXT_RF_CHAIN[rf_chain].single_input_mode);
return LGW_HAL_SUCCESS;
}
@ -594,7 +596,7 @@ int lgw_start(void) {
sx1302_radio_reset(i, CONTEXT_RF_CHAIN[i].type);
switch (CONTEXT_RF_CHAIN[i].type) {
case LGW_RADIO_TYPE_SX1250:
sx1250_setup(i, CONTEXT_RF_CHAIN[i].freq_hz);
sx1250_setup(i, CONTEXT_RF_CHAIN[i].freq_hz, CONTEXT_RF_CHAIN[i].single_input_mode);
break;
case LGW_RADIO_TYPE_SX1255:
case LGW_RADIO_TYPE_SX1257:

View file

@ -198,7 +198,7 @@ int sx1250_calibrate(uint8_t rf_chain, uint32_t freq_hz) {
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
int sx1250_setup(uint8_t rf_chain, uint32_t freq_hz) {
int sx1250_setup(uint8_t rf_chain, uint32_t freq_hz, bool single_input_mode) {
int32_t freq_reg;
uint8_t buff[16];
@ -297,6 +297,15 @@ int sx1250_setup(uint8_t rf_chain, uint32_t freq_hz) {
buff[2] = 0xFF;
sx1250_write_command(rf_chain, SET_RX, buff, 3); /* Rx Continuous */
/* Select single input or differential input mode */
if (single_input_mode == true) {
printf("INFO: Configuring SX1250_%u in single input mode\n", rf_chain);
buff[0] = 0x08;
buff[1] = 0xE2;
buff[2] = 0x0D;
sx1250_write_command(rf_chain, WRITE_REGISTER, buff, 3);
}
buff[0] = 0x05;
buff[1] = 0x87;
buff[2] = 0x0B;