Merge pull request #697 from Supersopp/sonar_and_ADC_current_sensor

Updates sonar so that it can be used together with ADC current meter
This commit is contained in:
Dominic Clifton 2015-05-06 22:14:52 +01:00
commit e0af5f41ef
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

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