Difference between revisions of "DevGuide/CodeEditors"

From PaparazziUAV
Jump to navigation Jump to search
m (Removed empty section)
 
(11 intermediate revisions by 6 users not shown)
Line 9: Line 9:
We start of with OCAML IDE's first
We start of with OCAML IDE's first


=== EMACS
=== EMACS ===
Tuareg is a really nice mode for Emacs. On Ubuntu/Debian just '''apt-get install tuareg-mode'''.


http://www-rocq.inria.fr/~acohen/tuareg/index.html.en
http://www.emacswiki.org/emacs/TuaregMode


=== Netbeans ===
=== Netbeans ===
Line 35: Line 36:
# Click Install
# Click Install
# Click Install Then Next
# Click Install Then Next
# If you see "Signe but not trusted, ignore the message juat click "continue"
# If you see "Signed but not trusted, ignore the message just click "continue"
# If it all worked, you will see "Install completed sucessfully, just click "Finish"
# If it all worked, you will see "Install completed successfully, just click "Finish"


==== Syntax Highlighting ====
==== Syntax Highlighting ====
Line 42: Line 43:
=== Eclipse ===
=== Eclipse ===


http://www.cocan.org/ocaml_and_eclipse
* [http://www.algo-prog.info/ocaide/ OcaIDE]
* [http://ocamldt.free.fr/ ODT: OCaml Development Tools]


=== Code::Blocks ===
OcaIDE seems to be the best option for Eclipse. Note that OcaIDE requires eclipse to run under Java 7.
No release of ODT since November 2013.
 
== IDE for Python ==
 
[http://www.jetbrains.com/pycharm/ PyCharm] is a great Python IDE with awesome completion, code assistance, debugger and git integration and much more...


== IDE for C and CPP ==
== IDE for C and CPP ==


Next are the IDE's for C develpment
Next are the IDE's for C development


=== Netbeans ===
=== Eclipse ===
=== Eclipse ===
=== Code::Blocks ===
 
* [http://eclipse.org/cdt/ Eclipse CDT]
Typical process consists of compiling the autopilot code for given airframe in Paparazzi center, and then running the related debug configuration in Eclipse. The debugger will first recompile whole Paparazzi (e.g. running "make" in Paparazzi home directory), which is not really useful, but bearable.
 
In case we want to work with a single aircraft and want Eclipse to also compile the autopilot code, we have to do the following:
# Import paparazzi into eclipse as normal
# in Project->Properties->C/C++ Build->Environment, add three variables
## Current_Airframe: set to the name of the airframe you want to build
## PAPARAZZI_HOME: set to the root paparazzi directory
## PAPARAZZI_SRC: set to the root paparazzi directory
# in  Project->Properties->C/C++ Build
## in ''Builder Settings'' Tab
###  Uncheck ''Use default build command''
### in build command put: ''make -f Makefile.ac AIRCRAFT=${Current_Airframe}''
## In Behavior Tab
### set the Build field to: ap.compile
### set the Clean field to:clean_ac
 
That will compile ''Current_Aiframe'' with target ''ac''. For this to work however you will first have to set the conf/conf.xml symlink to the correct location. This can be done using ''./start'' in your terminal from the root paparazzi directory.
 
We also recommend that you load the paparazzi code style into Eclipse, this can be done with the following:
# Navigate to Project->Properties->C/C++ General->Formatter
## Tick the ''Enable project specific settings'' tick box
## Import the Paparazzi profile from {root paparazzi directory}/paparazzi_code_profile_eclipse.xml


== Debugging tools ==
== Debugging tools ==


GDB
===GDB===
GDB can be used for quite effective Paparazzi debugging. Debugging [[RT_Paparazzi#Debugging_with_an_Eclipse_IDE|guide]] with Eclipse IDE was already described for [[RT_Paparazzi]], but the exact same steps can be used for classic Paparazzi. The guide is [[RT_Paparazzi#Debugging_with_an_Eclipse_IDE|here]]:


[[Category:Software]] [[Category:Developer_Documentation]]
[[Category:Software]] [[Category:Developer_Documentation]]

Latest revision as of 03:38, 28 November 2017

Introduction

So you want to adjust the sourcecode to your wishes, get rid of some bugs that bother you and help to improve the code, great! While theoretically it all an be done with VI and command line instructions, learning to code for Paparazzi this way is a little cumbersome. Therefore it is a good idea to set up an IDE Integrated Development Environment.

As you may have noticed, this page is far from finished, it really would be great if you help to improve this page with even a small improvement.

IDE for OCAML

We start of with OCAML IDE's first

EMACS

Tuareg is a really nice mode for Emacs. On Ubuntu/Debian just apt-get install tuareg-mode.

http://www.emacswiki.org/emacs/TuaregMode

Netbeans

Installation

First install a reasonable new Netbeans, e.g. v6.8 via the synaptic package manager in Ubuntu or use the commandline

OCAML Plugin

http://ocamlplugin.loki-a.com/index.php?title=Main_Page

  1. Start netbeans IDE
  2. Go to Netbean menu -Tools - Plugins
  1. Select tab - Settings
  2. Click the Add button

Name: Ocaml from Loki a URL: http://ocamlplugin.loki-a.com/ocamlplugin/updates/updates.xml

  1. Then click the tab "Available plugins"
  2. Select for install from the list the "Ocaml Plugin"
  3. Click Install
  4. Click Install Then Next
  5. If you see "Signed but not trusted, ignore the message just click "continue"
  6. If it all worked, you will see "Install completed successfully, just click "Finish"

Syntax Highlighting

Eclipse

OcaIDE seems to be the best option for Eclipse. Note that OcaIDE requires eclipse to run under Java 7. No release of ODT since November 2013.

IDE for Python

PyCharm is a great Python IDE with awesome completion, code assistance, debugger and git integration and much more...

IDE for C and CPP

Next are the IDE's for C development

Eclipse

Typical process consists of compiling the autopilot code for given airframe in Paparazzi center, and then running the related debug configuration in Eclipse. The debugger will first recompile whole Paparazzi (e.g. running "make" in Paparazzi home directory), which is not really useful, but bearable.

In case we want to work with a single aircraft and want Eclipse to also compile the autopilot code, we have to do the following:

  1. Import paparazzi into eclipse as normal
  2. in Project->Properties->C/C++ Build->Environment, add three variables
    1. Current_Airframe: set to the name of the airframe you want to build
    2. PAPARAZZI_HOME: set to the root paparazzi directory
    3. PAPARAZZI_SRC: set to the root paparazzi directory
  3. in Project->Properties->C/C++ Build
    1. in Builder Settings Tab
      1. Uncheck Use default build command
      2. in build command put: make -f Makefile.ac AIRCRAFT=${Current_Airframe}
    2. In Behavior Tab
      1. set the Build field to: ap.compile
      2. set the Clean field to:clean_ac

That will compile Current_Aiframe with target ac. For this to work however you will first have to set the conf/conf.xml symlink to the correct location. This can be done using ./start in your terminal from the root paparazzi directory.

We also recommend that you load the paparazzi code style into Eclipse, this can be done with the following:

  1. Navigate to Project->Properties->C/C++ General->Formatter
    1. Tick the Enable project specific settings tick box
    2. Import the Paparazzi profile from {root paparazzi directory}/paparazzi_code_profile_eclipse.xml

Debugging tools

GDB

GDB can be used for quite effective Paparazzi debugging. Debugging guide with Eclipse IDE was already described for RT_Paparazzi, but the exact same steps can be used for classic Paparazzi. The guide is here: