From d32d3226580baf52f60fb7dee3921d8cc9aab67c Mon Sep 17 00:00:00 2001 From: Petteri Aimonen Date: Mon, 14 Jan 2013 17:30:49 +0200 Subject: Add field type FT_IGNORE to generator. This allows ignoring fields that are unnecessary or too large for an embedded system using nanopb, while allowing them to remain in the .proto for other platforms. Update issue 51 Status: FixedInGit --- generator/nanopb_generator.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'generator/nanopb_generator.py') diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py index a583b3f..9e85a11 100644 --- a/generator/nanopb_generator.py +++ b/generator/nanopb_generator.py @@ -306,7 +306,13 @@ class Field: class Message: def __init__(self, names, desc, message_options): self.name = names - self.fields = [Field(self.name, f, get_nanopb_suboptions(f, message_options)) for f in desc.field] + self.fields = [] + + for f in desc.field: + field_options = get_nanopb_suboptions(f, message_options) + if field_options.type != nanopb_pb2.FT_IGNORE: + self.fields.append(Field(self.name, f, field_options)) + self.packed = message_options.packed_struct self.ordered_fields = self.fields[:] self.ordered_fields.sort() -- cgit 1.2.3-korg