Updates sonar so that it can be used together with ADC current meter

Check if ADC current meter is enabled in sonarInit() and change
sonar pins to pwm 5 and 6 if it is. Same as when RX_PARALLEL is enabled.
This commit is contained in:
Per Magnus Auby 2015-03-31 13:35:45 +02:00
parent 6e8d081c45
commit b83b9040f9
4 changed files with 10 additions and 9 deletions

View File

@ -14,10 +14,10 @@ Currently the only supported sensor is the HCSR04 sensor.
### Naze/Flip32+
| Mode | Trigger | Echo | Inline 1k resistors |
| ------------- | ------------- | ------------- | ------------------- |
| Parallel PWM | PB8 / Motor 5 | PB9 / Motor 6 | NO (5v tolerant) |
| PPM/Serial RX | PB0 / RC7 | PB1 / RC8 | YES (3.3v input) |
| Mode | Trigger | Echo | Inline 1k resistors |
| ------------------------------- | ------------- | ------------- | ------------------- |
| Parallel PWM/ADC current sensor | PB8 / Motor 5 | PB9 / Motor 6 | NO (5v tolerant) |
| PPM/Serial RX | PB0 / RC7 | PB1 / RC8 | YES (3.3v input) |
Current meter cannot be used in conjunction with Parallel PWM and Sonar.

View File

@ -367,7 +367,7 @@ void init(void)
#ifdef SONAR
if (feature(FEATURE_SONAR)) {
sonarInit();
sonarInit(&masterConfig.batteryConfig);
}
#endif

View File

@ -37,7 +37,7 @@
static int32_t calculatedAltitude;
void sonarInit(void)
void sonarInit(batteryConfig_t *batteryConfig)
{
#if defined(NAZE) || defined(EUSTM32F103RC) || defined(PORT103R)
static const sonarHardware_t const sonarPWM56 = {
@ -54,8 +54,8 @@ void sonarInit(void)
.exti_pin_source = GPIO_PinSource1,
.exti_irqn = EXTI1_IRQn
};
// If we are using parallel PWM for our receiver, then use motor pins 5 and 6 for sonar, otherwise use rc pins 7 and 8
if (feature(FEATURE_RX_PARALLEL_PWM)) {
// If we are using parallel PWM for our receiver or ADC current sensor, then use motor pins 5 and 6 for sonar, otherwise use rc pins 7 and 8
if (feature(FEATURE_RX_PARALLEL_PWM ) || (feature(FEATURE_CURRENT_METER) && batteryConfig->currentMeterType == CURRENT_SENSOR_ADC) ) {
hcsr04_init(&sonarPWM56);
} else {
hcsr04_init(&sonarRC78);

View File

@ -16,8 +16,9 @@
*/
#pragma once
#include "sensors/battery.h"
void sonarInit(void);
void sonarInit(batteryConfig_t *batteryConfig);
void sonarUpdate(void);
int32_t sonarRead(void);