diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 7e8a26e77c..47d58dcd4a 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -5,10 +5,15 @@ on: branches: - 'main' - 'master' + tags: + - 'v*' pull_request: branches: - '*' +permissions: + contents: write + jobs: coverage: @@ -27,5 +32,26 @@ jobs: echo "$(pwd)/gcc-arm-none-eabi-9-2020-q2-update/bin" >> $GITHUB_PATH - name: Build run: make + + - name: Upload Build Artifacts + uses: actions/upload-artifact@v4 + with: + name: px4-bootloader-binaries + path: | + build/*/*.bin + build/*/*.elf + build/*/*.hex + - name: Check style run: make check_format + + - name: Upload Release Assets + if: startsWith(github.ref, 'refs/tags/v') + uses: softprops/action-gh-release@v2 + with: + draft: false + prerelease: ${{ contains(github.ref_name, '-rc') || contains(github.ref_name, '-beta') || contains(github.ref_name, '-alpha') }} + files: | + build/*/*.bin + build/*/*.elf + build/*/*.hex diff --git a/Makefile b/Makefile index be04f51015..86e795a844 100644 --- a/Makefile +++ b/Makefile @@ -69,6 +69,7 @@ TARGETS = \ fmuk66v3_bl \ kakutef7_bl \ mindpxv2_bl \ + saampixv1_1_bl \ modalai_fc_v1_bl \ modalai_voxl2_io_bl \ omnibusf4sd_bl \ @@ -142,7 +143,9 @@ px4fmuv5x_bl:$(MAKEFILE_LIST) $(LIBOPENCM3) mindpxv2_bl: $(MAKEFILE_LIST) $(LIBOPENCM3) ${MAKE} ${MKFLAGS} -f Makefile.f4 TARGET_HW=MINDPX_V2 LINKER_FILE=stm32f4.ld TARGET_FILE_NAME=$@ - +saampixv1_1_bl: $(MAKEFILE_LIST) $(LIBOPENCM3) + ${MAKE} ${MKFLAGS} -f Makefile.f4 TARGET_HW=SAAMPIX_V1_1 LINKER_FILE=stm32f4.ld TARGET_FILE_NAME=$@ + px4discovery_bl: $(MAKEFILE_LIST) $(LIBOPENCM3) ${MAKE} ${MKFLAGS} -f Makefile.f4 TARGET_HW=PX4_DISCOVERY_V1 LINKER_FILE=stm32f4.ld TARGET_FILE_NAME=$@ diff --git a/board_types.txt b/board_types.txt index b007cef331..1ed2fd83a7 100644 --- a/board_types.txt +++ b/board_types.txt @@ -67,7 +67,7 @@ TARGET_HW_ARK_MAG 93 TARGET_HW_ATL_MANTIS_EDU 97 TARGET_HW_THE_PEACH_K1 212 TARGET_HW_THE_PEACH_R1 213 - +TARGET_HW_SAAMPIX_V1_1 200 Reserved PX4 [BL] FMU v5X.x 51 Reserved "PX4 [BL] FMU v6.x" 52 diff --git a/hw_config.h b/hw_config.h index 216c118d54..e734a77ae6 100644 --- a/hw_config.h +++ b/hw_config.h @@ -470,6 +470,49 @@ # define BOARD_USART_PIN_CLOCK_BIT RCC_AHB1ENR_IOPDEN # define SERIAL_BREAK_DETECT_DISABLED 1 + +/**************************************************************************** + * TARGET_HW_SAAMPIX_V1_1 + ****************************************************************************/ + +#elif defined(TARGET_HW_SAAMPIX_V1_1) + +# define APP_LOAD_ADDRESS 0x08004000 +# define BOOTLOADER_DELAY 5000 +# define BOARD_FMUV2 +# define INTERFACE_USB 1 +# define INTERFACE_USART 1 +# define USBDEVICESTRING "SaamPix BL FMU v1.1" +# define USBPRODUCTID 0x008E +# define BOOT_DELAY_ADDRESS 0x000001a0 + +# define BOARD_TYPE TARGET_HW_SAAMPIX_V1_1 +# define _FLASH_KBYTES (*(uint16_t *)0x1fff7a22) +# define BOARD_FLASH_SECTORS ((_FLASH_KBYTES == 0x400) ? 11 : 23) +# define BOARD_FLASH_SIZE (_FLASH_KBYTES * 1024) + +# define OSC_FREQ 8 + +# define BOARD_PIN_LED_ACTIVITY 0 // no activity LED +# define BOARD_PIN_LED_BOOTLOADER GPIO8 +# define BOARD_PORT_LEDS GPIOA +# define BOARD_CLOCK_LEDS RCC_AHB1ENR_IOPAEN +# define BOARD_LED_ON gpio_clear +# define BOARD_LED_OFF gpio_set + +# define BOARD_USART USART2 +# define BOARD_USART_CLOCK_REGISTER RCC_APB1ENR +# define BOARD_USART_CLOCK_BIT RCC_APB1ENR_USART2EN + +# define BOARD_PORT_USART GPIOD +# define BOARD_PORT_USART_AF GPIO_AF7 +# define BOARD_PIN_TX GPIO5 +# define BOARD_PIN_RX GPIO6 +# define BOARD_USART_PIN_CLOCK_REGISTER RCC_AHB1ENR +# define BOARD_USART_PIN_CLOCK_BIT RCC_AHB1ENR_IOPDEN +# define SERIAL_BREAK_DETECT_DISABLED 1 + + /* * Uncommenting this allows to force the bootloader through * a PWM output pin. As this can accidentally initialize @@ -483,7 +526,6 @@ * # define BOARD_FORCE_BL_CLOCK_BIT RCC_AHB1ENR_IOPEEN * # define BOARD_FORCE_BL_PULL GPIO_PUPD_PULLUP */ - /**************************************************************************** * TARGET_HW_PX4_FLOW_V1 ****************************************************************************/ @@ -1650,4 +1692,4 @@ # define BOOT_DEVICES_FILTER_ONUSB USB0_DEV|SERIAL0_DEV|SERIAL1_DEV #endif -#endif /* HW_CONFIG_H_ */ \ No newline at end of file +#endif /* HW_CONFIG_H_ */