mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-20 19:36:19 +08:00
[python] style, partial python3 compat
- pep8: 4 spaces - use 'in' instead of has_key for checking dicts - some fixes for settingsapp
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import, print_function
|
||||
|
||||
import messages_xml_map
|
||||
from ivy.std_api import *
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import, print_function
|
||||
|
||||
import os
|
||||
import sys
|
||||
@@ -42,14 +42,14 @@ def ParseMessages():
|
||||
tree = etree.parse( messages_path)
|
||||
for the_class in tree.xpath("//class[@name]"):
|
||||
class_name = the_class.attrib['name']
|
||||
if not message_dictionary.has_key(class_name):
|
||||
if class_name not in message_dictionary:
|
||||
message_dictionary_id_name[class_name] = {}
|
||||
message_dictionary_name_id[class_name] = {}
|
||||
message_dictionary[class_name] = {}
|
||||
message_dictionary_types[class_name] = {}
|
||||
for the_message in the_class.xpath("message[@name]"):
|
||||
message_name = the_message.attrib['name']
|
||||
if the_message.attrib.has_key('id'):
|
||||
if 'id' in the_message.attrib:
|
||||
message_id = the_message.attrib['id']
|
||||
else:
|
||||
message_id = the_message.attrib['ID']
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import, print_function
|
||||
|
||||
from ivy.std_api import *
|
||||
import os
|
||||
@@ -29,6 +29,9 @@ class IvySettingsInterface(PaparazziACSettings):
|
||||
setting_index = int(message_values[1])
|
||||
setting_value = message_values[2]
|
||||
|
||||
if _SHOW_IVY_MSGS_:
|
||||
print("Got setting with index: %s value %s " % (setting_index, setting_value))
|
||||
|
||||
# Store value from message
|
||||
self.lookup[setting_index].value = setting_value
|
||||
|
||||
@@ -36,20 +39,17 @@ class IvySettingsInterface(PaparazziACSettings):
|
||||
if self.update_callback != None:
|
||||
self.update_callback(setting_index, setting_value, fromRemote)
|
||||
|
||||
if _SHOW_IVY_MSGS_:
|
||||
print("index: %s value %s " % (setting_index, setting_value))
|
||||
|
||||
# Called for DL_VALUE (from aircraft)
|
||||
def OnValueMsg(self, agent, *larg):
|
||||
# Extract field values
|
||||
message_values = larg[0].split(' ')
|
||||
message_values = filter(None, larg[0].split(' '))
|
||||
message_values = message_values[0:1] + message_values[2:]
|
||||
self.ProcessMessage(message_values, True)
|
||||
|
||||
# Called for DL_SETTING (from ground)
|
||||
def OnSettingMsg(self, agent, *larg):
|
||||
# Extract field values
|
||||
message_values = larg[0].split(' ')
|
||||
message_values = filter(None, larg[0].split(' '))
|
||||
self.ProcessMessage(message_values, False)
|
||||
|
||||
def RegisterCallback(self, callback_function):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import, print_function
|
||||
|
||||
import os
|
||||
import sys
|
||||
@@ -19,7 +19,8 @@ class PaparazziACSettings:
|
||||
def __init__(self, ac_id):
|
||||
self.ac_id = ac_id
|
||||
paparazzi_home = os.getenv("PAPARAZZI_HOME")
|
||||
conf_xml_path = "%s/conf/conf.xml" % paparazzi_home
|
||||
paparazzi_conf = os.path.join(paparazzi_home, 'conf')
|
||||
conf_xml_path = os.path.join(paparazzi_conf, 'conf.xml')
|
||||
conf_tree = etree.parse(conf_xml_path)
|
||||
# extract aircraft node from conf.xml file
|
||||
ac_node = conf_tree.xpath('/conf/aircraft[@ac_id=%i]' % ac_id)
|
||||
@@ -27,56 +28,78 @@ class PaparazziACSettings:
|
||||
print("Aircraft ID %i not found." % ac_id)
|
||||
|
||||
# get settings file path from aircraft xml node
|
||||
settings_xml_path = "%s/conf/%s" % (paparazzi_home, ac_node[0].attrib['settings'])
|
||||
settings_xml_files = filter(None, ac_node[0].attrib['settings'].split(' '))
|
||||
settings_xml_paths = [os.path.join(paparazzi_conf, s) for s in settings_xml_files]
|
||||
#print("settings_xml_paths: %s" % settings_xml_paths)
|
||||
|
||||
# save AC name for reference
|
||||
self.name = ac_node[0].attrib['name']
|
||||
|
||||
tree = etree.parse(settings_xml_path)
|
||||
|
||||
index = 0 # keep track of index/id of setting starting at 0
|
||||
for the_tab in tree.xpath("//dl_settings"):
|
||||
if the_tab.attrib.has_key('NAME'):
|
||||
setting_group = PaparazziSettingsGroup(the_tab.attrib['NAME'])
|
||||
elif the_tab.attrib.has_key('NAME'):
|
||||
setting_group = PaparazziSettingsGroup(the_tab.attrib['name'])
|
||||
else:
|
||||
continue
|
||||
for settings_file in settings_xml_paths:
|
||||
#print("parsing settings file", settings_file)
|
||||
tree = etree.parse(settings_file)
|
||||
|
||||
for the_setting in the_tab.xpath('dl_setting'):
|
||||
if the_setting.attrib.has_key('shortname'):
|
||||
name = the_setting.attrib['shortname']
|
||||
elif the_setting.attrib.has_key('VAR'):
|
||||
name = the_setting.attrib['VAR']
|
||||
else:
|
||||
name = the_setting.attrib['var']
|
||||
settings = PaparazziSetting(name)
|
||||
settings.index = index
|
||||
if the_setting.attrib.has_key('MIN'):
|
||||
settings.min_value = float(the_setting.attrib['MIN'])
|
||||
else:
|
||||
settings.min_value = float(the_setting.attrib['min'])
|
||||
if the_setting.attrib.has_key('MAX'):
|
||||
settings.max_value = float(the_setting.attrib['MAX'])
|
||||
else:
|
||||
settings.max_value = float(the_setting.attrib['max'])
|
||||
if the_setting.attrib.has_key('STEP'):
|
||||
settings.step = float(the_setting.attrib['STEP'])
|
||||
else:
|
||||
settings.step = float(the_setting.attrib['step'])
|
||||
for the_tab in tree.xpath("//dl_settings"):
|
||||
try:
|
||||
if 'NAME' in the_tab.attrib:
|
||||
setting_group_name = the_tab.attrib['NAME']
|
||||
else:
|
||||
setting_group_name = the_tab.attrib['name']
|
||||
except:
|
||||
#print("Could not read name of settings group")
|
||||
continue
|
||||
|
||||
if (the_setting.attrib.has_key('values')):
|
||||
settings.values = the_setting.attrib['values'].split('|')
|
||||
count = int((settings.max_value - settings.min_value + settings.step) / settings.step)
|
||||
if (len(settings.values) != count):
|
||||
print("Warning: wrong number of values (%i) for %s (expected %i)" % (len(settings.values), name, count))
|
||||
#print("parsing setting group:", setting_group_name)
|
||||
setting_group = PaparazziSettingsGroup(setting_group_name)
|
||||
|
||||
setting_group.member_list.append(settings)
|
||||
self.lookup.append(settings)
|
||||
self.name_lookup[name] = settings
|
||||
index = index + 1
|
||||
for the_setting in the_tab.xpath('dl_setting'):
|
||||
try:
|
||||
if 'shortname' in the_setting.attrib:
|
||||
name = the_setting.attrib['shortname']
|
||||
elif 'VAR' in the_setting.attrib:
|
||||
name = the_setting.attrib['VAR']
|
||||
else:
|
||||
name = the_setting.attrib['var']
|
||||
except:
|
||||
print("Could not get name for setting in group", setting_group)
|
||||
continue
|
||||
|
||||
self.groups.append(setting_group)
|
||||
settings = PaparazziSetting(name)
|
||||
settings.index = index
|
||||
print("add setting with index", index)
|
||||
|
||||
try:
|
||||
if 'MIN' in the_setting.attrib:
|
||||
settings.min_value = float(the_setting.attrib['MIN'])
|
||||
else:
|
||||
settings.min_value = float(the_setting.attrib['min'])
|
||||
|
||||
if 'MAX' in the_setting.attrib:
|
||||
settings.max_value = float(the_setting.attrib['MAX'])
|
||||
else:
|
||||
settings.max_value = float(the_setting.attrib['max'])
|
||||
|
||||
if 'STEP' in the_setting.attrib:
|
||||
settings.step = float(the_setting.attrib['STEP'])
|
||||
else:
|
||||
settings.step = float(the_setting.attrib['step'])
|
||||
except:
|
||||
print("Could not get min/max/step for setting", name)
|
||||
continue
|
||||
|
||||
if 'values' in the_setting.attrib:
|
||||
settings.values = the_setting.attrib['values'].split('|')
|
||||
count = int((settings.max_value - settings.min_value + settings.step) / settings.step)
|
||||
if (len(settings.values) != count):
|
||||
print("Warning: possibly wrong number of values (%i) for %s (expected %i)" % (len(settings.values), name, count))
|
||||
|
||||
setting_group.member_list.append(settings)
|
||||
self.lookup.append(settings)
|
||||
self.name_lookup[name] = settings
|
||||
index = index + 1
|
||||
|
||||
self.groups.append(setting_group)
|
||||
|
||||
def GetACName(self):
|
||||
return self.name
|
||||
|
||||
Reference in New Issue
Block a user