Skip to content

Commit

Permalink
Merge tag 'v5.4.2_stable' into highwind
Browse files Browse the repository at this point in the history
Paparazzi 5.4.2_stable
======================

Maintenance release

- GCS: fix undo for list of values
  [paparazzi#1054] (paparazzi#1054)
- lisa_mx: fix secondary spektrum satellite UART AF
- logalizer: fix csv export after allowing description tag in messages
- nps: update nps_fdm_jsbsim to be compatible with latest jsbsim
  [paparazzi#1118] (paparazzi#1118)
- rotorcraft: fix attitude flight plan primitive
  [paparazzi#1103] (paparazzi#1103)
- flight plans: fix 'call' statement without loop
- generators: only include raw makefile part from modules if target matches
- GCS: GPS accuracy speech less verbose
  [paparazzi#1046] (paparazzi#1046)
- GCS: call index of first/single link "single"
  [paparazzi#1098] (paparazzi#1098)
  • Loading branch information
Fab7c4 committed May 24, 2015
2 parents c05cfae + 21e8716 commit a54ebcf
Show file tree
Hide file tree
Showing 37 changed files with 272 additions and 125 deletions.
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,46 @@
Paparazzi 5.4.2_stable
======================

Maintenance release

- GCS: fix undo for list of values
[#1054] (https://github.com/paparazzi/paparazzi/issues/1054)
- lisa_mx: fix secondary spektrum satellite UART AF
- logalizer: fix csv export after allowing description tag in messages
- nps: update nps_fdm_jsbsim to be compatible with latest jsbsim
[#1118] (https://github.com/paparazzi/paparazzi/pull/1118)
- rotorcraft: fix attitude flight plan primitive
[#1103] (https://github.com/paparazzi/paparazzi/pull/1103)
- flight plans: fix 'call' statement without loop
- generators: only include raw makefile part from modules if target matches
- GCS: GPS accuracy speech less verbose
[#1046] (https://github.com/paparazzi/paparazzi/issues/1046)
- GCS: call index of first/single link "single"
[#1098] (https://github.com/paparazzi/paparazzi/issues/1098)

Paparazzi 5.4.1_stable
======================

Maintenance release

- plot: fix loading of logs with strings that are not representing a float
- log: prevent display when no points
[#897] (https://github.com/paparazzi/paparazzi/issues/897)
- GCS: disable broken WP reordering in editor
- GCS: fix last known value was not returned with correct scale for saving
- paparazzi center: show build/run versions and update help
- messages: fix hide/show of notebook with multi A/C
- start.py: properly use Popen to start paparazzi subprocess
- bebop: actuators left/right reversed and fix NPS config
- ms5611 barometer peripheral: fix I2C transaction
- sdlog: call pprzlog_init if needed (and avoid segfault)
- datalink: fix extra_dl and pprzlog
- current sensor subsystem shared and not only for fixedwing
- arch/linux: GCC diagnostic pragma outside of i2c_submit function
- arch/linux: use same float_abi for linking as for compiling
- arch/stm32: fix spektrum binding on F4
[#780] (https://github.com/paparazzi/paparazzi/issues/780)

Paparazzi 5.4.0_stable
======================

Expand Down
8 changes: 5 additions & 3 deletions conf/Makefile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,11 @@ OPT ?= 3
CSTANDARD = -std=gnu99
CINCS = $(INCLUDES) -I$(PAPARAZZI_SRC)/sw/include

FLOAT_ABI = -mfloat-abi=softfp -mfpu=vfp

# Compiler flags.
CFLAGS += $(CINCS)
CFLAGS += -O$(OPT) -mfloat-abi=softfp -mtune=cortex-a8 -mfpu=vfp -march=armv7-a
CFLAGS += -O$(OPT) $(FLOAT_ABI) -mtune=cortex-a8 -march=armv7-a
CFLAGS += -fno-short-enums
# CFLAGS += -malignment-traps
CFLAGS += -Wall -Wcast-qual -Wimplicit -Wcast-align
Expand All @@ -59,11 +61,11 @@ CFLAGS += $(CSTANDARD)
CFLAGS += $($(TARGET).CFLAGS)
CFLAGS += $(USER_CFLAGS)

LDFLAGS += -lm
LDFLAGS += -lm $(FLOAT_ABI)

CXXFLAGS = -pipe -O3 -fshow-column -ffast-math -fPIC
CXXFLAGS += -g -ffunction-sections -fdata-sections
CXXFLAGS += -mfloat-abi=softfp -mtune=cortex-a8 -mfpu=vfp -march=armv7-a
CXXFLAGS += $(FLOAT_ABI) -mtune=cortex-a8 -march=armv7-a
CXXFLAGS += -Wall -Wextra
CXXFLAGS += $($(TARGET).CXXFLAGS)
CXXFLAGS += $(USER_CFLAGS)
Expand Down
16 changes: 8 additions & 8 deletions conf/airframes/bebop.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@
</commands>

<servos driver="Default">
<servo name="TOP_LEFT" no="0" min="3000" neutral="3000" max="12000"/>
<servo name="TOP_RIGHT" no="1" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_RIGHT" no="2" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_LEFT" no="3" min="3000" neutral="3000" max="12000"/>
<servo name="TOP_RIGHT" no="0" min="3000" neutral="3000" max="12000"/>
<servo name="TOP_LEFT" no="1" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_LEFT" no="2" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_RIGHT" no="3" min="3000" neutral="3000" max="12000"/>
</servos>

<section name="MIXING" prefix="MOTOR_MIXING_">
Expand All @@ -55,9 +55,9 @@
<define name="MAX_SATURATION_OFFSET" value="3*MAX_PPRZ"/>

<!-- Time cross layout (X), with order NW (CW), NE (CCW), SE (CW), SW (CCW) -->
<define name="ROLL_COEF" value="{ -256, 256, 256, -256 }"/>
<define name="ROLL_COEF" value="{ 256, -256, -256, 256 }"/>
<define name="PITCH_COEF" value="{ 256, 256, -256, -256 }"/>
<define name="YAW_COEF" value="{ 256, -256, 256, -256 }"/>
<define name="YAW_COEF" value="{ -256, 256, -256, 256 }"/>
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
</section>

Expand Down Expand Up @@ -195,8 +195,8 @@

<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="{&quot;nw_motor&quot;, &quot;ne_motor&quot;, &quot;se_motor&quot;, &quot;sw_motor&quot;}"/>
<define name="JSBSIM_MODEL" value="&quot;simple_ardrone2&quot;"/>
<define name="SENSORS_PARAMS" value="&quot;nps_sensors_params_ardrone2.h&quot;"/>
<define name="JSBSIM_MODEL" value="&quot;simple_x_quad_ccw&quot;"/>
<define name="SENSORS_PARAMS" value="&quot;nps_sensors_params_default.h&quot;"/>
</section>

<section name="AUTOPILOT">
Expand Down
2 changes: 1 addition & 1 deletion conf/firmwares/subsystems/rotorcraft/gps_furuno.makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ ap.srcs += $(SRC_SUBSYSTEMS)/gps/gps_nmea.c $(SRC_SUBSYSTEMS)/gps/gps_furuno.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/gps.c

nps.CFLAGS += -DUSE_GPS
nps.CFLAGS += -DGPS_TYPE_H=\"subsystems/gps/gps_sim.h\"
nps.CFLAGS += -DGPS_TYPE_H=\"subsystems/gps/gps_sim_nps.h\"
nps.srcs += $(SRC_SUBSYSTEMS)/gps/gps_sim_nps.c

4 changes: 2 additions & 2 deletions conf/firmwares/subsystems/shared/actuators_bebop.makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ BEBOP_ACTUATORS_I2C_DEV_LOWER=$(shell echo $(BEBOP_ACTUATORS_I2C_DEV) | tr A-Z a

BEBOP_ACTUATORS_CFLAGS += -DBEBOP_ACTUATORS_I2C_DEV=$(BEBOP_ACTUATORS_I2C_DEV_LOWER) -DUSE_$(BEBOP_ACTUATORS_I2C_DEV_UPPER)=1

$(TARGET).CFLAGS += -DACTUATORS $(BEBOP_ACTUATORS_CFLAGS)
$(TARGET).srcs += $(SRC_BOARD)/actuators.c
ap.CFLAGS += -DACTUATORS $(BEBOP_ACTUATORS_CFLAGS)
ap.srcs += $(SRC_BOARD)/actuators.c
2 changes: 1 addition & 1 deletion conf/firmwares/subsystems/shared/sdlog.makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Hey Emacs, this is a -*- makefile -*-

sdlog_CFLAGS = -DDOWNLINK
sdlog_CFLAGS = -DDOWNLINK -DUSE_PPRZLOG
sdlog_srcs = subsystems/datalink/downlink.c subsystems/datalink/pprzlog_transport.c

ap.CFLAGS += $(sdlog_CFLAGS)
Expand Down
1 change: 1 addition & 0 deletions conf/modules/extra_dl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<header>
<file name="extra_pprz_dl.h"/>
</header>
<init fun="extra_pprz_dl_init()"/>
<event fun="ExtraDatalinkEvent()"/>
<makefile target="ap">
<raw>
Expand Down
2 changes: 1 addition & 1 deletion paparazzi_version
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh

DEF_VER=v5.4.0_stable
DEF_VER=v5.4.2_stable

# First try git describe (if running on a git repo),
# then use default version from above (for release tarballs).
Expand Down
77 changes: 32 additions & 45 deletions start.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,15 @@
import subprocess




class ConfChooser:

# General Functions

def update_combo(self, combo, list, active):
def update_combo(self, combo, clist, active):
combo.set_sensitive(False)
combo.get_model().clear()
current_index = 0
for (i, text) in enumerate(list):
for (i, text) in enumerate(clist):
combo.append_text(text)
if os.path.join(self.conf_dir, text) == os.path.realpath(active):
current_index = i
Expand All @@ -34,7 +32,7 @@ def update_combo(self, combo, list, active):
def update_conf_label(self):
desc = "Current conf: "
if not os.path.lexists(self.conf_xml):
desc += "does not exist"
desc += "does not exist"
else:
if os.path.islink(self.conf_xml):
if os.path.exists(self.conf_xml):
Expand All @@ -48,7 +46,7 @@ def update_conf_label(self):
def update_controlpanel_label(self):
desc = "Current control_panel: "
if not os.path.lexists(self.controlpanel_xml):
desc += "does not exist"
desc += "does not exist"
else:
if os.path.islink(self.controlpanel_xml):
if os.path.exists(self.controlpanel_xml):
Expand All @@ -61,11 +59,8 @@ def update_controlpanel_label(self):

# CallBack Functions


def find_conf_files(self):

conf_files = []

pattern = "*conf[._-]*xml"
backup_pattern = "*conf[._-]*xml.20[0-9][0-9]-[01][0-9]-[0-3][0-9]_*"
excludes = ["%gconf.xml"]
Expand All @@ -83,11 +78,8 @@ def find_conf_files(self):
conf_files.sort()
self.update_combo(self.conf_file_combo, conf_files, self.conf_xml)


def find_controlpanel_files(self):

controlpanel_files = []

pattern = "*control_panel[._-]*xml"
backup_pattern = "*control_panel[._-]*xml.20[0-9][0-9]-[01][0-9]-[0-3][0-9]_*"
excludes = []
Expand All @@ -105,7 +97,6 @@ def find_controlpanel_files(self):
controlpanel_files.sort()
self.update_combo(self.controlpanel_file_combo, controlpanel_files, self.controlpanel_xml)


def about(self, widget):
about_d = gtk.AboutDialog()
about_d.set_program_name("Paparazzi Configuration Selector")
Expand Down Expand Up @@ -134,14 +125,14 @@ def set_backups(self, widget):

def launch(self, widget):
self.accept(widget)
os.system("./paparazzi &");
gtk.main_quit()
self.pp = subprocess.Popen("./paparazzi")
self.window.destroy()

def backupconf(self, use_personal=False):
timestr = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M")
if os.path.islink(self.conf_xml):
if self.verbose:
print("Symlink does not need backup");
print("Symlink does not need backup")
else:
if os.path.exists(self.conf_xml):
newname = "conf.xml." + timestr
Expand All @@ -160,7 +151,7 @@ def backupcontrolpanel(self, use_personal=False):
timestr = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M")
if os.path.islink(self.controlpanel_xml):
if self.verbose:
print("Symlink does not need backup");
print("Symlink does not need backup")
else:
if os.path.exists(self.controlpanel_xml):
newname = "control_panel.xml." + timestr
Expand Down Expand Up @@ -195,7 +186,6 @@ def delete_controlpanel(self, widget):
self.find_controlpanel_files()
print("Deleted: " + filename)


def accept(self, widget):
selected = self.conf_file_combo.get_active_text()
if selected == "conf.xml":
Expand All @@ -221,8 +211,6 @@ def accept(self, widget):
self.update_controlpanel_label()
self.find_controlpanel_files()



def personal_conf(self, widget):
if os.path.exists(self.conf_personal):
print("Your personal conf file already exists!")
Expand All @@ -248,11 +236,10 @@ def personal_controlpanel(self, widget):
self.find_controlpanel_files()

# Constructor Functions

def destroy(self, widget, data=None):
gtk.main_quit()

def __init__(self):
# paparazzi process
self.pp = None

self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Paparazzi Configuration Chooser")

Expand Down Expand Up @@ -307,12 +294,12 @@ def __init__(self):
# Combo Bar

self.conf_label = gtk.Label("Conf:")
self.conf_label.set_size_request(100,30)
self.conf_label.set_size_request(100, 30)

self.conf_file_combo = gtk.combo_box_new_text()
self.find_conf_files()
# self.firmwares_combo.connect("changed", self.parse_list_of_airframes)
self.conf_file_combo.set_size_request(550,30)
# self.firmwares_combo.connect("changed", self.parse_list_of_airframes)
self.conf_file_combo.set_size_request(550, 30)

self.btnDeleteConf = gtk.Button(None, gtk.STOCK_DELETE)
self.btnDeleteConf.connect("clicked", self.delete_conf)
Expand All @@ -329,11 +316,11 @@ def __init__(self):
self.confbar.pack_start(self.btnPersonalConf)
self.my_vbox.pack_start(self.confbar, False)

##### Explain current conf config
# Explain current conf config

self.conf_explain = gtk.Label("");
self.conf_explain = gtk.Label("")
self.update_conf_label()
self.conf_explain.set_size_request(0,45)
self.conf_explain.set_size_request(0, 45)

self.cfexbar = gtk.HBox()
self.cfexbar.pack_start(self.conf_explain)
Expand All @@ -342,13 +329,13 @@ def __init__(self):

# Controlpanel
self.controlpanel_label = gtk.Label("Controlpanel:")
self.controlpanel_label.set_size_request(100,30)
self.controlpanel_label.set_size_request(100, 30)

self.controlpanel_file_combo = gtk.combo_box_new_text()
self.find_controlpanel_files()
self.controlpanel_file_combo.set_size_request(550,30)
self.controlpanel_file_combo.set_size_request(550, 30)

#window
# window

self.btnDeleteControl = gtk.Button(None, gtk.STOCK_DELETE)
self.btnDeleteControl.connect("clicked", self.delete_controlpanel)
Expand All @@ -365,24 +352,23 @@ def __init__(self):
self.controlpanelbar.pack_start(self.btnPersonalControl)
self.my_vbox.pack_start(self.controlpanelbar, False)

# Explain current controlpanel config

##### Explain current controlpanel config

self.controlpanel_explain = gtk.Label("");
self.controlpanel_explain = gtk.Label("")
self.update_controlpanel_label()
self.controlpanel_explain.set_size_request(0,45)
self.controlpanel_explain.set_size_request(0, 45)

self.ctexbar = gtk.HBox()
self.ctexbar.pack_start(self.controlpanel_explain)

self.my_vbox.pack_start(self.ctexbar, False)

### show backups button
# show backups button
self.btnBackups = gtk.CheckButton("show backups")
self.btnBackups.connect("toggled", self.set_backups)
self.my_vbox.pack_start(self.btnBackups, False)

##### Buttons
# Buttons
self.btnAccept = gtk.Button("Set Active")
self.btnAccept.connect("clicked", self.accept)
self.btnAccept.set_tooltip_text("Set selected Conf/Control_Panel as Active")
Expand All @@ -392,31 +378,32 @@ def __init__(self):
self.btnLaunch.set_tooltip_text("Launch Paparazzi with current conf.xml and control_panel.xml")

self.btnExit = gtk.Button("Exit")
self.btnExit.connect("clicked", self.destroy)
self.btnExit.connect("clicked", gtk.main_quit)
self.btnExit.set_tooltip_text("Close application")


self.toolbar = gtk.HBox()
self.toolbar.set_size_request(0,60)
self.toolbar.set_size_request(0, 60)
self.toolbar.pack_start(self.btnLaunch)
self.toolbar.pack_start(self.btnAccept)
self.toolbar.pack_start(self.btnExit)

self.my_vbox.pack_start(self.toolbar, False)

##### Bottom
# Bottom

self.window.add(self.my_vbox)
self.window.show_all()
self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self.window.connect("destroy", self.destroy)
self.window.connect("destroy", gtk.main_quit)

def main(self):
gtk.main()
if self.pp:
self.pp.wait()

if __name__ == "__main__":
import sys
if (len(sys.argv) > 1):
if len(sys.argv) > 1:
airframe_file = sys.argv[1]
gui = ConfChooser()
gui.main()
Loading

0 comments on commit a54ebcf

Please sign in to comment.