mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-05 21:52:10 +01:00
Added setting of max RF power and initial frequency on Revo.
This commit is contained in:
parent
fef2c16f5a
commit
4564718708
@ -47,7 +47,6 @@
|
|||||||
|
|
||||||
// Private constants
|
// Private constants
|
||||||
#define SYSTEM_UPDATE_PERIOD_MS 1000
|
#define SYSTEM_UPDATE_PERIOD_MS 1000
|
||||||
#define LED_BLINK_RATE_HZ 5
|
|
||||||
|
|
||||||
#if defined(PIOS_SYSTEM_STACK_SIZE)
|
#if defined(PIOS_SYSTEM_STACK_SIZE)
|
||||||
#define STACK_SIZE_BYTES PIOS_SYSTEM_STACK_SIZE
|
#define STACK_SIZE_BYTES PIOS_SYSTEM_STACK_SIZE
|
||||||
|
@ -559,8 +559,8 @@ int32_t PIOS_RFM22B_Init(uint32_t *rfm22b_id, uint32_t spi_id, uint32_t slave_nu
|
|||||||
rfm22b_dev->stats.rx_seq = 0;
|
rfm22b_dev->stats.rx_seq = 0;
|
||||||
|
|
||||||
// Initialize the frequencies.
|
// Initialize the frequencies.
|
||||||
PIOS_RFM22B_SetFrequencyRange(*rfm22b_id, RFM22B_NOMINAL_CARRIER_FREQUENCY, RFM22B_NOMINAL_CARRIER_FREQUENCY, RFM22B_FREQUENCY_HOP_STEP_SIZE);
|
|
||||||
PIOS_RFM22B_SetInitialFrequency(*rfm22b_id, RFM22B_DEFAULT_FREQUENCY);
|
PIOS_RFM22B_SetInitialFrequency(*rfm22b_id, RFM22B_DEFAULT_FREQUENCY);
|
||||||
|
PIOS_RFM22B_SetFrequencyRange(*rfm22b_id, RFM22B_DEFAULT_FREQUENCY, RFM22B_DEFAULT_FREQUENCY, RFM22B_FREQUENCY_HOP_STEP_SIZE);
|
||||||
|
|
||||||
// Initialize the bindings.
|
// Initialize the bindings.
|
||||||
for (uint32_t i = 0; i < OPLINKSETTINGS_BINDINGS_NUMELEM; ++i) {
|
for (uint32_t i = 0; i < OPLINKSETTINGS_BINDINGS_NUMELEM; ++i) {
|
||||||
@ -1361,6 +1361,10 @@ static bool rfm22_ready_to_send(struct pios_rfm22b_dev *rfm22b_dev)
|
|||||||
if (rfm22b_dev->prev_tx_packet || rfm22b_dev->send_ppm || rfm22b_dev->send_status)
|
if (rfm22b_dev->prev_tx_packet || rfm22b_dev->send_ppm || rfm22b_dev->send_status)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
// Are we not connected yet?
|
||||||
|
if (!rfm22_isConnected(rfm22b_dev))
|
||||||
|
return true;
|
||||||
|
|
||||||
// Is there some data ready to sent?
|
// Is there some data ready to sent?
|
||||||
PHPacketHandle dp = &rfm22b_dev->data_packet;
|
PHPacketHandle dp = &rfm22b_dev->data_packet;
|
||||||
if (dp->header.data_size > 0)
|
if (dp->header.data_size > 0)
|
||||||
@ -2519,7 +2523,7 @@ static enum pios_rfm22b_event rfm22_init(struct pios_rfm22b_dev *rfm22b_dev)
|
|||||||
rfm22_write(rfm22b_dev, RFM22_xtal_osc_load_cap, rfm22b_dev->cfg.RFXtalCap);
|
rfm22_write(rfm22b_dev, RFM22_xtal_osc_load_cap, rfm22b_dev->cfg.RFXtalCap);
|
||||||
|
|
||||||
// Initialize the frequency and datarate to te default.
|
// Initialize the frequency and datarate to te default.
|
||||||
rfm22_setNominalCarrierFrequency(rfm22b_dev, RFM22B_DEFAULT_FREQUENCY, RFM22B_DEFAULT_FREQUENCY, RFM22B_FREQUENCY_HOP_STEP_SIZE);
|
rfm22_setNominalCarrierFrequency(rfm22b_dev, rfm22b_dev->init_frequency, rfm22b_dev->init_frequency, RFM22B_FREQUENCY_HOP_STEP_SIZE);
|
||||||
rfm22_setDatarate(rfm22b_dev, RFM22B_DEFAULT_RX_DATARATE, true);
|
rfm22_setDatarate(rfm22b_dev, RFM22B_DEFAULT_RX_DATARATE, true);
|
||||||
|
|
||||||
return RFM22B_EVENT_INITIALIZED;
|
return RFM22B_EVENT_INITIALIZED;
|
||||||
|
@ -631,6 +631,10 @@ void PIOS_Board_Init(void) {
|
|||||||
#if defined(PIOS_INCLUDE_RFM22B)
|
#if defined(PIOS_INCLUDE_RFM22B)
|
||||||
uint8_t hwsettings_radioport;
|
uint8_t hwsettings_radioport;
|
||||||
HwSettingsRadioPortGet(&hwsettings_radioport);
|
HwSettingsRadioPortGet(&hwsettings_radioport);
|
||||||
|
uint8_t hwsettings_maxrfpower;
|
||||||
|
HwSettingsMaxRFPowerGet(&hwsettings_maxrfpower);
|
||||||
|
uint32_t hwsettings_deffreq;
|
||||||
|
HwSettingsDefaultFrequencyGet(&hwsettings_deffreq);
|
||||||
switch (hwsettings_radioport) {
|
switch (hwsettings_radioport) {
|
||||||
case HWSETTINGS_RADIOPORT_DISABLED:
|
case HWSETTINGS_RADIOPORT_DISABLED:
|
||||||
break;
|
break;
|
||||||
@ -642,6 +646,12 @@ void PIOS_Board_Init(void) {
|
|||||||
if (PIOS_RFM22B_Init(&pios_rfm22b_id, PIOS_RFM22_SPI_PORT, pios_rfm22b_cfg->slave_num, pios_rfm22b_cfg)) {
|
if (PIOS_RFM22B_Init(&pios_rfm22b_id, PIOS_RFM22_SPI_PORT, pios_rfm22b_cfg->slave_num, pios_rfm22b_cfg)) {
|
||||||
PIOS_Assert(0);
|
PIOS_Assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set the modem parameters and reinitilize the modem.
|
||||||
|
PIOS_RFM22B_SetInitialFrequency(pios_rfm22b_id, hwsettings_deffreq);
|
||||||
|
PIOS_RFM22B_SetTxPower(pios_rfm22b_id, hwsettings_maxrfpower);
|
||||||
|
PIOS_RFM22B_Reinit(pios_rfm22b_id);
|
||||||
|
|
||||||
#ifdef PIOS_INCLUDE_RFM22B_COM
|
#ifdef PIOS_INCLUDE_RFM22B_COM
|
||||||
uint8_t *rx_buffer = (uint8_t *) pvPortMalloc(PIOS_COM_RFM22B_RF_RX_BUF_LEN);
|
uint8_t *rx_buffer = (uint8_t *) pvPortMalloc(PIOS_COM_RFM22B_RF_RX_BUF_LEN);
|
||||||
uint8_t *tx_buffer = (uint8_t *) pvPortMalloc(PIOS_COM_RFM22B_RF_TX_BUF_LEN);
|
uint8_t *tx_buffer = (uint8_t *) pvPortMalloc(PIOS_COM_RFM22B_RF_TX_BUF_LEN);
|
||||||
|
@ -64,7 +64,9 @@ ConfigRevoHWWidget::ConfigRevoHWWidget(QWidget *parent) : ConfigTaskWidget(paren
|
|||||||
addUAVObjectToWidgetRelation("HwSettings","GPSSpeed",m_ui->cbMainGPSSpeed);
|
addUAVObjectToWidgetRelation("HwSettings","GPSSpeed",m_ui->cbMainGPSSpeed);
|
||||||
addUAVObjectToWidgetRelation("HwSettings","ComUsbBridgeSpeed",m_ui->cbMainComSpeed);
|
addUAVObjectToWidgetRelation("HwSettings","ComUsbBridgeSpeed",m_ui->cbMainComSpeed);
|
||||||
|
|
||||||
addUAVObjectToWidgetRelation("HwSettings","RadioPort",m_ui->cbModem);
|
addUAVObjectToWidgetRelation("HwSettings", "RadioPort", m_ui->cbModem);
|
||||||
|
addUAVObjectToWidgetRelation("HwSettings", "MaxRFPower", m_ui->cbTxPower);
|
||||||
|
addUAVObjectToWidgetRelation("HwSettings", "DefaultFrequency", m_ui->leInitFreq);
|
||||||
|
|
||||||
connect(m_ui->cchwHelp,SIGNAL(clicked()),this,SLOT(openHelp()));
|
connect(m_ui->cchwHelp,SIGNAL(clicked()),this,SLOT(openHelp()));
|
||||||
|
|
||||||
@ -288,6 +290,15 @@ void ConfigRevoHWWidget::modemPortChanged(int index)
|
|||||||
if(m_ui->cbFlexi->currentIndex() == HwSettings::RM_FLEXIPORT_TELEMETRY) {
|
if(m_ui->cbFlexi->currentIndex() == HwSettings::RM_FLEXIPORT_TELEMETRY) {
|
||||||
m_ui->cbFlexi->setCurrentIndex(HwSettings::RM_FLEXIPORT_DISABLED);
|
m_ui->cbFlexi->setCurrentIndex(HwSettings::RM_FLEXIPORT_DISABLED);
|
||||||
}
|
}
|
||||||
|
m_ui->lblTxPower->setVisible(true);
|
||||||
|
m_ui->cbTxPower->setVisible(true);
|
||||||
|
m_ui->lblInitFreq->setVisible(true);
|
||||||
|
m_ui->leInitFreq->setVisible(true);
|
||||||
|
} else {
|
||||||
|
m_ui->lblTxPower->setVisible(false);
|
||||||
|
m_ui->cbTxPower->setVisible(false);
|
||||||
|
m_ui->lblInitFreq->setVisible(false);
|
||||||
|
m_ui->leInitFreq->setVisible(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,9 +169,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="13" column="2">
|
|
||||||
<widget class="QComboBox" name="cbModem"/>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QComboBox" name="cbRcvr"/>
|
<widget class="QComboBox" name="cbRcvr"/>
|
||||||
</item>
|
</item>
|
||||||
@ -375,6 +372,39 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="13" column="2">
|
||||||
|
<widget class="QComboBox" name="cbModem"/>
|
||||||
|
</item>
|
||||||
|
<item row="14" column="2">
|
||||||
|
<widget class="QLabel" name="lblTxPower">
|
||||||
|
<property name="text">
|
||||||
|
<string>Max Tx Power (mW)</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignBottom|Qt::AlignHCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="15" column="2">
|
||||||
|
<widget class="QComboBox" name="cbTxPower"/>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="2">
|
||||||
|
<widget class="QLabel" name="lblInitFreq">
|
||||||
|
<property name="text">
|
||||||
|
<string>Initial Frequency (Hz)</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignBottom|Qt::AlignHCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="17" column="2">
|
||||||
|
<widget class="QLineEdit" name="leInitFreq">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string extracomment="The initial connection frequency (Hz)"/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="14" column="1">
|
<item row="14" column="1">
|
||||||
<widget class="QLabel" name="lblFlexiSpeed">
|
<widget class="QLabel" name="lblFlexiSpeed">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user