mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-20 10:54:14 +01:00
LP-512 Uncrustify
This commit is contained in:
parent
6eb97ed213
commit
77918c51a1
@ -34,37 +34,37 @@
|
||||
#include <pios_i2c.h>
|
||||
|
||||
|
||||
#define BMP280_I2C_ADDR 0x76
|
||||
#define BMP280_ID 0xD0
|
||||
#define BMP280_RESET 0xE0
|
||||
#define BMP280_STATUS 0xF3
|
||||
#define BMP280_CTRL_MEAS 0xF4
|
||||
#define BMP280_CONFIG 0xF5
|
||||
#define BMP280_PRESS_MSB 0xF7
|
||||
#define BMP280_PRESS_LSB 0xF8
|
||||
#define BMP280_PRESS_XLSB 0xF9
|
||||
#define BMP280_TEMP_MSB 0xFA
|
||||
#define BMP280_TEMP_LSB 0xFB
|
||||
#define BMP280_TEMP_XLSB 0xFC
|
||||
#define BMP280_I2C_ADDR 0x76
|
||||
#define BMP280_ID 0xD0
|
||||
#define BMP280_RESET 0xE0
|
||||
#define BMP280_STATUS 0xF3
|
||||
#define BMP280_CTRL_MEAS 0xF4
|
||||
#define BMP280_CONFIG 0xF5
|
||||
#define BMP280_PRESS_MSB 0xF7
|
||||
#define BMP280_PRESS_LSB 0xF8
|
||||
#define BMP280_PRESS_XLSB 0xF9
|
||||
#define BMP280_TEMP_MSB 0xFA
|
||||
#define BMP280_TEMP_LSB 0xFB
|
||||
#define BMP280_TEMP_XLSB 0xFC
|
||||
|
||||
#define BMP280_CAL_ADDR 0x88
|
||||
#define BMP280_CAL_ADDR 0x88
|
||||
|
||||
#define BMP280_P0 101.3250f
|
||||
#define BMP280_P0 101.3250f
|
||||
|
||||
#define BMP280_MODE_CONTINUOUS 0x03
|
||||
#define BMP280_MODE_STANDBY 0x00
|
||||
#define BMP280_MODE_FORCED 0x01
|
||||
#define BMP280_MODE_CONTINUOUS 0x03
|
||||
#define BMP280_MODE_STANDBY 0x00
|
||||
#define BMP280_MODE_FORCED 0x01
|
||||
|
||||
#define BMP280_T_STANDBY 500
|
||||
#define BMP280_T_STANDBY 500
|
||||
|
||||
#define BMP280_DEFAULT_CHIP_ID 0x58
|
||||
#define BMP280_RESET_MAGIC 0xB6
|
||||
#define BMP280_DEFAULT_CHIP_ID 0x58
|
||||
#define BMP280_RESET_MAGIC 0xB6
|
||||
|
||||
#define BMP280_PRESSURE_TEMPERATURE_CALIB_DATA_LENGTH 24
|
||||
#define BMP280_DATA_FRAME_SIZE 6
|
||||
#define BMP280_PRESSURE_TEMPERATURE_CALIB_DATA_LENGTH 24
|
||||
#define BMP280_DATA_FRAME_SIZE 6
|
||||
|
||||
#define PIOS_BMP280_I2C_RETRIES 5
|
||||
#define PIOS_BMP280_I2C_CONFIG_RETRY_DELAY 1000000
|
||||
#define PIOS_BMP280_I2C_RETRIES 5
|
||||
#define PIOS_BMP280_I2C_CONFIG_RETRY_DELAY 1000000
|
||||
|
||||
|
||||
enum pios_bmp280_dev_magic {
|
||||
@ -74,28 +74,28 @@ enum pios_bmp280_dev_magic {
|
||||
struct pios_bmp280_dev {
|
||||
enum pios_bmp280_dev_magic magic;
|
||||
uintptr_t i2c_id;
|
||||
|
||||
|
||||
bool sensorIsAlive;
|
||||
uint32_t conversionDelayUs;
|
||||
uint32_t configTime;
|
||||
uint32_t conversionStart;
|
||||
|
||||
uint8_t oversampling;
|
||||
uint32_t conversionDelayUs;
|
||||
uint32_t configTime;
|
||||
uint32_t conversionStart;
|
||||
|
||||
uint8_t oversampling;
|
||||
|
||||
// compensation parameters
|
||||
uint16_t digT1;
|
||||
int16_t digT2;
|
||||
int16_t digT3;
|
||||
uint16_t digP1;
|
||||
int16_t digP2;
|
||||
int16_t digP3;
|
||||
int16_t digP4;
|
||||
int16_t digP5;
|
||||
int16_t digP6;
|
||||
int16_t digP7;
|
||||
int16_t digP8;
|
||||
int16_t digP9;
|
||||
|
||||
uint16_t digT1;
|
||||
int16_t digT2;
|
||||
int16_t digT3;
|
||||
uint16_t digP1;
|
||||
int16_t digP2;
|
||||
int16_t digP3;
|
||||
int16_t digP4;
|
||||
int16_t digP5;
|
||||
int16_t digP6;
|
||||
int16_t digP7;
|
||||
int16_t digP8;
|
||||
int16_t digP9;
|
||||
|
||||
PIOS_SENSORS_1Axis_SensorsWithTemp results;
|
||||
};
|
||||
|
||||
@ -103,8 +103,8 @@ static int32_t PIOS_BMP280_Read(uintptr_t i2c_id, uint8_t address, uint8_t *buff
|
||||
static int32_t PIOS_BMP280_Write(uintptr_t i2c_id, uint8_t address, uint8_t buffer);
|
||||
static int32_t PIOS_BMP280_Configure(struct pios_bmp280_dev *dev);
|
||||
static int32_t PIOS_BMP280_ReadPTCompensated(struct pios_bmp280_dev *dev,
|
||||
uint32_t *compensatedPressure,
|
||||
int32_t *compensatedTemperature);
|
||||
uint32_t *compensatedPressure,
|
||||
int32_t *compensatedTemperature);
|
||||
|
||||
// sensor driver interface
|
||||
static bool PIOS_BMP280_driver_Test(uintptr_t context);
|
||||
@ -135,29 +135,29 @@ static bool PIOS_BMP280_Validate(struct pios_bmp280_dev *dev)
|
||||
void PIOS_BMP280_Init(const struct pios_bmp280_cfg *cfg, uint32_t i2c_device)
|
||||
{
|
||||
struct pios_bmp280_dev *dev = (struct pios_bmp280_dev *)pios_malloc(sizeof(*dev));
|
||||
|
||||
|
||||
PIOS_Assert(dev);
|
||||
|
||||
dev->magic = PIOS_BMP280_DEV_MAGIC;
|
||||
|
||||
dev->magic = PIOS_BMP280_DEV_MAGIC;
|
||||
dev->i2c_id = i2c_device;
|
||||
dev->sensorIsAlive = false;
|
||||
dev->oversampling = cfg->oversampling;
|
||||
|
||||
switch(cfg->oversampling) {
|
||||
case BMP280_STANDARD_RESOLUTION:
|
||||
dev->conversionDelayUs = 13300 + BMP280_T_STANDBY;
|
||||
break;
|
||||
case BMP280_HIGH_RESOLUTION:
|
||||
dev->conversionDelayUs = 22500 + BMP280_T_STANDBY;
|
||||
break;
|
||||
default:
|
||||
case BMP280_ULTRA_HIGH_RESOLUTION:
|
||||
dev->conversionDelayUs = 43200 + BMP280_T_STANDBY;
|
||||
break;
|
||||
dev->oversampling = cfg->oversampling;
|
||||
|
||||
switch (cfg->oversampling) {
|
||||
case BMP280_STANDARD_RESOLUTION:
|
||||
dev->conversionDelayUs = 13300 + BMP280_T_STANDBY;
|
||||
break;
|
||||
case BMP280_HIGH_RESOLUTION:
|
||||
dev->conversionDelayUs = 22500 + BMP280_T_STANDBY;
|
||||
break;
|
||||
default:
|
||||
case BMP280_ULTRA_HIGH_RESOLUTION:
|
||||
dev->conversionDelayUs = 43200 + BMP280_T_STANDBY;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
PIOS_BMP280_Configure(dev);
|
||||
|
||||
|
||||
PIOS_SENSORS_Register(&PIOS_BMP280_Driver, PIOS_SENSORS_TYPE_1AXIS_BARO, (uintptr_t)dev);
|
||||
}
|
||||
|
||||
@ -165,40 +165,40 @@ static int32_t PIOS_BMP280_Configure(struct pios_bmp280_dev *dev)
|
||||
{
|
||||
// read chip id?
|
||||
uint8_t chip_id;
|
||||
|
||||
if(dev->sensorIsAlive) {
|
||||
|
||||
if (dev->sensorIsAlive) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(PIOS_DELAY_DiffuS(dev->configTime) < PIOS_BMP280_I2C_CONFIG_RETRY_DELAY) { // Do not reinitialize too often
|
||||
|
||||
if (PIOS_DELAY_DiffuS(dev->configTime) < PIOS_BMP280_I2C_CONFIG_RETRY_DELAY) { // Do not reinitialize too often
|
||||
return -1;
|
||||
}
|
||||
|
||||
dev->configTime = PIOS_DELAY_GetRaw();
|
||||
|
||||
|
||||
dev->configTime = PIOS_DELAY_GetRaw();
|
||||
|
||||
dev->sensorIsAlive = (PIOS_BMP280_Read(dev->i2c_id, BMP280_ID, &chip_id, sizeof(chip_id)) == 0);
|
||||
if(!dev->sensorIsAlive) {
|
||||
if (!dev->sensorIsAlive) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(chip_id != BMP280_DEFAULT_CHIP_ID) {
|
||||
|
||||
if (chip_id != BMP280_DEFAULT_CHIP_ID) {
|
||||
return -2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
uint8_t data[BMP280_PRESSURE_TEMPERATURE_CALIB_DATA_LENGTH];
|
||||
|
||||
dev->sensorIsAlive = (PIOS_BMP280_Read(dev->i2c_id, BMP280_CAL_ADDR, data, BMP280_PRESSURE_TEMPERATURE_CALIB_DATA_LENGTH) == 0);
|
||||
|
||||
if(!dev->sensorIsAlive) {
|
||||
if (!dev->sensorIsAlive) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
dev->digT1 = (data[ 1] << 8) | data[ 0];
|
||||
dev->digT2 = (data[ 3] << 8) | data[ 2];
|
||||
dev->digT3 = (data[ 5] << 8) | data[ 4];
|
||||
dev->digP1 = (data[ 7] << 8) | data[ 6];
|
||||
dev->digP2 = (data[ 9] << 8) | data[ 8];
|
||||
|
||||
dev->digT1 = (data[1] << 8) | data[0];
|
||||
dev->digT2 = (data[3] << 8) | data[2];
|
||||
dev->digT3 = (data[5] << 8) | data[4];
|
||||
dev->digP1 = (data[7] << 8) | data[6];
|
||||
dev->digP2 = (data[9] << 8) | data[8];
|
||||
dev->digP3 = (data[11] << 8) | data[10];
|
||||
dev->digP4 = (data[13] << 8) | data[12];
|
||||
dev->digP5 = (data[15] << 8) | data[14];
|
||||
@ -206,18 +206,18 @@ static int32_t PIOS_BMP280_Configure(struct pios_bmp280_dev *dev)
|
||||
dev->digP7 = (data[19] << 8) | data[18];
|
||||
dev->digP8 = (data[21] << 8) | data[20];
|
||||
dev->digP9 = (data[23] << 8) | data[22];
|
||||
|
||||
|
||||
dev->sensorIsAlive = (PIOS_BMP280_Write(dev->i2c_id, BMP280_RESET, BMP280_RESET_MAGIC) == 0);
|
||||
if(!dev->sensorIsAlive) {
|
||||
if (!dev->sensorIsAlive) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
/* start conversion */
|
||||
|
||||
dev->sensorIsAlive = (PIOS_BMP280_Write(dev->i2c_id, BMP280_CTRL_MEAS, dev->oversampling | BMP280_MODE_CONTINUOUS) == 0);
|
||||
|
||||
|
||||
dev->sensorIsAlive = (PIOS_BMP280_Write(dev->i2c_id, BMP280_CTRL_MEAS, dev->oversampling | BMP280_MODE_CONTINUOUS) == 0);
|
||||
|
||||
dev->conversionStart = PIOS_DELAY_GetRaw();
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -226,50 +226,50 @@ static int32_t PIOS_BMP280_ReadPTCompensated(struct pios_bmp280_dev *dev,
|
||||
int32_t *compensatedTemperature)
|
||||
{
|
||||
uint8_t data[BMP280_DATA_FRAME_SIZE];
|
||||
|
||||
|
||||
/* Read and store results */
|
||||
|
||||
if (PIOS_BMP280_Read(dev->i2c_id, BMP280_PRESS_MSB, data, BMP280_DATA_FRAME_SIZE) != 0)
|
||||
|
||||
if (PIOS_BMP280_Read(dev->i2c_id, BMP280_PRESS_MSB, data, BMP280_DATA_FRAME_SIZE) != 0) {
|
||||
return -1;
|
||||
|
||||
}
|
||||
|
||||
static int32_t T = 0;
|
||||
|
||||
|
||||
int32_t raw_temperature = (int32_t)((((uint32_t)(data[3])) << 12) | (((uint32_t)(data[4])) << 4) | ((uint32_t)data[5] >> 4));
|
||||
|
||||
|
||||
int32_t varT1, varT2;
|
||||
|
||||
varT1 = ((((raw_temperature >> 3) - ((int32_t)dev->digT1 << 1))) * ((int32_t)dev->digT2)) >> 11;
|
||||
|
||||
varT1 = ((((raw_temperature >> 3) - ((int32_t)dev->digT1 << 1))) * ((int32_t)dev->digT2)) >> 11;
|
||||
varT2 = (((((raw_temperature >> 4) - ((int32_t)dev->digT1)) * ((raw_temperature >> 4) - ((int32_t)dev->digT1))) >> 12) * ((int32_t)dev->digT3)) >> 14;
|
||||
|
||||
|
||||
/* Filter T ourselves */
|
||||
if (!T) {
|
||||
T = (varT1 + varT2) * 5;
|
||||
} else {
|
||||
T = (varT1 + varT2) + (T * 4) / 5; // IIR Gain=5
|
||||
T = (varT1 + varT2) + (T * 4) / 5; // IIR Gain=5
|
||||
}
|
||||
|
||||
|
||||
*compensatedTemperature = T;
|
||||
|
||||
|
||||
int32_t raw_pressure = (int32_t)((((uint32_t)(data[0])) << 12) | (((uint32_t)(data[1])) << 4) | ((uint32_t)data[2] >> 4));
|
||||
|
||||
|
||||
if (raw_pressure == 0x80000) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
int64_t varP1, varP2, P;
|
||||
|
||||
|
||||
varP1 = ((int64_t)T / 5) - 128000;
|
||||
varP2 = varP1 * varP1 * (int64_t)dev->digP6;
|
||||
varP2 = varP2 + ((varP1 * (int64_t)dev->digP5) << 17);
|
||||
varP2 = varP2 + (((int64_t)dev->digP4) << 35);
|
||||
varP1= ((varP1 * varP1 * (int64_t)dev->digP3) >> 8) + ((varP1 * (int64_t)dev->digP2) << 12);
|
||||
varP1 = ((varP1 * varP1 * (int64_t)dev->digP3) >> 8) + ((varP1 * (int64_t)dev->digP2) << 12);
|
||||
varP1 = (((((int64_t)1) << 47) + varP1)) * ((int64_t)dev->digP1) >> 33;
|
||||
if (varP1 == 0)
|
||||
{
|
||||
if (varP1 == 0) {
|
||||
return 1; // avoid exception caused by division by zero
|
||||
}
|
||||
P = 1048576 - raw_pressure;
|
||||
P = (((P << 31) - varP2) * 3125) / varP1;
|
||||
P = 1048576 - raw_pressure;
|
||||
P = (((P << 31) - varP2) * 3125) / varP1;
|
||||
varP1 = (((int64_t)dev->digP9) * (P >> 13) * (P >> 13)) >> 25;
|
||||
varP2 = (((int64_t)dev->digP8) * P) >> 19;
|
||||
*compensatedPressure = (uint32_t)((P + varP1 + varP2) >> 8) + (((int64_t)dev->digP7) << 4);
|
||||
@ -343,9 +343,7 @@ bool PIOS_BMP280_driver_Test(__attribute__((unused)) uintptr_t context)
|
||||
}
|
||||
|
||||
static void PIOS_BMP280_driver_Reset(__attribute__((unused)) uintptr_t context)
|
||||
{
|
||||
|
||||
}
|
||||
{}
|
||||
|
||||
static void PIOS_BMP280_driver_get_scale(float *scales, uint8_t size, __attribute__((unused)) uintptr_t context)
|
||||
{
|
||||
@ -356,7 +354,7 @@ static void PIOS_BMP280_driver_get_scale(float *scales, uint8_t size, __attribut
|
||||
static void PIOS_BMP280_driver_fetch(void *data, __attribute__((unused)) uint8_t size, uintptr_t context)
|
||||
{
|
||||
struct pios_bmp280_dev *dev = (struct pios_bmp280_dev *)context;
|
||||
|
||||
|
||||
PIOS_Assert(PIOS_BMP280_Validate(dev));
|
||||
PIOS_Assert(data);
|
||||
|
||||
@ -369,31 +367,31 @@ static bool PIOS_BMP280_driver_poll(uintptr_t context)
|
||||
|
||||
PIOS_Assert(PIOS_BMP280_Validate(dev));
|
||||
|
||||
if(!dev->sensorIsAlive) {
|
||||
if(PIOS_BMP280_Configure(dev) < 0) {
|
||||
if (!dev->sensorIsAlive) {
|
||||
if (PIOS_BMP280_Configure(dev) < 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(PIOS_DELAY_DiffuS(dev->conversionStart) < dev->conversionDelayUs) {
|
||||
|
||||
if (PIOS_DELAY_DiffuS(dev->conversionStart) < dev->conversionDelayUs) {
|
||||
return false;
|
||||
}
|
||||
|
||||
dev->conversionStart = PIOS_DELAY_GetRaw();
|
||||
|
||||
|
||||
uint32_t cP = 0;
|
||||
int32_t cT = 0;
|
||||
int32_t cT = 0;
|
||||
|
||||
int32_t res = PIOS_BMP280_ReadPTCompensated(dev, &cP, &cT);
|
||||
|
||||
dev->sensorIsAlive = (res >= 0);
|
||||
|
||||
if(res != 0) {
|
||||
if (res != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
dev->results.temperature = ((float) cT) / 256.0f / 100.0f;
|
||||
dev->results.sample = ((float) cP) / 256.0f;
|
||||
dev->results.temperature = ((float)cT) / 256.0f / 100.0f;
|
||||
dev->results.sample = ((float)cP) / 256.0f;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ void PIOS_BOARD_Sensors_Configure()
|
||||
|
||||
#ifdef PIOS_INCLUDE_BMP280
|
||||
const struct pios_bmp280_cfg *bmp280_cfg = PIOS_BOARD_HW_DEFS_GetBMP280Cfg(pios_board_info_blob.board_rev);
|
||||
if(bmp280_cfg) {
|
||||
if (bmp280_cfg) {
|
||||
PIOS_BMP280_Init(bmp280_cfg, PIOS_I2C_BMP280_INTERNAL_ADAPTER);
|
||||
}
|
||||
#endif
|
||||
|
@ -32,19 +32,19 @@
|
||||
#define PIOS_BMP280_H
|
||||
#include <pios_sensors.h>
|
||||
|
||||
#define BMP280_OVERSAMP_SKIPPED (0x00)
|
||||
#define BMP280_OVERSAMP_1X (0x01)
|
||||
#define BMP280_OVERSAMP_2X (0x02)
|
||||
#define BMP280_OVERSAMP_4X (0x03)
|
||||
#define BMP280_OVERSAMP_8X (0x04)
|
||||
#define BMP280_OVERSAMP_16X (0x05)
|
||||
#define BMP280_OVERSAMP_SKIPPED (0x00)
|
||||
#define BMP280_OVERSAMP_1X (0x01)
|
||||
#define BMP280_OVERSAMP_2X (0x02)
|
||||
#define BMP280_OVERSAMP_4X (0x03)
|
||||
#define BMP280_OVERSAMP_8X (0x04)
|
||||
#define BMP280_OVERSAMP_16X (0x05)
|
||||
|
||||
#define BMP280_PRESSURE_OSR(x) (x << 2)
|
||||
#define BMP280_PRESSURE_OSR(x) (x << 2)
|
||||
#define BMP280_TEMPERATURE_OSR(x) (x << 5)
|
||||
|
||||
#define BMP280_STANDARD_RESOLUTION (BMP280_PRESSURE_OSR(BMP280_OVERSAMP_4X) | BMP280_TEMPERATURE_OSR(BMP280_OVERSAMP_1X))
|
||||
#define BMP280_HIGH_RESOLUTION (BMP280_PRESSURE_OSR(BMP280_OVERSAMP_8X) | BMP280_TEMPERATURE_OSR(BMP280_OVERSAMP_1X))
|
||||
#define BMP280_ULTRA_HIGH_RESOLUTION (BMP280_PRESSURE_OSR(BMP280_OVERSAMP_16X) | BMP280_TEMPERATURE_OSR(BMP280_OVERSAMP_2X))
|
||||
#define BMP280_STANDARD_RESOLUTION (BMP280_PRESSURE_OSR(BMP280_OVERSAMP_4X) | BMP280_TEMPERATURE_OSR(BMP280_OVERSAMP_1X))
|
||||
#define BMP280_HIGH_RESOLUTION (BMP280_PRESSURE_OSR(BMP280_OVERSAMP_8X) | BMP280_TEMPERATURE_OSR(BMP280_OVERSAMP_1X))
|
||||
#define BMP280_ULTRA_HIGH_RESOLUTION (BMP280_PRESSURE_OSR(BMP280_OVERSAMP_16X) | BMP280_TEMPERATURE_OSR(BMP280_OVERSAMP_2X))
|
||||
|
||||
struct pios_bmp280_cfg {
|
||||
uint8_t oversampling;
|
||||
|
@ -12,7 +12,7 @@
|
||||
{ \
|
||||
.regs = _usart, \
|
||||
.remap = GPIO_AF_##_usart, \
|
||||
.rx = { \
|
||||
.rx = { \
|
||||
.gpio = GPIO##_rx_gpio, \
|
||||
.init = { \
|
||||
.GPIO_Pin = GPIO_Pin_##_rx_pin, \
|
||||
|
@ -58,7 +58,7 @@ struct pios_adc_pin_config {
|
||||
};
|
||||
|
||||
static const struct pios_adc_pin_config config[] = PIOS_DMA_PIN_CONFIG;
|
||||
#define PIOS_ADC_NUM_PINS (sizeof(config) / sizeof(config[0]))
|
||||
#define PIOS_ADC_NUM_PINS (sizeof(config) / sizeof(config[0]))
|
||||
|
||||
#define PIOS_ADC_DMA_BUFFER_SIZE (PIOS_ADC_MAX_SAMPLES * PIOS_ADC_NUM_PINS)
|
||||
|
||||
@ -74,13 +74,13 @@ struct adc_accumulator {
|
||||
|
||||
struct pios_adc_dev {
|
||||
const struct pios_adc_cfg *cfg;
|
||||
ADCCallback callback_function;
|
||||
ADCCallback callback_function;
|
||||
#if defined(PIOS_INCLUDE_FREERTOS)
|
||||
xQueueHandle data_queue;
|
||||
xQueueHandle data_queue;
|
||||
#endif
|
||||
enum pios_adc_dev_magic magic;
|
||||
volatile uint16_t raw_data_buffer[PIOS_ADC_DMA_BUFFER_SIZE] __attribute__((aligned(4))); // Double buffer that DMA just used
|
||||
struct adc_accumulator accumulator[PIOS_ADC_NUM_PINS];
|
||||
struct adc_accumulator accumulator[PIOS_ADC_NUM_PINS];
|
||||
};
|
||||
|
||||
struct pios_adc_dev *pios_adc_dev;
|
||||
@ -109,81 +109,82 @@ static void init_dma(struct pios_adc_dev *adc_dev)
|
||||
/* Disable interrupts */
|
||||
DMA_ITConfig(pios_adc_dev->cfg->dma.rx.channel, pios_adc_dev->cfg->dma.irq.flags, DISABLE);
|
||||
|
||||
/* Configure DMA channel */
|
||||
DMA_DeInit(adc_dev->cfg->dma.rx.channel);
|
||||
DMA_InitTypeDef DMAInit = adc_dev->cfg->dma.rx.init;
|
||||
DMAInit.DMA_PeripheralBaseAddr = (uint32_t) &adc_dev->cfg->adc_dev->DR;
|
||||
/* Configure DMA channel */
|
||||
DMA_DeInit(adc_dev->cfg->dma.rx.channel);
|
||||
DMA_InitTypeDef DMAInit = adc_dev->cfg->dma.rx.init;
|
||||
DMAInit.DMA_PeripheralBaseAddr = (uint32_t)&adc_dev->cfg->adc_dev->DR;
|
||||
|
||||
DMAInit.DMA_MemoryBaseAddr = (uint32_t)&pios_adc_dev->raw_data_buffer[0];
|
||||
DMAInit.DMA_BufferSize = PIOS_ADC_DMA_BUFFER_SIZE;
|
||||
DMAInit.DMA_DIR = DMA_DIR_PeripheralSRC;
|
||||
DMAInit.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
|
||||
DMAInit.DMA_MemoryInc = DMA_MemoryInc_Enable;
|
||||
DMAInit.DMA_MemoryBaseAddr = (uint32_t)&pios_adc_dev->raw_data_buffer[0];
|
||||
DMAInit.DMA_BufferSize = PIOS_ADC_DMA_BUFFER_SIZE;
|
||||
DMAInit.DMA_DIR = DMA_DIR_PeripheralSRC;
|
||||
DMAInit.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
|
||||
DMAInit.DMA_MemoryInc = DMA_MemoryInc_Enable;
|
||||
DMAInit.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
|
||||
DMAInit.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
|
||||
DMAInit.DMA_Mode = DMA_Mode_Circular;
|
||||
DMAInit.DMA_M2M = DMA_M2M_Disable;
|
||||
DMAInit.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
|
||||
DMAInit.DMA_Mode = DMA_Mode_Circular;
|
||||
DMAInit.DMA_M2M = DMA_M2M_Disable;
|
||||
|
||||
DMA_Init(adc_dev->cfg->dma.rx.channel, &DMAInit); /* channel is actually stream ... */
|
||||
DMA_Init(adc_dev->cfg->dma.rx.channel, &DMAInit); /* channel is actually stream ... */
|
||||
|
||||
/* enable DMA */
|
||||
DMA_Cmd(adc_dev->cfg->dma.rx.channel, ENABLE);
|
||||
/* enable DMA */
|
||||
DMA_Cmd(adc_dev->cfg->dma.rx.channel, ENABLE);
|
||||
|
||||
/* Trigger interrupt when for half conversions too to indicate double buffer */
|
||||
DMA_ITConfig(adc_dev->cfg->dma.rx.channel, DMA_IT_TC, ENABLE);
|
||||
DMA_ITConfig(adc_dev->cfg->dma.rx.channel, DMA_IT_HT, ENABLE);
|
||||
|
||||
/* Configure DMA interrupt */
|
||||
NVIC_InitTypeDef NVICInit = adc_dev->cfg->dma.irq.init;
|
||||
NVIC_Init(&NVICInit);
|
||||
/* Trigger interrupt when for half conversions too to indicate double buffer */
|
||||
DMA_ITConfig(adc_dev->cfg->dma.rx.channel, DMA_IT_TC, ENABLE);
|
||||
DMA_ITConfig(adc_dev->cfg->dma.rx.channel, DMA_IT_HT, ENABLE);
|
||||
|
||||
/* Configure DMA interrupt */
|
||||
NVIC_InitTypeDef NVICInit = adc_dev->cfg->dma.irq.init;
|
||||
NVIC_Init(&NVICInit);
|
||||
}
|
||||
|
||||
static void init_adc(struct pios_adc_dev *adc_dev)
|
||||
{
|
||||
ADC_DeInit(adc_dev->cfg->adc_dev);
|
||||
ADC_DeInit(adc_dev->cfg->adc_dev);
|
||||
|
||||
if (adc_dev->cfg->adc_dev == ADC1 || adc_dev->cfg->adc_dev == ADC2 )
|
||||
RCC_ADCCLKConfig(RCC_ADC12PLLCLK_Div32);
|
||||
else
|
||||
RCC_ADCCLKConfig(RCC_ADC34PLLCLK_Div32);
|
||||
if (adc_dev->cfg->adc_dev == ADC1 || adc_dev->cfg->adc_dev == ADC2) {
|
||||
RCC_ADCCLKConfig(RCC_ADC12PLLCLK_Div32);
|
||||
} else {
|
||||
RCC_ADCCLKConfig(RCC_ADC34PLLCLK_Div32);
|
||||
}
|
||||
|
||||
ADC_VoltageRegulatorCmd(adc_dev->cfg->adc_dev, ENABLE);
|
||||
PIOS_DELAY_WaituS(10);
|
||||
ADC_SelectCalibrationMode(adc_dev->cfg->adc_dev, ADC_CalibrationMode_Single);
|
||||
ADC_StartCalibration(adc_dev->cfg->adc_dev);
|
||||
while (ADC_GetCalibrationStatus(adc_dev->cfg->adc_dev) != RESET)
|
||||
;
|
||||
ADC_VoltageRegulatorCmd(adc_dev->cfg->adc_dev, ENABLE);
|
||||
PIOS_DELAY_WaituS(10);
|
||||
ADC_SelectCalibrationMode(adc_dev->cfg->adc_dev, ADC_CalibrationMode_Single);
|
||||
ADC_StartCalibration(adc_dev->cfg->adc_dev);
|
||||
while (ADC_GetCalibrationStatus(adc_dev->cfg->adc_dev) != RESET) {
|
||||
;
|
||||
}
|
||||
|
||||
/* Do common ADC init */
|
||||
ADC_CommonInitTypeDef ADC_CommonInitStructure;
|
||||
ADC_CommonStructInit(&ADC_CommonInitStructure);
|
||||
/* Do common ADC init */
|
||||
ADC_CommonInitTypeDef ADC_CommonInitStructure;
|
||||
ADC_CommonStructInit(&ADC_CommonInitStructure);
|
||||
|
||||
ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;
|
||||
ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;
|
||||
ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;
|
||||
|
||||
ADC_CommonInitStructure.ADC_Clock = ADC_Clock_AsynClkMode;
|
||||
ADC_CommonInitStructure.ADC_DMAMode = ADC_DMAMode_Circular;
|
||||
ADC_CommonInitStructure.ADC_TwoSamplingDelay = 0;
|
||||
ADC_DMAConfig(adc_dev->cfg->adc_dev, ADC_DMAMode_Circular);
|
||||
ADC_CommonInit(adc_dev->cfg->adc_dev, &ADC_CommonInitStructure);
|
||||
ADC_CommonInitStructure.ADC_Clock = ADC_Clock_AsynClkMode;
|
||||
ADC_CommonInitStructure.ADC_DMAMode = ADC_DMAMode_Circular;
|
||||
ADC_CommonInitStructure.ADC_TwoSamplingDelay = 0;
|
||||
ADC_DMAConfig(adc_dev->cfg->adc_dev, ADC_DMAMode_Circular);
|
||||
ADC_CommonInit(adc_dev->cfg->adc_dev, &ADC_CommonInitStructure);
|
||||
|
||||
ADC_InitTypeDef ADC_InitStructure;
|
||||
ADC_StructInit(&ADC_InitStructure);
|
||||
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
|
||||
ADC_InitStructure.ADC_ContinuousConvMode = ADC_ContinuousConvMode_Enable;
|
||||
ADC_InitStructure.ADC_ExternalTrigConvEvent = ADC_ExternalTrigConvEvent_0;
|
||||
ADC_InitStructure.ADC_ExternalTrigEventEdge = ADC_ExternalTrigEventEdge_None;
|
||||
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
|
||||
ADC_InitTypeDef ADC_InitStructure;
|
||||
ADC_StructInit(&ADC_InitStructure);
|
||||
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
|
||||
ADC_InitStructure.ADC_ContinuousConvMode = ADC_ContinuousConvMode_Enable;
|
||||
ADC_InitStructure.ADC_ExternalTrigConvEvent = ADC_ExternalTrigConvEvent_0;
|
||||
ADC_InitStructure.ADC_ExternalTrigEventEdge = ADC_ExternalTrigEventEdge_None;
|
||||
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
|
||||
|
||||
ADC_InitStructure.ADC_NbrOfRegChannel = ((PIOS_ADC_NUM_PINS) /* >> 1*/);
|
||||
ADC_InitStructure.ADC_NbrOfRegChannel = ((PIOS_ADC_NUM_PINS) /* >> 1*/);
|
||||
|
||||
ADC_Init(adc_dev->cfg->adc_dev, &ADC_InitStructure);
|
||||
ADC_Init(adc_dev->cfg->adc_dev, &ADC_InitStructure);
|
||||
|
||||
/* Enable DMA request */
|
||||
ADC_DMACmd(adc_dev->cfg->adc_dev, ENABLE);
|
||||
/* Enable DMA request */
|
||||
ADC_DMACmd(adc_dev->cfg->adc_dev, ENABLE);
|
||||
|
||||
/* Configure input scan */
|
||||
/* Configure input scan */
|
||||
|
||||
for (uint32_t i = 0; i < PIOS_ADC_NUM_PINS; i++) {
|
||||
ADC_RegularChannelConfig(adc_dev->cfg->adc_dev,
|
||||
@ -192,11 +193,13 @@ static void init_adc(struct pios_adc_dev *adc_dev)
|
||||
ADC_SampleTime_61Cycles5); /* XXX this is totally arbitrary... */
|
||||
}
|
||||
|
||||
ADC_Cmd(adc_dev->cfg->adc_dev, ENABLE);
|
||||
ADC_Cmd(adc_dev->cfg->adc_dev, ENABLE);
|
||||
|
||||
while (!ADC_GetFlagStatus(adc_dev->cfg->adc_dev, ADC_FLAG_RDY));
|
||||
while (!ADC_GetFlagStatus(adc_dev->cfg->adc_dev, ADC_FLAG_RDY)) {
|
||||
;
|
||||
}
|
||||
|
||||
ADC_StartConversion(adc_dev->cfg->adc_dev);
|
||||
ADC_StartConversion(adc_dev->cfg->adc_dev);
|
||||
}
|
||||
|
||||
static bool PIOS_ADC_validate(struct pios_adc_dev *dev)
|
||||
@ -237,7 +240,7 @@ static struct pios_adc_dev *PIOS_ADC_Allocate()
|
||||
int32_t PIOS_ADC_Init(const struct pios_adc_cfg *cfg)
|
||||
{
|
||||
PIOS_Assert(cfg);
|
||||
|
||||
|
||||
pios_adc_dev = PIOS_ADC_Allocate();
|
||||
if (pios_adc_dev == NULL) {
|
||||
return -1;
|
||||
@ -371,9 +374,9 @@ void accumulate(struct pios_adc_dev *dev, volatile uint16_t *buffer)
|
||||
/*
|
||||
* Accumulate sampled values.
|
||||
*/
|
||||
|
||||
|
||||
int count = (PIOS_ADC_MAX_SAMPLES / 2);
|
||||
|
||||
|
||||
while (count--) {
|
||||
for (uint32_t i = 0; i < PIOS_ADC_NUM_PINS; ++i) {
|
||||
dev->accumulator[i].accumulator += *sp++;
|
||||
@ -416,7 +419,7 @@ void PIOS_ADC_DMA_Handler(void)
|
||||
|
||||
if (DMA_GetFlagStatus(pios_adc_dev->cfg->full_flag)) { // whole double buffer filled
|
||||
DMA_ClearFlag(pios_adc_dev->cfg->full_flag);
|
||||
accumulate(pios_adc_dev, &pios_adc_dev->raw_data_buffer[PIOS_ADC_DMA_BUFFER_SIZE/2]);
|
||||
accumulate(pios_adc_dev, &pios_adc_dev->raw_data_buffer[PIOS_ADC_DMA_BUFFER_SIZE / 2]);
|
||||
} else if (DMA_GetFlagStatus(pios_adc_dev->cfg->half_flag)) {
|
||||
DMA_ClearFlag(pios_adc_dev->cfg->half_flag);
|
||||
accumulate(pios_adc_dev, &pios_adc_dev->raw_data_buffer[0]);
|
||||
|
@ -43,13 +43,13 @@
|
||||
// timer compare value for logical 0
|
||||
#define BIT_COMPARE_0 9
|
||||
|
||||
#define PIOS_WS2811_MAGIC 0x00281100
|
||||
#define PIOS_WS2811_MAGIC 0x00281100
|
||||
|
||||
struct pios_ws2811_dev {
|
||||
uint32_t magic;
|
||||
const struct pios_ws2811_cfg *config;
|
||||
uint8_t dma_buffer[WS2811_DMA_BUFFER_SIZE];
|
||||
bool dma_active;
|
||||
uint8_t dma_buffer[WS2811_DMA_BUFFER_SIZE];
|
||||
bool dma_active;
|
||||
};
|
||||
|
||||
struct pios_ws2811_dev *ws2811_dev;
|
||||
@ -66,7 +66,7 @@ void PIOS_WS2811_Init(uint32_t *dev_id, const struct pios_ws2811_cfg *ws2811_cfg
|
||||
|
||||
memset(ws2811_dev, 0, sizeof(*ws2811_dev));
|
||||
|
||||
ws2811_dev->magic = PIOS_WS2811_MAGIC;
|
||||
ws2811_dev->magic = PIOS_WS2811_MAGIC;
|
||||
ws2811_dev->config = ws2811_cfg;
|
||||
|
||||
|
||||
@ -148,8 +148,8 @@ void PIOS_WS2811_Init(uint32_t *dev_id, const struct pios_ws2811_cfg *ws2811_cfg
|
||||
TIM_DMACmd(ws2811_cfg->timer, ws2811_cfg->timer_dma_source, ENABLE);
|
||||
|
||||
DMA_ITConfig(ws2811_cfg->dma_chan, DMA_IT_TC, ENABLE);
|
||||
|
||||
*dev_id = (uint32_t) ws2811_dev;
|
||||
|
||||
*dev_id = (uint32_t)ws2811_dev;
|
||||
}
|
||||
|
||||
void PIOS_WS2811_DMA_irq_handler()
|
||||
|
@ -32,7 +32,7 @@ typedef void (vector)(void);
|
||||
/** default interrupt handler */
|
||||
static void default_io_handler(void)
|
||||
{
|
||||
asm volatile("BKPT #01");
|
||||
asm volatile ("BKPT #01");
|
||||
for (;;) {
|
||||
;
|
||||
}
|
||||
@ -171,7 +171,7 @@ vector *io_vectors[] __attribute__((section(".io_vectors"))) = {
|
||||
TIM8_CC_IRQHandler, // TIM8 Capture Compare
|
||||
ADC3_IRQHandler, // ADC3
|
||||
#if defined(STM32F303xD) || defined(STM32F303xE)
|
||||
FMC_IRQHandler, // FMC_IRQHandler (Available in STM32F303xD/E only)
|
||||
FMC_IRQHandler, // FMC_IRQHandler (Available in STM32F303xD/E only)
|
||||
#else
|
||||
Reserved_IRQHandler, // reserved
|
||||
#endif
|
||||
|
@ -186,8 +186,8 @@ void PIOS_WS2811_Init(uint32_t *dev_id, const struct pios_ws2811_cfg *ws2811_cfg
|
||||
// Setup timers
|
||||
setupTimer();
|
||||
setupDMA();
|
||||
|
||||
//
|
||||
|
||||
//
|
||||
*dev_id = PIOS_WS2811_MAGIC;
|
||||
}
|
||||
|
||||
|
@ -858,4 +858,3 @@ const struct pios_mpu6000_cfg *PIOS_BOARD_HW_DEFS_GetMPU6000Cfg(__attribute__((u
|
||||
return &pios_mpu6000_cfg;
|
||||
}
|
||||
#endif /* PIOS_INCLUDE_MPU6000 */
|
||||
|
||||
|
@ -172,7 +172,7 @@ void PIOS_Board_Init(void)
|
||||
uint8_t hwsettings_cc_mainport;
|
||||
HwSettingsCC_MainPortGet(&hwsettings_cc_mainport);
|
||||
|
||||
if(hwsettings_cc_mainport < NELEMENTS(usart_main_function_map)) {
|
||||
if (hwsettings_cc_mainport < NELEMENTS(usart_main_function_map)) {
|
||||
PIOS_BOARD_IO_Configure_UART(&pios_usart_main_cfg, usart_main_function_map[hwsettings_cc_mainport]);
|
||||
}
|
||||
|
||||
@ -196,16 +196,16 @@ void PIOS_Board_Init(void)
|
||||
|
||||
uint8_t hwsettings_cc_flexiport;
|
||||
HwSettingsCC_FlexiPortGet(&hwsettings_cc_flexiport);
|
||||
|
||||
if(hwsettings_cc_flexiport < NELEMENTS(usart_flexi_function_map)) {
|
||||
|
||||
if (hwsettings_cc_flexiport < NELEMENTS(usart_flexi_function_map)) {
|
||||
PIOS_BOARD_IO_Configure_UART(&pios_usart_flexi_cfg, usart_flexi_function_map[hwsettings_cc_flexiport]);
|
||||
}
|
||||
|
||||
if(hwsettings_cc_flexiport == HWSETTINGS_CC_FLEXIPORT_PPM) {
|
||||
|
||||
if (hwsettings_cc_flexiport == HWSETTINGS_CC_FLEXIPORT_PPM) {
|
||||
#if defined(PIOS_INCLUDE_PPM_FLEXI)
|
||||
PIOS_BOARD_IO_Configure_PPM_RCVR(&pios_ppm_flexi_cfg);
|
||||
#endif /* PIOS_INCLUDE_PPM_FLEXI */
|
||||
} else if(hwsettings_cc_flexiport == HWSETTINGS_CC_FLEXIPORT_I2C) {
|
||||
} else if (hwsettings_cc_flexiport == HWSETTINGS_CC_FLEXIPORT_I2C) {
|
||||
// F303CC has no I2C on CC3D flexi.
|
||||
}
|
||||
|
||||
@ -252,7 +252,6 @@ void PIOS_Board_Init(void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if defined(PIOS_INCLUDE_GCSRCVR)
|
||||
PIOS_BOARD_IO_Configure_GCSRCVR();
|
||||
#endif /* PIOS_INCLUDE_GCSRCVR */
|
||||
|
@ -79,51 +79,51 @@
|
||||
// ------------------------
|
||||
// TELEMETRY
|
||||
// ------------------------
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
|
||||
// ------------------------
|
||||
// PIOS_LED
|
||||
// ------------------------
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
|
||||
// -------------------------
|
||||
// System Settings
|
||||
// -------------------------
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
#define PIOS_PERIPHERAL_CLOCK (PIOS_MASTER_CLOCK / 2)
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
#define PIOS_PERIPHERAL_CLOCK (PIOS_MASTER_CLOCK / 2)
|
||||
|
||||
// -------------------------
|
||||
// Interrupt Priorities
|
||||
// -------------------------
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
// ------------------------
|
||||
// PIOS_I2C
|
||||
// See also pios_board.c
|
||||
// ------------------------
|
||||
#define PIOS_I2C_MAX_DEVS 1
|
||||
#define PIOS_I2C_MAX_DEVS 1
|
||||
#define PIOS_I2C_EXTERNAL_ADAPTER (0)
|
||||
#define PIOS_I2C_FLEXI_ADAPTER (0)
|
||||
#define PIOS_I2C_FLEXI_ADAPTER (0)
|
||||
|
||||
// ------------------------
|
||||
// PIOS_BMP085
|
||||
// ------------------------
|
||||
#define PIOS_BMP085_OVERSAMPLING 3
|
||||
#define PIOS_BMP085_OVERSAMPLING 3
|
||||
|
||||
// -------------------------
|
||||
// SPI
|
||||
//
|
||||
// See also pios_board.c
|
||||
// -------------------------
|
||||
#define PIOS_SPI_MAX_DEVS 2
|
||||
#define PIOS_SPI_MAX_DEVS 2
|
||||
extern uint32_t pios_spi_gyro_id;
|
||||
#define PIOS_SPI_MPU6000_ADAPTER (pios_spi_gyro_id)
|
||||
// -------------------------
|
||||
// PIOS_USART
|
||||
// -------------------------
|
||||
#define PIOS_USART_MAX_DEVS 2
|
||||
#define PIOS_USART_MAX_DEVS 2
|
||||
|
||||
// -------------------------
|
||||
// PIOS_COM
|
||||
|
@ -132,7 +132,7 @@ extern uint32_t pios_i2c_flexiport_adapter_id;
|
||||
//
|
||||
// See also pios_board.c
|
||||
// -------------------------
|
||||
#define PIOS_COM_MAX_DEVS 4
|
||||
#define PIOS_COM_MAX_DEVS 4
|
||||
|
||||
#ifdef PIOS_INCLUDE_WS2811
|
||||
extern uint32_t pios_ws2811_id;
|
||||
|
@ -849,6 +849,3 @@ static const struct pios_mpu9250_cfg pios_mpu9250_cfg = {
|
||||
.max_downsample = 26,
|
||||
};
|
||||
#endif /* PIOS_INCLUDE_MPU9250 */
|
||||
|
||||
|
||||
|
||||
|
@ -174,7 +174,7 @@
|
||||
#define PIOS_ACTUATOR_STACK_SIZE 800
|
||||
#define PIOS_MANUAL_STACK_SIZE 935
|
||||
#define PIOS_RECEIVER_STACK_SIZE 840
|
||||
#define PIOS_SYSTEM_STACK_SIZE 1536
|
||||
#define PIOS_SYSTEM_STACK_SIZE 1536
|
||||
/* #define PIOS_STABILIZATION_STACK_SIZE 400 */
|
||||
|
||||
#define PIOS_TELEM_STACK_SIZE 800
|
||||
|
@ -200,22 +200,22 @@ void PIOS_Board_Init(void)
|
||||
|
||||
static const PIOS_BOARD_IO_UART_Function uart_function_map[] = {
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_TELEMETRY] = PIOS_BOARD_IO_UART_TELEMETRY,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_GPS] = PIOS_BOARD_IO_UART_GPS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_SBUS] = PIOS_BOARD_IO_UART_SBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_DSM] = PIOS_BOARD_IO_UART_DSM_MAIN, // single DSM instance? ok.
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_EXBUS] = PIOS_BOARD_IO_UART_EXBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_HOTTSUMD] = PIOS_BOARD_IO_UART_HOTT_SUMD,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_HOTTSUMH] = PIOS_BOARD_IO_UART_HOTT_SUMH,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_SRXL] = PIOS_BOARD_IO_UART_SRXL,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_IBUS] = PIOS_BOARD_IO_UART_IBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_GPS] = PIOS_BOARD_IO_UART_GPS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_SBUS] = PIOS_BOARD_IO_UART_SBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_DSM] = PIOS_BOARD_IO_UART_DSM_MAIN, // single DSM instance? ok.
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_EXBUS] = PIOS_BOARD_IO_UART_EXBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_HOTTSUMD] = PIOS_BOARD_IO_UART_HOTT_SUMD,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_HOTTSUMH] = PIOS_BOARD_IO_UART_HOTT_SUMH,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_SRXL] = PIOS_BOARD_IO_UART_SRXL,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_IBUS] = PIOS_BOARD_IO_UART_IBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_DEBUGCONSOLE] = PIOS_BOARD_IO_UART_DEBUGCONSOLE,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_COMBRIDGE] = PIOS_BOARD_IO_UART_COMBRIDGE,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_MSP] = PIOS_BOARD_IO_UART_MSP,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_MAVLINK] = PIOS_BOARD_IO_UART_MAVLINK,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_COMBRIDGE] = PIOS_BOARD_IO_UART_COMBRIDGE,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_MSP] = PIOS_BOARD_IO_UART_MSP,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_MAVLINK] = PIOS_BOARD_IO_UART_MAVLINK,
|
||||
};
|
||||
|
||||
for (unsigned int i = 0; i < HWSPRACINGF3EVOSETTINGS_UARTPORT_NUMELEM; ++i) {
|
||||
if(boardHwSettings.UARTPort[i] < NELEMENTS(uart_function_map)) {
|
||||
if (boardHwSettings.UARTPort[i] < NELEMENTS(uart_function_map)) {
|
||||
PIOS_BOARD_IO_Configure_UART(&pios_usart_cfg[i], uart_function_map[boardHwSettings.UARTPort[i]]);
|
||||
}
|
||||
}
|
||||
|
@ -79,39 +79,39 @@
|
||||
// ------------------------
|
||||
// TELEMETRY
|
||||
// ------------------------
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
|
||||
// ------------------------
|
||||
// PIOS_LED
|
||||
// ------------------------
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
|
||||
// -------------------------
|
||||
// System Settings
|
||||
// -------------------------
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
|
||||
// -------------------------
|
||||
// Interrupt Priorities
|
||||
// -------------------------
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
// ------------------------
|
||||
// PIOS_I2C
|
||||
// See also pios_board.c
|
||||
// ------------------------
|
||||
#define PIOS_I2C_MAX_DEVS 1
|
||||
#define PIOS_I2C_MAX_DEVS 1
|
||||
extern uint32_t pios_i2c_id;
|
||||
#define PIOS_I2C_MAIN_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_ESC_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_MAIN_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_ESC_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_EXTERNAL_ADAPTER (pios_i2c_id)
|
||||
|
||||
// ------------------------
|
||||
// PIOS_BMP085
|
||||
// ------------------------
|
||||
#define PIOS_BMP085_OVERSAMPLING 3
|
||||
#define PIOS_BMP085_OVERSAMPLING 3
|
||||
|
||||
// -------------------------
|
||||
// SPI
|
||||
@ -189,8 +189,8 @@ extern uint32_t pios_ws2811_id;
|
||||
#define PIOS_ADC_MAX_OVERSAMPLING 32
|
||||
#define PIOS_ADC_USE_ADC2 0
|
||||
|
||||
//#define PIOS_ADC_USE_TEMP_SENSOR
|
||||
//#define PIOS_ADC_TEMPERATURE_PIN 4
|
||||
// #define PIOS_ADC_USE_TEMP_SENSOR
|
||||
// #define PIOS_ADC_TEMPERATURE_PIN 4
|
||||
|
||||
// ------------------------
|
||||
// PIOS_RCVR
|
||||
|
@ -44,7 +44,7 @@ static const struct pios_gpio pios_leds[] = {
|
||||
},
|
||||
.active_low = true
|
||||
},
|
||||
[PIOS_LED_ALARM] = {
|
||||
[PIOS_LED_ALARM] = {
|
||||
.pin = {
|
||||
.gpio = GPIOB,
|
||||
.init = {
|
||||
@ -57,7 +57,7 @@ static const struct pios_gpio pios_leds[] = {
|
||||
},
|
||||
.active_low = true
|
||||
},
|
||||
[PIOS_LED_BUZZER] = { /* not really LED, but buzzer! */
|
||||
[PIOS_LED_BUZZER] = { /* not really LED, but buzzer! */
|
||||
.pin = {
|
||||
.gpio = GPIOA,
|
||||
.init = {
|
||||
@ -290,34 +290,34 @@ static const struct pios_tim_clock_cfg tim_17_cfg = {
|
||||
|
||||
#include <pios_servo_config.h>
|
||||
|
||||
#define GPIO_AF_PA1_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA0_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA8_TIM1 GPIO_AF_6
|
||||
#define GPIO_AF_PA2_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PB6_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB5_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB0_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB1_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB9_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB8_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB7_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB4_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB11_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA15_TIM8 GPIO_AF_2
|
||||
#define GPIO_AF_PA3_TIM15 GPIO_AF_9
|
||||
#define GPIO_AF_PA6_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA7_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA10_TIM2 GPIO_AF_10
|
||||
#define GPIO_AF_PA1_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA0_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA8_TIM1 GPIO_AF_6
|
||||
#define GPIO_AF_PA2_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PB6_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB5_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB0_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB1_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB9_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB8_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB7_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB4_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB11_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA15_TIM8 GPIO_AF_2
|
||||
#define GPIO_AF_PA3_TIM15 GPIO_AF_9
|
||||
#define GPIO_AF_PA6_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA7_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA10_TIM2 GPIO_AF_10
|
||||
|
||||
#define GPIO_AF_PA4_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA7_TIM17 GPIO_AF_1
|
||||
#define GPIO_AF_PB8_TIM16 GPIO_AF_1
|
||||
#define GPIO_AF_PA4_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA7_TIM17 GPIO_AF_1
|
||||
#define GPIO_AF_PB8_TIM16 GPIO_AF_1
|
||||
|
||||
#define TIM1_CH1_DMA_INSTANCE 1
|
||||
#define TIM1_CH1_DMA_CHANNEL 2
|
||||
#define TIM1_CH1_DMA_INSTANCE 1
|
||||
#define TIM1_CH1_DMA_CHANNEL 2
|
||||
|
||||
#define TIM16_CH1_DMA_INSTANCE 2
|
||||
#define TIM16_CH1_DMA_CHANNEL 3
|
||||
#define TIM16_CH1_DMA_CHANNEL 3
|
||||
|
||||
static const struct pios_tim_channel pios_tim_servoport_pins[] = {
|
||||
TIM_SERVO_CHANNEL_CONFIG(TIM3, 2, A, 4), // bank 1
|
||||
@ -341,8 +341,8 @@ static const struct pios_tim_channel pios_tim_servoport_pins[] = {
|
||||
#include "pios_usart_config.h"
|
||||
|
||||
static const struct pios_usart_cfg pios_usart_cfg[] = {
|
||||
USART_CONFIG(USART1, B, 7, B, 6),
|
||||
USART_CONFIG(USART2, B, 4, B, 3),
|
||||
USART_CONFIG(USART1, B, 7, B, 6),
|
||||
USART_CONFIG(USART2, B, 4, B, 3),
|
||||
USART_CONFIG(USART3, B, 11, B, 10),
|
||||
};
|
||||
|
||||
|
@ -66,7 +66,7 @@
|
||||
#define PIOS_INCLUDE_TIM
|
||||
#define PIOS_INCLUDE_USART
|
||||
#define PIOS_INCLUDE_ADC
|
||||
//#define PIOS_INCLUDE_I2C
|
||||
// #define PIOS_INCLUDE_I2C
|
||||
#define PIOS_INCLUDE_SPI
|
||||
#define PIOS_INCLUDE_GPIO
|
||||
#define PIOS_INCLUDE_EXTI
|
||||
|
@ -194,26 +194,26 @@ void PIOS_Board_Init(void)
|
||||
|
||||
static const PIOS_BOARD_IO_UART_Function uart_function_map[] = {
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_TELEMETRY] = PIOS_BOARD_IO_UART_TELEMETRY,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_GPS] = PIOS_BOARD_IO_UART_GPS,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_SBUS] = PIOS_BOARD_IO_UART_SBUS,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_DSM] = PIOS_BOARD_IO_UART_DSM_MAIN, // single DSM instance? ok.
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_EXBUS] = PIOS_BOARD_IO_UART_EXBUS,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_HOTTSUMD] = PIOS_BOARD_IO_UART_HOTT_SUMD,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_HOTTSUMH] = PIOS_BOARD_IO_UART_HOTT_SUMH,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_SRXL] = PIOS_BOARD_IO_UART_SRXL,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_IBUS] = PIOS_BOARD_IO_UART_IBUS,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_GPS] = PIOS_BOARD_IO_UART_GPS,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_SBUS] = PIOS_BOARD_IO_UART_SBUS,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_DSM] = PIOS_BOARD_IO_UART_DSM_MAIN, // single DSM instance? ok.
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_EXBUS] = PIOS_BOARD_IO_UART_EXBUS,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_HOTTSUMD] = PIOS_BOARD_IO_UART_HOTT_SUMD,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_HOTTSUMH] = PIOS_BOARD_IO_UART_HOTT_SUMH,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_SRXL] = PIOS_BOARD_IO_UART_SRXL,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_IBUS] = PIOS_BOARD_IO_UART_IBUS,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_DEBUGCONSOLE] = PIOS_BOARD_IO_UART_DEBUGCONSOLE,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_COMBRIDGE] = PIOS_BOARD_IO_UART_COMBRIDGE,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_MSP] = PIOS_BOARD_IO_UART_MSP,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_MAVLINK] = PIOS_BOARD_IO_UART_MAVLINK,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_COMBRIDGE] = PIOS_BOARD_IO_UART_COMBRIDGE,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_MSP] = PIOS_BOARD_IO_UART_MSP,
|
||||
[HWPIKOBLXSETTINGS_UARTPORT_MAVLINK] = PIOS_BOARD_IO_UART_MAVLINK,
|
||||
};
|
||||
|
||||
for (unsigned int i = 0; i < HWPIKOBLXSETTINGS_UARTPORT_NUMELEM; ++i) {
|
||||
if(boardHwSettings.UARTPort[i] < NELEMENTS(uart_function_map)) {
|
||||
if (boardHwSettings.UARTPort[i] < NELEMENTS(uart_function_map)) {
|
||||
PIOS_BOARD_IO_Configure_UART(&pios_usart_cfg[i], uart_function_map[boardHwSettings.UARTPort[i]]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef PIOS_INCLUDE_PPM
|
||||
PIOS_BOARD_IO_Configure_PPM_RCVR(&pios_ppm_cfg);
|
||||
#endif
|
||||
@ -249,7 +249,7 @@ void PIOS_Board_Init(void)
|
||||
PIOS_LED_On(PIOS_LED_HEARTBEAT);
|
||||
|
||||
/* Make sure we have at least one telemetry link configured or else fail initialization */
|
||||
// PIOS_Assert(pios_com_telem_rf_id || pios_com_telem_usb_id);
|
||||
// PIOS_Assert(pios_com_telem_rf_id || pios_com_telem_usb_id);
|
||||
}
|
||||
|
||||
|
||||
|
@ -79,46 +79,46 @@
|
||||
// ------------------------
|
||||
// TELEMETRY
|
||||
// ------------------------
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
|
||||
// ------------------------
|
||||
// PIOS_LED
|
||||
// ------------------------
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
#define PIOS_LED_ALARM 1
|
||||
#define PIOS_LED_BUZZER 2
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
#define PIOS_LED_ALARM 1
|
||||
#define PIOS_LED_BUZZER 2
|
||||
|
||||
// -------------------------
|
||||
// System Settings
|
||||
// -------------------------
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
|
||||
// -------------------------
|
||||
// Interrupt Priorities
|
||||
// -------------------------
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
// ------------------------
|
||||
// PIOS_I2C
|
||||
// See also pios_board.c
|
||||
// ------------------------
|
||||
#define PIOS_I2C_MAX_DEVS 0
|
||||
#define PIOS_I2C_MAX_DEVS 0
|
||||
|
||||
// -------------------------
|
||||
// SPI
|
||||
//
|
||||
// See also pios_board.c
|
||||
// -------------------------
|
||||
#define PIOS_SPI_MAX_DEVS 2
|
||||
#define PIOS_SPI_MAX_DEVS 2
|
||||
extern uint32_t pios_spi_mpu6000_id;
|
||||
#define PIOS_SPI_MPU6000_ADAPTER (pios_spi_mpu6000_id)
|
||||
|
||||
// -------------------------
|
||||
// PIOS_USART
|
||||
// -------------------------
|
||||
#define PIOS_USART_MAX_DEVS 3
|
||||
#define PIOS_USART_MAX_DEVS 3
|
||||
|
||||
// -------------------------
|
||||
// PIOS_COM
|
||||
|
@ -152,7 +152,7 @@ extern uint32_t pios_i2c_flexiport_adapter_id;
|
||||
//
|
||||
// See also pios_board.c
|
||||
// -------------------------
|
||||
#define PIOS_COM_MAX_DEVS 4
|
||||
#define PIOS_COM_MAX_DEVS 4
|
||||
|
||||
#ifdef PIOS_INCLUDE_WS2811
|
||||
extern uint32_t pios_ws2811_id;
|
||||
|
@ -132,7 +132,7 @@ extern uint32_t pios_i2c_flexiport_adapter_id;
|
||||
|
||||
#ifdef PIOS_INCLUDE_WS2811
|
||||
extern uint32_t pios_ws2811_id;
|
||||
#define PIOS_WS2811_DEVICE (pios_ws2811_id)
|
||||
#define PIOS_WS2811_DEVICE (pios_ws2811_id)
|
||||
#endif
|
||||
|
||||
// -------------------------
|
||||
|
@ -135,7 +135,7 @@ extern uint32_t pios_i2c_flexiport_adapter_id;
|
||||
//
|
||||
// See also pios_board.c
|
||||
// -------------------------
|
||||
#define PIOS_COM_MAX_DEVS 4
|
||||
#define PIOS_COM_MAX_DEVS 4
|
||||
|
||||
#ifdef PIOS_INCLUDE_WS2811
|
||||
extern uint32_t pios_ws2811_id;
|
||||
|
@ -154,7 +154,7 @@ extern uint32_t pios_i2c_flexiport_adapter_id;
|
||||
//
|
||||
// See also pios_board.c
|
||||
// -------------------------
|
||||
#define PIOS_COM_MAX_DEVS 4
|
||||
#define PIOS_COM_MAX_DEVS 4
|
||||
|
||||
#ifdef PIOS_INCLUDE_WS2811
|
||||
extern uint32_t pios_ws2811_id;
|
||||
|
@ -191,21 +191,21 @@ static const struct pios_exti_cfg pios_exti_mpu6000_cfg __exti_config = {
|
||||
static const struct pios_mpu6000_cfg pios_mpu6000_cfg = {
|
||||
.exti_cfg = &pios_exti_mpu6000_cfg,
|
||||
#ifdef PIOS_MPU6000_I2C_ADDR
|
||||
.i2c_addr = PIOS_MPU6000_I2C_ADDR,
|
||||
.i2c_addr = PIOS_MPU6000_I2C_ADDR,
|
||||
#endif
|
||||
.Fifo_store = PIOS_MPU6000_FIFO_TEMP_OUT | PIOS_MPU6000_FIFO_GYRO_X_OUT | PIOS_MPU6000_FIFO_GYRO_Y_OUT | PIOS_MPU6000_FIFO_GYRO_Z_OUT,
|
||||
// Clock at 8 khz, downsampled by 12 for 666Hz
|
||||
.Smpl_rate_div_no_dlp = 11,
|
||||
// Clock at 1 khz, downsampled by 1 for 1000 Hz
|
||||
.Smpl_rate_div_dlp = 0,
|
||||
.interrupt_cfg = PIOS_MPU6000_INT_CLR_ANYRD,
|
||||
.interrupt_en = PIOS_MPU6000_INTEN_DATA_RDY,
|
||||
.interrupt_cfg = PIOS_MPU6000_INT_CLR_ANYRD,
|
||||
.interrupt_en = PIOS_MPU6000_INTEN_DATA_RDY,
|
||||
.User_ctl = PIOS_MPU6000_USERCTL_FIFO_EN,
|
||||
.Pwr_mgmt_clk = PIOS_MPU6000_PWRMGMT_PLL_X_CLK,
|
||||
.accel_range = PIOS_MPU6000_ACCEL_8G,
|
||||
.gyro_range = PIOS_MPU6000_SCALE_2000_DEG,
|
||||
.Pwr_mgmt_clk = PIOS_MPU6000_PWRMGMT_PLL_X_CLK,
|
||||
.accel_range = PIOS_MPU6000_ACCEL_8G,
|
||||
.gyro_range = PIOS_MPU6000_SCALE_2000_DEG,
|
||||
.filter = PIOS_MPU6000_LOWPASS_256_HZ,
|
||||
.orientation = PIOS_MPU6000_TOP_180DEG,
|
||||
.orientation = PIOS_MPU6000_TOP_180DEG,
|
||||
};
|
||||
|
||||
const struct pios_mpu6000_cfg *PIOS_BOARD_HW_DEFS_GetMPU6000Cfg(__attribute__((unused)) uint32_t board_revision)
|
||||
@ -714,18 +714,18 @@ void I2C1_EV_EXTI23_IRQHandler() __attribute__((alias("PIOS_I2C_ev_irq_handler")
|
||||
void I2C1_ER_IRQHandler() __attribute__((alias("PIOS_I2C_er_irq_handler")));
|
||||
|
||||
static const struct pios_i2c_adapter_cfg pios_i2c_cfg = {
|
||||
.regs = I2C1,
|
||||
.regs = I2C1,
|
||||
.remapSCL = GPIO_AF_4,
|
||||
.remapSDA = GPIO_AF_4,
|
||||
.init = {
|
||||
.init = {
|
||||
.I2C_Mode = I2C_Mode_I2C,
|
||||
.I2C_OwnAddress1 = 0,
|
||||
.I2C_Ack = I2C_Ack_Enable,
|
||||
.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit,
|
||||
.I2C_DigitalFilter = 0x00,
|
||||
.I2C_AnalogFilter = I2C_AnalogFilter_Enable,
|
||||
// .I2C_Timing = 0x70310309, // 50kHz I2C @ 8MHz input -> PRESC=0x7, SCLDEL=0x3, SDADEL=0x1, SCLH=0x03, SCLL=0x09
|
||||
.I2C_Timing = 0x00E0257A, // 400 Khz, 72Mhz Clock, Analog Filter Delay ON, Rise 100, Fall 10.
|
||||
// .I2C_Timing = 0x70310309, // 50kHz I2C @ 8MHz input -> PRESC=0x7, SCLDEL=0x3, SDADEL=0x1, SCLH=0x03, SCLL=0x09
|
||||
.I2C_Timing = 0x00E0257A, // 400 Khz, 72Mhz Clock, Analog Filter Delay ON, Rise 100, Fall 10.
|
||||
},
|
||||
.transfer_timeout_ms = 50,
|
||||
.scl = {
|
||||
|
@ -184,22 +184,22 @@ void PIOS_Board_Init(void)
|
||||
|
||||
static const PIOS_BOARD_IO_UART_Function uart_function_map[] = {
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_TELEMETRY] = PIOS_BOARD_IO_UART_TELEMETRY,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_GPS] = PIOS_BOARD_IO_UART_GPS,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_SBUS] = PIOS_BOARD_IO_UART_SBUS,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_DSM] = PIOS_BOARD_IO_UART_DSM_MAIN, // single DSM instance? ok.
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_EXBUS] = PIOS_BOARD_IO_UART_EXBUS,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_HOTTSUMD] = PIOS_BOARD_IO_UART_HOTT_SUMD,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_HOTTSUMH] = PIOS_BOARD_IO_UART_HOTT_SUMH,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_SRXL] = PIOS_BOARD_IO_UART_SRXL,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_IBUS] = PIOS_BOARD_IO_UART_IBUS,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_GPS] = PIOS_BOARD_IO_UART_GPS,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_SBUS] = PIOS_BOARD_IO_UART_SBUS,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_DSM] = PIOS_BOARD_IO_UART_DSM_MAIN, // single DSM instance? ok.
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_EXBUS] = PIOS_BOARD_IO_UART_EXBUS,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_HOTTSUMD] = PIOS_BOARD_IO_UART_HOTT_SUMD,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_HOTTSUMH] = PIOS_BOARD_IO_UART_HOTT_SUMH,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_SRXL] = PIOS_BOARD_IO_UART_SRXL,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_IBUS] = PIOS_BOARD_IO_UART_IBUS,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_DEBUGCONSOLE] = PIOS_BOARD_IO_UART_DEBUGCONSOLE,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_COMBRIDGE] = PIOS_BOARD_IO_UART_COMBRIDGE,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_MSP] = PIOS_BOARD_IO_UART_MSP,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_MAVLINK] = PIOS_BOARD_IO_UART_MAVLINK,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_COMBRIDGE] = PIOS_BOARD_IO_UART_COMBRIDGE,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_MSP] = PIOS_BOARD_IO_UART_MSP,
|
||||
[HWSPRACINGF3SETTINGS_UARTPORT_MAVLINK] = PIOS_BOARD_IO_UART_MAVLINK,
|
||||
};
|
||||
|
||||
for (unsigned int i = 0; i < HWSPRACINGF3SETTINGS_UARTPORT_NUMELEM; ++i) {
|
||||
if(boardHwSettings.UARTPort[i] < NELEMENTS(uart_function_map)) {
|
||||
if (boardHwSettings.UARTPort[i] < NELEMENTS(uart_function_map)) {
|
||||
PIOS_BOARD_IO_Configure_UART(&pios_usart_cfg[i], uart_function_map[boardHwSettings.UARTPort[i]]);
|
||||
}
|
||||
}
|
||||
|
@ -59,61 +59,61 @@
|
||||
// ------------------------
|
||||
// BOOTLOADER_SETTINGS
|
||||
// ------------------------
|
||||
#define BOARD_READABLE true
|
||||
#define BOARD_WRITABLE true
|
||||
#define MAX_DEL_RETRYS 3
|
||||
#define BOARD_READABLE true
|
||||
#define BOARD_WRITABLE true
|
||||
#define MAX_DEL_RETRYS 3
|
||||
|
||||
// ------------------------
|
||||
// WATCHDOG_SETTINGS
|
||||
// ------------------------
|
||||
#define PIOS_WATCHDOG_TIMEOUT 250
|
||||
#define PIOS_WDG_REGISTER RTC_BKP_DR4
|
||||
#define PIOS_WDG_ACTUATOR 0x0001
|
||||
#define PIOS_WDG_STABILIZATION 0x0002
|
||||
#define PIOS_WDG_ATTITUDE 0x0004
|
||||
#define PIOS_WDG_MANUAL 0x0008
|
||||
#define PIOS_WDG_AUTOTUNE 0x0010
|
||||
#define PIOS_WDG_SENSORS 0x0020
|
||||
#define PIOS_WATCHDOG_TIMEOUT 250
|
||||
#define PIOS_WDG_REGISTER RTC_BKP_DR4
|
||||
#define PIOS_WDG_ACTUATOR 0x0001
|
||||
#define PIOS_WDG_STABILIZATION 0x0002
|
||||
#define PIOS_WDG_ATTITUDE 0x0004
|
||||
#define PIOS_WDG_MANUAL 0x0008
|
||||
#define PIOS_WDG_AUTOTUNE 0x0010
|
||||
#define PIOS_WDG_SENSORS 0x0020
|
||||
|
||||
// ------------------------
|
||||
// TELEMETRY
|
||||
// ------------------------
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
|
||||
// ------------------------
|
||||
// PIOS_LED
|
||||
// ------------------------
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
|
||||
// -------------------------
|
||||
// System Settings
|
||||
// -------------------------
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
|
||||
// -------------------------
|
||||
// Interrupt Priorities
|
||||
// -------------------------
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
// ------------------------
|
||||
// PIOS_I2C
|
||||
// See also pios_board.c
|
||||
// ------------------------
|
||||
#define PIOS_I2C_MAX_DEVS 1
|
||||
#define PIOS_I2C_MAX_DEVS 1
|
||||
extern uint32_t pios_i2c_id;
|
||||
#define PIOS_I2C_MAIN_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_ESC_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_MS5611_INTERNAL_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_HMC5X83_INTERNAL_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_MPU6000_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_EXTERNAL_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_MAIN_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_ESC_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_MS5611_INTERNAL_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_HMC5X83_INTERNAL_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_MPU6000_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_EXTERNAL_ADAPTER (pios_i2c_id)
|
||||
|
||||
// ------------------------
|
||||
// PIOS_BMP085
|
||||
// ------------------------
|
||||
#define PIOS_BMP085_OVERSAMPLING 3
|
||||
#define PIOS_BMP085_OVERSAMPLING 3
|
||||
|
||||
// -------------------------
|
||||
// SPI
|
||||
|
@ -44,7 +44,7 @@ static const struct pios_gpio pios_leds[] = {
|
||||
},
|
||||
.active_low = true
|
||||
},
|
||||
[PIOS_LED_ALARM] = { /* not really LED, but buzzer! */
|
||||
[PIOS_LED_ALARM] = { /* not really LED, but buzzer! */
|
||||
.pin = {
|
||||
.gpio = GPIOC,
|
||||
.init = {
|
||||
@ -83,16 +83,16 @@ static const struct pios_spi_cfg pios_spi_mpu9250_cfg = {
|
||||
.SPI_Mode = SPI_Mode_Master,
|
||||
.SPI_Direction = SPI_Direction_2Lines_FullDuplex,
|
||||
.SPI_DataSize = SPI_DataSize_8b,
|
||||
.SPI_NSS = SPI_NSS_Soft,
|
||||
.SPI_NSS = SPI_NSS_Soft,
|
||||
.SPI_FirstBit = SPI_FirstBit_MSB,
|
||||
.SPI_CRCPolynomial = 7,
|
||||
.SPI_CPOL = SPI_CPOL_High,
|
||||
.SPI_CPHA = SPI_CPHA_2Edge,
|
||||
.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16, /* 10 Mhz */
|
||||
.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16, /* 10 Mhz */
|
||||
},
|
||||
.use_crc = false,
|
||||
.remap = GPIO_AF_5,
|
||||
.sclk = {
|
||||
.remap = GPIO_AF_5,
|
||||
.sclk = {
|
||||
.gpio = GPIOB,
|
||||
.init = {
|
||||
.GPIO_Pin = GPIO_Pin_3,
|
||||
@ -102,7 +102,7 @@ static const struct pios_spi_cfg pios_spi_mpu9250_cfg = {
|
||||
.GPIO_PuPd = GPIO_PuPd_NOPULL,
|
||||
},
|
||||
},
|
||||
.miso = {
|
||||
.miso = {
|
||||
.gpio = GPIOB,
|
||||
.init = {
|
||||
.GPIO_Pin = GPIO_Pin_4,
|
||||
@ -112,7 +112,7 @@ static const struct pios_spi_cfg pios_spi_mpu9250_cfg = {
|
||||
.GPIO_PuPd = GPIO_PuPd_NOPULL,
|
||||
},
|
||||
},
|
||||
.mosi = {
|
||||
.mosi = {
|
||||
.gpio = GPIOB,
|
||||
.init = {
|
||||
.GPIO_Pin = GPIO_Pin_5,
|
||||
@ -122,8 +122,8 @@ static const struct pios_spi_cfg pios_spi_mpu9250_cfg = {
|
||||
.GPIO_PuPd = GPIO_PuPd_NOPULL,
|
||||
},
|
||||
},
|
||||
.slave_count = 1,
|
||||
.ssel = {
|
||||
.slave_count = 1,
|
||||
.ssel = {
|
||||
{
|
||||
.gpio = GPIOB,
|
||||
.init = {
|
||||
@ -394,24 +394,24 @@ static const struct pios_tim_clock_cfg tim_17_cfg = {
|
||||
|
||||
#include <pios_servo_config.h>
|
||||
|
||||
#define GPIO_AF_PA1_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA0_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA8_TIM1 GPIO_AF_6
|
||||
#define GPIO_AF_PA2_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PB6_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB5_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB0_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB1_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB9_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB8_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB7_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB4_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB11_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA15_TIM8 GPIO_AF_2
|
||||
#define GPIO_AF_PA3_TIM15 GPIO_AF_9
|
||||
#define GPIO_AF_PA6_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA7_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA10_TIM2 GPIO_AF_10
|
||||
#define GPIO_AF_PA1_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA0_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA8_TIM1 GPIO_AF_6
|
||||
#define GPIO_AF_PA2_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PB6_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB5_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB0_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB1_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB9_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB8_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB7_TIM4 GPIO_AF_2
|
||||
#define GPIO_AF_PB4_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PB11_TIM2 GPIO_AF_1
|
||||
#define GPIO_AF_PA15_TIM8 GPIO_AF_2
|
||||
#define GPIO_AF_PA3_TIM15 GPIO_AF_9
|
||||
#define GPIO_AF_PA6_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA7_TIM3 GPIO_AF_2
|
||||
#define GPIO_AF_PA10_TIM2 GPIO_AF_10
|
||||
|
||||
|
||||
#define TIM1_CH1_DMA_INSTANCE 1
|
||||
@ -581,18 +581,18 @@ void I2C1_EV_EXTI23_IRQHandler() __attribute__((alias("PIOS_I2C_ev_irq_handler")
|
||||
void I2C1_ER_IRQHandler() __attribute__((alias("PIOS_I2C_er_irq_handler")));
|
||||
|
||||
static const struct pios_i2c_adapter_cfg pios_i2c_cfg = {
|
||||
.regs = I2C1,
|
||||
.regs = I2C1,
|
||||
.remapSCL = GPIO_AF_4,
|
||||
.remapSDA = GPIO_AF_4,
|
||||
.init = {
|
||||
.init = {
|
||||
.I2C_Mode = I2C_Mode_I2C,
|
||||
.I2C_OwnAddress1 = 0,
|
||||
.I2C_Ack = I2C_Ack_Enable,
|
||||
.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit,
|
||||
.I2C_DigitalFilter = 0x00,
|
||||
.I2C_AnalogFilter = I2C_AnalogFilter_Enable,
|
||||
// .I2C_Timing = 0x70310309, // 50kHz I2C @ 8MHz input -> PRESC=0x7, SCLDEL=0x3, SDADEL=0x1, SCLH=0x03, SCLL=0x09
|
||||
.I2C_Timing = 0x00E0257A, // 400 Khz, 72Mhz Clock, Analog Filter Delay ON, Rise 100, Fall 10.
|
||||
// .I2C_Timing = 0x70310309, // 50kHz I2C @ 8MHz input -> PRESC=0x7, SCLDEL=0x3, SDADEL=0x1, SCLH=0x03, SCLL=0x09
|
||||
.I2C_Timing = 0x00E0257A, // 400 Khz, 72Mhz Clock, Analog Filter Delay ON, Rise 100, Fall 10.
|
||||
},
|
||||
.transfer_timeout_ms = 50,
|
||||
.scl = {
|
||||
|
@ -199,7 +199,7 @@ void jump_to_app()
|
||||
Jump_To_Application();
|
||||
} else {
|
||||
DeviceState = failed_jump;
|
||||
JumpToApp = FALSE;
|
||||
JumpToApp = FALSE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -200,28 +200,28 @@ void PIOS_Board_Init(void)
|
||||
|
||||
static const PIOS_BOARD_IO_UART_Function uart_function_map[] = {
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_TELEMETRY] = PIOS_BOARD_IO_UART_TELEMETRY,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_GPS] = PIOS_BOARD_IO_UART_GPS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_SBUS] = PIOS_BOARD_IO_UART_SBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_DSM] = PIOS_BOARD_IO_UART_DSM_MAIN, // single DSM instance? ok.
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_EXBUS] = PIOS_BOARD_IO_UART_EXBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_HOTTSUMD] = PIOS_BOARD_IO_UART_HOTT_SUMD,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_HOTTSUMH] = PIOS_BOARD_IO_UART_HOTT_SUMH,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_SRXL] = PIOS_BOARD_IO_UART_SRXL,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_IBUS] = PIOS_BOARD_IO_UART_IBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_GPS] = PIOS_BOARD_IO_UART_GPS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_SBUS] = PIOS_BOARD_IO_UART_SBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_DSM] = PIOS_BOARD_IO_UART_DSM_MAIN, // single DSM instance? ok.
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_EXBUS] = PIOS_BOARD_IO_UART_EXBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_HOTTSUMD] = PIOS_BOARD_IO_UART_HOTT_SUMD,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_HOTTSUMH] = PIOS_BOARD_IO_UART_HOTT_SUMH,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_SRXL] = PIOS_BOARD_IO_UART_SRXL,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_IBUS] = PIOS_BOARD_IO_UART_IBUS,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_DEBUGCONSOLE] = PIOS_BOARD_IO_UART_DEBUGCONSOLE,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_COMBRIDGE] = PIOS_BOARD_IO_UART_COMBRIDGE,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_MSP] = PIOS_BOARD_IO_UART_MSP,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_MAVLINK] = PIOS_BOARD_IO_UART_MAVLINK,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_COMBRIDGE] = PIOS_BOARD_IO_UART_COMBRIDGE,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_MSP] = PIOS_BOARD_IO_UART_MSP,
|
||||
[HWSPRACINGF3EVOSETTINGS_UARTPORT_MAVLINK] = PIOS_BOARD_IO_UART_MAVLINK,
|
||||
};
|
||||
|
||||
for (unsigned int i = 0; i < HWSPRACINGF3EVOSETTINGS_UARTPORT_NUMELEM; ++i) {
|
||||
if(boardHwSettings.UARTPort[i] < NELEMENTS(uart_function_map)) {
|
||||
if (boardHwSettings.UARTPort[i] < NELEMENTS(uart_function_map)) {
|
||||
PIOS_BOARD_IO_Configure_UART(&pios_usart_cfg[i], uart_function_map[boardHwSettings.UARTPort[i]]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* allow PPM on uart2 only, to avoid uart1&3 TIM2_CH4 conflict with output PWMSync, OneShot and MultiShot modes */
|
||||
if(boardHwSettings.UARTPort[1] == HWSPRACINGF3EVOSETTINGS_UARTPORT_PPM) {
|
||||
if (boardHwSettings.UARTPort[1] == HWSPRACINGF3EVOSETTINGS_UARTPORT_PPM) {
|
||||
PIOS_BOARD_IO_Configure_PPM_RCVR(&pios_ppm_cfg);
|
||||
}
|
||||
|
||||
|
@ -79,55 +79,55 @@
|
||||
// ------------------------
|
||||
// TELEMETRY
|
||||
// ------------------------
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
#define TELEM_QUEUE_SIZE 10
|
||||
|
||||
// ------------------------
|
||||
// PIOS_LED
|
||||
// ------------------------
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
#define PIOS_LED_ALARM 1
|
||||
#define PIOS_LED_HEARTBEAT 0
|
||||
#define PIOS_LED_ALARM 1
|
||||
|
||||
// -------------------------
|
||||
// System Settings
|
||||
// -------------------------
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
#define PIOS_MASTER_CLOCK 72000000
|
||||
|
||||
// -------------------------
|
||||
// Interrupt Priorities
|
||||
// -------------------------
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
#define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
|
||||
#define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
|
||||
#define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
|
||||
#define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
|
||||
// ------------------------
|
||||
// PIOS_I2C
|
||||
// See also pios_board.c
|
||||
// ------------------------
|
||||
#define PIOS_I2C_MAX_DEVS 1
|
||||
#define PIOS_I2C_MAX_DEVS 1
|
||||
extern uint32_t pios_i2c_id;
|
||||
#define PIOS_I2C_MAIN_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_ESC_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_EXTERNAL_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_MAIN_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_ESC_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_EXTERNAL_ADAPTER (pios_i2c_id)
|
||||
#define PIOS_I2C_BMP280_INTERNAL_ADAPTER (pios_i2c_id)
|
||||
|
||||
// ------------------------
|
||||
// PIOS_BMP085
|
||||
// ------------------------
|
||||
#define PIOS_BMP085_OVERSAMPLING 3
|
||||
#define PIOS_BMP085_OVERSAMPLING 3
|
||||
|
||||
// -------------------------
|
||||
// SPI
|
||||
//
|
||||
// See also pios_board.c
|
||||
// -------------------------
|
||||
#define PIOS_SPI_MAX_DEVS 2
|
||||
#define PIOS_SPI_MAX_DEVS 2
|
||||
extern uint32_t pios_spi_mpu9250_id;
|
||||
#define PIOS_SPI_MPU9250_ADAPTER (pios_spi_mpu9250_id)
|
||||
|
||||
// -------------------------
|
||||
// PIOS_USART
|
||||
// -------------------------
|
||||
#define PIOS_USART_MAX_DEVS 2
|
||||
#define PIOS_USART_MAX_DEVS 2
|
||||
|
||||
// -------------------------
|
||||
// PIOS_COM
|
||||
|
@ -205,7 +205,7 @@ void ConfigGadgetWidget::onAutopilotConnect()
|
||||
|
||||
ConfigTaskWidget *widget;
|
||||
|
||||
if((board & 0x00ff) == 0x03) {
|
||||
if ((board & 0x00ff) == 0x03) {
|
||||
widget = new ConfigRevoWidget(this);
|
||||
} else {
|
||||
widget = new ConfigCCAttitudeWidget(this);
|
||||
@ -239,23 +239,23 @@ void ConfigGadgetWidget::onAutopilotConnect()
|
||||
widget = new ConfigSparky2HWWidget(this);
|
||||
widget->bind();
|
||||
stackWidget->replaceTab(ConfigGadgetWidget::Hardware, widget);
|
||||
} else if(( board & 0xff00) == 0x1000) {
|
||||
} else if ((board & 0xff00) == 0x1000) {
|
||||
// SPRacingF3
|
||||
ConfigTaskWidget *widget;
|
||||
widget = new ConfigRevoWidget(this);
|
||||
widget->bind();
|
||||
stackWidget->replaceTab(ConfigGadgetWidget::Sensors, widget);
|
||||
|
||||
|
||||
widget = 0;
|
||||
|
||||
|
||||
if (board == 0x1001) {
|
||||
widget = new ConfigSPRacingF3HWWidget(this);
|
||||
} else if (board == 0x1002 || board == 0x1003) { // SpracingF3 EVO or NucleoF303RE
|
||||
//widget = new ConfigSPRacingF3EVOHWWidget(this);
|
||||
// widget = new ConfigSPRacingF3EVOHWWidget(this);
|
||||
} else if (board == 0x1005) {
|
||||
//widget = new ConfigPikoBLXHWWidget(this);
|
||||
// widget = new ConfigPikoBLXHWWidget(this);
|
||||
}
|
||||
if(widget) {
|
||||
if (widget) {
|
||||
widget->bind();
|
||||
stackWidget->replaceTab(ConfigGadgetWidget::Hardware, widget);
|
||||
}
|
||||
|
@ -46,26 +46,26 @@ ConfigSPRacingF3HWWidget::ConfigSPRacingF3HWWidget(QWidget *parent) : ConfigTask
|
||||
|
||||
addUAVObject("HwSettings");
|
||||
|
||||
// addWidgetBinding("HwSettings", "RM_FlexiPort", m_ui->cbFlexi);
|
||||
// addWidgetBinding("HwSettings", "RM_MainPort", m_ui->cbMain);
|
||||
// addWidgetBinding("HwSettings", "RM_RcvrPort", m_ui->cbRcvr);
|
||||
// addWidgetBinding("HwSettings", "RM_FlexiPort", m_ui->cbFlexi);
|
||||
// addWidgetBinding("HwSettings", "RM_MainPort", m_ui->cbMain);
|
||||
// addWidgetBinding("HwSettings", "RM_RcvrPort", m_ui->cbRcvr);
|
||||
//
|
||||
// addWidgetBinding("HwSettings", "USB_HIDPort", m_ui->cbUSBHIDFunction);
|
||||
// addWidgetBinding("HwSettings", "USB_VCPPort", m_ui->cbUSBVCPFunction);
|
||||
// addWidgetBinding("HwSettings", "USB_HIDPort", m_ui->cbUSBHIDFunction);
|
||||
// addWidgetBinding("HwSettings", "USB_VCPPort", m_ui->cbUSBVCPFunction);
|
||||
//
|
||||
// addWidgetBinding("HwSettings", "TelemetrySpeed", m_ui->cbFlexiTelemSpeed);
|
||||
// addWidgetBinding("HwSettings", "GPSSpeed", m_ui->cbFlexiGPSSpeed);
|
||||
// addWidgetBinding("HwSettings", "TelemetrySpeed", m_ui->cbFlexiTelemSpeed);
|
||||
// addWidgetBinding("HwSettings", "GPSSpeed", m_ui->cbFlexiGPSSpeed);
|
||||
//
|
||||
// addWidgetBinding("HwSettings", "TelemetrySpeed", m_ui->cbMainTelemSpeed);
|
||||
// addWidgetBinding("HwSettings", "GPSSpeed", m_ui->cbMainGPSSpeed);
|
||||
// addWidgetBinding("HwSettings", "TelemetrySpeed", m_ui->cbMainTelemSpeed);
|
||||
// addWidgetBinding("HwSettings", "GPSSpeed", m_ui->cbMainGPSSpeed);
|
||||
//
|
||||
// addWidgetBinding("HwSettings", "TelemetrySpeed", m_ui->cbRcvrTelemSpeed);
|
||||
// addWidgetBinding("HwSettings", "GPSSpeed", m_ui->cbRcvrGPSSpeed);
|
||||
// addWidgetBinding("HwSettings", "TelemetrySpeed", m_ui->cbRcvrTelemSpeed);
|
||||
// addWidgetBinding("HwSettings", "GPSSpeed", m_ui->cbRcvrGPSSpeed);
|
||||
//
|
||||
// // Add Gps protocol configuration
|
||||
// addWidgetBinding("GPSSettings", "DataProtocol", m_ui->cbMainGPSProtocol);
|
||||
// addWidgetBinding("GPSSettings", "DataProtocol", m_ui->cbFlexiGPSProtocol);
|
||||
// addWidgetBinding("GPSSettings", "DataProtocol", m_ui->cbRcvrGPSProtocol);
|
||||
//// Add Gps protocol configuration
|
||||
// addWidgetBinding("GPSSettings", "DataProtocol", m_ui->cbMainGPSProtocol);
|
||||
// addWidgetBinding("GPSSettings", "DataProtocol", m_ui->cbFlexiGPSProtocol);
|
||||
// addWidgetBinding("GPSSettings", "DataProtocol", m_ui->cbRcvrGPSProtocol);
|
||||
|
||||
setupCustomCombos();
|
||||
}
|
||||
@ -77,391 +77,391 @@ ConfigSPRacingF3HWWidget::~ConfigSPRacingF3HWWidget()
|
||||
|
||||
void ConfigSPRacingF3HWWidget::setupCustomCombos()
|
||||
{
|
||||
// connect(m_ui->cbUSBHIDFunction, SIGNAL(currentIndexChanged(int)), this, SLOT(usbHIDPortChanged(int)));
|
||||
// connect(m_ui->cbUSBVCPFunction, SIGNAL(currentIndexChanged(int)), this, SLOT(usbVCPPortChanged(int)));
|
||||
// connect(m_ui->cbUSBHIDFunction, SIGNAL(currentIndexChanged(int)), this, SLOT(usbHIDPortChanged(int)));
|
||||
// connect(m_ui->cbUSBVCPFunction, SIGNAL(currentIndexChanged(int)), this, SLOT(usbVCPPortChanged(int)));
|
||||
//
|
||||
// m_ui->cbSonar->addItem(tr("Disabled"));
|
||||
// m_ui->cbSonar->setCurrentIndex(0);
|
||||
// m_ui->cbSonar->setEnabled(false);
|
||||
// m_ui->cbSonar->addItem(tr("Disabled"));
|
||||
// m_ui->cbSonar->setCurrentIndex(0);
|
||||
// m_ui->cbSonar->setEnabled(false);
|
||||
//
|
||||
// connect(m_ui->cbFlexi, SIGNAL(currentIndexChanged(int)), this, SLOT(flexiPortChanged(int)));
|
||||
// connect(m_ui->cbMain, SIGNAL(currentIndexChanged(int)), this, SLOT(mainPortChanged(int)));
|
||||
// connect(m_ui->cbRcvr, SIGNAL(currentIndexChanged(int)), this, SLOT(rcvrPortChanged(int)));
|
||||
// connect(m_ui->cbFlexi, SIGNAL(currentIndexChanged(int)), this, SLOT(flexiPortChanged(int)));
|
||||
// connect(m_ui->cbMain, SIGNAL(currentIndexChanged(int)), this, SLOT(mainPortChanged(int)));
|
||||
// connect(m_ui->cbRcvr, SIGNAL(currentIndexChanged(int)), this, SLOT(rcvrPortChanged(int)));
|
||||
}
|
||||
|
||||
void ConfigSPRacingF3HWWidget::refreshWidgetsValuesImpl(UAVObject *obj)
|
||||
{
|
||||
Q_UNUSED(obj);
|
||||
|
||||
// usbVCPPortChanged(0);
|
||||
// mainPortChanged(0);
|
||||
// flexiPortChanged(0);
|
||||
// rcvrPortChanged(0);
|
||||
// usbVCPPortChanged(0);
|
||||
// mainPortChanged(0);
|
||||
// flexiPortChanged(0);
|
||||
// rcvrPortChanged(0);
|
||||
}
|
||||
|
||||
void ConfigSPRacingF3HWWidget::updateObjectsFromWidgetsImpl()
|
||||
{
|
||||
// If any port is configured to be GPS port, enable GPS module if it is not enabled.
|
||||
// Otherwise disable GPS module.
|
||||
// quint8 enableModule = HwSettings::OPTIONALMODULES_DISABLED;
|
||||
// quint8 enableModule = HwSettings::OPTIONALMODULES_DISABLED;
|
||||
//
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_GPS)
|
||||
// || isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_GPS)) {
|
||||
// enableModule = HwSettings::OPTIONALMODULES_ENABLED;
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_GPS)
|
||||
// || isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_GPS)) {
|
||||
// enableModule = HwSettings::OPTIONALMODULES_ENABLED;
|
||||
// }
|
||||
//
|
||||
// HwSettings *hwSettings = HwSettings::GetInstance(getObjectManager());
|
||||
// hwSettings->setOptionalModules(HwSettings::OPTIONALMODULES_GPS, enableModule);
|
||||
// HwSettings *hwSettings = HwSettings::GetInstance(getObjectManager());
|
||||
// hwSettings->setOptionalModules(HwSettings::OPTIONALMODULES_GPS, enableModule);
|
||||
}
|
||||
|
||||
void ConfigSPRacingF3HWWidget::usbVCPPortChanged(int index)
|
||||
{
|
||||
Q_UNUSED(index);
|
||||
|
||||
// bool vcpComBridgeEnabled = isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_COMBRIDGE);
|
||||
// bool vcpComBridgeEnabled = isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_COMBRIDGE);
|
||||
//
|
||||
// if (!vcpComBridgeEnabled && isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// enableComboBoxOptionItem(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_COMBRIDGE, vcpComBridgeEnabled);
|
||||
// if (!vcpComBridgeEnabled && isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// enableComboBoxOptionItem(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_COMBRIDGE, vcpComBridgeEnabled);
|
||||
//
|
||||
// if (!vcpComBridgeEnabled && isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// enableComboBoxOptionItem(m_ui->cbMain, HwSettings::RM_MAINPORT_COMBRIDGE, vcpComBridgeEnabled);
|
||||
// if (!vcpComBridgeEnabled && isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// enableComboBoxOptionItem(m_ui->cbMain, HwSettings::RM_MAINPORT_COMBRIDGE, vcpComBridgeEnabled);
|
||||
//
|
||||
// if (!vcpComBridgeEnabled && isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (!vcpComBridgeEnabled && isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMCOMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (!vcpComBridgeEnabled && isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (!vcpComBridgeEnabled && isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMCOMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
//
|
||||
// enableComboBoxOptionItem(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_COMBRIDGE, vcpComBridgeEnabled);
|
||||
// enableComboBoxOptionItem(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMCOMBRIDGE, vcpComBridgeEnabled);
|
||||
// enableComboBoxOptionItem(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_COMBRIDGE, vcpComBridgeEnabled);
|
||||
// enableComboBoxOptionItem(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMCOMBRIDGE, vcpComBridgeEnabled);
|
||||
//
|
||||
// // _DEBUGCONSOLE modes are mutual exclusive
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DEBUGCONSOLE)) {
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMDEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// }
|
||||
//// _DEBUGCONSOLE modes are mutual exclusive
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DEBUGCONSOLE)) {
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMDEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // _USBTELEMETRY modes are mutual exclusive
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_USBTELEMETRY)
|
||||
// && isComboboxOptionSelected(m_ui->cbUSBHIDFunction, HwSettings::USB_HIDPORT_USBTELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbUSBHIDFunction, HwSettings::USB_HIDPORT_DISABLED);
|
||||
// }
|
||||
//// _USBTELEMETRY modes are mutual exclusive
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_USBTELEMETRY)
|
||||
// && isComboboxOptionSelected(m_ui->cbUSBHIDFunction, HwSettings::USB_HIDPORT_USBTELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbUSBHIDFunction, HwSettings::USB_HIDPORT_DISABLED);
|
||||
// }
|
||||
}
|
||||
|
||||
void ConfigSPRacingF3HWWidget::usbHIDPortChanged(int index)
|
||||
{
|
||||
Q_UNUSED(index);
|
||||
|
||||
// // _USBTELEMETRY modes are mutual exclusive
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBHIDFunction, HwSettings::USB_HIDPORT_USBTELEMETRY)
|
||||
// && isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_USBTELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DISABLED);
|
||||
// }
|
||||
//// _USBTELEMETRY modes are mutual exclusive
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBHIDFunction, HwSettings::USB_HIDPORT_USBTELEMETRY)
|
||||
// && isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_USBTELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DISABLED);
|
||||
// }
|
||||
}
|
||||
|
||||
//void ConfigSPRacingF3HWWidget::flexiPortChanged(int index)
|
||||
//{
|
||||
// Q_UNUSED(index);
|
||||
// void ConfigSPRacingF3HWWidget::flexiPortChanged(int index)
|
||||
// {
|
||||
// Q_UNUSED(index);
|
||||
//
|
||||
// m_ui->cbFlexiTelemSpeed->setVisible(false);
|
||||
// m_ui->cbFlexiGPSSpeed->setVisible(false);
|
||||
// m_ui->lblFlexiSpeed->setVisible(true);
|
||||
// m_ui->cbFlexiTelemSpeed->setVisible(false);
|
||||
// m_ui->cbFlexiGPSSpeed->setVisible(false);
|
||||
// m_ui->lblFlexiSpeed->setVisible(true);
|
||||
//
|
||||
// // Add Gps protocol configuration
|
||||
// m_ui->cbFlexiGPSProtocol->setVisible(false);
|
||||
// m_ui->lbFlexiGPSProtocol->setVisible(false);
|
||||
//// Add Gps protocol configuration
|
||||
// m_ui->cbFlexiGPSProtocol->setVisible(false);
|
||||
// m_ui->lbFlexiGPSProtocol->setVisible(false);
|
||||
//
|
||||
// switch (getComboboxSelectedOption(m_ui->cbFlexi)) {
|
||||
// case HwSettings::RM_FLEXIPORT_TELEMETRY:
|
||||
// m_ui->cbFlexiTelemSpeed->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMTELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_GPS:
|
||||
// // Add Gps protocol configuration
|
||||
// m_ui->cbFlexiGPSProtocol->setVisible(true);
|
||||
// m_ui->lbFlexiGPSProtocol->setVisible(true);
|
||||
// switch (getComboboxSelectedOption(m_ui->cbFlexi)) {
|
||||
// case HwSettings::RM_FLEXIPORT_TELEMETRY:
|
||||
// m_ui->cbFlexiTelemSpeed->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMTELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_GPS:
|
||||
//// Add Gps protocol configuration
|
||||
// m_ui->cbFlexiGPSProtocol->setVisible(true);
|
||||
// m_ui->lbFlexiGPSProtocol->setVisible(true);
|
||||
//
|
||||
// m_ui->cbFlexiGPSSpeed->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMGPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// m_ui->cbFlexiGPSSpeed->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMGPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
//
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_COMBRIDGE:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMCOMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_DEBUGCONSOLE:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMDEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_OSDHK:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_OSDHK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_MSP:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMMSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_MAVLINK:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMMAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_COMBRIDGE:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMCOMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_DEBUGCONSOLE:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMDEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_OSDHK:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_OSDHK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_MSP:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMMSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_FLEXIPORT_MAVLINK:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMMAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// m_ui->lblFlexiSpeed->setVisible(false);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//void ConfigSPRacingF3HWWidget::mainPortChanged(int index)
|
||||
//{
|
||||
// Q_UNUSED(index);
|
||||
// void ConfigSPRacingF3HWWidget::mainPortChanged(int index)
|
||||
// {
|
||||
// Q_UNUSED(index);
|
||||
//
|
||||
// m_ui->cbMainTelemSpeed->setVisible(false);
|
||||
// m_ui->cbMainGPSSpeed->setVisible(false);
|
||||
// m_ui->lblMainSpeed->setVisible(true);
|
||||
// m_ui->cbMainTelemSpeed->setVisible(false);
|
||||
// m_ui->cbMainGPSSpeed->setVisible(false);
|
||||
// m_ui->lblMainSpeed->setVisible(true);
|
||||
//
|
||||
// // Add Gps protocol configuration
|
||||
// m_ui->cbMainGPSProtocol->setVisible(false);
|
||||
// m_ui->lbMainGPSProtocol->setVisible(false);
|
||||
//// Add Gps protocol configuration
|
||||
// m_ui->cbMainGPSProtocol->setVisible(false);
|
||||
// m_ui->lbMainGPSProtocol->setVisible(false);
|
||||
//
|
||||
// switch (getComboboxSelectedOption(m_ui->cbMain)) {
|
||||
// case HwSettings::RM_MAINPORT_TELEMETRY:
|
||||
// m_ui->cbMainTelemSpeed->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMTELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_GPS:
|
||||
// // Add Gps protocol configuration
|
||||
// m_ui->cbMainGPSProtocol->setVisible(true);
|
||||
// m_ui->lbMainGPSProtocol->setVisible(true);
|
||||
// switch (getComboboxSelectedOption(m_ui->cbMain)) {
|
||||
// case HwSettings::RM_MAINPORT_TELEMETRY:
|
||||
// m_ui->cbMainTelemSpeed->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMTELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_GPS:
|
||||
//// Add Gps protocol configuration
|
||||
// m_ui->cbMainGPSProtocol->setVisible(true);
|
||||
// m_ui->lbMainGPSProtocol->setVisible(true);
|
||||
//
|
||||
// m_ui->cbMainGPSSpeed->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMGPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_COMBRIDGE:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMCOMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_DEBUGCONSOLE:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMDEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_OSDHK:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_OSDHK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_MSP:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMMSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_MAVLINK:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMMAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
// m_ui->cbMainGPSSpeed->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMGPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_COMBRIDGE:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMCOMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_DEBUGCONSOLE:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbUSBVCPFunction, HwSettings::USB_VCPPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMDEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_OSDHK:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_OSDHK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_MSP:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMMSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_MAINPORT_MAVLINK:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPMMAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbRcvr, HwSettings::RM_RCVRPORT_PPM);
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// m_ui->lblMainSpeed->setVisible(false);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//void ConfigSPRacingF3HWWidget::rcvrPortChanged(int index)
|
||||
//{
|
||||
// Q_UNUSED(index);
|
||||
// m_ui->lblRcvrSpeed->setVisible(true);
|
||||
// m_ui->cbRcvrTelemSpeed->setVisible(false);
|
||||
// m_ui->cbRcvrGPSSpeed->setVisible(false);
|
||||
// void ConfigSPRacingF3HWWidget::rcvrPortChanged(int index)
|
||||
// {
|
||||
// Q_UNUSED(index);
|
||||
// m_ui->lblRcvrSpeed->setVisible(true);
|
||||
// m_ui->cbRcvrTelemSpeed->setVisible(false);
|
||||
// m_ui->cbRcvrGPSSpeed->setVisible(false);
|
||||
//
|
||||
// // Add Gps protocol configuration
|
||||
// m_ui->cbRcvrGPSProtocol->setVisible(false);
|
||||
// m_ui->lblRcvrGPSProtocol->setVisible(false);
|
||||
//// Add Gps protocol configuration
|
||||
// m_ui->cbRcvrGPSProtocol->setVisible(false);
|
||||
// m_ui->lblRcvrGPSProtocol->setVisible(false);
|
||||
//
|
||||
// switch (getComboboxSelectedOption(m_ui->cbRcvr)) {
|
||||
// case HwSettings::RM_RCVRPORT_TELEMETRY:
|
||||
// case HwSettings::RM_RCVRPORT_PPMTELEMETRY:
|
||||
// m_ui->cbRcvrTelemSpeed->setVisible(true);
|
||||
// switch (getComboboxSelectedOption(m_ui->cbRcvr)) {
|
||||
// case HwSettings::RM_RCVRPORT_TELEMETRY:
|
||||
// case HwSettings::RM_RCVRPORT_PPMTELEMETRY:
|
||||
// m_ui->cbRcvrTelemSpeed->setVisible(true);
|
||||
//
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_COMBRIDGE:
|
||||
// case HwSettings::RM_RCVRPORT_PPMCOMBRIDGE:
|
||||
// m_ui->lblRcvrSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_DEBUGCONSOLE:
|
||||
// case HwSettings::RM_RCVRPORT_PPMDEBUGCONSOLE:
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_GPS:
|
||||
// case HwSettings::RM_RCVRPORT_PPMGPS:
|
||||
// // Add Gps protocol configuration
|
||||
// m_ui->cbRcvrGPSProtocol->setVisible(true);
|
||||
// m_ui->lblRcvrGPSProtocol->setVisible(true);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_TELEMETRY)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_COMBRIDGE:
|
||||
// case HwSettings::RM_RCVRPORT_PPMCOMBRIDGE:
|
||||
// m_ui->lblRcvrSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_COMBRIDGE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_DEBUGCONSOLE:
|
||||
// case HwSettings::RM_RCVRPORT_PPMDEBUGCONSOLE:
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_DEBUGCONSOLE)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_GPS:
|
||||
// case HwSettings::RM_RCVRPORT_PPMGPS:
|
||||
//// Add Gps protocol configuration
|
||||
// m_ui->cbRcvrGPSProtocol->setVisible(true);
|
||||
// m_ui->lblRcvrGPSProtocol->setVisible(true);
|
||||
//
|
||||
// m_ui->cbRcvrGPSSpeed->setVisible(true);
|
||||
// m_ui->cbRcvrGPSSpeed->setVisible(true);
|
||||
//
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_MSP:
|
||||
// case HwSettings::RM_RCVRPORT_PPMMSP:
|
||||
// m_ui->lblRcvrSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_MAVLINK:
|
||||
// case HwSettings::RM_RCVRPORT_PPMMAVLINK:
|
||||
// m_ui->lblRcvrSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// m_ui->lblRcvrSpeed->setVisible(false);
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_GPS)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_MSP:
|
||||
// case HwSettings::RM_RCVRPORT_PPMMSP:
|
||||
// m_ui->lblRcvrSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_MSP)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// case HwSettings::RM_RCVRPORT_MAVLINK:
|
||||
// case HwSettings::RM_RCVRPORT_PPMMAVLINK:
|
||||
// m_ui->lblRcvrSpeed->setVisible(false);
|
||||
// if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_DISABLED);
|
||||
// }
|
||||
// if (isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_MAVLINK)) {
|
||||
// setComboboxSelectedOption(m_ui->cbMain, HwSettings::RM_MAINPORT_DISABLED);
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// m_ui->lblRcvrSpeed->setVisible(false);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
@ -128,7 +128,7 @@ SetupWizard::CONTROLLER_TYPE ControllerPage::getControllerType()
|
||||
|
||||
case 0x1005:
|
||||
return SetupWizard::CONTROLLER_PIKOBLX;
|
||||
|
||||
|
||||
default:
|
||||
return SetupWizard::CONTROLLER_UNKNOWN;
|
||||
}
|
||||
@ -252,7 +252,7 @@ void ControllerPage::connectionStatusChanged()
|
||||
ui->boardImg->setPixmap(boardPic.scaled(picSize, Qt::KeepAspectRatio));
|
||||
break;
|
||||
|
||||
|
||||
|
||||
default:
|
||||
ui->boardImg->setPixmap(QPixmap());
|
||||
break;
|
||||
|
@ -68,13 +68,13 @@ public:
|
||||
|
||||
case 0x1002:
|
||||
return QString("SPRacingF3EVO");
|
||||
|
||||
|
||||
case 0x1003:
|
||||
return QString("NucleoF303RE");
|
||||
|
||||
|
||||
case 0x1005:
|
||||
return QString("PikoBLX");
|
||||
|
||||
|
||||
default:
|
||||
return QString("");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user