aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Arduino.mk19
-rw-r--r--HISTORY.md1
-rwxr-xr-xbin/ardmk-init8
3 files changed, 26 insertions, 2 deletions
diff --git a/Arduino.mk b/Arduino.mk
index a6c2a3c..808c6a9 100644
--- a/Arduino.mk
+++ b/Arduino.mk
@@ -716,6 +716,22 @@ ifeq ($(strip $(NO_CORE)),)
endif
endif
+ ifndef USB_PRODUCT
+ USB_PRODUCT := $(call PARSE_BOARD,$(BOARD_TAG),build.usb_product)
+ ifdef USB_PRODUCT
+ $(call show_config_variable,USB_PRODUCT,[COMPUTED])
+ endif
+ endif
+
+ ifndef USB_MANUFACTURER
+ USB_MANUFACTURER := $(call PARSE_BOARD,$(BOARD_TAG),build.usb_manufacturer)
+ ifndef USB_MANUFACTURER
+ USB_MANUFACTURER = "Unknown"
+ else
+ $(call show_config_variable,USB_MANUFACTURER,[COMPUTED])
+ endif
+ endif
+
# add caterina flag to ARD_RESET_OPTS
ARD_RESET_OPTS += --caterina
endif
@@ -1161,6 +1177,9 @@ CPPFLAGS += $(OPTIMIZATION_FLAGS)
# USB IDs for the Caterina devices like leonardo or micro
ifneq ($(CATERINA),)
CPPFLAGS += -DUSB_VID=$(USB_VID) -DUSB_PID=$(USB_PID)
+ ifdef USB_PRODUCT
+ CPPFLAGS += -DUSB_PRODUCT='$(USB_PRODUCT)' -DUSB_MANUFACTURER='$(USB_MANUFACTURER)'
+ endif
endif
# $(TOOL_PREFIX)-gcc version that we can do maths on
diff --git a/HISTORY.md b/HISTORY.md
index 2f543f8..dc69258 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -10,6 +10,7 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it
- Fix: Add -fno-devirtualize flag to workaround g++ segfault bug (issue #486). (https://github.com/sej7278)
- Fix: Quote the prefix tag in the space_pad_to function
- Fix: recognize serial monitors with full path in MONITOR_CMD
+- Fix: Grab USB_PRODUCT and USB_MANUFACTURER from boards.txt for 32u4 boards (issue #594).
- Tweak: Move chip erase flag from set_fuses to ispload to prevent sketch being nuked when setting fuses
- Tweak: Set ARDMK_VERSION to 1.6 (https://github.com/sej7278)
- Tweak: Move non-standard-related items from CxxFLAGS_STD to CxxFLAGS (issue #523) (https://github.com/sej7278)
diff --git a/bin/ardmk-init b/bin/ardmk-init
index 1a01cd3..51b12f0 100755
--- a/bin/ardmk-init
+++ b/bin/ardmk-init
@@ -22,7 +22,7 @@ import os
import argparse
## Global Vars
-VERSION = "1.1"
+VERSION = "1.2"
ARD_TEMPLATE = "\n\
#include <Arduino.h>\n\
#include <Wire.h>\n\
@@ -49,6 +49,7 @@ PARSER.add_argument('-u', '--micro', default='AUTO', help='microcontroller on bo
PARSER.add_argument('-f', '--freq', default='AUTO', help='clock frequency')
PARSER.add_argument('-p', '--port', default='AUTO', help='monitor port')
PARSER.add_argument('-n', '--name', default=os.path.basename(os.getcwd()), help='project name')
+PARSER.add_argument('-s', '--sam', action='store_true', help='sam device, will include Sam.mk rather than Arduino.mk')
PARSER.add_argument('--cli', action='store_true', help='run with user prompts (requires "Clint" module), rather than args')
PARSER.add_argument('-P', '--project', action='store_true',
help='create boilerplate project with src, lib and bin folder structure')
@@ -182,7 +183,10 @@ def generate_makefile():
validators=[validators.PathValidator()])
ardmk = "ARDMK_DIR := " + ardmk + "\n"
- file_content += "\ninclude $(ARDMK_DIR)/Arduino.mk"
+ if ARGS.sam:
+ file_content += "\ninclude $(ARDMK_DIR)/Sam.mk"
+ else:
+ file_content += "\ninclude $(ARDMK_DIR)/Arduino.mk"
# Add forward slash if source directory exists
if src_dir: