diff --git a/boards/auterion/fmu-v6s/extras/auterion_fmu-v6s_bootloader.bin b/boards/auterion/fmu-v6s/extras/auterion_fmu-v6s_bootloader.bin index 2c79c4b1ba..233552b397 100755 Binary files a/boards/auterion/fmu-v6s/extras/auterion_fmu-v6s_bootloader.bin and b/boards/auterion/fmu-v6s/extras/auterion_fmu-v6s_bootloader.bin differ diff --git a/boards/auterion/fmu-v6x/default.px4board b/boards/auterion/fmu-v6x/default.px4board index dc58fb1c88..f714280cdb 100644 --- a/boards/auterion/fmu-v6x/default.px4board +++ b/boards/auterion/fmu-v6x/default.px4board @@ -13,7 +13,6 @@ CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_BAROMETER_BMP388=y CONFIG_DRIVERS_CAMERA_CAPTURE=y CONFIG_DRIVERS_CAMERA_TRIGGER=y -CONFIG_DRIVERS_CDCACM_AUTOSTART=y CONFIG_COMMON_DIFFERENTIAL_PRESSURE=y CONFIG_DRIVERS_DIFFERENTIAL_PRESSURE_AUAV=y CONFIG_COMMON_DISTANCE_SENSOR=y diff --git a/boards/auterion/fmu-v6x/extras/auterion_fmu-v6x_bootloader.bin b/boards/auterion/fmu-v6x/extras/auterion_fmu-v6x_bootloader.bin index c48956fc9e..c619569917 100755 Binary files a/boards/auterion/fmu-v6x/extras/auterion_fmu-v6x_bootloader.bin and b/boards/auterion/fmu-v6x/extras/auterion_fmu-v6x_bootloader.bin differ diff --git a/boards/auterion/fmu-v6x/nuttx-config/bootloader/defconfig b/boards/auterion/fmu-v6x/nuttx-config/bootloader/defconfig index 2c0231e294..fcbf56afd9 100644 --- a/boards/auterion/fmu-v6x/nuttx-config/bootloader/defconfig +++ b/boards/auterion/fmu-v6x/nuttx-config/bootloader/defconfig @@ -30,14 +30,6 @@ CONFIG_BOARD_INITTHREAD_PRIORITY=254 CONFIG_BOARD_LATE_INITIALIZE=y CONFIG_BOARD_LOOPSPERMSEC=95150 CONFIG_BOARD_RESET_ON_ASSERT=2 -CONFIG_CDCACM=y -CONFIG_CDCACM_IFLOWCONTROL=y -CONFIG_CDCACM_PRODUCTID=0x0035 -CONFIG_CDCACM_PRODUCTSTR="Auterion BL FMU v6X.x" -CONFIG_CDCACM_RXBUFSIZE=600 -CONFIG_CDCACM_TXBUFSIZE=12000 -CONFIG_CDCACM_VENDORID=0x3185 -CONFIG_CDCACM_VENDORSTR="Auterion" CONFIG_DEBUG_FULLOPT=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEBUG_TCBINFO=y @@ -80,7 +72,6 @@ CONFIG_STM32H7_SERIAL_DISABLE_REORDERING=y CONFIG_STM32H7_TIM1=y CONFIG_STM32H7_UART5=y CONFIG_SYSTEMTICK_HOOK=y -CONFIG_SYSTEM_CDCACM=y CONFIG_TASK_NAME_SIZE=24 CONFIG_TTY_SIGINT=y CONFIG_TTY_SIGINT_CHAR=0x03 @@ -89,7 +80,4 @@ CONFIG_UART5_RXBUFSIZE=512 CONFIG_UART5_RXDMA=y CONFIG_UART5_TXBUFSIZE=512 CONFIG_UART5_TXDMA=y -CONFIG_USBDEV=y -CONFIG_USBDEV_BUSPOWERED=y -CONFIG_USBDEV_MAXPOWER=500 CONFIG_USEC_PER_TICK=1000 diff --git a/boards/auterion/fmu-v6x/nuttx-config/nsh/defconfig b/boards/auterion/fmu-v6x/nuttx-config/nsh/defconfig index 4fbc7a3b94..328a033bbf 100644 --- a/boards/auterion/fmu-v6x/nuttx-config/nsh/defconfig +++ b/boards/auterion/fmu-v6x/nuttx-config/nsh/defconfig @@ -76,14 +76,6 @@ CONFIG_BOARD_CRASHDUMP=y CONFIG_BOARD_LOOPSPERMSEC=95751 CONFIG_BOARD_RESET_ON_ASSERT=2 CONFIG_BUILTIN=y -CONFIG_CDCACM=y -CONFIG_CDCACM_IFLOWCONTROL=y -CONFIG_CDCACM_PRODUCTID=0x0035 -CONFIG_CDCACM_PRODUCTSTR="Auterion FMU v6X.x" -CONFIG_CDCACM_RXBUFSIZE=600 -CONFIG_CDCACM_TXBUFSIZE=12000 -CONFIG_CDCACM_VENDORID=0x3185 -CONFIG_CDCACM_VENDORSTR="Auterion" CONFIG_DEBUG_FULLOPT=y CONFIG_DEBUG_HARDFAULT_ALERT=y CONFIG_DEBUG_MEMFAULT=y @@ -284,7 +276,6 @@ CONFIG_STM32H7_USART_BREAKS=y CONFIG_STM32H7_USART_INVERT=y CONFIG_STM32H7_USART_SINGLEWIRE=y CONFIG_STM32H7_USART_SWAP=y -CONFIG_SYSTEM_CDCACM=y CONFIG_SYSTEM_DHCPC_RENEW=y CONFIG_SYSTEM_NSH=y CONFIG_SYSTEM_PING=y @@ -325,8 +316,5 @@ CONFIG_USART3_TXDMA=y CONFIG_USART6_BAUD=57600 CONFIG_USART6_RXBUFSIZE=600 CONFIG_USART6_TXBUFSIZE=1500 -CONFIG_USBDEV=y -CONFIG_USBDEV_BUSPOWERED=y -CONFIG_USBDEV_MAXPOWER=500 CONFIG_USEC_PER_TICK=1000 CONFIG_WATCHDOG=y diff --git a/boards/auterion/fmu-v6x/src/CMakeLists.txt b/boards/auterion/fmu-v6x/src/CMakeLists.txt index 39ec808e1e..d0f1b0b1a7 100644 --- a/boards/auterion/fmu-v6x/src/CMakeLists.txt +++ b/boards/auterion/fmu-v6x/src/CMakeLists.txt @@ -35,7 +35,6 @@ if("${PX4_BOARD_LABEL}" STREQUAL "bootloader") add_library(drivers_board bootloader_main.c init.cpp - usb.c timer_config.cpp ) target_link_libraries(drivers_board @@ -58,7 +57,6 @@ else() sdio.c spi.cpp timer_config.cpp - usb.c ) add_dependencies(drivers_board arch_board_hw_info) diff --git a/boards/auterion/fmu-v6x/src/board_config.h b/boards/auterion/fmu-v6x/src/board_config.h index c50f0705f2..c304153abf 100644 --- a/boards/auterion/fmu-v6x/src/board_config.h +++ b/boards/auterion/fmu-v6x/src/board_config.h @@ -473,6 +473,10 @@ #define BOARD_NUM_IO_TIMERS 5 +/* No CDCACM driver for this board, so this is manually defined for version.c + * so that the px4_board_version reports the correct board id to the companion */ +#define CONFIG_CDCACM_PRODUCTID 53 + __BEGIN_DECLS /**************************************************************************************************** diff --git a/boards/auterion/fmu-v6x/src/bootloader_main.c b/boards/auterion/fmu-v6x/src/bootloader_main.c index 77df9e78bc..ccb9a8326b 100644 --- a/boards/auterion/fmu-v6x/src/bootloader_main.c +++ b/boards/auterion/fmu-v6x/src/bootloader_main.c @@ -48,11 +48,8 @@ #include "arm_internal.h" #include -extern int sercon_main(int c, char **argv); - void board_late_initialize(void) { - sercon_main(0, NULL); } extern void sys_tick_handler(void); diff --git a/boards/auterion/fmu-v6x/src/hw_config.h b/boards/auterion/fmu-v6x/src/hw_config.h index 4ad1049fed..949a9284a5 100644 --- a/boards/auterion/fmu-v6x/src/hw_config.h +++ b/boards/auterion/fmu-v6x/src/hw_config.h @@ -57,17 +57,12 @@ */ /* Boot device selection list*/ -#define USB0_DEV 0x01 #define SERIAL0_DEV 0x02 #define SERIAL1_DEV 0x04 #define APP_LOAD_ADDRESS 0x08020000 #define BOOTLOADER_DELAY 5000 -#define INTERFACE_USB 1 -#define INTERFACE_USB_CONFIG "/dev/ttyACM0" -#define BOARD_VBUS MK_GPIO_INPUT(GPIO_OTGFS_VBUS) - -//#define USE_VBUS_PULL_DOWN +#define INTERFACE_USB 0 #define INTERFACE_USART 1 #define INTERFACE_USART_CONFIG "/dev/ttyS0,1500000" #define BOOT_DELAY_ADDRESS 0x000001a0 @@ -85,6 +80,10 @@ #define SERIAL_BREAK_DETECT_DISABLED 1 +// Connected to VBUS on the Auterion FMU v6x +#define BOARD_FORCE_BL_PIN (GPIO_INPUT|GPIO_PULLDOWN|GPIO_PORTA|GPIO_PIN9) +#define BOARD_FORCE_BL_STATE 1 + /* * Uncommenting this allows to force the bootloader through * a PWM output pin. As this can accidentally initialize @@ -118,11 +117,11 @@ #endif #ifndef BOOT_DEVICES_SELECTION -# define BOOT_DEVICES_SELECTION USB0_DEV|SERIAL0_DEV|SERIAL1_DEV +# define BOOT_DEVICES_SELECTION SERIAL0_DEV|SERIAL1_DEV #endif #ifndef BOOT_DEVICES_FILTER_ONUSB -# define BOOT_DEVICES_FILTER_ONUSB USB0_DEV|SERIAL0_DEV|SERIAL1_DEV +# define BOOT_DEVICES_FILTER_ONUSB SERIAL0_DEV|SERIAL1_DEV #endif #endif /* HW_CONFIG_H_ */ diff --git a/boards/auterion/fmu-v6x/src/init.cpp b/boards/auterion/fmu-v6x/src/init.cpp index 88fe88126c..7e35a407c4 100644 --- a/boards/auterion/fmu-v6x/src/init.cpp +++ b/boards/auterion/fmu-v6x/src/init.cpp @@ -179,10 +179,6 @@ stm32_boardinitialize(void) const uint32_t gpio[] = PX4_GPIO_INIT_LIST; px4_gpio_init(gpio, arraySize(gpio)); - /* configure USB interfaces */ - - stm32_usbinitialize(); - VDD_3V3_ETH_POWER_EN(true); } diff --git a/boards/auterion/fmu-v6x/src/usb.c b/boards/auterion/fmu-v6x/src/usb.c deleted file mode 100644 index 70eebc6fe0..0000000000 --- a/boards/auterion/fmu-v6x/src/usb.c +++ /dev/null @@ -1,105 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2016 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file usb.c - * - * Board-specific USB functions. - */ - -/************************************************************************************ - * Included Files - ************************************************************************************/ - -#include - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include "board_config.h" - -/************************************************************************************ - * Definitions - ************************************************************************************/ - -/************************************************************************************ - * Private Functions - ************************************************************************************/ - -/************************************************************************************ - * Public Functions - ************************************************************************************/ - -/************************************************************************************ - * Name: stm32_usbinitialize - * - * Description: - * Called to setup USB-related GPIO pins for the PX4FMU board. - * - ************************************************************************************/ - -__EXPORT void stm32_usbinitialize(void) -{ - /* The OTG FS has an internal soft pull-up */ - - /* Configure the OTG FS VBUS sensing GPIO, Power On, and Overcurrent GPIOs */ - -#ifdef CONFIG_STM32H7_OTGFS - stm32_configgpio(GPIO_OTGFS_VBUS); -#endif -} - -/************************************************************************************ - * Name: stm32_usbsuspend - * - * Description: - * Board logic must provide the stm32_usbsuspend logic if the USBDEV driver is - * used. This function is called whenever the USB enters or leaves suspend mode. - * This is an opportunity for the board logic to shutdown clocks, power, etc. - * while the USB is suspended. - * - ************************************************************************************/ - -__EXPORT void stm32_usbsuspend(FAR struct usbdev_s *dev, bool resume) -{ - uinfo("resume: %d\n", resume); -}