Merge pull request #567 from blckmn/development

Renamed additional io to tag, and fixed issue with timerhardware tag
This commit is contained in:
J Blackman 2016-06-23 18:24:19 +10:00 committed by GitHub
commit 0d00260ff2
15 changed files with 44 additions and 43 deletions

View File

@ -236,7 +236,7 @@ void mpuIntExtiInit(void)
#if defined(USE_MPU_DATA_READY_SIGNAL) && defined(USE_EXTI) #if defined(USE_MPU_DATA_READY_SIGNAL) && defined(USE_EXTI)
IO_t mpuIntIO = IOGetByTag(mpuIntExtiConfig->io); IO_t mpuIntIO = IOGetByTag(mpuIntExtiConfig->tag);
#ifdef ENSURE_MPU_DATA_READY_IS_LOW #ifdef ENSURE_MPU_DATA_READY_IS_LOW
uint8_t status = IORead(mpuIntIO); uint8_t status = IORead(mpuIntIO);

View File

@ -22,7 +22,7 @@
// old EXTI interface, to be replaced // old EXTI interface, to be replaced
typedef struct extiConfig_s { typedef struct extiConfig_s {
ioTag_t io; ioTag_t tag;
} extiConfig_t; } extiConfig_t;
typedef struct extiCallbackRec_s extiCallbackRec_t; typedef struct extiCallbackRec_s extiCallbackRec_t;

View File

@ -144,7 +144,7 @@ pwmOutputConfiguration_t *pwmInit(drv_pwm_config_t *init)
#if defined(STM32F303xC) && defined(USE_USART3) #if defined(STM32F303xC) && defined(USE_USART3)
// skip UART3 ports (PB10/PB11) // skip UART3 ports (PB10/PB11)
if (init->useUART3 && (CheckGPIOPin(timerHardwarePtr->pin, UART3_GPIO, UART3_TX_PIN) || CheckGPIOPin(timerHardwarePtr->pin, UART3_GPIO, UART3_RX_PIN))) if (init->useUART3 && (CheckGPIOPin(timerHardwarePtr->tag, UART3_GPIO, UART3_TX_PIN) || CheckGPIOPin(timerHardwarePtr->tag, UART3_GPIO, UART3_RX_PIN)))
continue; continue;
#endif #endif
@ -163,7 +163,7 @@ pwmOutputConfiguration_t *pwmInit(drv_pwm_config_t *init)
if (timerHardwarePtr->tim == LED_STRIP_TIMER) if (timerHardwarePtr->tim == LED_STRIP_TIMER)
continue; continue;
#if defined(STM32F303xC) && defined(WS2811_GPIO) && defined(WS2811_PIN_SOURCE) #if defined(STM32F303xC) && defined(WS2811_GPIO) && defined(WS2811_PIN_SOURCE)
if (CheckGPIOPinSource(timerHardwarePtr->pin, WS2811_GPIO, WS2811_PIN_SOURCE)) if (CheckGPIOPinSource(timerHardwarePtr->tag, WS2811_GPIO, WS2811_PIN_SOURCE))
continue; continue;
#endif #endif
} }
@ -171,19 +171,19 @@ pwmOutputConfiguration_t *pwmInit(drv_pwm_config_t *init)
#endif #endif
#ifdef VBAT_ADC_GPIO #ifdef VBAT_ADC_GPIO
if (init->useVbat && CheckGPIOPin(timerHardwarePtr->pin, VBAT_ADC_GPIO, VBAT_ADC_GPIO_PIN)) { if (init->useVbat && CheckGPIOPin(timerHardwarePtr->tag, VBAT_ADC_GPIO, VBAT_ADC_GPIO_PIN)) {
continue; continue;
} }
#endif #endif
#ifdef RSSI_ADC_GPIO #ifdef RSSI_ADC_GPIO
if (init->useRSSIADC && CheckGPIOPin(timerHardwarePtr->pin, RSSI_ADC_GPIO, RSSI_ADC_GPIO_PIN)) { if (init->useRSSIADC && CheckGPIOPin(timerHardwarePtr->tag, RSSI_ADC_GPIO, RSSI_ADC_GPIO_PIN)) {
continue; continue;
} }
#endif #endif
#ifdef CURRENT_METER_ADC_GPIO #ifdef CURRENT_METER_ADC_GPIO
if (init->useCurrentMeterADC && CheckGPIOPin(timerHardwarePtr->pin, CURRENT_METER_ADC_GPIO, CURRENT_METER_ADC_GPIO_PIN)) { if (init->useCurrentMeterADC && CheckGPIOPin(timerHardwarePtr->tag, CURRENT_METER_ADC_GPIO, CURRENT_METER_ADC_GPIO_PIN)) {
continue; continue;
} }
#endif #endif
@ -191,8 +191,8 @@ pwmOutputConfiguration_t *pwmInit(drv_pwm_config_t *init)
#ifdef SONAR #ifdef SONAR
if (init->sonarConfig && if (init->sonarConfig &&
( (
timerHardwarePtr->pin == init->sonarConfig->triggerPin || timerHardwarePtr->tag == init->sonarConfig->triggerTag ||
timerHardwarePtr->pin == init->sonarConfig->echoPin timerHardwarePtr->tag == init->sonarConfig->echoTag
)) { )) {
continue; continue;
} }

