dronecan / dronecan_dsdlc

Other
6 stars 29 forks source link

doesn’t work #32

Open karu2003 opened 1 week ago

karu2003 commented 1 week ago

if you take an example from your repository https://github.com/dronecan/DSDL, it doesn’t work.

python dronecan_dsdlc/dronecan_dsdlc.py -O DSDL_C DSDL/ardupilot/

Internal error Traceback (most recent call last): File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 724, in parse return self.parse_source(filename, source_text) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 716, in parse_source raise ex File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 680, in parse_source raise ex File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 667, in parse_source attr = self._parse_line(filename, tokens) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 620, in _parse_line attrtype = self._parse_type(filename, typename, cast_mode) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 582, in _parse_type return self._parse_compound_type(filename, typedef) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 552, in _parse_compound_type definition_filename = self._locate_compound_type_definition(filename, typedef) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 479, in _locate_compound_type_definition directories = locate_namespace_directories(namespace) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 470, in locate_namespace_directories error('Unknown namespace [%s]', ns) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 733, in error raise DsdlException(fmt % args) dronecan.dsdl.common.DsdlException: DSDL/ardupilot/gnss/20006.RelPosHeading.uavcan:2: Unknown namespace [uavcan] Traceback (most recent call last): File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 724, in parse return self.parse_source(filename, source_text) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 716, in parse_source raise ex File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 680, in parse_source raise ex File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 667, in parse_source attr = self._parse_line(filename, tokens) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 620, in _parse_line attrtype = self._parse_type(filename, typename, cast_mode) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 582, in _parse_type return self._parse_compound_type(filename, typedef) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 552, in _parse_compound_type definition_filename = self._locate_compound_type_definition(filename, typedef) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 479, in _locate_compound_type_definition directories = locate_namespace_directories(namespace) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 470, in locate_namespace_directories error('Unknown namespace [%s]', ns) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 733, in error raise DsdlException(fmt % args) dronecan.dsdl.common.DsdlException: DSDL/ardupilot/gnss/20006.RelPosHeading.uavcan:2: Unknown namespace [uavcan]

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/andrew/dronecan/dronecan_dsdlc/dronecan_dsdlc.py", line 81, in messages = dronecan.dsdl.parse_namespaces(namespace_paths) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 885, in parse_namespaces t = parser.parse(filename) File "/home/andrew/.local/lib/python3.10/site-packages/dronecan/dsdl/parser.py", line 729, in parse raise DsdlException('Internal error: %s' % str(ex), file=filename) dronecan.dsdl.common.DsdlException: DSDL/ardupilot/gnss/20006.RelPosHeading.uavcan: Internal error: DSDL/ardupilot/gnss/20006.RelPosHeading.uavcan:2: Unknown namespace [uavcan]

tpwrules commented 1 day ago

You have to use the command python dronecan_dsdlc/dronecan_dsdlc.py -O DSDL_C DSDL/