Browse Source

make parameter parser work with python3

sbg
Thomas Gubler 10 years ago committed by Lorenz Meier
parent
commit
07f6165290
  1. 10
      Tools/px4params/srcparser.py
  2. 3
      Tools/px4params/xmlout.py
  3. 2
      makefiles/firmware.mk

10
Tools/px4params/srcparser.py

@ -57,10 +57,10 @@ class Parameter(object): @@ -57,10 +57,10 @@ class Parameter(object):
def GetType(self):
return self.type
def GetDefault(self):
return self.default
def SetField(self, code, value):
"""
Set named field value
@ -80,6 +80,10 @@ class Parameter(object): @@ -80,6 +80,10 @@ class Parameter(object):
"""
Return value of the given field code or None if not found.
"""
fv = self.fields.get(code)
if not fv:
# required because python 3 sorted does not accept None
return ""
return self.fields.get(code)
class SourceParser(object):
@ -89,7 +93,7 @@ class SourceParser(object): @@ -89,7 +93,7 @@ class SourceParser(object):
re_split_lines = re.compile(r'[\r\n]+')
re_comment_start = re.compile(r'^\/\*\*')
re_comment_content = re.compile(r'^\*\s*(.*)')
re_comment_content = re.compile(r'^\*\s*(.*)')
re_comment_tag = re.compile(r'@([a-zA-Z][a-zA-Z0-9_]*)\s*(.*)')
re_comment_end = re.compile(r'(.*?)\s*\*\/')
re_parameter_definition = re.compile(r'PARAM_DEFINE_([A-Z_][A-Z0-9_]*)\s*\(([A-Z_][A-Z0-9_]*)\s*,\s*([^ ,\)]+)\s*\)\s*;')

3
Tools/px4params/xmlout.py

@ -52,5 +52,4 @@ class XMLOutput(): @@ -52,5 +52,4 @@ class XMLOutput():
self.xml_document = ET.ElementTree(xml_parameters)
def Save(self, filename):
with codecs.open(filename, 'w', 'utf-8') as f:
self.xml_document.write(f)
self.xml_document.write(filename, encoding="UTF-8")

2
makefiles/firmware.mk

@ -494,7 +494,7 @@ $(filter %.S.o,$(OBJS)): $(WORK_DIR)%.S.o: %.S $(GLOBAL_DEPS) @@ -494,7 +494,7 @@ $(filter %.S.o,$(OBJS)): $(WORK_DIR)%.S.o: %.S $(GLOBAL_DEPS)
$(PRODUCT_BUNDLE): $(PRODUCT_BIN)
@$(ECHO) %% Generating $@
ifdef GEN_PARAM_XML
python $(PX4_BASE)/Tools/px_process_params.py --src-path $(PX4_BASE)/src --board CONFIG_ARCH_BOARD_$(CONFIG_BOARD) --xml
$(Q) $(PYTHON) $(PX4_BASE)/Tools/px_process_params.py --src-path $(PX4_BASE)/src --board CONFIG_ARCH_BOARD_$(CONFIG_BOARD) --xml
$(Q) $(MKFW) --prototype $(IMAGE_DIR)/$(BOARD).prototype \
--git_identity $(PX4_BASE) \
--parameter_xml $(PRODUCT_PARAMXML) \

Loading…
Cancel
Save