diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index cc114cc635..a20f7c70b7 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -171,7 +171,7 @@ else param select-backup /fs/microsd/parameters_backup.bson fi - if ver hwcmp PX4_FMU_V5X PX4_FMU_V6X + if ver hwcmp PX4_FMU_V5X PX4_FMU_V6X ARK_FMU_V6X then netman update -i eth0 fi diff --git a/boards/ark/fmu-v6x/default.px4board b/boards/ark/fmu-v6x/default.px4board index f57fd7df13..8efe48b07e 100644 --- a/boards/ark/fmu-v6x/default.px4board +++ b/boards/ark/fmu-v6x/default.px4board @@ -6,6 +6,7 @@ CONFIG_BOARD_SERIAL_GPS2="/dev/ttyS7" CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS6" CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS4" CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1" +CONFIG_BOARD_SERIAL_TEL4="/dev/ttyS3" CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_BAROMETER_BMP388=y CONFIG_DRIVERS_BAROMETER_MS5611=y @@ -85,6 +86,7 @@ CONFIG_SYSTEMCMDS_PERF=y CONFIG_SYSTEMCMDS_PWM=y CONFIG_SYSTEMCMDS_REBOOT=y CONFIG_SYSTEMCMDS_SD_BENCH=y +CONFIG_SYSTEMCMDS_SD_STRESS=y CONFIG_SYSTEMCMDS_SYSTEM_TIME=y CONFIG_SYSTEMCMDS_TOP=y CONFIG_SYSTEMCMDS_TOPIC_LISTENER=y diff --git a/boards/ark/fmu-v6x/init/rc.board_defaults b/boards/ark/fmu-v6x/init/rc.board_defaults index a7d844a366..870ac1af0a 100644 --- a/boards/ark/fmu-v6x/init/rc.board_defaults +++ b/boards/ark/fmu-v6x/init/rc.board_defaults @@ -16,4 +16,11 @@ param set-default SENS_EN_INA238 0 param set-default SENS_EN_INA228 0 param set-default SENS_EN_INA226 1 +if ver hwtypecmp ARKV6X001000 ARKV6X001001 ARKV6X001002 ARKV6X001003 ARKV6X001004 ARKV6X001005 ARKV6X001006 ARKV6X001007 +then + param set-default SYS_USE_IO 0 +else + param set-default SYS_USE_IO 1 +fi + safety_button start diff --git a/boards/ark/fmu-v6x/src/board_config.h b/boards/ark/fmu-v6x/src/board_config.h index 3db9c72883..8ea22d7af2 100644 --- a/boards/ark/fmu-v6x/src/board_config.h +++ b/boards/ark/fmu-v6x/src/board_config.h @@ -326,7 +326,6 @@ /* RC Serial port */ #define RC_SERIAL_PORT "/dev/ttyS5" -#define RC_SERIAL_SINGLEWIRE /* Input Capture Channels. */ #define INPUT_CAP1_TIMER 1 diff --git a/boards/ark/fmu-v6x/src/bootloader_main.c b/boards/ark/fmu-v6x/src/bootloader_main.c index 915b7f3d29..f05dc1b9f0 100644 --- a/boards/ark/fmu-v6x/src/bootloader_main.c +++ b/boards/ark/fmu-v6x/src/bootloader_main.c @@ -46,6 +46,7 @@ #include #include #include "arm_internal.h" +#include #include extern int sercon_main(int c, char **argv); @@ -54,6 +55,15 @@ __EXPORT void board_on_reset(int status) {} __EXPORT void stm32_boardinitialize(void) { + /* configure pins */ + const uint32_t list[] = PX4_GPIO_INIT_LIST; + + for (size_t gpio = 0; gpio < arraySize(list); gpio++) { + if (list[gpio] != 0) { + px4_arch_configgpio(list[gpio]); + } + } + /* configure USB interfaces */ stm32_usbinitialize(); } diff --git a/boards/ark/fmu-v6x/src/init.c b/boards/ark/fmu-v6x/src/init.c index a96a406496..f7be1bea79 100644 --- a/boards/ark/fmu-v6x/src/init.c +++ b/boards/ark/fmu-v6x/src/init.c @@ -105,6 +105,7 @@ __EXPORT void board_peripheral_reset(int ms) { /* set the peripheral rails off */ + VDD_5V_HIPOWER_EN(false); VDD_5V_PERIPH_EN(false); board_control_spi_sensors_power(false, 0xffff); VDD_3V3_SENSORS4_EN(false); @@ -123,6 +124,7 @@ __EXPORT void board_peripheral_reset(int ms) VDD_3V3_SPEKTRUM_POWER_EN(last); board_control_spi_sensors_power(true, 0xffff); VDD_3V3_SENSORS4_EN(true); + VDD_5V_HIPOWER_EN(true); VDD_5V_PERIPH_EN(true); } @@ -209,7 +211,6 @@ stm32_boardinitialize(void) __EXPORT int board_app_initialize(uintptr_t arg) { /* Power on Interfaces */ - VDD_3V3_SD_CARD_EN(true); VDD_5V_PERIPH_EN(true); VDD_5V_HIPOWER_EN(true); VDD_3V3_SENSORS4_EN(true); diff --git a/boards/ark/fmu-v6x/src/mtd.cpp b/boards/ark/fmu-v6x/src/mtd.cpp index 0d32267f31..e0b3c47f81 100644 --- a/boards/ark/fmu-v6x/src/mtd.cpp +++ b/boards/ark/fmu-v6x/src/mtd.cpp @@ -43,7 +43,6 @@ static const px4_mft_device_t i2c3 = { // 24LC64T on Base 8K 32 X 2 .devid = PX4_MK_I2C_DEVID(3, 0x51) }; - static const px4_mtd_entry_t fmum_fram = { .device = &spi5, .npart = 2,