Difference between revisions of "Developer Guide"

From PaparazziUAV
Jump to: navigation, search
Line 1: Line 1:
 +
==Introduction==
 +
 
By the time you land on this page, you probably want to enhance the Paparazzi project, that is really good for your karma and really appreciated. You are welcomed to enhance and extend this documentation.
 
By the time you land on this page, you probably want to enhance the Paparazzi project, that is really good for your karma and really appreciated. You are welcomed to enhance and extend this documentation.
 +
[[Image:FixIt.jpg|right|FixIt]]
 +
 +
==[[Contributing|Contributing]]==
 +
You would like to contribute, but are not shure how, then [[Contributing|this is the page to visit]]
 +
 +
==[[DevGuide/CodeEditors|Code Editing]]==
 +
How to setup your IDE for use with the sourecode
 +
==[[DevGuide/LearningToProgram|Learning to Program]]==
 +
Improve your Paparazzi code in OCAML,C,C++ and Python
 +
 +
 +
==[[DevGuide/DesignOverview|Design Overview]]==
 +
Attempt at a longer walk through the airborne code architecture
  
[[Image:FixIt.jpg|right|FixIt]]
+
==[[FirmwareArchitecture|Firmware Architecture]]==
 +
Attempt at brief overview of the firmware architecture with modules and subsystems
 +
 
 +
==[[DevGuide/Communications|Communications]]==
 +
How telemetry and datalink is done
 +
 
 +
==[[DevGuide/CommunicationsNew|Communications (Proposed New system)]]==
 +
How the telemetry and datalink works
 +
 
 +
==[[DevGuide/Server_GCS_com|Server-GCS communications]]==
 +
How the Server and the Ground Control Station interact with each other
 +
 
 +
==[[DevGuide/Values|Values]]==
 +
A short walk through the system and how values are handled
 +
 
 +
==[[DevGuide/Settings|Settings]]==
 +
Settings is the generic mechanism that allows to set and get the value of any variable of the embedded code.
 +
 
 +
==[[DevGuide/Mathlib|Paparazzi Math Library]]==
 +
The custom Paparazzi math library written in C and how to use it in external programs
 +
 
 +
==[[Reference/bootloader]]==
 +
All questions about bootloader but where afraid to ask
 +
 
 +
===[[Lpc21iap|LPC USB firmware]]===
 +
All answers to the Paparazzi USB bootloader of question you never dared to ask
 +
 
 +
====[[Lpc21BootloaderUpload|Upload Bootloader for LPC21xx]]====
 +
