**** NOTE **** This code is very EXPERIMENTAL and UNSUPPORTEDmaster
						commit
						4a72d2ba9c
					
				@ -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