1
0
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:
Vladimir Zidar 2017-05-22 16:53:12 +02:00
parent 6eb97ed213
commit 77918c51a1
35 changed files with 787 additions and 791 deletions

View File

@ -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;
}

View File

@ -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

View File

@ -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;

View File

@ -12,7 +12,7 @@
{ \
.regs = _usart, \
.remap = GPIO_AF_##_usart, \
.rx = { \
.rx = { \
.gpio = GPIO##_rx_gpio, \
.init = { \
.GPIO_Pin = GPIO_Pin_##_rx_pin, \

View File

@ -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]);

View File

@ -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()

View File

@ -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

View File

@ -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;
}

View File

@ -858,4 +858,3 @@ const struct pios_mpu6000_cfg *PIOS_BOARD_HW_DEFS_GetMPU6000Cfg(__attribute__((u
return &pios_mpu6000_cfg;
}
#endif /* PIOS_INCLUDE_MPU6000 */

View File

@ -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 */

View File

@ -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

View File

@ -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;

View File

@ -849,6 +849,3 @@ static const struct pios_mpu9250_cfg pios_mpu9250_cfg = {
.max_downsample = 26,
};
#endif /* PIOS_INCLUDE_MPU9250 */

View File

@ -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

View File

@ -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]]);
}
}

View File

@ -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

View File

@ -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),
};

View File

@ -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

View File

@ -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);
}

View File

@ -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

View File

@ -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;

View File

@ -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
// -------------------------

View File

@ -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;

View File

@ -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;

View File

@ -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 = {

View File

@ -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]]);
}
}

View File

@ -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

View File

@ -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 = {

View File

@ -199,7 +199,7 @@ void jump_to_app()
Jump_To_Application();
} else {
DeviceState = failed_jump;
JumpToApp = FALSE;
JumpToApp = FALSE;
return;
}
}

View File

@ -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);
}

View File

@ -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

View File

@ -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);
}

View File

@ -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;
// }
// }

View File

@ -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;

View File

@ -68,13 +68,13 @@ public:
case 0x1002:
return QString("SPRacingF3EVO");
case 0x1003:
return QString("NucleoF303RE");
case 0x1005:
return QString("PikoBLX");
default:
return QString("");