Richard Wackerbarth
9 years ago
4 changed files with 115 additions and 0 deletions
@ -0,0 +1,2 @@ |
|||||
|
.pioenvs |
||||
|
*.dblite |
@ -0,0 +1,9 @@ |
|||||
|
This folder contains the project file to build and install Marlin firmware using the PlatformIO development environment. |
||||
|
|
||||
|
1) Install platformio (See http://platformio.org/) |
||||
|
|
||||
|
.... |
||||
|
|
||||
|
x) From this directory |
||||
|
platformio run |
||||
|
|
@ -0,0 +1,57 @@ |
|||||
|
#/usr/bin/env python - |
||||
|
from SCons.Script import DefaultEnvironment |
||||
|
|
||||
|
env = DefaultEnvironment() |
||||
|
|
||||
|
import os |
||||
|
import errno |
||||
|
|
||||
|
def make_sure_path_exists(path): |
||||
|
try: |
||||
|
os.makedirs(path) |
||||
|
except OSError as exception: |
||||
|
if exception.errno != errno.EEXIST: |
||||
|
raise |
||||
|
|
||||
|
import subprocess |
||||
|
|
||||
|
make_sure_path_exists(env.subst('$BUILDSRC_DIR')) |
||||
|
|
||||
|
from datetime import datetime |
||||
|
import time |
||||
|
import string |
||||
|
import re |
||||
|
|
||||
|
p = subprocess.Popen(['git', 'symbolic-ref', '-q', '--short', 'HEAD'], stdout=subprocess.PIPE) |
||||
|
BRANCH = p.stdout.readline().rstrip() |
||||
|
p = subprocess.Popen(['git', 'describe', '--tags', '--first-parent'], stdout=subprocess.PIPE) |
||||
|
RAW_VERSION = p.stdout.readline().rstrip() |
||||
|
s = re.search('(.*)(-.*)(-.*)',RAW_VERSION) |
||||
|
SHORT_VERSION = s.group(1)+' '+BRANCH |
||||
|
DETAILED_VERSION = string.replace(RAW_VERSION,'-',' '+BRANCH+'-',1) |
||||
|
p = subprocess.Popen(['git', 'config', '--local', '--get', 'remote.origin.url'], stdout=subprocess.PIPE) |
||||
|
|
||||
|
|
||||
|
try: |
||||
|
s = re.search('(.*github.com:)(.*)', p.stdout.readline().rstrip()) |
||||
|
URL = string.replace("https://github.com/"+s.group(2), ".git", "/") |
||||
|
|
||||
|
url_text = """#define SOURCE_CODE_URL "%s" |
||||
|
// Deprecated URL definition |
||||
|
#define FIRMWARE_URL "%s" |
||||
|
""" % (URL, URL) |
||||
|
except Exception, e: |
||||
|
url_text = "" |
||||
|
|
||||
|
version_header_text = """/* This file is automatically generated by a compile time hook |
||||
|
* Do not manually edit it |
||||
|
* It does not get committed to the repository |
||||
|
*/ |
||||
|
|
||||
|
#define BUILD_UNIX_DATETIME %s |
||||
|
#define STRING_DISTRIBUTION_DATE "%s" |
||||
|
#define SHORT_BUILD_VERSION "%s" |
||||
|
#define DETAILED_BUILD_VERSION "%s" |
||||
|
%s""" % (int(time.time()), datetime.now().strftime('%Y-%m-%d %H:%M'),SHORT_VERSION, DETAILED_VERSION, url_text) |
||||
|
|
||||
|
open(env.subst('$BUILDSRC_DIR/_Version.h'), 'w').write(version_header_text) |
@ -0,0 +1,47 @@ |
|||||
|
# |
||||
|
# Project Configuration File |
||||
|
# |
||||
|
# A detailed documentation with the EXAMPLES is located here: |
||||
|
# http://docs.platformio.org/en/latest/projectconf.html |
||||
|
# |
||||
|
|
||||
|
# A sign `#` at the beginning of the line indicates a comment |
||||
|
# Comment lines are ignored. |
||||
|
|
||||
|
# Automatic targets - enable auto-uploading |
||||
|
# targets = upload |
||||
|
|
||||
|
[platformio] |
||||
|
src_dir = ../Marlin |
||||
|
|
||||
|
[env:mega2560] |
||||
|
platform = atmelavr |
||||
|
framework = arduino |
||||
|
board = megaatmega2560 |
||||
|
extra_script = ./generate_version_header_for_marlin |
||||
|
build_flags = -D USE_AUTOMATIC_VERSIONING -I $BUILDSRC_DIR |
||||
|
board_f_cpu = 16000000L |
||||
|
|
||||
|
[env:mega1280] |
||||
|
platform = atmelavr |
||||
|
framework = arduino |
||||
|
board = megaatmega1280 |
||||
|
extra_script = ./generate_version_header_for_marlin |
||||
|
build_flags = -D USE_AUTOMATIC_VERSIONING -I $BUILDSRC_DIR |
||||
|
board_f_cpu = 16000000L |
||||
|
|
||||
|
[env:printrboard] |
||||
|
platform = teensy |
||||
|
framework = arduino |
||||
|
board = teensy20pp |
||||
|
extra_script = ./generate_version_header_for_marlin |
||||
|
build_flags = -D USE_AUTOMATIC_VERSIONING -I $BUILDSRC_DIR -D MOTHERBOARD=BOARD_PRINTRBOARD |
||||
|
# Bug in arduino framework does not allow boards running at 20Mhz |
||||
|
#board_f_cpu = 20000000L |
||||
|
|
||||
|
[env:brainwavepro] |
||||
|
platform = teensy |
||||
|
framework = arduino |
||||
|
board = teensy20pp |
||||
|
extra_script = ./generate_version_header_for_marlin |
||||
|
build_flags = -D USE_AUTOMATIC_VERSIONING -I $BUILDSRC_DIR -D MOTHERBOARD=BOARD_BRAINWAVE_PRO -D AT90USBxx_TEENSYPP_ASSIGNMENTS |
Loading…
Reference in new issue