Merge Support PlatformIO (PR#34)
**** NOTE **** This code is very EXPERIMENTAL and UNSUPPORTED
This commit is contained in:
		
						commit
						4a72d2ba9c
					
				
							
								
								
									
										2
									
								
								PlatformIOAddons/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								PlatformIOAddons/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| .pioenvs | ||||
| *.dblite | ||||
							
								
								
									
										9
									
								
								PlatformIOAddons/Readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								PlatformIOAddons/Readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
| 
 | ||||
							
								
								
									
										57
									
								
								PlatformIOAddons/generate_version_header_for_marlin
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										57
									
								
								PlatformIOAddons/generate_version_header_for_marlin
									
									
									
									
									
										Executable file
									
								
							| @ -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) | ||||
							
								
								
									
										47
									
								
								PlatformIOAddons/platformio.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								PlatformIOAddons/platformio.ini
									
									
									
									
									
										Normal file
									
								
							| @ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user