1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-27 23:41:18 +01:00

drivers/sx127x: expose iq_invert via netdev, add tx power getter

This commit is contained in:
Alexandre Abadie 2017-11-17 10:14:39 +01:00
parent 81f13936ee
commit 1387945461
3 changed files with 26 additions and 2 deletions

View File

@ -613,7 +613,16 @@ void sx127x_set_rx_timeout(sx127x_t *dev, uint32_t timeout);
void sx127x_set_tx_timeout(sx127x_t *dev, uint32_t timeout);
/**
* @brief Sets the SX127X LoRa IQ inverted mode
* @brief Checks if the SX127X LoRa inverted IQ mode is enabled/disabled
*
* @param[in] dev The sx127x device descriptor
*
* @return the LoRa IQ inverted mode
*/
bool sx127x_get_iq_invert(const sx127x_t *dev);
/**
* @brief Enable/disable the SX127X LoRa IQ inverted mode
*
* @param[in] dev The sx127x device descriptor
* @param[in] iq_invert The LoRa IQ inverted mode

View File

@ -850,6 +850,11 @@ void sx127x_set_symbol_timeout(sx127x_t *dev, uint16_t timeout)
sx127x_reg_write(dev, SX127X_REG_LR_SYMBTIMEOUTLSB,timeout & 0xFF);
}
bool sx127x_get_iq_invert(const sx127x_t *dev)
{
return dev->settings.lora.flags & SX127X_IQ_INVERTED_FLAG;
}
void sx127x_set_iq_invert(sx127x_t *dev, bool iq_invert)
{
DEBUG("[DEBUG] Set IQ invert: %d\n", iq_invert);

View File

@ -342,6 +342,16 @@ static int _get(netdev_t *netdev, netopt_t opt, void *val, size_t max_len)
*((netopt_enable_t*) val) = sx127x_get_rx_single(dev) ? NETOPT_ENABLE : NETOPT_DISABLE;
break;
case NETOPT_TX_POWER:
assert(max_len >= sizeof(int8_t));
*((int8_t*) val) = sx127x_get_tx_power(dev);
return sizeof(int8_t);
case NETOPT_IQ_INVERT:
assert(max_len >= sizeof(uint8_t));
*((netopt_enable_t*) val) = sx127x_get_iq_invert(dev) ? NETOPT_ENABLE : NETOPT_DISABLE;
break;
default:
break;
}
@ -427,7 +437,7 @@ static int _set(netdev_t *netdev, netopt_t opt, const void *val, size_t len)
return sizeof(uint8_t);
case NETOPT_SINGLE_RECEIVE:
assert(len <= sizeof(uint8_t));
assert(len <= sizeof(netopt_enable_t));
sx127x_set_rx_single(dev, *((const netopt_enable_t*) val) ? true : false);
return sizeof(netopt_enable_t);