mirror of
				https://github.com/platformio/platformio-core.git
				synced 2025-11-03 07:31:35 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			197 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
..  Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
 | 
						|
    Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
    you may not use this file except in compliance with the License.
 | 
						|
    You may obtain a copy of the License at
 | 
						|
       http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
    Unless required by applicable law or agreed to in writing, software
 | 
						|
    distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
    See the License for the specific language governing permissions and
 | 
						|
    limitations under the License.
 | 
						|
 | 
						|
.. _ide_qtcreator:
 | 
						|
 | 
						|
Qt Creator
 | 
						|
==========
 | 
						|
 | 
						|
The `Qt Creator <https://github.com/qtproject/qt-creator>`_ is an open source cross-platform integrated development environment. The editor includes such features as syntax highlighting for various languages, project manager, integrated version control systems, rapid code navigation tools and code autocompletion.
 | 
						|
 | 
						|
Refer to the `Qt-creator Manual <http://doc.qt.io/qtcreator/>`_
 | 
						|
page for more detailed information.
 | 
						|
 | 
						|
.. image:: ../_static/ide-platformio-qtcreator-7.png
 | 
						|
    :target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-7.png
 | 
						|
 | 
						|
.. contents::
 | 
						|
 | 
						|
Integration
 | 
						|
-----------
 | 
						|
 | 
						|
