This is my failure log for creating custom mavlink message in px4
I was trying to create a module “z_estimator” dedicated for estimating earth fixed height estimator for accurate altitude hold control.
To do so, I need to create a custom mavlink message for data transmission between modules such as mc_pos_control.
So I type edited common.xml under /px4/mavlink/include/mavlink/v2.0/message_definitions/ with followings
<message id="240" name="Z_ESTIMATE"> <field type="uint64_t" name="time_usec" units="us">Timestamp</field> <field type="float" name="z">Estimated z in earth NED</field> <field type="float" name="vz">Estimated vz in earth NED</field> <field type="float" name="ref_alt">Reference altitude in earth NED</field> <field type="float" name="dist_bottom">Distance from bottom</field> </message>
Then I git cloned mavlink generator from GitHub - mavlink/mavlink: Marshalling / communication library for drones.
and copied the common.xml to the generator folder.
Run mavlink generator by entering $ python mavgenerate.py
and picked as follows
Copied newly generated *.h files under /output/common to /px4/mavlink/include/mavlink/v2.0/common folder and *.h files under /output to /px4/mavlink/include/mavlink/v2.0/ folder
in px4 firmware I did
$ make clean
$ make px4fmu-v2_default
and got following errors
…/…/mavlink/include/mavlink/v2.0/standard/standard.h:59:0: error: “MAVLINK_MESSAGE_INFO” redefined [-Werror]
So I commented out above relate file and rebuild.
Then I uploaded fw to the board however QGC cannot detect the board anymore.
I am still investigating in which part did I miss something during the process.