Merge pull request #315 from sej7278/master
Get all the commits before #313
This commit is contained in:
commit
27ed197acc
7 changed files with 184 additions and 25 deletions
77
Arduino.mk
77
Arduino.mk
|
@ -276,7 +276,7 @@ ifndef ARDUINO_VERSION
|
||||||
# Remove all the decimals, and right-pad with zeros, and finally grab the first 3 bytes.
|
# Remove all the decimals, and right-pad with zeros, and finally grab the first 3 bytes.
|
||||||
# Works for 1.0 and 1.0.1
|
# Works for 1.0 and 1.0.1
|
||||||
VERSION_FILE := $(ARDUINO_DIR)/lib/version.txt
|
VERSION_FILE := $(ARDUINO_DIR)/lib/version.txt
|
||||||
AUTO_ARDUINO_VERSION := $(shell [ -e "$(VERSION_FILE)" ] && cat "$(VERSION_FILE)" | sed -e 's/^[0-9]://g' -e 's/[.]//g' -e 's/$$/0000/' | head -c3)
|
AUTO_ARDUINO_VERSION := $(shell [ -e $(VERSION_FILE) ] && cat $(VERSION_FILE) | sed -e 's/^[0-9]://g' -e 's/[.]//g' -e 's/$$/0000/' | head -c3)
|
||||||
ifdef AUTO_ARDUINO_VERSION
|
ifdef AUTO_ARDUINO_VERSION
|
||||||
ARDUINO_VERSION = $(AUTO_ARDUINO_VERSION)
|
ARDUINO_VERSION = $(AUTO_ARDUINO_VERSION)
|
||||||
$(call show_config_variable,ARDUINO_VERSION,[AUTODETECTED])
|
$(call show_config_variable,ARDUINO_VERSION,[AUTODETECTED])
|
||||||
|
@ -343,8 +343,8 @@ ifndef ARDUINO_SKETCHBOOK
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(ARDUINO_PREFERENCES_PATH),)
|
ifneq ($(ARDUINO_PREFERENCES_PATH),)
|
||||||
ARDUINO_SKETCHBOOK := $(shell grep --max-count=1 --regexp="sketchbook.path=" \
|
ARDUINO_SKETCHBOOK := $(shell grep --max-count=1 --regexp='sketchbook.path=' \
|
||||||
"$(ARDUINO_PREFERENCES_PATH)" | \
|
$(ARDUINO_PREFERENCES_PATH) | \
|
||||||
sed -e 's/sketchbook.path=//' )
|
sed -e 's/sketchbook.path=//' )
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -403,12 +403,21 @@ ifndef AVR_TOOLS_DIR
|
||||||
ifeq ($(CURRENT_OS),LINUX)
|
ifeq ($(CURRENT_OS),LINUX)
|
||||||
|
|
||||||
ifndef AVRDUDE
|
ifndef AVRDUDE
|
||||||
|
ifeq ($(shell expr $(ARDUINO_VERSION) '>' 157), 1)
|
||||||
|
# 1.5.8 has different location than all prior versions!
|
||||||
|
AVRDUDE = $(AVR_TOOLS_DIR)/bin/avrdude
|
||||||
|
else
|
||||||
AVRDUDE = $(AVR_TOOLS_DIR)/../avrdude
|
AVRDUDE = $(AVR_TOOLS_DIR)/../avrdude
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifndef AVRDUDE_CONF
|
ifndef AVRDUDE_CONF
|
||||||
|
ifeq ($(shell expr $(ARDUINO_VERSION) '>' 157), 1)
|
||||||
|
AVRDUDE_CONF = $(AVR_TOOLS_DIR)/etc/avrdude.conf
|
||||||
|
else
|
||||||
AVRDUDE_CONF = $(AVR_TOOLS_DIR)/../avrdude.conf
|
AVRDUDE_CONF = $(AVR_TOOLS_DIR)/../avrdude.conf
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
@ -449,12 +458,6 @@ endif
|
||||||
|
|
||||||
ARDUINO_LIB_PATH = $(ARDUINO_DIR)/libraries
|
ARDUINO_LIB_PATH = $(ARDUINO_DIR)/libraries
|
||||||
$(call show_config_variable,ARDUINO_LIB_PATH,[COMPUTED],(from ARDUINO_DIR))
|
$(call show_config_variable,ARDUINO_LIB_PATH,[COMPUTED],(from ARDUINO_DIR))
|
||||||
ifndef ARDUINO_CORE_PATH
|
|
||||||
ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/$(VENDOR)/$(ARCHITECTURE)/cores/arduino
|
|
||||||
$(call show_config_variable,ARDUINO_CORE_PATH,[DEFAULT])
|
|
||||||
else
|
|
||||||
$(call show_config_variable,ARDUINO_CORE_PATH,[USER])
|
|
||||||
endif
|
|
||||||
|
|
||||||
# 1.5.x platform dependent libs path
|
# 1.5.x platform dependent libs path
|
||||||
ifndef ARDUINO_PLATFORM_LIB_PATH
|
ifndef ARDUINO_PLATFORM_LIB_PATH
|
||||||
|
@ -549,13 +552,23 @@ endif
|
||||||
|
|
||||||
ifndef PARSE_BOARD
|
ifndef PARSE_BOARD
|
||||||
# result = $(call READ_BOARD_TXT, 'boardname', 'parameter')
|
# result = $(call READ_BOARD_TXT, 'boardname', 'parameter')
|
||||||
PARSE_BOARD = $(shell grep -v "^\#" "$(BOARDS_TXT)" | grep $(1).$(2) | cut -d = -f 2 )
|
PARSE_BOARD = $(shell grep -v '^\#' $(BOARDS_TXT) | grep $(1).$(2) | cut -d = -f 2 )
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# If NO_CORE is set, then we don't have to parse boards.txt file
|
# If NO_CORE is set, then we don't have to parse boards.txt file
|
||||||
# But the user might have to define MCU, F_CPU etc
|
# But the user might have to define MCU, F_CPU etc
|
||||||
ifeq ($(strip $(NO_CORE)),)
|
ifeq ($(strip $(NO_CORE)),)
|
||||||
|
|
||||||
|
# Select a core from the 'cores' directory. Two main values: 'arduino' or
|
||||||
|
# 'robot', but can also hold 'tiny', for example, if using
|
||||||
|
# https://code.google.com/p/arduino-tiny alternate core.
|
||||||
|
ifndef CORE
|
||||||
|
CORE = $(shell echo $(call PARSE_BOARD,$(BOARD_TAG),build.core) | cut -d : -f 2)
|
||||||
|
$(call show_config_variable,CORE,[COMPUTED],(from build.core))
|
||||||
|
else
|
||||||
|
$(call show_config_variable,CORE,[USER])
|
||||||
|
endif
|
||||||
|
|
||||||
# Which variant ? This affects the include path
|
# Which variant ? This affects the include path
|
||||||
ifndef VARIANT
|
ifndef VARIANT
|
||||||
VARIANT = $(call PARSE_BOARD,$(BOARD_TAG),build.variant)
|
VARIANT = $(call PARSE_BOARD,$(BOARD_TAG),build.variant)
|
||||||
|
@ -680,6 +693,25 @@ else
|
||||||
$(call show_config_variable,OBJDIR,[USER])
|
$(call show_config_variable,OBJDIR,[USER])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Now that we have ARDUINO_DIR, VENDOR, ARCHITECTURE and CORE,
|
||||||
|
# we can set ARDUINO_CORE_PATH.
|
||||||
|
ifndef ARDUINO_CORE_PATH
|
||||||
|
ifeq ($(strip $(CORE)),)
|
||||||
|
ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/$(VENDOR)/$(ARCHITECTURE)/cores/arduino
|
||||||
|
$(call show_config_variable,ARDUINO_CORE_PATH,[DEFAULT])
|
||||||
|
else
|
||||||
|
ARDUINO_CORE_PATH = $(ALTERNATE_CORE_PATH)/cores/$(CORE)
|
||||||
|
ifeq ($(wildcard $(ARDUINO_CORE_PATH)),)
|
||||||
|
ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/$(VENDOR)/$(ARCHITECTURE)/cores/$(CORE)
|
||||||
|
$(call show_config_variable,ARDUINO_CORE_PATH,[COMPUTED],(from ARDUINO_DIR, BOARD_TAG and boards.txt))
|
||||||
|
else
|
||||||
|
$(call show_config_variable,ARDUINO_CORE_PATH,[COMPUTED],(from ALTERNATE_CORE_PATH, BOARD_TAG and boards.txt))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
$(call show_config_variable,ARDUINO_CORE_PATH,[USER])
|
||||||
|
endif
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Reset
|
# Reset
|
||||||
|
|
||||||
|
@ -777,11 +809,11 @@ endif
|
||||||
ifndef ARDUINO_LIBS
|
ifndef ARDUINO_LIBS
|
||||||
# automatically determine included libraries
|
# automatically determine included libraries
|
||||||
ARDUINO_LIBS += $(filter $(notdir $(wildcard $(ARDUINO_DIR)/libraries/*)), \
|
ARDUINO_LIBS += $(filter $(notdir $(wildcard $(ARDUINO_DIR)/libraries/*)), \
|
||||||
$(shell sed -ne "s/^ *\# *include *[<\"]\(.*\)\.h[>\"]/\1/p" $(LOCAL_SRCS)))
|
$(shell sed -ne 's/^ *\# *include *[<\"]\(.*\)\.h[>\"]/\1/p' $(LOCAL_SRCS)))
|
||||||
ARDUINO_LIBS += $(filter $(notdir $(wildcard $(ARDUINO_SKETCHBOOK)/libraries/*)), \
|
ARDUINO_LIBS += $(filter $(notdir $(wildcard $(ARDUINO_SKETCHBOOK)/libraries/*)), \
|
||||||
$(shell sed -ne "s/^ *\# *include *[<\"]\(.*\)\.h[>\"]/\1/p" $(LOCAL_SRCS)))
|
$(shell sed -ne 's/^ *\# *include *[<\"]\(.*\)\.h[>\"]/\1/p' $(LOCAL_SRCS)))
|
||||||
ARDUINO_LIBS += $(filter $(notdir $(wildcard $(USER_LIB_PATH)/*)), \
|
ARDUINO_LIBS += $(filter $(notdir $(wildcard $(USER_LIB_PATH)/*)), \
|
||||||
$(shell sed -ne "s/^ *\# *include *[<\"]\(.*\)\.h[>\"]/\1/p" $(LOCAL_SRCS)))
|
$(shell sed -ne 's/^ *\# *include *[<\"]\(.*\)\.h[>\"]/\1/p' $(LOCAL_SRCS)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -958,7 +990,7 @@ endif
|
||||||
|
|
||||||
# Using += instead of =, so that CPPFLAGS can be set per sketch level
|
# Using += instead of =, so that CPPFLAGS can be set per sketch level
|
||||||
CPPFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -DF_CPU=$(F_CPU) -DARDUINO=$(ARDUINO_VERSION) $(ARDUINO_ARCH_FLAG) -D__PROG_TYPES_COMPAT__ \
|
CPPFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -DF_CPU=$(F_CPU) -DARDUINO=$(ARDUINO_VERSION) $(ARDUINO_ARCH_FLAG) -D__PROG_TYPES_COMPAT__ \
|
||||||
-I. -I$(ARDUINO_CORE_PATH) -I$(ARDUINO_VAR_PATH)/$(VARIANT) \
|
-I$(ARDUINO_CORE_PATH) -I$(ARDUINO_VAR_PATH)/$(VARIANT) \
|
||||||
$(SYS_INCLUDES) $(PLATFORM_INCLUDES) $(USER_INCLUDES) -Wall -ffunction-sections \
|
$(SYS_INCLUDES) $(PLATFORM_INCLUDES) $(USER_INCLUDES) -Wall -ffunction-sections \
|
||||||
-fdata-sections
|
-fdata-sections
|
||||||
|
|
||||||
|
@ -1022,12 +1054,23 @@ else
|
||||||
$(call show_config_variable,DEVICE_PATH,[AUTODETECTED])
|
$(call show_config_variable,DEVICE_PATH,[AUTODETECTED])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifndef FORCE_MONITOR_PORT
|
||||||
|
$(call show_config_variable,FORCE_MONITOR_PORT,[DEFAULT])
|
||||||
|
else
|
||||||
|
$(call show_config_variable,FORCE_MONITOR_PORT,[USER])
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef FORCE_MONITOR_PORT
|
||||||
|
# Skips the DEVICE_PATH existance check.
|
||||||
|
get_monitor_port = $(DEVICE_PATH)
|
||||||
|
else
|
||||||
# Returns the Arduino port (first wildcard expansion) if it exists, otherwise it errors.
|
# Returns the Arduino port (first wildcard expansion) if it exists, otherwise it errors.
|
||||||
ifeq ($(CURRENT_OS), WINDOWS)
|
ifeq ($(CURRENT_OS), WINDOWS)
|
||||||
get_monitor_port = $(COM_STYLE_MONITOR_PORT)
|
get_monitor_port = $(COM_STYLE_MONITOR_PORT)
|
||||||
else
|
else
|
||||||
get_monitor_port = $(if $(wildcard $(DEVICE_PATH)),$(firstword $(wildcard $(DEVICE_PATH))),$(error Arduino port $(DEVICE_PATH) not found!))
|
get_monitor_port = $(if $(wildcard $(DEVICE_PATH)),$(firstword $(wildcard $(DEVICE_PATH))),$(error Arduino port $(DEVICE_PATH) not found!))
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Returns the ISP port (first wildcard expansion) if it exists, otherwise it errors.
|
# Returns the ISP port (first wildcard expansion) if it exists, otherwise it errors.
|
||||||
get_isp_port = $(if $(wildcard $(ISP_PORT)),$(firstword $(wildcard $(ISP_PORT))),$(if $(findstring Xusb,X$(ISP_PORT)),$(ISP_PORT),$(error ISP port $(ISP_PORT) not found!)))
|
get_isp_port = $(if $(wildcard $(ISP_PORT)),$(firstword $(wildcard $(ISP_PORT))),$(if $(findstring Xusb,X$(ISP_PORT)),$(ISP_PORT),$(error ISP port $(ISP_PORT) not found!)))
|
||||||
|
@ -1416,10 +1459,10 @@ size: $(TARGET_HEX)
|
||||||
$(call avr_size,$(TARGET_ELF),$(TARGET_HEX))
|
$(call avr_size,$(TARGET_ELF),$(TARGET_HEX))
|
||||||
|
|
||||||
show_boards:
|
show_boards:
|
||||||
@$(CAT) "$(BOARDS_TXT)" | grep -E "^[a-zA-Z0-9_]+.name" | sort -uf | sed 's/.name=/:/' | column -s: -t
|
@$(CAT) $(BOARDS_TXT) | grep -E '^[a-zA-Z0-9_]+.name' | sort -uf | sed 's/.name=/:/' | column -s: -t
|
||||||
|
|
||||||
monitor:
|
monitor:
|
||||||
ifneq ("$(MONITOR_CMD)", "putty")
|
ifneq ($(MONITOR_CMD), 'putty')
|
||||||
$(MONITOR_CMD) $(call get_monitor_port) $(MONITOR_BAUDRATE)
|
$(MONITOR_CMD) $(call get_monitor_port) $(MONITOR_BAUDRATE)
|
||||||
else
|
else
|
||||||
ifneq ($(strip $(MONITOR_PARMS)),)
|
ifneq ($(strip $(MONITOR_PARMS)),)
|
||||||
|
@ -1449,7 +1492,7 @@ generated_assembly: generate_assembly
|
||||||
@$(ECHO) "\"generated_assembly\" target is deprecated. Use \"generate_assembly\" target instead\n\n"
|
@$(ECHO) "\"generated_assembly\" target is deprecated. Use \"generate_assembly\" target instead\n\n"
|
||||||
|
|
||||||
help_vars:
|
help_vars:
|
||||||
@$(CAT) "$(ARDMK_DIR)/arduino-mk-vars.md"
|
@$(CAT) $(ARDMK_DIR)/arduino-mk-vars.md
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@$(ECHO) "\nAvailable targets:\n\
|
@$(ECHO) "\nAvailable targets:\n\
|
||||||
|
|
|
@ -16,6 +16,7 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it
|
||||||
- New: Support for Teensy 3.x (https://github.com/stepcut)
|
- New: Support for Teensy 3.x (https://github.com/stepcut)
|
||||||
- New: Support for PuTTY under Windows (https://github.com/PeterMosmans)
|
- New: Support for PuTTY under Windows (https://github.com/PeterMosmans)
|
||||||
- New: Add support for installation using homebrew(https://github.com/ladislas)
|
- New: Add support for installation using homebrew(https://github.com/ladislas)
|
||||||
|
- New: Add support and example for flashing on a remote RPi. (https://github.com/Gaboose)
|
||||||
|
|
||||||
- Tweak: Update Malefile-example.mk with STD flags (https://github.com/ladislas)
|
- Tweak: Update Malefile-example.mk with STD flags (https://github.com/ladislas)
|
||||||
- Tweak: Allow remove of any OBJDIR with `$(REMOVE) $(OBJDIR)`. (https://github.com/ladislas)
|
- Tweak: Allow remove of any OBJDIR with `$(REMOVE) $(OBJDIR)`. (https://github.com/ladislas)
|
||||||
|
@ -23,6 +24,9 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it
|
||||||
- Tweak: Update travis-ci to test against Arduino 1.0.6. (https://github.com/sej7278)
|
- Tweak: Update travis-ci to test against Arduino 1.0.6. (https://github.com/sej7278)
|
||||||
- Tweak: Updated package instructions for Arch/Fedora/Raspbian. (https://github.com/sej7278)
|
- Tweak: Updated package instructions for Arch/Fedora/Raspbian. (https://github.com/sej7278)
|
||||||
- Tweak: Remove $(EXTRA_XXX) variables (Issue #234) (https://github.com/ladislas)
|
- Tweak: Remove $(EXTRA_XXX) variables (Issue #234) (https://github.com/ladislas)
|
||||||
|
- Tweak: Moved location of avrdude for 1.5.8 on Linux (Issue #301) (https://github.com/sej7278)
|
||||||
|
- Tweak: Allow 'build.core' param as found in [arduino-tiny](https://code.google.com/p/arduino-tiny/) Prospective Boards.txt. (https://github.com/Gaboose)
|
||||||
|
- Tweak: Replace CXX_NAME with CXX as per the Emacs Flymake Wiki (Issue #309) (https://github.com/sej7278)
|
||||||
|
|
||||||
- Fix: Improved Windows (Cygwin/MSYS) support (https://github.com/PeterMosmans)
|
- Fix: Improved Windows (Cygwin/MSYS) support (https://github.com/PeterMosmans)
|
||||||
- Fix: Change "tinyladi" username to "ladislas" in HISTORY.md. (https://github.com/ladislas)
|
- Fix: Change "tinyladi" username to "ladislas" in HISTORY.md. (https://github.com/ladislas)
|
||||||
|
@ -37,6 +41,7 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it
|
||||||
- Fix: Changed IDE download URL *again* for Travis-CI. (https://github.com/sej7278)
|
- Fix: Changed IDE download URL *again* for Travis-CI. (https://github.com/sej7278)
|
||||||
- Fix: Allow avrdude to erase the chip before programming during ispload (https://github.com/tchebb)
|
- Fix: Allow avrdude to erase the chip before programming during ispload (https://github.com/tchebb)
|
||||||
- Fix: Fix speed regression. Thanks ladislas (Issue #280) (https://github.com/sej7278)
|
- Fix: Fix speed regression. Thanks ladislas (Issue #280) (https://github.com/sej7278)
|
||||||
|
- Fix: Removed some double quotes that were breaking variable expansion. (https://github.com/sej7278)
|
||||||
|
|
||||||
### 1.3.4 (2014-07-12)
|
### 1.3.4 (2014-07-12)
|
||||||
- Tweak: Allow spaces in "Serial.begin (....)". (Issue #190) (https://github.com/pdav)
|
- Tweak: Allow spaces in "Serial.begin (....)". (Issue #190) (https://github.com/pdav)
|
||||||
|
|
|
@ -259,7 +259,7 @@ Then, the following line must be added to the project Makefile :
|
||||||
|
|
||||||
```
|
```
|
||||||
check-syntax:
|
check-syntax:
|
||||||
$(CXX_NAME) -c -include Arduino.h -x c++ $(CXXFLAGS) $(CPPFLAGS) -fsyntax-only $(CHK_SOURCES)
|
$(CXX) -c -include Arduino.h -x c++ $(CXXFLAGS) $(CPPFLAGS) -fsyntax-only $(CHK_SOURCES)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Test Suite
|
## Test Suite
|
||||||
|
|
|
@ -316,6 +316,25 @@ MONITOR_PORT = com3
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
### FORCE_MONITOR_PORT
|
||||||
|
|
||||||
|
**Description:**
|
||||||
|
|
||||||
|
Skip the MONITOR_PORT existance check.
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
```Makefile
|
||||||
|
# Enable
|
||||||
|
FORCE_MONITOR_PORT = true
|
||||||
|
# Disable (default)
|
||||||
|
undefine FORCE_MONITOR_PORT
|
||||||
|
```
|
||||||
|
|
||||||
|
**Requirement:** *Optional*
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
### USER_LIB_PATH
|
### USER_LIB_PATH
|
||||||
|
|
||||||
**Description:**
|
**Description:**
|
||||||
|
@ -392,6 +411,29 @@ ARDUINO_VAR_PATH = ~/sketchbook/hardware/arduino-tiny/cores/tiny
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
### CORE
|
||||||
|
|
||||||
|
**Description:**
|
||||||
|
|
||||||
|
Name of the core *inside* the ALTERNATE_CORE or the standard core.
|
||||||
|
|
||||||
|
Usually can be auto-detected as `build.core` from `boards.txt`.
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
```Makefile
|
||||||
|
# standard Arduino core (undefine ALTERNATE_CORE)
|
||||||
|
CORE = arduino
|
||||||
|
# or
|
||||||
|
CORE = robot
|
||||||
|
# tiny core (ALTERNATE_CORE = arduino-tiny)
|
||||||
|
CORE = tiny
|
||||||
|
```
|
||||||
|
|
||||||
|
**Requirement:** *Optional*
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
### VARIANT
|
### VARIANT
|
||||||
|
|
||||||
**Description:**
|
**Description:**
|
||||||
|
|
23
examples/BlinkNetworkRPi/ATtinyBlink.ino
Normal file
23
examples/BlinkNetworkRPi/ATtinyBlink.ino
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
Blink
|
||||||
|
Turns on an LED on for one second, then off for one second, repeatedly.
|
||||||
|
|
||||||
|
This example code is in the public domain.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Connect a LED to Pin 3. It might be different in different ATtiny micro controllers
|
||||||
|
int led = 3;
|
||||||
|
|
||||||
|
// the setup routine runs once when you press reset:
|
||||||
|
void setup() {
|
||||||
|
// initialize the digital pin as an output.
|
||||||
|
pinMode(led, OUTPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
// the loop routine runs over and over again forever:
|
||||||
|
void loop() {
|
||||||
|
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
|
||||||
|
delay(1000); // wait for a second
|
||||||
|
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
|
||||||
|
delay(1000); // wait for a second
|
||||||
|
}
|
46
examples/BlinkNetworkRPi/Makefile
Normal file
46
examples/BlinkNetworkRPi/Makefile
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# Arduino Make file. Refer to https://github.com/sudar/Arduino-Makefile
|
||||||
|
|
||||||
|
# Tested and working with a linuxspi programmer on a remote Raspberry Pi
|
||||||
|
# Refer to https://github.com/kcuzner/avrdude for linuxspi.
|
||||||
|
# Should work with ISP as well if you replace $(AVRDUDE_ARD_OPTS) with
|
||||||
|
# $(AVRDUDE_ISP_OPTS) in the net_set_fuses rule.
|
||||||
|
|
||||||
|
# Alternate core from https://code.google.com/p/arduino-tiny
|
||||||
|
ALTERNATE_CORE = tiny
|
||||||
|
BOARD_TAG = attiny85at8
|
||||||
|
|
||||||
|
# Avrdude config path on the remote Raspberry Pi
|
||||||
|
AVRDUDE_CONF=/usr/local/etc/avrdude.conf
|
||||||
|
|
||||||
|
# Skip the monitor port existance check since it's not on our machine.
|
||||||
|
FORCE_MONITOR_PORT=true
|
||||||
|
MONITOR_PORT=/dev/spidev0.0
|
||||||
|
|
||||||
|
include ../../Arduino.mk
|
||||||
|
|
||||||
|
|
||||||
|
# Additional rules to use a remote Raspberry Pi programmer
|
||||||
|
|
||||||
|
# Note that it's recommended not to use root for this task,
|
||||||
|
# but to setup spidev access on a normal user instead.
|
||||||
|
HOST = root@alarmpi
|
||||||
|
SSH_AVRDUDE = ssh $(HOST) /usr/local/bin/avrdude
|
||||||
|
|
||||||
|
CAT_HEX = cat $(TARGET_HEX)
|
||||||
|
AVRDUDE_UPLOAD_PIPE = -U flash:w:-:i
|
||||||
|
|
||||||
|
.PHONY: net_upload net_set_fuses
|
||||||
|
|
||||||
|
net_upload: $(TARGET_HEX) verify_size
|
||||||
|
$(CAT_HEX) | $(SSH_AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ARD_OPTS) \
|
||||||
|
$(AVRDUDE_UPLOAD_PIPE)
|
||||||
|
|
||||||
|
net_set_fuses:
|
||||||
|
ifneq ($(strip $(AVRDUDE_ISP_FUSES_PRE)),)
|
||||||
|
$(SSH_AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ARD_OPTS) -e \
|
||||||
|
$(AVRDUDE_ISP_FUSES_PRE)
|
||||||
|
endif
|
||||||
|
ifneq ($(strip $(AVRDUDE_ISP_FUSES_POST)),)
|
||||||
|
$(SSH_AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ARD_OPTS) \
|
||||||
|
$(AVRDUDE_ISP_FUSES_POST)
|
||||||
|
endif
|
|
@ -7,7 +7,7 @@ failures=()
|
||||||
# These examples cannot be tested easily at the moment as they require
|
# These examples cannot be tested easily at the moment as they require
|
||||||
# alternate cores. The MakefileExample doesn't actually contain any source code
|
# alternate cores. The MakefileExample doesn't actually contain any source code
|
||||||
# to compile.
|
# to compile.
|
||||||
NON_TESTABLE_EXAMPLES=(ATtinyBlink MakefileExample TinySoftWareSerial BlinkTeensy)
|
NON_TESTABLE_EXAMPLES=(ATtinyBlink MakefileExample TinySoftWareSerial BlinkTeensy BlinkNetworkRPi)
|
||||||
|
|
||||||
for dir in $TESTS_DIR/*/
|
for dir in $TESTS_DIR/*/
|
||||||
do
|
do
|
||||||
|
|
Loading…
Reference in a new issue