added type_override option, and its handling to generator
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index 79e05e9..dea2f29 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -417,6 +417,9 @@
         else:
             raise NotImplementedError(field_options.type)
 
+        if field_options.HasField("type_override"):
+            desc.type = field_options.type_override
+
         # Decide the C data type to use in the struct.
         if desc.type in datatypes:
             self.ctype, self.pbtype, self.enc_size, self.data_item_size = datatypes[desc.type]
diff --git a/generator/proto/nanopb.proto b/generator/proto/nanopb.proto
index f0f4a1a..6a3c620 100644
--- a/generator/proto/nanopb.proto
+++ b/generator/proto/nanopb.proto
@@ -138,6 +138,9 @@
 
   // Package name that applies only for nanopb.
   optional string package = 25;
+  
+  // Override type of the field in generated C code. Only to be used with related field types
+  optional google.protobuf.FieldDescriptorProto.Type type_override = 27;
 }
 
 // Extensions to protoc 'Descriptor' type in order to define options