Skip to content

Commit

Permalink
Merge remote-tracking branch 'paparazzi/master' into state_interface
Browse files Browse the repository at this point in the history
Conflicts:
	sw/airborne/subsystems/nav.h
  • Loading branch information
gautierhattenberger committed Aug 20, 2012
2 parents a7a7fcf + c47ed1e commit 81bde17
Show file tree
Hide file tree
Showing 81 changed files with 1,729 additions and 551 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -143,6 +143,7 @@
# /sw/tools/
/sw/tools/fp_parser.ml
/sw/tools/wiki_gen/wiki_gen
/sw/tools/mergelogs

# /sw/ground_segment/misc
/sw/ground_segment/misc/davis2ivy
Expand Down
36 changes: 0 additions & 36 deletions AUTHORS

This file was deleted.

110 changes: 110 additions & 0 deletions CHANGELOG.md
@@ -0,0 +1,110 @@
Paparazzi 4.1 - development branch
==================================

- STM libs completely replaced by libopencm3
- Input2ivy uses SDL for joysticks (cross-platform, works on OSX as well now)
[#220] (https://github.com/paparazzi/paparazzi/pull/220)
- Option to change text papget color using a combobox
[#194] (https://github.com/paparazzi/paparazzi/pull/194)

Paparazzi 4.0
=============

Changes since old_master tag

General
-------

- Settings for the telemetry modes are automatically generated from the XML file
[#118] (https://github.com/paparazzi/paparazzi/pull/118)
- Documentation node for modules
[#182] (https://github.com/paparazzi/paparazzi/pull/182)
- Automatic conversion of units in airframe file, settings and messages.
See http://paparazzi.enac.fr/wiki/Units
- Fix rc_settings: this enables you to change some settings in flight
directly from the RC, is useful if you are alone or don't have a GCS.
- Prefer compiler found in PATH over /opt/paparazzi/arm-multilib
[#231] (https://github.com/paparazzi/paparazzi/issues/231)
- Usability improvements for calibration scripts and
added 3D view of magnetometer data with fitted ellipsoid

New hardware support
--------------------

- Support for new autopilot boards
- [Umarim] (http://paparazzi.enac.fr/wiki/Umarim_v10)
- [Umarim Lite] (http://paparazzi.enac.fr/wiki/Umarim_Lite_v2)
- [NavGo] (http://paparazzi.enac.fr/wiki/NavGo_v3)
- [Lisa/M 2.0] (http://paparazzi.enac.fr/wiki/Lisa/M_v20)
- IMU Aspirin 2.1 support
- BlackMagicProbe JTAG support

Airborne
--------

- All control gains are now positive
[#127] (https://github.com/paparazzi/paparazzi/pull/127)
- RC input follows sign conventions
[#124] (https://github.com/paparazzi/paparazzi/issues/124)
- A modification of the transport layer (pprz and xbee)
in order to allow to select the device at the message level.
- New modules:
- xtend_rssi
[#88] (https://github.com/paparazzi/paparazzi/pull/88)
- open_log
[#82] (https://github.com/paparazzi/paparazzi/pull/82)
- Subsystem for new ahrs estimation algorithms: float_cmpl_rmat
- Improvements for AHRS int_cmpl_quat and float_cmpl_rmat
- Correction of centrifugal acceleration
- Proper handling of BODY_TO_IMU rotations
- All status LEDs configurable (with sensible defaults for the boards):
SYS_TIME_LED, AHRS_ALIGNER_LED, BARO_LED, GPS_LED, RADIO_CONTROL_LED
- Possibility to use two 2-way switches for the mode instead of one 3-way switch
- GPS NMEA parser usable for basic position and fix
[#120] (https://github.com/paparazzi/paparazzi/issues/120)

Rotorcraft firmware specific
----------------------------

- Stabilization/supervision commands with standard PPRZ range
[#169] (https://github.com/paparazzi/paparazzi/pull/169)
- Additional motor arming options
[#174] (https://github.com/paparazzi/paparazzi/pull/174)
- Replaced INV_M with NOMINAL_HOVER_THROTTLE (in %)
To use a fixed value instead of the adaptive vertical filter
[#177] (https://github.com/paparazzi/paparazzi/pull/177)
- Some fixes when changing vertical guidance modes
- Same behaviour (gains) for AP_MODE_HOVER and NAV when holding position
[#82] (https://github.com/paparazzi/paparazzi/pull/82)

Fixedwing firmware specific
---------------------------

- Using a gyro (with IR sensors) is done via imu subsystem now as well

Simulator
---------

- JSBSim interface updated for new FGAccelerations class
- FlightGear interface defaults to version 2.6, define FG_2_4 for 2.4
- NPS simulator [#205] (https://github.com/paparazzi/paparazzi/pull/205)
- has it's own nps target (instead of sim)
- fdm type renamed from nps to jsbsim
- waypoint altitude fixed
- Improved ground interaction for JSBSim, can now initialize on ground
[#222] (https://github.com/paparazzi/paparazzi/pull/222)
- Radio control via joystick now uses SDL (so works on OSX as well)
[#232] (https://github.com/paparazzi/paparazzi/pull/232)


STM32 architecture
------------------

- Luftboot USB bootloader
- Updated ADC defines for lisa/m
You should now be able to use ADC_1, ADC_2, ADC_3 for the ADCs on the ANALOG1
[#159] (https://github.com/paparazzi/paparazzi/issues/159)
- Enable second spektrum receiver via
```<configure name="USE_SECONDARY_SPEKTRUM_RECEIVER" value="1"/>```
- Enable new I2C driver via
```<configure name="USE_NEW_I2C_DRIVER"/>```
17 changes: 1 addition & 16 deletions Makefile
Expand Up @@ -66,21 +66,6 @@ OCAML=$(shell which ocaml)
OCAMLRUN=$(shell which ocamlrun)
BUILD_DATETIME:=$(shell date +%Y%m%d-%H%M%S)

# try to find the paparazzi multilib toolchain
TOOLCHAIN=$(shell find -L /opt/paparazzi/arm-multilib ~/sat -maxdepth 1 -type d -name arm-none-eabi 2>/dev/null | head -n 1)
ifneq ($(TOOLCHAIN),)
TOOLCHAIN_DIR=$(shell dirname $(TOOLCHAIN))
#found the compiler from the paparazzi multilib package
ARMGCC=$(TOOLCHAIN_DIR)/bin/arm-none-eabi-gcc
else
#try picking up the arm-none-eabi compiler from the path, otherwise use arm-elf
HAVE_ARM_NONE_EABI_GCC := $(shell which arm-none-eabi-gcc)
ifeq ($(strip $(HAVE_ARM_NONE_EABI_GCC)),)
ARMGCC=$(shell which arm-elf-gcc)
else
ARMGCC=$(HAVE_ARM_NONE_EABI_GCC)
endif
endif

all: conf commands static

Expand Down Expand Up @@ -127,7 +112,7 @@ multimon:
static_h: $(MESSAGES_H) $(MESSAGES2_H) $(UBX_PROTOCOL_H) $(MTK_PROTOCOL_H) $(XSENS_PROTOCOL_H) $(DL_PROTOCOL_H) $(DL_PROTOCOL2_H)

usb_lib:
@[ -d sw/airborne/arch/lpc21/lpcusb ] && ((test -x "$(ARMGCC)" && (cd sw/airborne/arch/lpc21/lpcusb; $(MAKE))) || echo "Not building usb_lib: ARMGCC=$(ARMGCC) not found") || echo "Not building usb_lib: sw/airborne/arch/lpc21/lpcusb directory missing"
@[ -d sw/airborne/arch/lpc21/lpcusb ] && (cd sw/airborne/arch/lpc21/lpcusb; $(MAKE)) || echo "Not building usb_lib: sw/airborne/arch/lpc21/lpcusb directory missing"

ext:
$(MAKE) -C$(EXT) all
Expand Down
82 changes: 82 additions & 0 deletions conf/Makefile.arm-common
@@ -0,0 +1,82 @@
# Hey Emacs, this is a -*- makefile -*-
#
# Copyright (C) 2012 Felix Ruess <felix.ruess@gmail.com>
#
# This file is part of paparazzi.
#
# paparazzi is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# paparazzi is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with paparazzi; see the file COPYING. If not, see
# <http://www.gnu.org/licenses/>.
#

#
# This is the common Makefile for finding the arm compiler and OpenOcd
#

#
# try to pick up the compiler from the path
#
CC = $(shell which arm-none-eabi-gcc)
LD = $(shell which arm-none-eabi-gcc)
AR = $(shell which arm-none-eabi-ar)
CP = $(shell which arm-none-eabi-objcopy)
DMP = $(shell which arm-none-eabi-objdump)
NM = $(shell which arm-none-eabi-nm)
SIZE = $(shell which arm-none-eabi-size)
GDB = $(shell which arm-none-eabi-gdb)
TOOLCHAIN_DIR=$(shell dirname `which arm-none-eabi-gcc`)
GCC_LIB_DIR=$(TOOLCHAIN_DIR)/../arm-none-eabi/lib

#
# if not found in path, try the paparazzi toolchain in /opt
#
ifeq ($(CC),)
TOOLCHAIN=$(shell find -L /opt/paparazzi/arm-multilib -maxdepth 1 -type d -name arm-none-eabi 2>/dev/null | head -n 1)
ifneq ($(TOOLCHAIN),)
TOOLCHAIN_DIR=$(shell dirname $(TOOLCHAIN))
GCC_BIN_DIR=$(TOOLCHAIN_DIR)/bin
GCC_LIB_DIR=$(TOOLCHAIN_DIR)/arm-none-eabi/lib

# Define programs and commands.
GCC_BIN_PREFIX=$(GCC_BIN_DIR)/arm-none-eabi
CC = $(GCC_BIN_PREFIX)-gcc
LD = $(GCC_BIN_PREFIX)-gcc
AR = $(GCC_BIN_PREFIX)-ar
CP = $(GCC_BIN_PREFIX)-objcopy
DMP = $(GCC_BIN_PREFIX)-objdump
NM = $(GCC_BIN_PREFIX)-nm
SIZE = $(GCC_BIN_PREFIX)-size
GDB = $(GCC_BIN_PREFIX)-gdb
else
# toolchain not found...
endif
endif

MULTILIB = $(shell if $(CC) --print-multi-lib | grep thumb2 > /dev/null ; then echo "yes"; else echo "no"; fi)

# some general commands
RM = rm



#
# Find OpenOCD
#
# first try in the path
OOCD = $(shell which openocd)
#if OpenOCD could not be found in the path, try the toolchain dir (for backwards compatibility)
ifeq ($(OOCD),)
ifneq ($(TOOLCHAIN),)
OOCD = $(shell if test -e $(TOOLCHAIN_DIR)/bin/openocd ; then echo $(TOOLCHAIN_DIR)/bin/openocd ; else echo "Warning: OpenOCD not found"; fi)
endif
endif

0 comments on commit 81bde17

Please sign in to comment.