diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index b748f90397..e6012a2c23 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -162,7 +162,7 @@ else param select-backup $PARAM_BACKUP_FILE 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 9068b52bd9..119a0fedff 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 @@ -80,6 +81,8 @@ CONFIG_SYSTEMCMDS_NSHTERM=y CONFIG_SYSTEMCMDS_PARAM=y CONFIG_SYSTEMCMDS_PERF=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/extras/ark_fmu-v6x_bootloader.bin b/boards/ark/fmu-v6x/extras/ark_fmu-v6x_bootloader.bin index 8dbf57ba2e..86de46906e 100755 Binary files a/boards/ark/fmu-v6x/extras/ark_fmu-v6x_bootloader.bin and b/boards/ark/fmu-v6x/extras/ark_fmu-v6x_bootloader.bin differ diff --git a/boards/ark/fmu-v6x/extras/px4_io-v2_default.bin b/boards/ark/fmu-v6x/extras/px4_io-v2_default.bin index 957f0f13a1..5140391401 100755 Binary files a/boards/ark/fmu-v6x/extras/px4_io-v2_default.bin and b/boards/ark/fmu-v6x/extras/px4_io-v2_default.bin differ diff --git a/boards/ark/fmu-v6x/init/rc.board_defaults b/boards/ark/fmu-v6x/init/rc.board_defaults index ba812e4b7b..870ac1af0a 100644 --- a/boards/ark/fmu-v6x/init/rc.board_defaults +++ b/boards/ark/fmu-v6x/init/rc.board_defaults @@ -16,6 +16,11 @@ param set-default SENS_EN_INA238 0 param set-default SENS_EN_INA228 0 param set-default SENS_EN_INA226 1 -param set-default SYS_USE_IO 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 9c6e81d836..89500da23f 100644 --- a/boards/ark/fmu-v6x/src/board_config.h +++ b/boards/ark/fmu-v6x/src/board_config.h @@ -325,7 +325,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 8c2ab001f7..7a3ef5e019 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 9032b1531e..0bd1295978 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 bc4aa33c80..3ece10aeca 100644 --- a/boards/ark/fmu-v6x/src/mtd.cpp +++ b/boards/ark/fmu-v6x/src/mtd.cpp @@ -42,11 +42,6 @@ static const px4_mft_device_t i2c3 = { // 24LC64T on Base 8K 32 X 2 .bus_type = px4_mft_device_t::I2C, .devid = PX4_MK_I2C_DEVID(3, 0x51) }; -static const px4_mft_device_t i2c4 = { // 24LC64T on IMU 8K 32 X 256 - .bus_type = px4_mft_device_t::I2C, - .devid = PX4_MK_I2C_DEVID(4, 0x50) -}; - static const px4_mtd_entry_t fmum_fram = { .device = &spi5, @@ -84,34 +79,11 @@ static const px4_mtd_entry_t base_eeprom = { }, }; -static const px4_mtd_entry_t imu_eeprom = { - .device = &i2c4, - .npart = 3, - .partd = { - { - .type = MTD_CALDATA, - .path = "/fs/mtd_caldata", - .nblocks = 240 - }, - { - .type = MTD_MFT_REV, - .path = "/fs/mtd_mft_rev", - .nblocks = 8 - }, - { - .type = MTD_ID, - .path = "/fs/mtd_id", - .nblocks = 8 // 256 = 32 * 8 - } - }, -}; - static const px4_mtd_manifest_t board_mtd_config = { - .nconfigs = 3, + .nconfigs = 2, .entries = { &fmum_fram, &base_eeprom, - &imu_eeprom } };