.. note::
 | 
						|
    Please verify that folder where is located ``platformio`` program is added
 | 
						|
    to `PATH (wiki) <https://en.wikipedia.org/wiki/PATH_(variable)>`_ environment
 | 
						|
    variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`.
 | 
						|
 | 
						|
Project Generator
 | 
						|
^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
 | 
						|
command and generate project via :option:`platformio init --ide` command:
 | 
						|
 | 
						|
.. code-block:: shell
 | 
						|
 | 
						|
    platformio init --ide qtcreator --board %TYPE%
 | 
						|
 | 
						|
    # For example, generate project for Arduino UNO
 | 
						|
    platformio init --ide qtcreator --board uno
 | 
						|
 | 
						|
Then:
 | 
						|
 | 
						|
1. Import project via ``File > Open File or Project`` and select
 | 
						|
   ``platformio.pro`` from the folder where is located :ref:`projectconf`
 | 
						|
2. Select default desktop kit and click on ``Configure Project`` (``Projects``
 | 
						|
   mode, left panel)
 | 
						|
3. Set ``General > Build directory`` to the project directory where
 | 
						|
   is located :ref:`projectconf`
 | 
						|
4. Remove all items from ``Build Steps``, click on
 | 
						|
   ``Build Steps > Add Build Step > Custom Process Step`` and set:
 | 
						|
 | 
						|
   * **Command**: ``platformio``
 | 
						|
   * **Arguments**: ``-f -c qtcreator run``
 | 
						|
   * **Working directory**: ``%{buildDir}``
 | 
						|
 | 
						|
5. Remove all items from ``Clean Steps``, click on
 | 
						|
   ``Clean Steps > Add Clean Step > Custom Process Step`` and set:
 | 
						|
 | 
						|
   * **Command**: ``platformio``
 | 
						|
   * **Arguments**: ``-f -c qtcreator run --target clean``
 | 
						|
   * **Working directory**: ``%{buildDir}``
 | 
						|
 | 
						|
6. Update ``PATH`` in ``Build Environment > PATH > EDIT`` with the result of
 | 
						|
   this command (paste in Terminal):
 | 
						|
 | 
						|
.. code-block:: shell
 | 
						|
 | 
						|
    # Linux, Mac
 | 
						|
    echo $PATH
 | 
						|
 | 
						|
    # Windows
 | 
						|
    echo %PATH%
 | 
						|
 | 
						|
7. Switch to ``Edit`` mode (left panel) and open source file from ``src``
 | 
						|
   directory (``*.c, *.cpp, *.ino, etc.``)
 | 
						|
8. Build project: ``Menu: Build > Build All``.
 | 
						|
 | 
						|
.. image:: ../_static/ide-platformio-qtcreator-3.png
 | 
						|
    :target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
 | 
						|
 | 
						|
.. warning::
 | 
						|
    The libraries which are added, installed or used in the project
 | 
						|
    after generating process wont be reflected in IDE. To fix it you
 | 
						|
    need to reinitialize project using :ref:`cmd_init` (repeat it).
 | 
						|
 | 
						|
Manual Integration
 | 
						|
^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
Setup New Project
 | 
						|
~~~~~~~~~~~~~~~~~
 | 
						|
 | 
						|
First of all, let's create new project from Qt Creator Start Page: ``New Project`` or using ``Menu: File > New File or Project``, then select project with ``Empty Qt Project`` type (``Other Project > Empty Qt Project``), fill ``Name``, ``Create in``.
 | 
						|
 | 
						|
.. image:: ../_static/ide-platformio-qtcreator-1.png
 | 
						|
    :target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-1.png
 | 
						|
 | 
						|
On the next steps select any available kit and click Finish button.
 | 
						|
 | 
						|
.. image:: ../_static/ide-platformio-qtcreator-2.png
 | 
						|
 | 
						|
Secondly, we need to delete default build and clean steps and configure project with PlatformIO Build System (click on Projects label on left menu or ``Ctrl+5`` shortcut):
 | 
						|
 | 
						|
.. image:: ../_static/ide-platformio-qtcreator-3.png
 | 
						|
    :target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-3.png
 | 
						|
 | 
						|
Thirdly, change project file by adding path to directories with header files. Please edit project file to match the following contents:
 | 
						|
 | 
						|
.. code-block:: none
 | 
						|
 | 
						|
    win32 {
 | 
						|
        HOMEDIR += $$(USERPROFILE)
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        HOMEDIR += $$(HOME)
 | 
						|
    }
 | 
						|
 | 
						|
    INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/framework-arduinoavr/cores/arduino"
 | 
						|
    INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include"
 | 
						|
 | 
						|
.. image:: ../_static/ide-platformio-qtcreator-4.png
 | 
						|
    :target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-4.png
 | 
						|
 | 
						|
First program in Qt Creator
 | 
						|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
						|
 | 
						|
Simple "Blink" project will consist from two files:
 | 
						|
1. In the console, navigate to the root of your project folder and initialize platformio project with ``platformio init``
 | 
						|
2. The main "C" source file named ``main.c`` must be located in the ``src`` directory.
 | 
						|
Let's create new text file named ``main.c`` using ``Menu: New File or Project > General > Text File``:
 | 
						|
 | 
						|
.. image:: ../_static/ide-platformio-qtcreator-5.png
 | 
						|
    :target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-5.png
 | 
						|
 | 
						|
Copy the source code which is described below to file ``main.c``.
 | 
						|
 | 
						|
.. code-block:: c
 | 
						|
 | 
						|
    #include "Arduino.h"
 | 
						|
    #define WLED    13  // Most Arduino boards already have an LED attached to pin 13 on the board itself
 | 
						|
 | 
						|
    void setup()
 | 
						|
    {
 | 
						|
      pinMode(WLED, OUTPUT);  // set pin as output
 | 
						|
    }
 | 
						|
 | 
						|
    void loop()
 | 
						|
    {
 | 
						|
      digitalWrite(WLED, HIGH);  // set the LED on
 | 
						|
      delay(1000);               // wait for a second
 | 
						|
      digitalWrite(WLED, LOW);   // set the LED off
 | 
						|
      delay(1000);               // wait for a second
 | 
						|
    }
 | 
						|
 | 
						|
3. Locate the project configuration file named ``platformio.ini`` at the root of the project directory and open it.
 | 
						|
 | 
						|
.. image:: ../_static/ide-platformio-qtcreator-6.png
 | 
						|
    :target: http://docs.platformio.org/en/latest/_static/ide-platformio-qtcreator-6.png
 | 
						|
 | 
						|
Edit the content to match the code described below.
 | 
						|
 | 
						|
.. code-block:: none
 | 
						|
 | 
						|
    #
 | 
						|
    # Project Configuration File
 | 
						|
    #
 | 
						|
    # A detailed documentation with the EXAMPLES is located here:
 | 
						|
    # http://docs.platformio.org/en/latest/projectconf.html
 | 
						|
    #
 | 
						|
 | 
						|
    # A sign `#` at the beginning of the line indicates a comment
 | 
						|
    # Comment lines are ignored.
 | 
						|
 | 
						|
    [env:arduino_uno]
 | 
						|
    platform = atmelavr
 | 
						|
    framework = arduino
 | 
						|
    board = uno
 | 
						|
 | 
						|
Conclusion
 | 
						|
~~~~~~~~~~
 | 
						|
 | 
						|
Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``.
 | 
						|
 | 
						|
Examples
 | 
						|
--------
 | 
						|
 | 
						|
"Blink" Project
 | 
						|
^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
Source code of `Qt Creator "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/qtcreator>`_.
 |