How to [[[[Lpc21BootloaderUpload|upload the Bootloader]] to a LPC2148 processor based AP board like the TWOG
 +
 
 +
===[[Luftboot|Upload the luftboot bootloader]]===
 +
How to upload the Bootloader to a STM32 processor based AP board like the LISA
 +
 
 +
===[[DFU|Upload with DFU (with native or custom dfu bootloader)]]===
 +
Using the native (embeded in ROM) or custom (e.g. [[Luftboot]] or [[KroozSD#Bootloader|KroozSD]]==) bootloader to upload paparazzi code
 +
 
 +
===[[STLink|Upload with STLink via SWD (without Bootloader)]]===
 +
using SWD/ST-Link to upload without bootloader
  
*[[Contributing|Contributing]]<br><small>You would like to contribute, but are not shure how, then [[Contributing|this is the page to visit]]</small>
+
==[[DevGuide/JTAG-Debug|JTAG-Debug]]==
*[[Builds|Continuous Integration builds]]<br><small>Info on the CI server</small>
+
[[JTAG-Debug|Using JTAG to directly debug on the board]]
*[[DevGuide/CodeEditors|Code Editing]]<br><small>How to setup your IDE for use with the sourecode</small>
 
*[[DevGuide/LearningToProgram|Learning to Program]]<br><small>Improve your Paparazzi code in OCAML,C,C++ and Python</small>
 
  
 +
==[[DevGuide/USB-Serial|USB-Serial]]==
 +
Using an USB connection instead of and UART for use with telemetry
  
*[[DevGuide/DesignOverview|Design Overview]]<br><small>Attempt at a longer walk through the airborne code architecture</small>
+
==[[ControlTheory]]==
*[[FirmwareArchitecture|Firmware Architecture]]<br><small>Attempt at brief overview of the firmware architecture with modules and subsystems</small>
+
All [[ControlTheory|information you are looking for about the harsh reality of the Control Theory]] needed to let your aircraft fly
*[[DevGuide/Communications|Communications]]<br><small>how telemetry and datalink is done</small>
 
*[[DevGuide/CommunicationsNew|Communications (Proposed New system)]]<br><small>how telemetry and datalink is done</small>
 
*[[DevGuide/Server_GCS_com|Server-GCS communications]]<br><small>how the Server and the Ground Control Station interact with each other</small>
 
*[[DevGuide/Values|Values]]<br><small>a short walk through the system</small>
 
*[[DevGuide/Settings|Settings]]<br><small>Settings is the generic mechanism that allows to set and get the value of any variable of the embedded code.</small>
 
*[[DevGuide/Mathlib|Paparazzi Math Library]]<br><small>The custom paparazzi math library (C) and how to use it in external programs</small>
 
  
  
*[[Lpc21iap|LPC USB Download]]<br><small>how the Paparazzi USB bootloader works</small>
+
==[[Demystified/Altitude and Height|Altitude and Height]]==
*[[Lpc21BootloaderUpload|Upload Bootloader for LPC21xx]]<br><small>How to upload the Bootloader to a LPC2148 processor based AP board like the TWOG</small>
+
Altitude and Height demystified
*[[Luftboot|Upload the luftboot bootloader]]<br><small>How to upload the Bootloader to a STM32 processor based AP board like the LISA</small>
 
*[[DFU|Upload with DFU (with native or custom dfu bootloader)]]<br><small>using the native (embeded in ROM) or custom (e.g. [[Luftboot]] or [[KroozSD#Bootloader|KroozSD]]) bootloader to upload paparazzi code</small>
 
*[[STLink|Upload with STLink via SWD (without Bootloader)]]<br><small>using SWD/ST-Link to upload without bootloader</small>
 
*[[DevGuide/JTAG-Debug|JTAG-Debug]]<br><small>using JTAG to directly debug on the board</small>
 
*[[DevGuide/USB-Serial|USB-Serial]]<br><small>using the USB instead of the UART for telemetry</small>
 
  
 +
==[[AirBorneInterface|AirBorne Interface ABI]]==
  
*[[ControlTheory]]<br><small>The harsh reality about the Control Theory</small>
+
==[[DevGuide/StateInterface]]==
*[[Reference/bootloader]]<br><small>All questions about bootloader but where afraid to ask</small>
+
A stateinterface is a stateinterface is a stateinterface, [[DevGuide/StateInterface|poems aside read more about what the stateinterface entails here]]
*[[Demystified/Altitude and Height|Altitude and Height]]<br><small>Altitude and Height demystified</small>
 
*[[Abi]]
 
*[[DevGuide/StateInterface]]<br><small>A stateinterface is a stateinterface is a stateinterface, poems aside read more here</small>
 
  
 +
==[[RT_Paparazzi]]==
 +
[[RT_Paparazzi|Real Time Paparazzi]] how-to and guidelines
  
*[[RT_Paparazzi]]<br><small>Real Time Paparazzi how-to and guidelines</small>
+
==[[Builds|Continuous Integration builds]]==
 +
Info on the [[Builds|Continuous Integration builds]] (CI) server
  
 
[[Category:Developer_Documentation]]
 
[[Category:Developer_Documentation]]

Revision as of 07:16, 13 January 2014

Introduction

By the time you land on this page, you probably want to enhance the Paparazzi project, that is really good for your karma and really appreciated. You are welcomed to enhance and extend this documentation.

FixIt

Contributing

You would like to contribute, but are not shure how, then this is the page to visit

Code Editing

How to setup your IDE for use with the sourecode

Learning to Program

Improve your Paparazzi code in OCAML,C,C++ and Python


Design Overview

Attempt at a longer walk through the airborne code architecture

Firmware Architecture

Attempt at brief overview of the firmware architecture with modules and subsystems

Communications

How telemetry and datalink is done

Communications (Proposed New system)

How the telemetry and datalink works

Server-GCS communications

How the Server and the Ground Control Station interact with each other

Values

A short walk through the system and how values are handled

Settings

Settings is the generic mechanism that allows to set and get the value of any variable of the embedded code.

Paparazzi Math Library

The custom Paparazzi math library written in C and how to use it in external programs

Reference/bootloader

All questions about bootloader but where afraid to ask

LPC USB firmware

All answers to the Paparazzi USB bootloader of question you never dared to ask

Upload Bootloader for LPC21xx

How to [[upload the Bootloader to a LPC2148 processor based AP board like the TWOG

Upload the luftboot bootloader

How to upload the Bootloader to a STM32 processor based AP board like the LISA

Upload with DFU (with native or custom dfu bootloader)

Using the native (embeded in ROM) or custom (e.g. Luftboot or KroozSD==) bootloader to upload paparazzi code

Upload with STLink via SWD (without Bootloader)

using SWD/ST-Link to upload without bootloader

JTAG-Debug

Using JTAG to directly debug on the board

USB-Serial

Using an USB connection instead of and UART for use with telemetry

ControlTheory

All information you are looking for about the harsh reality of the Control Theory needed to let your aircraft fly


Altitude and Height

Altitude and Height demystified

AirBorne Interface ABI

DevGuide/StateInterface

A stateinterface is a stateinterface is a stateinterface, poems aside read more about what the stateinterface entails here

RT_Paparazzi

Real Time Paparazzi how-to and guidelines

Continuous Integration builds

Info on the Continuous Integration builds (CI) server