Arduino IDE Board Updates (#142)

* Fix macOS serial upload

* Add verification switch to serial upload scripts

* Fix do_version.bat

Allow parentheses and other special characters in the sketch path

* Fix AVR board linker flags

* Switch to new STM32 dual bootloader

Single bootloader for flash via USB and from TX

* Increment board versions

* Add new board archive files and add new versions to JSON file
This commit is contained in:
Ben Lye 2018-01-24 08:07:22 +00:00 committed by pascallanger
parent 4facdf0932
commit 301c8da9eb
15 changed files with 63 additions and 21 deletions

View File

@ -19,11 +19,10 @@ multiatmega328p.build.mcu=atmega328p
multiatmega328p.build.f_cpu=16000000L
multiatmega328p.build.core=arduino:arduino
multiatmega328p.build.variant=arduino:eightanaloginputs
multiatmega328p.build.extra_flags=-Wl,--relax
multiatmega328p.build.board=MULTI_AVR=102
multiatmega328p.build.board=MULTI_AVR=103
multiatmega328p.board.compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects
multiatmega328p.board.compiler.c.elf.flags=-Os -g -flto -fuse-linker-plugin -Wl,--gc-sections
multiatmega328p.board.compiler.c.elf.flags=-Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -Wl,--relax
multiatmega328p.board.compiler.S.flags=-c -g -x assembler-with-cpp -flto -MMD
multiatmega328p.board.recipe.output.save_file=multi-avr.hex
multiatmega328p.board.tools.avrdude.config.path={path}/etc/avrdude.conf
@ -37,14 +36,14 @@ multiatmega328p.bootloader.unlock_bits=0x3F
multiatmega328p.bootloader.lock_bits=0x0F
multiatmega328p.menu.bootloader.none=No bootloader
multiatmega328p.menu.bootloader.none.build.board=MULTI_NO_BOOT=102
multiatmega328p.menu.bootloader.none.build.board=MULTI_NO_BOOT=103
multiatmega328p.menu.bootloader.none.upload.maximum_size=32768
multiatmega328p.menu.bootloader.none.bootloader.file=Multi4in1/AtmegaMultiEmpty.hex
multiatmega328p.menu.bootloader.none.bootloader.high_fuses=0xD7
multiatmega328p.menu.bootloader.optiboot=Flash from TX
multiatmega328p.menu.bootloader.optiboot.build.board=MULTI_FLASH_FROM_TX=102
multiatmega328p.menu.bootloader.optiboot.build.board=MULTI_FLASH_FROM_TX=103
multiatmega328p.menu.bootloader.optiboot.upload.maximum_size=32256
multiatmega328p.menu.bootloader.optiboot.bootloader.file=Multi4in1/AtmegaMultiBoot.hex
@ -57,7 +56,7 @@ multiatmega328p.menu.bootloader.optiboot.bootloader.high_fuses=0xD6
## --------------------------------------------------
multixmega32d4.name=Multi 4-in-1 (OrangeRX)
multixmega32d4.build.board=MULTI_ORANGERX=102
multixmega32d4.build.board=MULTI_ORANGERX=103
multixmega32d4.build.mcu=atxmega32d4
multixmega32d4.build.f_cpu=32000000L
multixmega32d4.build.core=xmega

View File

@ -6,7 +6,7 @@
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
name=Multi 4-in-1 AVR
version=1.0.2
version=1.0.3
compiler.warning_flags=-w
compiler.warning_flags.none=-w

View File

@ -22,7 +22,7 @@ IF %MULTI_BOARD%==MULTI_ORANGERX SET MULTI_TYPE=orx
IF DEFINED DEBUG (
ECHO.
ECHO Sketch Path: %SKETCH_PATH%
ECHO Sketch Path: "%SKETCH_PATH%"
ECHO Multi Board: %MULTI_BOARD%
ECHO Multi Board Type: %MULTI_TYPE%
ECHO.

View File

@ -16,7 +16,7 @@ multistm32f103c.pid.0=0x0004
multistm32f103c.build.variant=generic_stm32f103c
multistm32f103c.build.vect=VECT_TAB_ADDR=0x8000000
multistm32f103c.build.core=maple
multistm32f103c.build.board=MULTI_STM32_FLASH_FROM_TX=103
multistm32f103c.build.board=MULTI_STM32_FLASH_FROM_TX=104
multistm32f103c.upload.use_1200bps_touch=false
multistm32f103c.upload.file_type=bin
multistm32f103c.upload.auto_reset=true
@ -37,15 +37,15 @@ multistm32f103c.bootloader.tool=serial_upload
#---------------------------- UPLOAD METHODS ---------------------------
multistm32f103c.menu.upload_method.TxFlashMethod=Flash from Tx
multistm32f103c.menu.upload_method.TxFlashMethod.build.board=MULTI_STM32_FLASH_FROM_TX=103
multistm32f103c.menu.upload_method.TxFlashMethod.build.board=MULTI_STM32_FLASH_FROM_TX=104
multistm32f103c.menu.upload_method.TxFlashMethod.upload.tool=tx_upload
multistm32f103c.menu.upload_method.TxFlashMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
multistm32f103c.menu.upload_method.TxFlashMethod.build.vect=VECT_TAB_ADDR=0x8002000
multistm32f103c.menu.upload_method.TxFlashMethod.build.ldscript=ld/bootloader_20.ld
multistm32f103c.menu.upload_method.TxFlashMethod.bootloader.file=Multi4in1/StmMultiBoot.bin
multistm32f103c.menu.upload_method.TxFlashMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
multistm32f103c.menu.upload_method.DFUUploadMethod=Upload via USB
multistm32f103c.menu.upload_method.DFUUploadMethod.build.board=MULTI_STM32_NO_BOOT=103
multistm32f103c.menu.upload_method.DFUUploadMethod.build.board=MULTI_STM32_NO_BOOT=104
multistm32f103c.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
multistm32f103c.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
multistm32f103c.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
@ -53,12 +53,12 @@ multistm32f103c.menu.upload_method.DFUUploadMethod.build.vect=VECT_TAB_ADDR=0x80
multistm32f103c.menu.upload_method.DFUUploadMethod.build.ldscript=ld/bootloader_20.ld
multistm32f103c.menu.upload_method.DFUUploadMethod.upload.usbID=1EAF:0003
multistm32f103c.menu.upload_method.DFUUploadMethod.upload.altID=2
multistm32f103c.menu.upload_method.DFUUploadMethod.bootloader.file=Multi4in1/StmMultiUSB.bin
multistm32f103c.menu.upload_method.DFUUploadMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
multistm32f103c.menu.upload_method.serialMethod=Upload via Serial (FTDI)
multistm32f103c.menu.upload_method.serialMethod.upload.protocol=maple_serial
multistm32f103c.menu.upload_method.serialMethod.upload.tool=serial_upload
multistm32f103c.menu.upload_method.serialMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG
multistm32f103c.menu.upload_method.serialMethod.build.board=MULTI_STM32_NO_BOOT=103
multistm32f103c.menu.upload_method.serialMethod.build.board=MULTI_STM32_NO_BOOT=104
##############################################################

View File

@ -6,7 +6,7 @@
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
name=Multi 4-in-1 STM32
version=1.0.3
version=1.0.4
compiler.warning_flags=-w -DDEBUG_LEVEL=DEBUG_NONE
compiler.warning_flags.none=-w -DDEBUG_LEVEL=DEBUG_NONE

View File

@ -6,8 +6,8 @@ file=$3
uname -m | grep "x86_64" 2>&1 1>/dev/null
if [ $? -eq 0 ]; then
# Do 64-bit stuff
$(dirname $0)/../linux64/stm32flash/stm32flash -g $addr -b 57600 -w "$file" /dev/"$port"
$(dirname $0)/../linux64/stm32flash/stm32flash -v -g $addr -b 57600 -w "$file" /dev/"$port"
else
# Do 32-bit stuff
$(dirname $0)/stm32flash/stm32flash -g $addr -b 57600 -w "$file" /dev/"$port"
$(dirname $0)/stm32flash/stm32flash -v -g $addr -b 57600 -w "$file" /dev/"$port"
fi

View File

@ -6,8 +6,8 @@ file=$3
uname -m | grep "x86_64" 2>&1 1>/dev/null
if [ $? -eq 0 ]; then
# Do 64-bit stuff
$(dirname $0)/../linux64/stm32flash/stm32flash -g $addr -b 57600 -w "$file" /dev/"$port"
$(dirname $0)/../linux64/stm32flash/stm32flash -v -g $addr -b 57600 -w "$file" /dev/"$port"
else
# Do 32-bit stuff
$(dirname $0)/stm32flash/stm32flash -g $addr -b 57600 -w "$file" /dev/"$port"
$(dirname $0)/stm32flash/stm32flash -v -g $addr -b 57600 -w "$file" /dev/"$port"
fi

View File

@ -1,2 +1,6 @@
#!/bin/bash
$(dirname $0)/stm32flash/stm32flash -g 0x8000000 -b 115200 -w "$4" /dev/"$1"
port=$1
addr=$2
file=$3
$(dirname $0)/stm32flash/stm32flash -v -g $addr -b 57600 -w "$file" /dev/"$port"

View File

@ -22,7 +22,7 @@ IF %MULTI_BOARD%==MULTI_ORANGERX SET MULTI_TYPE=orx
IF DEFINED DEBUG (
ECHO.
ECHO Sketch Path: %SKETCH_PATH%
ECHO Sketch Path: "%SKETCH_PATH%"
ECHO Multi Board: %MULTI_BOARD%
ECHO Multi Board Type: %MULTI_TYPE%
ECHO.

View File

@ -59,6 +59,24 @@
],
"toolsDependencies": []
},
{
"name": "Multi 4-in-1 AVR Boards",
"architecture": "avr",
"version": "1.0.3",
"category": "Contributed",
"help": {
"online": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"
},
"url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/raw/master/BootLoaders/Archives/package_multi_4in1_avr_board_v1.0.3.tar.gz",
"archiveFileName": "package_multi_4in1_avr_board_v1.0.3.tar.gz",
"checksum": "SHA-256:7d4561eebe0d7f6422f06d5719a417e15fcc0aa9cdbfc1c48a57066ce768e33c",
"size": "164483",
"boards": [
{"name": "Multi 4-in-1 (Atmega328p, 3.3V, 16MHz)"},
{"name": "Multi 4-in-1 (OrangeRX)"}
],
"toolsDependencies": []
},
{
"name": "Multi 4-in-1 STM32 Board",
"architecture": "STM32F1",
@ -143,6 +161,27 @@
"version": "4.8.3-2014q1"
}]
},
{
"name": "Multi 4-in-1 STM32 Board",
"architecture": "STM32F1",
"version": "1.0.4",
"category": "Contributed",
"help": {
"online": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"
},
"url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/raw/master/BootLoaders/Archives/package_multi_4in1_stm32_board_v1.0.4.tar.gz",
"archiveFileName": "package_multi_4in1_stm32_board_v1.0.4.tar.gz",
"checksum": "SHA-256:388a4dbcd567f9d41b82955e12e8a640d9696217081c0ee6ab8c58a25aedf70f",
"size": "10307581",
"boards": [{
"name": "Multi 4-in-1 (STM32F103C)"
}],
"toolsDependencies": [{
"packager": "arduino",
"name": "arm-none-eabi-gcc",
"version": "4.8.3-2014q1"
}]
},
{
"name": "Multi 4-in-1 OrangeRX Board - DEPRECATED, USE MULTI 4-IN-1 AVR BOARDS PACKAGE INSTEAD",
"architecture": "orangerx",