ArduPilot / ArduPilot/APWeb

pymavlink 2.3.4 breaks APWeb

Open
#16 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
42
Forks
42
PR merge metrics
No merged PRs in 30d

Description

On pymavlink 2.3.4, I am unable to compile APWeb from source. I get the error message:

```
mavgen.py --lang C modules/mavlink/message_definitions/v1.0/ardupilotmega.xml -o generated/mavlink --wire-protocol=2.0
Validating modules/mavlink/message_definitions/v1.0/ardupilotmega.xml
Parsing modules/mavlink/message_definitions/v1.0/ardupilotmega.xml
Note: message DATA64 is longer than 64 bytes long (74 bytes), which can cause fragmentation since many radio modems use 64 bytes as maximum air transfer unit.
Note: message DATA96 is longer than 64 bytes long (106 bytes), which can cause fragmentation since many radio modems use 64 bytes as maximum air transfer unit.
Note: message REMOTE_LOG_DATA_BLOCK is longer than 64 bytes long (214 bytes), which can cause fragmentation since many radio modems use 64 bytes as maximum air transfer unit.
Note: message DEVICE_OP_READ_REPLY is longer than 64 bytes long (143 bytes), which can cause fragmentation since many radio modems use 64 bytes as maximum air transfer unit.
Note: message DEVICE_OP_WRITE is longer than 64 bytes long (187 bytes), which can cause fragmentation since many radio modems use 64 bytes as maximum air transfer unit.
Validating modules/mavlink/message_definitions/v1.0/common.xml
ERROR: /home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3207:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
/home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3216:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
/home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3225:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
/home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3231:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
/home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3528:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
/home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3537:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
/home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3541:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
/home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3720:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
/home/nic/original-projects/newAPWeb/APWeb/modules/mavlink/message_definitions/v1.0/common.xml:3873:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'field': This element is not expected. Expected is one of ( deprecated, wip, description ).
Makefile:15: recipe for target 'generated/mavlink/ardupilotmega/mavlink.h' failed
make: *** [generated/mavlink/ardupilotmega/mavlink.h] Error 1
```

I have temporarily fixed my APWeb build by downgrading pymavlink to 2.2.10. Still, it's important that APWeb should be compatible with newer versions of pymavlink.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Makefile target that runs `mavgen.py`, then inspect the reported field locations in `modules/mavlink/message_definitions/v1.0/common.xml` and the referenced `ardupilotmega.xml`. Reproduce the failure with pymavlink 2.3.4 and compare it with 2.2.10; done means APWeb compiles successfully with the newer version.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.