mavlink/mavlink — pull request #128 by johnboiles (2013-07-17 09:07:45+00:00)
Title: Adding optional enum attribute to fields that represent an enum

This change does two things:

**First** the change to `mavgen_c.py` allows users of the generated C code to use the enum as the type. For example, currently, a function to set the base mode might look like this:

void set_base_mode(uint8_t base_mode);

With this change, you can instead use the `MAV_MODE` enum directly as the type.

void set_base_mode(MAV_MODE base_mode);

This makes the values that you should pass in as a base mode more explicit. It also helps modern development environments autocomplete the values in the MAV_MODE enum.

**Second** the change to the xml schema and mavparse.py allows generators to use the enum in their generated code. For example, a template could contain code that generates functions similar to the above:

${{fields:void set_${name}(${enum} ${name})}}