当前位置: 首页 > article >正文

自定义mavlink 生成wireshark wlua插件错误(已解决)

进入正题

python3 -m pymavlink.tools.mavgen --lang=WLua --wire-protocol=2.0 --output=output/develop message_definitions/v1.0/development.xml
编译WLUA的时候遇到一些问题

1.ERROR:SCHEMASV:SCHEMAV_CVC_ENUMERATION_VALID

3765:0:ERROR:SCHEMASV:SCHEMAV_CVC_ENUMERATION_VALID: Element 'param', attribute 'units': [facet 'enumeration'] 
The value 'bool' is not an element of the set {'s', 'ds', 'cs', 'ms', 'us', 'ns', 'Hz', 'MHz', 'km', 'dam', 'm', 'm/s', 'm/s/s', 'm/s*5', 'dm', 'dm/s', 'cm', 'cm^2', 'cm/s', 'mm', 'mm/s', 'mm/h', 'K', 'degC', 'cdegC', 'rad', 'rad/s', 'mrad/s', 'deg', 'deg/2', 'deg/s', 'cdeg', 'cdeg/s', 'degE5', 'degE7', 'rpm', 'V', 'cV', 'mV', 'A', 'cA', 'mA', 'mAh', 'Ah', 'mT', 'gauss', 'mgauss', 'hJ', 'W', 'mG', 'g', 'kg', 'Pa', 'hPa', 'kPa', 'mbar', '%', 'd%', 'c%', 'dB', 'dBm', 'KiB', 'KiB/s', 'MiB', 'MiB/s', 'bytes', 'bytes/s', 'bits/s', 'pix', 'dpix', 'g/min', 'cm^3/min', 'cm^3', 'l'}.

原因:units缺乏自定义的元素
解决方法:修改 mavlink\pymavlink\generator\mavschema.xsd 追加自定义的元素在 <xs:simpleType name="SI_Unit"> 下面

#比如添加bool元素
<xs:simpleType name="SI_Unit">
  <xs:restriction base="xs:string">
    <!-- switch -->
    <xs:enumeration value="bool"/>        <!-- on/off --> #这行是新增的
  </xs:restriction>
</xs:simpleType>

2.AttributeError: ‘NoneType’ object has no attribute ‘bitmask’

mavlink\pymavlink\generator\mavgen_wlua.py", line 162, in generate_field_or_param
    if not enum_obj.bitmask:
           ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'bitmask'

原因:自定义的common.xml里面 LED_MASK 枚举被改动了,相当于没有进行声明
解决办法:LED_MASK 替换成 EXTERNAL_LED_MASK(这里需要根据自己情况修改,若没有声明就新增)


http://www.kler.cn/a/598078.html

相关文章:

  • HTTP长连接与短连接的前世今生
  • 2025年01月02日浙江鼎永前端面试
  • 大模型RLHF训练-PPO算法详解:Proximal Policy Optimization Algorithms
  • Linux shell脚本2-test条件测试语句:文件类型、字符串是否相等、数字大小比较、多重条件判断,测试语句验证
  • Xss Game1-8关通关
  • IM 基于 WebRtc 视频通信功能
  • Mongodb分片模式部署
  • CATIA二次开发:基于牛顿迭代法的参数化衰减球体生成系统
  • 【Flask公网部署】采用Nginx+gunicorn解决Flask框架静态资源无法加载的问题
  • ECMAScript、DOM和BOM是个啥(通俗地来讲)
  • Netty——NIO 空轮询 bug
  • Redis + 布隆过滤器解决缓存穿透问题
  • Kafka-1
  • Redis、Memcached应用场景对比
  • 字节DAPO算法:改进DeepSeek的GRPO算法-解锁大规模LLM强化学习的新篇章(代码实现)
  • 数据结构 -- 线索二叉树
  • 针对永磁电机(PMM)的d轴和q轴电流,考虑交叉耦合补偿,设计P1控制器并推导出相应的传递函数
  • 2025.3.17-2025.3.23学习周报
  • 银河麒麟桌面版包管理器(一)
  • vue3 UnwrapRef 与 unref的区别