summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2013-03-13Fix warning on clang.Petteri Aimonen1-1/+1
Update issue 67 Status: FixedInGit
2013-03-13Add support for packed structures on IAR and MSVC.Petteri Aimonen2-4/+29
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 PB_SYSTEM_HEADER compile time option.Petteri Aimonen3-2/+5
This allows replacing the C99 standard include file names with a single system-specific file. It should provide all the necessary system functions (typedefs, memset, memcpy, strlen). Update issue 62 Status: FixedInGit
2013-03-09Rename pb_field_iterator_t field 'current' to 'pos'.Petteri Aimonen1-38/+38
This avoids a name clash when compiling as Linux kernel module. Update issue 60 Status: FixedInGit
2013-03-09Implement error message support for the encoder side.Petteri Aimonen5-15/+41
Update issue 7 Status: FixedInGit
2013-03-09alltypes.proto no longer needs to include nanopb.protoPetteri Aimonen1-2/+0
2013-03-09Switch alltypes.proto to use the new .options file mechanism.Petteri Aimonen2-23/+26
2013-03-09Add simple support for separate options file.Petteri Aimonen2-33/+87
Update issue 12 Still needs documentation.
2013-03-09Fix additional bug with empty message types.Petteri Aimonen1-0/+3
pb_field_next() would access past the fields array.
2013-03-09Add option to run the tests with mudflap to detect pointer errors.Petteri Aimonen1-0/+8
2013-03-09Improve the fuzztest.Petteri Aimonen1-4/+4
Enable -fstack-protector-all to detect any stack smashing bugs. Also use test_decode3 for maximal vulnerable surface.
2013-03-09Fix error in backwards compatibility testcasePetteri Aimonen1-1/+1
2013-03-09Fix bug with decoding empty message types. Add test for the same.Petteri Aimonen4-1/+13
Note: the bug only applies to empty message types. Empty messages of non-empty message types are not affected. Update issue 65 Status: FixedInGit
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 Aimonen2-2/+2
2013-03-02Publishing nanopb-0.2.0Petteri Aimonen2-2/+2
2013-03-02Update changelogPetteri Aimonen1-0/+13
2013-03-02Update documentationPetteri Aimonen3-35/+35
2013-02-28Add --extension option to generator.Petteri Aimonen1-5/+7
Patch courtesy of Michael Haberler.
2013-02-22Added CMake file for use in projects linking against nanopb.Pavel Ilin1-0/+224
2013-02-21Merge branch 'dev-0.2'Petteri Aimonen7-570/+507
2013-02-21Move STATIC_ASSERTs to .pb.c file.Petteri Aimonen1-22/+24
This way the .pb.h will remain cleaner and easier to read.
2013-02-20Separate PB_HTYPE to PB_ATYPE and PB_HTYPE.Petteri Aimonen3-122/+176
Also clean up the logic so that it is easier to implement more allocation types in the future. Update issue 53 Status: FixedInGit
2013-02-20Rename PB_HTYPE_ARRAY -> PB_HTYPE_REPEATED.Petteri Aimonen5-313/+103
This is a more logical name in parallel with PB_HTYPE_REQUIRED and PB_HTYPE_OPTIONAL. Warning: This breaks backwards-compatibility of generated .pb.c files. You will have to regenerate the files and recompile.
2013-02-17Reformat generated .pb.c files using macros.Petteri Aimonen2-87/+139
This has the following advantages: 1) Easier to modify pb_field_t encoding 2) Simpler generator logic 3) Tidier looking, easier to read .pb.c files Update issue 58 Status: FixedInGit
2013-02-13Setting version to 0.1.9.1-devPetteri Aimonen2-2/+2
2013-02-13Publishing nanopb-0.1.9Petteri Aimonen3-3/+3
2013-02-11Add gitignore.Petteri Aimonen1-0/+39
This is a bit bloated gitignore file. Having binaries in a separate build directory would be cleaner, but I don't bother to make that change now.
2013-02-11Replace pb_type_t enum with #defines.Petteri Aimonen1-54/+54
See issue #57.
2013-02-11Set version to 0.2.0-devPetteri Aimonen2-2/+2
2013-02-07Update changelogPetteri Aimonen1-0/+11
2013-02-07Fix error message bugs with packed arrays.Petteri Aimonen1-3/+9
Error messages were not propagated correctly with PB_HTYPE_ARRAY. Error status (boolean return value) was correct. Update issue 56 Status: FixedInGit
2013-02-07Add check for sizeof(double) == 8.Petteri Aimonen1-0/+15
Update issue 54 Status: FixedInGit
2013-02-07Sanitize filenames before putting them in #ifndef.Petteri Aimonen3-2/+13
Update issue 50 Status: FixedInGit
2013-02-07Fix compiler warning on MSVC (issue #57)Petteri Aimonen1-1/+1
2013-02-06Use unsigned datatypes where appropriate.Petteri Aimonen1-9/+9
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