mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 22:48:12 +00:00
Adding stm32 auto-upload scripts for Windows, Mac, and Linux (#184)
This commit is contained in:
parent
1dc52773f4
commit
685de52538
Binary file not shown.
@ -16,7 +16,7 @@ multistm32f103c.pid.0=0x0004
|
|||||||
multistm32f103c.build.variant=generic_stm32f103c
|
multistm32f103c.build.variant=generic_stm32f103c
|
||||||
multistm32f103c.build.vect=VECT_TAB_ADDR=0x8000000
|
multistm32f103c.build.vect=VECT_TAB_ADDR=0x8000000
|
||||||
multistm32f103c.build.core=maple
|
multistm32f103c.build.core=maple
|
||||||
multistm32f103c.build.board=MULTI_STM32_FLASH_FROM_TX=104
|
multistm32f103c.build.board=MULTI_STM32_FLASH_FROM_TX=108
|
||||||
multistm32f103c.upload.use_1200bps_touch=false
|
multistm32f103c.upload.use_1200bps_touch=false
|
||||||
multistm32f103c.upload.file_type=bin
|
multistm32f103c.upload.file_type=bin
|
||||||
multistm32f103c.upload.auto_reset=true
|
multistm32f103c.upload.auto_reset=true
|
||||||
@ -37,15 +37,23 @@ multistm32f103c.bootloader.tool=serial_upload
|
|||||||
#---------------------------- UPLOAD METHODS ---------------------------
|
#---------------------------- UPLOAD METHODS ---------------------------
|
||||||
|
|
||||||
multistm32f103c.menu.upload_method.TxFlashMethod=Flash from Tx
|
multistm32f103c.menu.upload_method.TxFlashMethod=Flash from Tx
|
||||||
multistm32f103c.menu.upload_method.TxFlashMethod.build.board=MULTI_STM32_FLASH_FROM_TX=107
|
multistm32f103c.menu.upload_method.TxFlashMethod.build.board=MULTI_STM32_FLASH_FROM_TX=108
|
||||||
multistm32f103c.menu.upload_method.TxFlashMethod.upload.tool=tx_upload
|
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.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
|
||||||
multistm32f103c.menu.upload_method.TxFlashMethod.build.vect=VECT_TAB_ADDR=0x8002000
|
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.build.ldscript=ld/bootloader_20.ld
|
||||||
multistm32f103c.menu.upload_method.TxFlashMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
|
multistm32f103c.menu.upload_method.TxFlashMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
|
||||||
|
|
||||||
|
multistm32f103c.menu.upload_method.AutoFlashMethod=Auto Detect (USB or Serial)
|
||||||
|
multistm32f103c.menu.upload_method.AutoFlashMethod.build.board=MULTI_STM32_WITH_BOOT=108
|
||||||
|
multistm32f103c.menu.upload_method.AutoFlashMethod.upload.tool=auto_upload
|
||||||
|
multistm32f103c.menu.upload_method.AutoFlashMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
|
||||||
|
multistm32f103c.menu.upload_method.AutoFlashMethod.build.vect=VECT_TAB_ADDR=0x8002000
|
||||||
|
multistm32f103c.menu.upload_method.AutoFlashMethod.build.ldscript=ld/bootloader_20.ld
|
||||||
|
multistm32f103c.menu.upload_method.AutoFlashMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
|
||||||
|
|
||||||
multistm32f103c.menu.upload_method.DFUUploadMethod=Upload via USB
|
multistm32f103c.menu.upload_method.DFUUploadMethod=Upload via USB
|
||||||
multistm32f103c.menu.upload_method.DFUUploadMethod.build.board=MULTI_STM32_NO_BOOT=107
|
multistm32f103c.menu.upload_method.DFUUploadMethod.build.board=MULTI_STM32_NO_BOOT=108
|
||||||
multistm32f103c.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
|
multistm32f103c.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
|
||||||
multistm32f103c.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
|
multistm32f103c.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
|
||||||
multistm32f103c.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
|
multistm32f103c.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
|
||||||
@ -56,7 +64,7 @@ multistm32f103c.menu.upload_method.DFUUploadMethod.upload.altID=2
|
|||||||
multistm32f103c.menu.upload_method.DFUUploadMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
|
multistm32f103c.menu.upload_method.DFUUploadMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
|
||||||
|
|
||||||
multistm32f103c.menu.upload_method.serialIncBootloaderMethod=Upload via Serial inc. Bootloader (FTDI)
|
multistm32f103c.menu.upload_method.serialIncBootloaderMethod=Upload via Serial inc. Bootloader (FTDI)
|
||||||
multistm32f103c.menu.upload_method.serialIncBootloaderMethod.build.board=MULTI_STM32_WITH_BOOT=107
|
multistm32f103c.menu.upload_method.serialIncBootloaderMethod.build.board=MULTI_STM32_WITH_BOOT=108
|
||||||
multistm32f103c.menu.upload_method.serialIncBootloaderMethod.upload.protocol=maple_serial
|
multistm32f103c.menu.upload_method.serialIncBootloaderMethod.upload.protocol=maple_serial
|
||||||
multistm32f103c.menu.upload_method.serialIncBootloaderMethod.upload.tool=serial_upload_inc_bootloader
|
multistm32f103c.menu.upload_method.serialIncBootloaderMethod.upload.tool=serial_upload_inc_bootloader
|
||||||
multistm32f103c.menu.upload_method.serialIncBootloaderMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
|
multistm32f103c.menu.upload_method.serialIncBootloaderMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
|
||||||
@ -68,7 +76,7 @@ multistm32f103c.menu.upload_method.serialMethod=Upload via Serial (FTDI)
|
|||||||
multistm32f103c.menu.upload_method.serialMethod.upload.protocol=maple_serial
|
multistm32f103c.menu.upload_method.serialMethod.upload.protocol=maple_serial
|
||||||
multistm32f103c.menu.upload_method.serialMethod.upload.tool=serial_upload
|
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.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG
|
||||||
multistm32f103c.menu.upload_method.serialMethod.build.board=MULTI_STM32_NO_BOOT=107
|
multistm32f103c.menu.upload_method.serialMethod.build.board=MULTI_STM32_NO_BOOT=108
|
||||||
multistm32f103c.menu.upload_method.serialMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
|
multistm32f103c.menu.upload_method.serialMethod.bootloader.file=Multi4in1/StmMulti4in1.bin
|
||||||
|
|
||||||
##############################################################
|
##############################################################
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
|
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
|
||||||
|
|
||||||
name=Multi 4-in-1 STM32
|
name=Multi 4-in-1 STM32
|
||||||
version=1.0.7
|
version=1.0.8
|
||||||
|
|
||||||
compiler.warning_flags=-w -DDEBUG_LEVEL=DEBUG_NONE
|
compiler.warning_flags=-w -DDEBUG_LEVEL=DEBUG_NONE
|
||||||
compiler.warning_flags.none=-w -DDEBUG_LEVEL=DEBUG_NONE
|
compiler.warning_flags.none=-w -DDEBUG_LEVEL=DEBUG_NONE
|
||||||
@ -117,6 +117,17 @@ recipe.hooks.savehex.postsavehex.01.pattern.macosx="{runtime.platform.path}/tool
|
|||||||
# Uploader tools
|
# Uploader tools
|
||||||
# -------------------
|
# -------------------
|
||||||
|
|
||||||
|
# Automatically detect upload method (USB or serial)
|
||||||
|
tools.auto_upload.cmd=auto_upload
|
||||||
|
tools.auto_upload.cmd.windows=auto_upload.bat
|
||||||
|
tools.auto_upload.path={runtime.platform.path}/tools/win
|
||||||
|
tools.auto_upload.path.macosx={runtime.platform.path}/tools/macosx
|
||||||
|
tools.auto_upload.path.linux={runtime.platform.path}/tools/linux
|
||||||
|
tools.auto_upload.path.linux64={runtime.platform.path}/tools/linux64
|
||||||
|
tools.auto_upload.upload.params.verbose=-d
|
||||||
|
tools.auto_upload.upload.params.quiet=
|
||||||
|
tools.auto_upload.upload.pattern="{path}/{cmd}" {serial.port.file} "{build.path}/{build.project_name}.bin" "{runtime.platform.path}/bootloaders/{bootloader.file}"
|
||||||
|
|
||||||
# Upload using Maple bootloader over DFU
|
# Upload using Maple bootloader over DFU
|
||||||
tools.maple_upload.cmd=maple_upload
|
tools.maple_upload.cmd=maple_upload
|
||||||
tools.maple_upload.cmd.windows=maple_upload.bat
|
tools.maple_upload.cmd.windows=maple_upload.bat
|
||||||
|
45
BootLoaders/Boards/stm32/tools/linux/auto_upload
Executable file
45
BootLoaders/Boards/stm32/tools/linux/auto_upload
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#set -e
|
||||||
|
|
||||||
|
function leaf_status()
|
||||||
|
{
|
||||||
|
this_leaf_status=$(lsusb |grep "1eaf" | awk '{ print $NF}')
|
||||||
|
# Find the mode of the leaf bootloader
|
||||||
|
case $this_leaf_status in
|
||||||
|
"1eaf:0003")
|
||||||
|
echo "dfu"
|
||||||
|
;;
|
||||||
|
"1eaf:0004")
|
||||||
|
echo "ttyACMx"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
#echo "$this_leaf_status"
|
||||||
|
echo "unknown"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the directory where the script is running.
|
||||||
|
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||||
|
|
||||||
|
# Check to see if a maple compatible board is attached
|
||||||
|
LEAF_STATUS=$(leaf_status)
|
||||||
|
|
||||||
|
# Board not found, or no boot loader on board.
|
||||||
|
if [[ $(leaf_status) = "unknown" ]]
|
||||||
|
then
|
||||||
|
# No maple board detected
|
||||||
|
echo "Maple device not found. Attempting serial upload."
|
||||||
|
SERIAL_UPLOAD=${DIR}/serial_upload_inc_bootloader
|
||||||
|
echo "${SERIAL_UPLOAD}" $1 0x8000000 $2 $3
|
||||||
|
"${SERIAL_UPLOAD}" $1 0x8000000 $2 $3
|
||||||
|
|
||||||
|
else
|
||||||
|
# Maple board detected
|
||||||
|
echo "Maple device found. Attempting USB upload."
|
||||||
|
|
||||||
|
MAPLE_UPLOAD=${DIR}/maple_upload
|
||||||
|
echo "${MAPLE_UPLOAD}" $1 2 1eaf:0003 $2
|
||||||
|
"${MAPLE_UPLOAD}" $1 2 1eaf:0003 $2
|
||||||
|
fi
|
||||||
|
|
@ -37,6 +37,8 @@ fi
|
|||||||
|
|
||||||
"${RESET_UTIL}" ${dummy_port_fullpath} 750
|
"${RESET_UTIL}" ${dummy_port_fullpath} 750
|
||||||
|
|
||||||
|
# Give the board a chance to reset to DFU mode
|
||||||
|
sleep 0.5
|
||||||
|
|
||||||
#DFU_UTIL=$(dirname $0)/dfu-util/dfu-util
|
#DFU_UTIL=$(dirname $0)/dfu-util/dfu-util
|
||||||
DFU_UTIL=/usr/bin/dfu-util
|
DFU_UTIL=/usr/bin/dfu-util
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
ATTRS{idProduct}=="1001", ATTRS{idVendor}=="0110", MODE="664", GROUP="plugdev"
|
ATTRS{idProduct}=="1001", ATTRS{idVendor}=="0110", MODE="664", GROUP="plugdev"
|
||||||
ATTRS{idProduct}=="1002", ATTRS{idVendor}=="0110", MODE="664", GROUP="plugdev"
|
ATTRS{idProduct}=="1002", ATTRS{idVendor}=="0110", MODE="664", GROUP="plugdev"
|
||||||
ATTRS{idProduct}=="0003", ATTRS{idVendor}=="1eaf", MODE="664", GROUP="plugdev" SYMLINK+="maple"
|
ATTRS{idProduct}=="0003", ATTRS{idVendor}=="1eaf", MODE="664", GROUP="plugdev" SYMLINK+="maple", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||||
ATTRS{idProduct}=="0004", ATTRS{idVendor}=="1eaf", MODE="664", GROUP="plugdev" SYMLINK+="maple"
|
ATTRS{idProduct}=="0004", ATTRS{idVendor}=="1eaf", MODE="664", GROUP="plugdev" SYMLINK+="maple", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||||
|
|
||||||
|
67
BootLoaders/Boards/stm32/tools/macosx/auto_upload
Executable file
67
BootLoaders/Boards/stm32/tools/macosx/auto_upload
Executable file
@ -0,0 +1,67 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
shopt -s extglob
|
||||||
|
|
||||||
|
function list_usb()
|
||||||
|
{
|
||||||
|
while IFS=: read key value; do
|
||||||
|
key="${key##+( )}"
|
||||||
|
value="${value##+( )}"
|
||||||
|
case "$key" in
|
||||||
|
"Product ID")
|
||||||
|
p="${value% *}"
|
||||||
|
;;
|
||||||
|
"Vendor ID")
|
||||||
|
v="${value%% *}"
|
||||||
|
;;
|
||||||
|
"Manufacturer")
|
||||||
|
m="${value}"
|
||||||
|
;;
|
||||||
|
"Location ID")
|
||||||
|
l="${value}"
|
||||||
|
printf "%s:%s %s (%s)\n" "$v" "$p" "$l" "$m"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done < <( system_profiler SPUSBDataType )
|
||||||
|
}
|
||||||
|
|
||||||
|
function leaf_status()
|
||||||
|
{
|
||||||
|
this_leaf_status=$(echo "$(list_usb)" | grep "1eaf" | awk '{ print $1}')
|
||||||
|
# Find the mode of the leaf bootloader
|
||||||
|
case $this_leaf_status in
|
||||||
|
"0x1eaf:0x0003")
|
||||||
|
echo "dfu"
|
||||||
|
;;
|
||||||
|
"0x1eaf:0x0004")
|
||||||
|
echo "ttyACMx"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# echo "$this_leaf_status"
|
||||||
|
echo "unknown"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the directory where the script is running.
|
||||||
|
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||||
|
|
||||||
|
# Check to see if a maple compatible board is attached
|
||||||
|
LEAF_STATUS=$(leaf_status)
|
||||||
|
|
||||||
|
# Board not found, or no boot loader on board.
|
||||||
|
if [[ $(leaf_status) = "unknown" ]]
|
||||||
|
then
|
||||||
|
# No maple board detected
|
||||||
|
echo "Maple device not found. Attempting serial upload."
|
||||||
|
SERIAL_UPLOAD=${DIR}/serial_upload_inc_bootloader
|
||||||
|
echo "${SERIAL_UPLOAD}" $1 0x8000000 $2 $3
|
||||||
|
"${SERIAL_UPLOAD}" $1 0x8000000 $2 $3
|
||||||
|
|
||||||
|
else
|
||||||
|
# Maple board detected
|
||||||
|
echo "Maple device found. Attempting USB upload."
|
||||||
|
|
||||||
|
MAPLE_UPLOAD=${DIR}/maple_upload
|
||||||
|
echo "${MAPLE_UPLOAD}" $1 2 1eaf:0003 $2
|
||||||
|
"${MAPLE_UPLOAD}" $1 2 1eaf:0003 $2
|
||||||
|
fi
|
@ -33,6 +33,9 @@ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
|||||||
|
|
||||||
${DIR}/upload-reset ${dummy_port_fullpath} 750
|
${DIR}/upload-reset ${dummy_port_fullpath} 750
|
||||||
|
|
||||||
|
# Give the board a chance to reset to DFU mode
|
||||||
|
sleep 0.5
|
||||||
|
|
||||||
if [ $# -eq 5 ]; then
|
if [ $# -eq 5 ]; then
|
||||||
dfuse_addr="--dfuse-address $5"
|
dfuse_addr="--dfuse-address $5"
|
||||||
else
|
else
|
||||||
|
69
BootLoaders/Boards/stm32/tools/win/auto_upload.bat
Normal file
69
BootLoaders/Boards/stm32/tools/win/auto_upload.bat
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
@echo off
|
||||||
|
REM Script to automatically select upload method for stm32-based multi-protocol module.
|
||||||
|
|
||||||
|
set driverLetter=%~dp0
|
||||||
|
set driverLetter=%driverLetter:~0,2%
|
||||||
|
%driverLetter%
|
||||||
|
cd %~dp0
|
||||||
|
|
||||||
|
set comport=%1
|
||||||
|
|
||||||
|
set fwpath=%2
|
||||||
|
set fwpath=%fwpath:/=\%
|
||||||
|
|
||||||
|
set blpath=%3
|
||||||
|
set blpath=%blpath:/=\%
|
||||||
|
|
||||||
|
:MAPLE_CHECK
|
||||||
|
REM Look for a Maple USB device
|
||||||
|
ECHO.
|
||||||
|
ECHO Looking for Maple device ...
|
||||||
|
maple_find.exe
|
||||||
|
ECHO.
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
GOTO USB_FLASH
|
||||||
|
) else (
|
||||||
|
GOTO FTDI_CHECK
|
||||||
|
)
|
||||||
|
|
||||||
|
:USB_FLASH
|
||||||
|
ECHO Attempting to flash module via Maple USB ...
|
||||||
|
ECHO java -jar maple_loader.jar %comport% 2 "1EAF:0003" "%fwpath%"
|
||||||
|
java -jar maple_loader.jar %comport% 2 "1EAF:0003" "%fwpath%"
|
||||||
|
ECHO.
|
||||||
|
ECHO Done.
|
||||||
|
ECHO.
|
||||||
|
GOTO :EOF
|
||||||
|
|
||||||
|
:FTDI_CHECK
|
||||||
|
REM Attempt to read from the STM module via the specified serial port
|
||||||
|
ECHO Probing serial port %comport% for STM32 in BOOT0 mode ...
|
||||||
|
stm32flash.exe -b 115200 %comport%
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
ECHO Found module on %comport%
|
||||||
|
GOTO FTDI_FLASH
|
||||||
|
) ELSE (
|
||||||
|
ECHO Module in BOOT0 mode not found on %comport%
|
||||||
|
GOTO :EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
:FTDI_FLASH
|
||||||
|
ECHO.
|
||||||
|
ECHO Flashing module via FTDI adapter on %comport%
|
||||||
|
ECHO.
|
||||||
|
ECHO Erasing ...
|
||||||
|
ECHO stm32flash.exe -o -b 115200 %comport%
|
||||||
|
stm32flash.exe -o -b 115200 %comport%
|
||||||
|
|
||||||
|
ECHO Writing bootloader ...
|
||||||
|
ECHO stm32flash.exe -v -g 0x8000000 -b 115200 -w %blpath% %comport%
|
||||||
|
stm32flash.exe -v -g 0x8000000 -b 115200 -w %blpath% %comport%
|
||||||
|
|
||||||
|
ECHO Writing Multi firmware ...
|
||||||
|
ECHO stm32flash.exe -v -s 8 -e 0 -g 0x8002000 -b 115200 -w %fwpath% %comport%
|
||||||
|
stm32flash.exe -v -s 8 -e 0 -g 0x8002000 -b 115200 -w %fwpath% %comport%
|
||||||
|
ECHO.
|
||||||
|
ECHO Done.
|
||||||
|
GOTO :EOF
|
BIN
BootLoaders/Boards/stm32/tools/win/maple_find.exe
Normal file
BIN
BootLoaders/Boards/stm32/tools/win/maple_find.exe
Normal file
Binary file not shown.
@ -245,6 +245,27 @@
|
|||||||
"version": "4.8.3-2014q1"
|
"version": "4.8.3-2014q1"
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Multi 4-in-1 STM32 Board",
|
||||||
|
"architecture": "STM32F1",
|
||||||
|
"version": "1.0.8",
|
||||||
|
"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.8.tar.gz",
|
||||||
|
"archiveFileName": "package_multi_4in1_stm32_board_v1.0.8.tar.gz",
|
||||||
|
"checksum": "SHA-256:f8100272ec615074cf7962c2c8331014ebda78f3e4c17172b88b6dd3d83c4331",
|
||||||
|
"size": "10319134",
|
||||||
|
"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",
|
"name": "Multi 4-in-1 OrangeRX Board - DEPRECATED, USE MULTI 4-IN-1 AVR BOARDS PACKAGE INSTEAD",
|
||||||
"architecture": "orangerx",
|
"architecture": "orangerx",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user