2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								..  _projectconf: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Project Configuration File `` platformio.ini `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								=============================================
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								The Project configuration file is named `` platformio.ini `` . This is a
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`INI-style  <http://en.wikipedia.org/wiki/INI_file> `_  file.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` platformio.ini ``  has sections (each denoted by a `` [header] `` ) and
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								key / value pairs within the sections. A sign `` # ``  at the beginning of the
 
							 
						 
					
						
							
								
									
										
										
										
											2014-12-29 20:27:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								line indicates a comment. Comment lines are ignored.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								The sections and their allowable values are described below.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  contents :: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-22 17:57:28 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								[platformio]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								------------
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								A `` platformio ``  section is used for overriding default configuration options
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-02-22 22:24:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  note :: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Relative path is allowed for directory option:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  `` ~ ``  will be expanded to user's home directory
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  `` ../ ``  or `` ..\ ``  go up to one folder
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-22 17:57:28 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Options
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								~~~~~~~
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-08 23:21:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_pio_home_dir: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-22 17:57:28 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` home_dir `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Is used to store platform tool chains, frameworks, external libraries,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								service data and etc.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-22 17:57:28 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								A default value is User's home directory:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  Unix `` ~/.platformio `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  Windows `` %HOMEPATH%\.platformio `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This option can be overridden by global environment variable
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 00:14:04 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:envvar: `PLATFORMIO_HOME_DIR` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  _projectconf_pio_lib_dir: 
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-22 17:57:28 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-09-06 18:46:19 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` lib_dir `` 
 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-22 22:24:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^
 
							 
						 
					
						
							
								
									
										
										
										
											2014-09-06 18:46:19 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This directory is used to store external libraries downloaded by
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								:ref: `librarymanager` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								A default value is `` %home_dir%/lib `` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This option can be overridden by global environment variable
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 00:14:04 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:envvar: `PLATFORMIO_LIB_DIR` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-29 21:14:41 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  note :: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    You can put here your own/private libraries. The source code of each
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    library should be placed in separate directory. For example,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `` %lib_dir%/private_lib/[here are source files] `` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_pio_src_dir: 
 
							 
						 
					
						
							
								
									
										
										
										
											2014-09-06 18:46:19 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-02-22 22:24:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` src_dir `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								A path to project's source directory. PlatformIO uses it for :ref: `cmd_run` 
 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-22 22:24:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								command.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								A default value is `` %project_dir%/src `` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This option can be overridden by global environment variable
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 00:14:04 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:envvar: `PLATFORMIO_SRC_DIR` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-22 22:24:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  note :: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    This option is useful for people who migrate from Arduino/Energia IDEs where
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    source directory should have the same name like the main source file.
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-25 11:34:48 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    See `example  <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-own-src_dir> `__  project with own source directory.
 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-22 22:24:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_pio_envs_dir: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` envs_dir `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*PlatformIO Builder*  within :ref: `cmd_run`  command uses this folder for project
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								environments to store compiled object files, static libraries, firmwares and
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								other cached information. It allows PlatformIO to build source code extremely
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								fast!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*You can delete this folder without any risk!*  If you modify :ref: `projectconf` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								then PlatformIO will remove this folder automatically. It will be created on the
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								next build operation.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								A default value is `` %project_dir%/.pioenvs `` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This option can be overridden by global environment variable
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 00:14:04 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:envvar: `PLATFORMIO_ENVS_DIR` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  note :: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    If you have any problems with building your Project environmets which
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    are defined in :ref: `projectconf` , then **TRY TO DELETE**  this folder. In
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this situation you will remove all cached files without any risk.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								[env:NAME]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								----------
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								A section with `` env: ``  prefix is used to define virtual environment with
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								specific options that will be processed with :ref: `cmd_run`  command. You can
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								define unlimited numbers of environments.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Each environment must have unique `` NAME `` . The valid chars for `` NAME ``  are
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  letters `` a-z `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  numbers `` 0-9 `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  special char `` _ ``  (underscore)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								For example, `` [env:hello_world] `` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Options
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								~~~~~~~
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-29 20:22:01 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_env_platform: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								`` platform `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-13 19:13:36 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:ref: `Platform <platforms>`  type.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-29 20:22:01 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_env_framework: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								`` framework `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-13 19:13:36 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:ref: `Framework <frameworks>`  type.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								The multiple frameworks are allowed, split them with comma `` , ``  separator.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-29 20:22:01 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_env_board: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								`` board `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*PlatformIO*  has pre-configured settings for the most popular boards. You don't
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								need to specify `` board_mcu `` , `` board_f_cpu `` , `` upload_protocol ``  or
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` upload_speed ``  options. Just define a `` board ``  type and *PlatformIO*  will
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pre-fill options described above with appropriate values.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:18:16 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								You can find the `` board ``  type in *Boards*  section of each :ref: `platforms`  or
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								using `PlatformIO Embedded Boards Explorer  <http://platformio.org/#!/boards> `_ .
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` board_mcu `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` board_mcu ``  is a microcontroller(MCU) type that is used by compiler to
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								recognize MCU architecture. The correct type of `` board_mcu ``  depends on
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								platform library. For example, the list of `` board_mcu ``  for "megaAVR Devices"
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								is described `here  <http://www.nongnu.org/avr-libc/user-manual/> `_ .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								The full list of `` board_mcu ``  for the popular embedded platforms you can find
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								in *Boards*  section of :ref: `platforms` . See "Microcontroller" column.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` board_f_cpu `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								An option `` board_f_cpu ``  is used to define MCU frequency (Hertz, Clock). A
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								format of this option is `` C-like long integer ``  value with `` L ``  suffix. The
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								1 Hertz is equal to `` 1L `` , then 16 Mhz (Mega Hertz) is equal to `` 16000000L `` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								The full list of `` board_f_cpu ``  for the popular embedded platforms you can
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								find in *Boards*  section of :ref: `platforms` . See "Frequency" column.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` upload_port `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								This option is used by "uploader" tool when sending firmware to board via
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								`` upload_port `` . For example,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `` /dev/ttyUSB0 ``  - Unix-based OS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `` COM3 ``  - Windows OS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								If `` upload_port ``  isn't specified, then *PlatformIO*  will try to detect it
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								automatically.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-12-03 14:56:24 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								To print all available serial ports use :ref: `cmd_serialports`  command.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` upload_protocol `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								A protocol that "uploader" tool uses to talk to the board.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` upload_speed `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								A connection speed (`baud rate  <http://en.wikipedia.org/wiki/Baud> `_ )
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								which "uploader" tool uses when sending firmware to board.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-03 14:56:24 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_build_flags: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								`` build_flags `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								These flags/options control preprocessing, compilation, assembly and linking
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								processes:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  list-table :: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    :header-rows:   1 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  - Format
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Scope
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Description
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -D name `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CPPDEFINES
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Predefine *name*  as a macro, with definition 1.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -D name=definition `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CPPDEFINES
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  The contents of *definition*  are tokenized and processed as if they
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        appeared during translation phase three in a `` #define ``  directive.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -U name `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CPPDEFINES
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Cancel any previous definition of *name* , either built in or provided
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        with a `` -D ``  option.
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-19 13:43:30 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    *  - `` -Wp,option `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CPPFLAGS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Bypass the compiler driver and pass *option*  directly  through to the
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        preprocessor
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -Wall `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CCFLAGS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Turns on all optional warnings which are desirable for normal code.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -Werror `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CCFLAGS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Make all warnings into hard errors. Source code which triggers warnings will be rejected.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -w `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CCFLAGS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Suppress all warnings, including those which GNU CPP issues by default.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -include file `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CCFLAGS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Process *file*  as if `` #include "file" ``  appeared as the first line of
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        the primary source file.
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-19 13:43:30 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    *  - `` -Idir `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  CPPPATH
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Add the directory *dir*  to the list of directories to be searched
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        for header files.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -Wa,option `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  ASFLAGS, CCFLAGS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Pass *option*  as an option to the assembler. If *option*  contains
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        commas, it is split into multiple options at the commas.
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-19 13:43:30 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    *  - `` -Wl,option `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  LINKFLAGS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Pass *option*  as an option to the linker. If *option*  contains
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        commas, it is split into multiple options at the commas.
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -llibrary `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  LIBS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Search the *library*  named library when linking
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    *  - `` -Ldir `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  LIBPATH
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      -  Add directory *dir*  to the list of directories to be searched for
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        `` -l `` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-23 19:17:07 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								This option can be set by global environment variable
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 00:14:04 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:envvar: `PLATFORMIO_BUILD_FLAGS` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-23 19:17:07 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								Example:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  code-block ::    ini
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:specific_defines]
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-19 13:43:30 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    build_flags = -Dfoo -Dbar=1
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:specific_inclibs]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    build_flags = -I/opt/include -L/opt/lib -lfoo
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-19 13:43:30 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    [env:specific_ld_script]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    build_flags = -Wl,-T/path/to/ld_script.ld
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								For more detailed information about available flags/options go to:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `Options to Request or Suppress Warnings
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html>`_
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `Options for Debugging Your Program
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html>`_
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `Options That Control Optimization
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html>`_
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `Options Controlling the Preprocessor
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html>`_
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `Passing Options to the Assembler
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <https://gcc.gnu.org/onlinedocs/gcc/Assembler-Options.html>`_
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `Options for Linking  <https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html> `_ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `Options for Directory Search
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html>`_
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:18:16 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_src_build_flags: 
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:18:16 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` src_build_flags `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:18:16 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								An option `` src_build_flags ``  has the same behaviour like `` build_flags `` 
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								but will be applied only for the project source code from
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								:ref: `projectconf_pio_src_dir`  directory.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-23 19:17:07 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								This option can be set by global environment variable
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 00:14:04 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:envvar: `PLATFORMIO_SRC_BUILD_FLAGS` .
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-22 15:06:39 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_src_filter: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` src_filter `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This option allows to specify which source files should be included/excluded
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								from build process. Filter supports 2 templates:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `` +<PATH> ``  include template
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `` -<PATH> ``  exclude template
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` PATH ``  MAST BE related from :ref: `projectconf_pio_src_dir` . All patterns will
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								be applied in theirs order.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`GLOB Patterns  <http://en.wikipedia.org/wiki/Glob_(programming)> `_  are allowed.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								By default, `` src_filter ``  is predefined to
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` +<*> -<.git/> -<svn/> -<examples/> `` , which means "includes ALL files, then
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								exclude `` .git ``  and `` svn ``  repository folders and exclude `` examples ``  folder.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This option can be set by global environment variable
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 00:14:04 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:envvar: `PLATFORMIO_SRC_FILTER` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-22 15:06:39 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:16:43 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` lib_install `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-01 13:49:18 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Specify dependent libraries which should be installed before environment
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								process. The only library IDs are allowed. Multiple libraries can be passed
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								using comma `` , ``  sign.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								You can obtain library IDs using :ref: `cmd_lib_search`  command.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Example:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:44:35 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-01 13:49:18 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:depends_on_some_libs]
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:16:43 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    lib_install = 1,13,19
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-01 13:49:18 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:44:35 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` lib_use `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-05 15:47:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-26 23:45:29 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Specify libraries which should be used by `` Library Dependency Finder (LDF) ``  with
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-05 15:47:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								the highest priority.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Example:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:44:35 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-05 15:47:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:libs_with_highest_priority]
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:44:35 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    lib_use = OneWire_ID1,SPI
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-05 15:47:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:31:28 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` lib_ignore `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-29 12:49:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-26 23:45:29 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Specify libraries which should be ignored by `` Library Dependency Finder (LDF) `` 
 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-29 12:49:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Example:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:44:35 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-29 12:49:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:ignore_some_libs]
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:31:28 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    lib_ignore = SPI,EngduinoV3_ID123
 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-29 12:49:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:20:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` lib_dfcyclic `` 
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:31:28 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-26 23:45:29 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Control cyclic (recursive) behaviour for `` Library Dependency Finder (LDF) `` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:20:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								By default, this option is turned OFF (`` lib_dfcyclic=False `` ) and means, that
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-26 23:45:29 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` LDF ``  will find only libraries which are included in source files from the
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								project :ref: `projectconf_pio_src_dir` .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								If you want to enable cyclic (recursive, nested) search, please set this option
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								to `` True `` . Founded library will be treated like a new source files and
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` LDF ``  will search dependencies for it.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Example:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:44:35 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-26 23:45:29 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:libs_with_enabled_ldf_cyclic]
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 19:20:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    lib_dfcyclic = True
 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-26 23:45:29 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-19 15:29:22 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_extra_script: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` extra_script `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Allows to launch extra script using `SCons  <http://www.scons.org> `_  software
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								construction tool. For more details please follow to "Construction Environments"
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								section of
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`SCons documentation  <http://www.scons.org/doc/production/HTML/scons-user.html#chap-environments> `_ .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This option can be set by global environment variable
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 00:14:04 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								:envvar: `PLATFORMIO_EXTRA_SCRIPT` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-19 15:29:22 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Example, specify own upload command for :ref: `platform_atmelavr` :
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` platformio.ini `` :
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:env_with_specific_extra_script]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    platform = atmelavr
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    extra_script = /path/to/extra_script.py
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`` extra_script.py `` :
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  code-block ::  python
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    from SCons.Script import DefaultEnvironment
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    env = DefaultEnvironment()
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    env.Replace(UPLOADHEXCMD='"$UPLOADER" --uploader --flags')
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # uncomment line below to see environment variables
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # print env.Dump()
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								See built-in examples of `PlatformIO build scripts  <https://github.com/platformio/platformio/tree/develop/platformio/builder/scripts> `_ .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-29 12:49:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:18:16 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								`` targets `` 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								^^^^^^^^^^^
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								A list with targets which will be processed by :ref: `cmd_run`  command by
 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-01 17:30:20 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								default. You can enter more then one target separated with "space". Which
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								targets are supported is described in :option: `platformio run --target` .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:38:37 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								**Tip!**  You can use these targets like an option to
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								:option: `platformio run --target`  command. For example:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  code-block ::  bash
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # clean project
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    platformio run -t clean
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # dump curent build environment
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    platformio run --target envdump
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								When no targets are defined, *PlatformIO*  will build only sources by default.
 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-28 20:18:16 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-03 14:56:24 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  _projectconf_examples: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								Examples
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								--------
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  note :: 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    A full list with project examples can be found in
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-25 11:34:48 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    `PlatformIO Repository  <https://github.com/platformio/platformio/tree/develop/examples> `_ .
 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 01:36:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								1.  :ref: `platform_atmelavr` : Arduino UNO board with auto pre-configured
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   `` board_* ``  and `` upload_* ``  options (use only `` board ``  option) and Arduino
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   Wiring-based Framework
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-19 19:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:atmelavr_arduino_uno_board]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    platform = atmelavr
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    framework = arduino
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    board = uno
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-08-11 12:20:08 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    # enable auto-uploading
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    targets = upload
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-10 16:43:09 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								2.  :ref: `platform_atmelavr` : Embedded board that is based on ATmega168 MCU with
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								   "arduino" bootloader
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-19 19:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:atmelavr_atmega168_board]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    platform = atmelavr
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    board_mcu = atmega168
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    board_f_cpu = 16000000L
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    upload_port = /dev/ttyUSB0
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-11 12:20:08 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    # for Windows OS
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # upload_port = COM3
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    upload_protocol = arduino
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    upload_speed = 19200
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # enable auto-uploading
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    targets = upload
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-10 16:43:09 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								3.  Upload firmware via USB programmer (USBasp) to :ref: `platform_atmelavr` 
 
							 
						 
					
						
							
								
									
										
										
										
											2014-12-19 19:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								   microcontrollers
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    [env:atmelavr_usbasp]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    platform = atmelavr
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    framework = arduino
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    board = pro8MHzatmega328
 
							 
						 
					
						
							
								
									
										
										
										
											2015-09-10 16:43:09 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    upload_protocol = usbasp -  B5
 
							 
						 
					
						
							
								
									
										
										
										
											2014-12-19 19:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-10 16:43:09 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								4.  :ref: `platform_ststm32` : Upload firmware using GDB script `` upload.gdb `` ,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   `issue #175  <https://github.com/platformio/platformio/issues/175> `_ 
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-19 19:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-10 16:43:09 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    [env:st_via_gdb]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    platform = ststm32
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    board = armstrap_eagle512
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    upload_protocol = gdb
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-10 16:43:09 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								5.  :ref: `platform_ststm32` : Upload firmware using ST-Link instead mbed's media
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   disk
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-19 19:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								..  code-block ::  ini
 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-09 16:31:20 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-10 16:43:09 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    [env:stlink_for_mbed]
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    platform = ststm32
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    board = disco_f100rb
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    upload_protocol = stlink