summaryrefslogtreecommitdiffstats
path: root/generator/nanopb_generator.py
AgeCommit message (Collapse)AuthorFilesLines
2014-04-01Fix compile error when default value given for extension field.Petteri Aimonen1-0/+2
Update issue 111 Status: FixedInGit
2014-03-15Get rid of pb_bytes_ptr_t, just allocate pb_bytes_array_t dynamically.Petteri Aimonen1-3/+3
This makes the internal logic much simpler, and also keeps the datatypes more similar between STATIC/POINTER cases. It will still be a bit cumbersome to use because of variable length array member. Macros PB_BYTES_ARRAY_T(n) and PB_BYTES_ARRAY_T_ALLOCSIZE(n) have been added to make life a bit easier. This has the drawback that it is no longer as easy to use externally allocated byte array as input for bytes field in pointer mode. However, this is still easy to do using callbacks, so it shouldn't be a large issue.
2014-02-15Setting version to 0.2.7-devPetteri Aimonen1-1/+1
2014-02-15Publishing nanopb-0.2.6Petteri Aimonen1-1/+1
2014-02-12Move descriptor.proto to google/protobuf directory where it belongs.Petteri Aimonen1-2/+2
This fixes some interoperability problems when trying to compile nanopb.proto for e.g. the Google's C++ library. Update issue 104 Status: FixedInGit
2014-02-12Improve status/error reporting in generator.Petteri Aimonen1-11/+19
Update issue 105 Status: FixedInGit
2014-02-04Add coments to places where STATIC_ASSERT is used.Petteri Aimonen1-10/+24
Update issue 96 Status: FixedInGit
2014-02-04Add proper suffixes for integer default values.Petteri Aimonen1-0/+6
Update issue 102 Status: FixedInGit
2014-01-03Fix problem with callback-type fields (issue #99).Petteri Aimonen1-0/+1
2014-01-01Setting version to 0.2.6-devPetteri Aimonen1-1/+1
2014-01-01Publishing nanopb-0.2.5Petteri Aimonen1-1/+1
2013-12-29Fixes for pyinstallerPetteri Aimonen1-0/+7
2013-12-29Make generator print errors to stderr.Petteri Aimonen1-12/+14
Otherwise they won't be visible when run as a protoc plugin.
2013-12-29Rework the Makefiles to be compatible with binary packages.Petteri Aimonen1-5/+12
2013-12-29Add build script for windows packagePetteri Aimonen1-13/+10
2013-12-29Move the generator .proto files to a subdir, and get rid of precompiled ↵Petteri Aimonen1-2/+2
versions.
2013-12-29Organize allocation logic in generator, add pb_bytes_ptr_t.Petteri Aimonen1-45/+42
Allocation decision is now made before the field data type is decided. This way the data type decisions can more cleanly account for the allocation type, i.e. FT_DEFAULT logic etc. Added pb_bytes_ptr_t for pointer-allocated bytes-fields. There is no point generating separate structs for these, as they would all be of the same type.
2013-12-29Generating and encoding messages with dynamic allocaitonMartin Donath1-18/+44
2013-12-22Negative int32 values take 10 bytes now.Petteri Aimonen1-1/+1
2013-11-07Setting version to 0.2.5-devPetteri Aimonen1-1/+1
2013-11-07Publishing nanopb-0.2.4Petteri Aimonen1-1/+1
2013-11-02Generate #define tags for extension fields also.Petteri Aimonen1-0/+7
Update issue 93 Status: FixedInGit
2013-10-24Same fix for EncodedSize.__mul__Petteri Aimonen1-1/+1
2013-10-24Handle also longs in EncodedSizePetteri Aimonen1-1/+1
2013-10-23Fix the size of length prefix for messages in other files.Petteri Aimonen1-0/+5
2013-10-23Generate message size #defines also for messages defined in multiple files.Petteri Aimonen1-8/+50
Add testcase for the same.
2013-09-26Add #defines for the maximum encoded message size.Petteri Aimonen1-16/+95
Update issue 89 Status: FixedInGit
2013-09-18Setting version to 0.2.4-devPetteri Aimonen1-1/+1
2013-09-18Publishing nanopb-0.2.3Petteri Aimonen1-1/+1
2013-09-13Fine-tune the naming of new macros before merging into master.Petteri Aimonen1-1/+1
Requires re-generation of files generated with dev_get_rid_of_ternary_operator.
2013-09-11Get rid of the ternary operator in the pb_field_t initialization.Petteri Aimonen1-1/+2
Some compilers where unable to detect that the ternary operator can be evaluated at the compile time. This commit does the evaluation on the Python side, which should fix the problem. The new .pb.c files are generated using PB_FIELD2() macro. The old PB_FIELD() macro remains, so that previously generated files keep working.
2013-09-08Add support for running the nanopb generator as protoc plugin.Petteri Aimonen1-55/+110
Will be used to implement issue 47. For now, symlink nanopb_generator.py as protoc-gen-nanopb and use protoc --nanopb_out=. to call it.
2013-09-08Handle unsupported extension field types more gracefully.Petteri Aimonen1-5/+14
Previously the generator would stop with NotImplementedException as soon as a required or repeated extension field is found. New behaviour is to just ignore the unsupported field and note that in a comment in the generated file. Furthermore, allow skipping of extension fields using the generator option (nanopb).type = FT_IGNORE. Update issue 83 Status: FixedInGit
2013-08-18Setting version to 0.2.3-devPetteri Aimonen1-1/+1
2013-08-18Publishing nanopb-0.2.2Petteri Aimonen1-1/+1
2013-07-22Fix bugs in extension support when multiple extension fields are present.Petteri Aimonen1-3/+6
2013-07-17Extension support implemented for decoder.Petteri Aimonen1-4/+13
Testing is still needed. Also only 'optional' extension fields are supported now, 'repeated' fields are not yet supported.
2013-07-17Implement generator support for extension fields (no encoder/decoder support ↵Petteri Aimonen1-12/+85
yet)
2013-06-03Include the field tags in the generated .pb.h file.Petteri Aimonen1-0/+11
Patch from Michael Haberler.
2013-04-14Setting version to 0.2.2-devPetteri Aimonen1-1/+1
2013-04-14Publishing nanopb-0.2.1Petteri Aimonen1-1/+1
2013-04-02Do not generate has_ fields for callback fields.Petteri Aimonen1-1/+1
The arg field can be used to store the field presence from inside the callback. Furthermore, having the has_ field for encoding callbacks would be more annoying than useful. Update issue 70 Status: FixedInGit
2013-03-13Add support for packed structures on IAR and MSVC.Petteri Aimonen1-0/+5
Update issue 66 Status: FixedInGit
2013-03-09Make the generator options accept a file name in addition to format string.Petteri Aimonen1-2/+10
2013-03-09Add simple support for separate options file.Petteri Aimonen1-33/+81
Update issue 12 Still needs documentation.
2013-03-06Add a dummy field if struct would otherwise be empty.Petteri Aimonen1-0/+6
Update issue 64 Status: FixedInGit
2013-03-04Add generator option to configure #include directives.Petteri Aimonen1-5/+14
This suits complex projects, where there are multiple interdependent .proto files in various directories. Patch by Michael Haberler.
2013-03-02Setting version to 0.2.1-devPetteri Aimonen1-1/+1
2013-03-02Publishing nanopb-0.2.0Petteri Aimonen1-1/+1
2013-02-28Add --extension option to generator.Petteri Aimonen1-5/+7
Patch courtesy of Michael Haberler.