FMUv4pro : updates (#6983)

* FMUv4pro : allow power monitoring for hipower rail

* FMUv4pro : init temperare calibration EEPROM CS

* FMUv4pro : workaround for safety switch

* FMUv4pro : remove useless and conflicting defines

* FMUv4pro : disable internal pull-up for OC sensing

/FAULT won't achieve VinputLow with internal pull-up resistor so it must
be turned off for both /VDD_5V_PERIPH_OC and /VDD_5V_HIPOWER_OC.
Replaced by external pull-up.

* FMUv4pro : correct safety switch handling

RC02 has a hardware pull-down on this signal

* Revert "FMUv4pro : workaround for safety switch"

This reverts commit 9528ae29b6.
This commit is contained in:
Kevin Lopez Alvarez 2017-04-07 18:14:04 +02:00 committed by David Sidrane
parent 854511b14b
commit cff20ee51e
2 changed files with 9 additions and 7 deletions

View File

@ -170,7 +170,7 @@ __BEGIN_DECLS
#define PX4_SPIDEV_BMA 9
#define PX4_SPIDEV_EXT0 10
#define PX4_SPIDEV_EXT1 11
#define PX4_SPIDEV_EEPROM 12
#define PX4_SPIDEV_EEPROM 12
#define PX4_SPIDEV_ICM_20608 13
/* I2C busses */
@ -237,8 +237,9 @@ __BEGIN_DECLS
#define GPIO_VDD_3V3_SENSORS_EN (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTE|GPIO_PIN3)
#define GPIO_VDD_3V3_PERIPH_EN (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN5)
#define GPIO_VDD_5V_PERIPH_EN (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTG|GPIO_PIN10)
#define GPIO_VDD_5V_PERIPH_OC (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTG|GPIO_PIN4)
#define GPIO_VDD_5V_HIPOWER_OC (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTF|GPIO_PIN3)
#define GPIO_VDD_5V_HIPOWER_EN (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTF|GPIO_PIN4)
#define GPIO_VDD_5V_PERIPH_OC (GPIO_INPUT|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN4)
#define GPIO_VDD_5V_HIPOWER_OC (GPIO_INPUT|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN3)
#define GPIO_VBUS_VALID (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTC|GPIO_PIN0)
/* Tone alarm output */
@ -289,15 +290,12 @@ __BEGIN_DECLS
#define HRT_PPM_CHANNEL 3 /* use capture/compare channel 3 */
#define GPIO_PPM_IN (GPIO_ALT|GPIO_AF2|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN0)
//#define RC_SERIAL_PORT "/dev/ttyS4"
/* PWM input driver. Use FMU AUX5 pins attached to timer4 channel 2 */
#define PWMIN_TIMER 4
#define PWMIN_TIMER_CHANNEL 2
#define GPIO_PWM_IN GPIO_TIM4_CH2IN_2
#define GPIO_RSSI_IN (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTC|GPIO_PIN1)
#define GPIO_BTN_SAFETY_FMU (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTC|GPIO_PIN4)
#define GPIO_BTN_SAFETY_FMU (GPIO_INPUT|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN4)
#define GPIO_SBUS_INV (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN13)
#define INVERT_RC_INPUT(_invert_true) px4_arch_gpiowrite(GPIO_SBUS_INV, _invert_true)

View File

@ -135,6 +135,7 @@ __EXPORT void board_peripheral_reset(int ms)
stm32_gpiowrite(GPIO_VDD_3V3_PERIPH_EN, 0);
stm32_gpiowrite(GPIO_VDD_3V3_SENSORS_EN, 0);
stm32_gpiowrite(GPIO_VDD_5V_PERIPH_EN, 1);
stm32_gpiowrite(GPIO_VDD_5V_HIPOWER_EN, 1);
// bool last = stm32_gpioread(GPIO_SPEKTRUM_PWR_EN);
@ -152,6 +153,7 @@ __EXPORT void board_peripheral_reset(int ms)
stm32_gpiowrite(GPIO_VDD_3V3_PERIPH_EN, 1);
stm32_gpiowrite(GPIO_VDD_3V3_SENSORS_EN, 1);
stm32_gpiowrite(GPIO_VDD_5V_PERIPH_EN, 0);
stm32_gpiowrite(GPIO_VDD_5V_HIPOWER_EN, 0);
}
/************************************************************************************
@ -181,6 +183,7 @@ stm32_boardinitialize(void)
stm32_configgpio(GPIO_VDD_3V3_PERIPH_EN);
stm32_configgpio(GPIO_VDD_3V3_SENSORS_EN);
stm32_configgpio(GPIO_VDD_5V_PERIPH_EN);
stm32_configgpio(GPIO_VDD_5V_HIPOWER_EN);
stm32_configgpio(GPIO_VDD_BRICK_VALID);
stm32_configgpio(GPIO_VDD_BRICK2_VALID);
@ -448,6 +451,7 @@ __EXPORT int board_app_initialize(uintptr_t arg)
SPI_SELECT(spi1, PX4_SPIDEV_BARO, false);
SPI_SELECT(spi1, PX4_SPIDEV_LIS, false);
SPI_SELECT(spi1, PX4_SPIDEV_MPU, false);
SPI_SELECT(spi1, PX4_SPIDEV_EEPROM, false);
up_udelay(20);
/* Get the SPI port for the FRAM */