Merge pull request #803 from computer-whisperer/enum_msgtype

Generate MSGTYPE definitions for UENUM fields
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index 0bec974..77036b2 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -1437,6 +1437,21 @@
                         Globals.naming_style.type_name(field.ctype)
                     )
 
+            if field.pbtype in ['ENUM', "UENUM"]:
+                if field.rules == 'ONEOF':
+                    result += "#define %s_%s_%s_ENUMTYPE %s\n" % (
+                        Globals.naming_style.type_name(self.name),
+                        Globals.naming_style.var_name(field.union_name),
+                        Globals.naming_style.var_name(field.name),
+                        Globals.naming_style.type_name(field.ctype)
+                    )
+                else:
+                    result += "#define %s_%s_ENUMTYPE %s\n" % (
+                        Globals.naming_style.type_name(self.name),
+                        Globals.naming_style.var_name(field.name),
+                        Globals.naming_style.type_name(field.ctype)
+                    )
+
         return result
 
     def fields_declaration_cpp_lookup(self):