summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2013-02-06Improve the pb_decode_varint implementations.Petteri Aimonen1-18/+40
Results for ARM: -4% execution time, +1% code size
2013-02-06Avoid unnecessary looping in required fields check.Petteri Aimonen1-7/+26
Results for ARM: -6% execution time, -1% code size
2013-02-06Add compile-time option PB_BUFFER_ONLY.Petteri Aimonen6-3/+60
This allows slight optimizations if only memory buffer support (as opposed to stream callbacks) is wanted. On ARM difference is -12% execution time, -4% code size when enabled.
2013-02-05Make pb_decode_varint32 a separate implementation.Petteri Aimonen1-4/+14
This avoids doing 64-bit arithmetic for 32-bit varint decodings. It does increase the code size somewhat. Results for ARM Cortex-M3: -10% execution time, +1% code size, -2% ram usage.
2013-02-05Performance improvement: replace memcpy with loop.Petteri Aimonen2-3/+9
In the pb_istream_from_buffer and pb_ostream_from_buffer, memcpy was used to transfer values to the buffer. For the common case of count = 1-10 bytes, a simple loop is faster.
2013-02-05Add Java package name to nanopb.proto.Petteri Aimonen1-0/+2
This fixes problems when interoperating with Java. Fix suggested by trepidacious: https://groups.google.com/forum/#!topic/nanopb/hZgrj6h9OnY
2013-01-29Add an example of handling doubles on AVR platform.Petteri Aimonen8-0/+320
2013-01-21Fix misleading comment (current generator sets LTYPE always).Petteri Aimonen1-2/+2
2013-01-16Oops, typoed #ifdef; again fixing previous commit.Petteri Aimonen1-1/+1
2013-01-16Put previous commit (issue 52) inside #ifndefPetteri Aimonen1-0/+3
2013-01-16Fix bug with error messages.Petteri Aimonen1-0/+1
Update issue 52 Status: FixedInGit
2013-01-14Add field type FT_IGNORE to generator.Petteri Aimonen4-3/+24
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
2013-01-13Add a test for the backwards compatibility of generated files.Petteri Aimonen5-1/+814
It is not necessary to maintain full compatibility of generated files for all of eternity, but this test will warn us if there is a need to regenerate the files.
2013-01-10Add generator option for packed structs.Petteri Aimonen5-6/+31
Usage is: message Foo { option (nanopb_msgopt).packed_struct = true; ... } Valid also in file scope. Update issue 49 Status: FixedInGit
2013-01-10Cleanup: get rid of unnecessary spacesPetteri Aimonen1-6/+6
2012-12-13Setting version to 0.1.9-devPetteri Aimonen2-2/+2
2012-12-13Publishing nanopb-0.1.8Petteri Aimonen3-2/+8
2012-12-06Fix small error in field callback documentation.Petteri Aimonen1-1/+1
Update issue 44 Status: FixedInGit
2012-11-27Complete initialization of pb_istream_t.Jens Steinhauser1-0/+3
Because PB_RETURN_ERROR checks if the 'errmsg' member is NULL before assigning to it, error messages would get lost.
2012-11-16Use TESTS variable to define dependencies for run_unittestsSteffen Siering1-6/+11
2012-11-16Select compilation options based on $(CC) in tests/Makefile.Petteri Aimonen1-3/+11
Makes 'make CC=clang' work. Based on patch submitted by Steffen Siering. Update issue 40: Status: FixedInGit
2012-11-16Rename test_compiles.c to test_multiple_files.cPetteri Aimonen3-4/+6
2012-11-16Fix STATIC_ASSERT macro when using multiple .proto files.Steffen Siering5-5/+36
The __COUNTER__ macro (used for generating unique names) is at least supported by gcc, clang and Visual Studio. With this change test_compiles.c is compilable, since no more typedefs are redefined. Compilers/Preprocessors not supporting __COUNTER__ error's are still possible which are hopfully handled by the usage of __LINE__ in most sittuations. Added unit test for the problem.
2012-11-14Fix naming of nested Enums with short namesPetteri Aimonen3-3/+16
2012-11-14Fix naming of enums when long_names=false.Petteri Aimonen4-5/+26
Modify test case to check that options.pb.o compiles. Update issue 42 Status: FixedInGit Update issue 43 Status: FixedInGit
2012-11-11Fix changelogPetteri Aimonen1-1/+1
2012-11-11Setting version to 0.1.8-devPetteri Aimonen2-2/+2
2012-11-11Publishing nanopb-0.1.7Petteri Aimonen2-2/+2
2012-10-29Document new generator optionsPetteri Aimonen2-0/+24
2012-10-29Add nanopb version number to generated files.Petteri Aimonen3-1/+16
tools/set_version.sh is used to update the values. Update issue 36 Status: FixedInGit
2012-10-29Add extern "C" to header files.Petteri Aimonen3-1/+23
Update issue 35 Status: FixedInGit
2012-10-29Add option to use short names for enum values.Petteri Aimonen6-14/+58
Update issue 38 Status: FixedInGit
2012-10-29Allow defining field type in .proto.Petteri Aimonen5-8/+68
Update issue 30 Status: FixedInGit
2012-10-29Improve .proto options parsing.Petteri Aimonen6-22/+129
Options can now be defined on command line, file, message or in field scope. Update issue 12 Status: Started
2012-10-29Use optparse in nanopb_generator.pyPetteri Aimonen1-31/+85
2012-10-29Give names to generated structures to allow forward declaration.Petteri Aimonen2-4/+6
Update issue 39 Status: FixedInGit
2012-10-21Improve the person_with_extra_field test.Petteri Aimonen3-4/+1
Added a field after the extra field to verify it's also ok.
2012-10-18Remove the "buf = NULL" => skip requirement from pb_istream_t callbacks.Petteri Aimonen8-33/+35
Rationale: it's easy to implement the callback wrong. Doing so introduces io errors when unknown fields are present in the input. If code is not tested with unknown fields, these bugs can remain hidden for long time. Added a special case for the memory buffer stream, where it gives a small speed benefit. Added testcase for skipping fields with test_decode2 implementation. Update issue 37 Status: FixedInGit
2012-10-14Add tests for negative values in the alltypes testcase.Petteri Aimonen2-24/+24
2012-09-18Add buffer size check in test_decode1.c example.Petteri Aimonen1-0/+6
This check gives a better error message in case you test stuff and have a message longer than 512 bytes. Update issue 34 Status: FixedInGit
2012-09-03Enable -Wconversion for core and fix the warnings.Petteri Aimonen5-14/+17
This should help avoid issue 33 in the future.
2012-09-03Fix build warnings on MS compilersdch1-4/+4
Update issue 33 Status: FixedInGit
2012-09-02Created a CHANGELOG file for easy reference.Petteri Aimonen2-0/+39
2012-09-02Clean up one (uint64_t) cast.Petteri Aimonen1-2/+2
2012-09-02Fix -Wextra warning in generated .pb.c files.Petteri Aimonen2-1/+4
Compile the generated files with the same extra-strict settings as the core, in order to detect problems in tests. Update issue 32 Status: FixedInGit
2012-08-26Fix warnings with -Wcast-qual. Add test for C++ compile.Petteri Aimonen3-17/+30
Update issue 27 Status: FixedInGit
2012-08-26Add pb_decode_noinit and use it from pb_dec_submessage.Petteri Aimonen3-4/+24
This avoids double initialization when decoding nested submessages. Fixes an issue with submessage arrays that was present in previous version of this patch. Update issue 28 Status: FixedInGit
2012-08-26Added alltypes-testcases for optional fields and default values.Petteri Aimonen4-12/+180
2012-08-26Revert "Add pb_decode_noinit and use it from pb_dec_submessage."Petteri Aimonen3-24/+4
The patch breaks default values inside submessage arrays (I think). Have to add test cases and check back. This reverts commit f1d7640fe1be0f150f604c72108ea516222c2505.
2012-08-26Add pb_decode_noinit and use it from pb_dec_submessage.Petteri Aimonen3-4/+24
This avoids double initialization when decoding nested submessages. Update issue 28 Status: FixedInGit