View File

@ -43,8 +43,8 @@
#define ONESHOT125_TIMER_MHZ 8 #define ONESHOT125_TIMER_MHZ 8
typedef struct sonarIOConfig_s { typedef struct sonarIOConfig_s {
ioTag_t triggerPin; ioTag_t triggerTag;
ioTag_t echoPin; ioTag_t echoTag;
} sonarIOConfig_t; } sonarIOConfig_t;
typedef struct drv_pwm_config_s { typedef struct drv_pwm_config_s {

View File

@ -218,11 +218,11 @@ serialPort_t *openSoftSerial(softSerialPortIndex_e portIndex, serialReceiveCallb
softSerial->softSerialPortIndex = portIndex; softSerial->softSerialPortIndex = portIndex;
softSerial->txIO = IOGetByTag(softSerial->txTimerHardware->pin); softSerial->txIO = IOGetByTag(softSerial->txTimerHardware->tag);
serialOutputPortConfig(softSerial->txTimerHardware->pin); serialOutputPortConfig(softSerial->txTimerHardware->tag);
softSerial->rxIO = IOGetByTag(softSerial->rxTimerHardware->pin); softSerial->rxIO = IOGetByTag(softSerial->rxTimerHardware->tag);
serialInputPortConfig(softSerial->rxTimerHardware->pin); serialInputPortConfig(softSerial->rxTimerHardware->tag);
setTxSignal(softSerial, ENABLE); setTxSignal(softSerial, ENABLE);
delay(50); delay(50);

View File

@ -83,12 +83,12 @@ void hcsr04_init(const sonarHardware_t *initialSonarHardware, sonarRange_t *sona
#endif #endif
// trigger pin // trigger pin
triggerIO = IOGetByTag(sonarHardware->triggerIO); triggerIO = IOGetByTag(sonarHardware->triggerTag);
IOInit(triggerIO, OWNER_SONAR, RESOURCE_INPUT); IOInit(triggerIO, OWNER_SONAR, RESOURCE_INPUT);
IOConfigGPIO(triggerIO, IOCFG_OUT_PP); IOConfigGPIO(triggerIO, IOCFG_OUT_PP);
// echo pin // echo pin
echoIO = IOGetByTag(sonarHardware->echoIO); echoIO = IOGetByTag(sonarHardware->echoTag);
IOInit(echoIO, OWNER_SONAR, RESOURCE_INPUT); IOInit(echoIO, OWNER_SONAR, RESOURCE_INPUT);
IOConfigGPIO(echoIO, IOCFG_IN_FLOATING); IOConfigGPIO(echoIO, IOCFG_IN_FLOATING);

View File

@ -21,8 +21,8 @@
#include "io.h" #include "io.h"
typedef struct sonarHardware_s { typedef struct sonarHardware_s {
ioTag_t triggerIO; ioTag_t triggerTag;
ioTag_t echoIO; ioTag_t echoTag;
} sonarHardware_t; } sonarHardware_t;
typedef struct sonarRange_s { typedef struct sonarRange_s {

View File

@ -269,8 +269,8 @@ void init(void)
if (feature(FEATURE_SONAR)) { if (feature(FEATURE_SONAR)) {
sonarHardware = sonarGetHardwareConfiguration(&masterConfig.batteryConfig); sonarHardware = sonarGetHardwareConfiguration(&masterConfig.batteryConfig);
sonarIOConfig_t sonarConfig = { sonarIOConfig_t sonarConfig = {
.triggerPin = sonarHardware->triggerIO, .triggerTag = sonarHardware->triggerTag,
.echoPin = sonarHardware->echoIO .echoTag = sonarHardware->echoTag
}; };
pwm_params.sonarConfig = &sonarConfig; pwm_params.sonarConfig = &sonarConfig;
} }

View File

@ -86,7 +86,7 @@ uint8_t detectedSensors[MAX_SENSORS_TO_DETECT] = { GYRO_NONE, ACC_NONE, BARO_NON
const extiConfig_t *selectMPUIntExtiConfig(void) const extiConfig_t *selectMPUIntExtiConfig(void)
{ {
#if defined(MPU_INT_EXTI) #if defined(MPU_INT_EXTI)
static const extiConfig_t mpuIntExtiConfig = { .io = IO_TAG(MPU_INT_EXTI) }; static const extiConfig_t mpuIntExtiConfig = { .tag = IO_TAG(MPU_INT_EXTI) };
return &mpuIntExtiConfig; return &mpuIntExtiConfig;
#elif defined(USE_HARDWARE_REVISION_DETECTION) #elif defined(USE_HARDWARE_REVISION_DETECTION)
return selectMPUIntExtiConfigByHardwareRevision(); return selectMPUIntExtiConfigByHardwareRevision();

View File

@ -57,8 +57,8 @@ const sonarHardware_t *sonarGetHardwareConfiguration(batteryConfig_t *batteryCon
#if defined(SONAR_TRIGGER_PIN) && defined(SONAR_ECHO_PIN) #if defined(SONAR_TRIGGER_PIN) && defined(SONAR_ECHO_PIN)
UNUSED(batteryConfig); UNUSED(batteryConfig);
static const sonarHardware_t const sonarHardware = { static const sonarHardware_t const sonarHardware = {
.triggerIO = IO_TAG(SONAR_TRIGGER_PIN), .triggerTag = IO_TAG(SONAR_TRIGGER_PIN),
.echoIO = IO_TAG(SONAR_ECHO_PIN), .echoTag = IO_TAG(SONAR_ECHO_PIN),
}; };
return &sonarHardware; return &sonarHardware;
#elif defined(SONAR_CUSTOM_CONFIG) #elif defined(SONAR_CUSTOM_CONFIG)

View File

@ -61,11 +61,11 @@ const extiConfig_t *selectMPUIntExtiConfigByHardwareRevision(void)
{ {
// MPU_INT output on V1 PA15 // MPU_INT output on V1 PA15
static const extiConfig_t alienFlightF3V1MPUIntExtiConfig = { static const extiConfig_t alienFlightF3V1MPUIntExtiConfig = {
.io = IO_TAG(PA15) .tag = IO_TAG(PA15)
}; };
// MPU_INT output on V2 PB13 // MPU_INT output on V2 PB13
static const extiConfig_t alienFlightF3V2MPUIntExtiConfig = { static const extiConfig_t alienFlightF3V2MPUIntExtiConfig = {
.io = IO_TAG(PB13) .tag = IO_TAG(PB13)
}; };
if (hardwareRevision == AFF3_REV_1) { if (hardwareRevision == AFF3_REV_1) {

View File

@ -10,12 +10,12 @@
const sonarHardware_t *sonarGetTargetHardwareConfiguration(batteryConfig_t *batteryConfig) const sonarHardware_t *sonarGetTargetHardwareConfiguration(batteryConfig_t *batteryConfig)
{ {
static const sonarHardware_t const sonarPWM56 = { static const sonarHardware_t const sonarPWM56 = {
.triggerIO = IO_TAG(PB8), .triggerTag = IO_TAG(PB8),
.echoIO = IO_TAG(PB9), .echoTag = IO_TAG(PB9),
}; };
static const sonarHardware_t sonarRC78 = { static const sonarHardware_t sonarRC78 = {
.triggerIO = IO_TAG(PB0), .triggerTag = IO_TAG(PB0),
.echoIO = IO_TAG(PB1), .echoTag = IO_TAG(PB1),
}; };
// If we are using softserial, parallel PWM or ADC current sensor, then use motor pins 5 and 6 for sonar, otherwise use rc pins 7 and 8 // If we are using softserial, parallel PWM or ADC current sensor, then use motor pins 5 and 6 for sonar, otherwise use rc pins 7 and 8
if (feature(FEATURE_SOFTSERIAL) if (feature(FEATURE_SOFTSERIAL)

View File

@ -113,18 +113,19 @@ void updateHardwareRevision(void)
const extiConfig_t *selectMPUIntExtiConfigByHardwareRevision(void) const extiConfig_t *selectMPUIntExtiConfigByHardwareRevision(void)
{ {
// MPU_INT output on rev4 PB13
static const extiConfig_t nazeRev4MPUIntExtiConfig = {
.io = IO_TAG(PB13)
};
// MPU_INT output on rev5 hardware PC13 // MPU_INT output on rev5 hardware PC13
static const extiConfig_t nazeRev5MPUIntExtiConfig = { static const extiConfig_t nazeRev5MPUIntExtiConfig = {
.io = IO_TAG(PC13) .tag = IO_TAG(PC13)
}; };
#ifdef AFROMINI #ifdef AFROMINI
return &nazeRev5MPUIntExtiConfig; return &nazeRev5MPUIntExtiConfig;
#else #else
// MPU_INT output on rev4 PB13
static const extiConfig_t nazeRev4MPUIntExtiConfig = {
.tag = IO_TAG(PB13)
};
if (hardwareRevision < NAZE32_REV5) { if (hardwareRevision < NAZE32_REV5) {
return &nazeRev4MPUIntExtiConfig; return &nazeRev4MPUIntExtiConfig;
} }

View File

@ -10,12 +10,12 @@
const sonarHardware_t *sonarGetTargetHardwareConfiguration(batteryConfig_t *batteryConfig) const sonarHardware_t *sonarGetTargetHardwareConfiguration(batteryConfig_t *batteryConfig)
{ {
static const sonarHardware_t const sonarPWM56 = { static const sonarHardware_t const sonarPWM56 = {
.triggerIO = IO_TAG(PB8), .triggerTag = IO_TAG(PB8),
.echoIO = IO_TAG(PB9), .echoTag = IO_TAG(PB9),
}; };
static const sonarHardware_t sonarRC78 = { static const sonarHardware_t sonarRC78 = {
.triggerIO = IO_TAG(PB0), .triggerTag = IO_TAG(PB0),
.echoIO = IO_TAG(PB1), .echoTag = IO_TAG(PB1),
}; };
// If we are using softserial, parallel PWM or ADC current sensor, then use motor pins 5 and 6 for sonar, otherwise use rc pins 7 and 8 // If we are using softserial, parallel PWM or ADC current sensor, then use motor pins 5 and 6 for sonar, otherwise use rc pins 7 and 8
if (feature(FEATURE_SOFTSERIAL) if (feature(FEATURE_SOFTSERIAL)

View File

@ -10,12 +10,12 @@
const sonarHardware_t *sonarGetTargetHardwareConfiguration(batteryConfig_t *batteryConfig) const sonarHardware_t *sonarGetTargetHardwareConfiguration(batteryConfig_t *batteryConfig)
{ {
static const sonarHardware_t const sonarPWM56 = { static const sonarHardware_t const sonarPWM56 = {
.triggerIO = IO_TAG(PB8), .triggerTag = IO_TAG(PB8),
.echoIO = IO_TAG(PB9), .echoTag = IO_TAG(PB9),
}; };
static const sonarHardware_t sonarRC78 = { static const sonarHardware_t sonarRC78 = {
.triggerIO = IO_TAG(PB0), .triggerTag = IO_TAG(PB0),
.echoIO = IO_TAG(PB1), .echoTag = IO_TAG(PB1),
}; };
// If we are using softserial, parallel PWM or ADC current sensor, then use motor pins 5 and 6 for sonar, otherwise use rc pins 7 and 8 // If we are using softserial, parallel PWM or ADC current sensor, then use motor pins 5 and 6 for sonar, otherwise use rc pins 7 and 8
if (feature(FEATURE_SOFTSERIAL) if (feature(FEATURE_SOFTSERIAL)