summaryrefslogtreecommitdiffstats
path: root/docs
AgeCommit message (Collapse)AuthorFilesLines
2013-07-06Add section in pb.h for changing compilation settings.Petteri Aimonen1-3/+7
Update issue 76 Status: FixedInGit
2013-07-06Add error message macros to API reference.Petteri Aimonen1-0/+25
2013-07-06Document the .options file usage.Petteri Aimonen2-48/+191
Also add note about the 'packed' message option being incompatible with CPUs that do not support unaligned access. Update issue 12 Status: FixedInGit Update issue 77 Status: FixedInGit
2013-04-02Change the callback function to use void**.Petteri Aimonen2-8/+14
NOTE: This change breaks backwards-compatibility by default. If you have old callback functions, you can define PB_OLD_CALLBACK_STYLE to retain the old behaviour. If you want to convert your old callbacks to new signature, you need to do the following: 1) Change decode callback argument to void **arg and encode callback argument to void * const *arg. 2) Change any reference to arg into *arg. The rationale for making the new behaviour the default is that it simplifies the common case of "allocate some memory in decode callback". Update issue 69 Status: FixedInGit
2013-03-02Update documentationPetteri Aimonen3-35/+35
2013-02-06Add compile-time option PB_BUFFER_ONLY.Petteri Aimonen1-0/+2
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.
2012-12-06Fix small error in field callback documentation.Petteri Aimonen1-1/+1
Update issue 44 Status: FixedInGit
2012-10-29Document new generator optionsPetteri Aimonen1-0/+14
2012-10-18Remove the "buf = NULL" => skip requirement from pb_istream_t callbacks.Petteri Aimonen1-2/+1
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-08-26Add pb_decode_noinit and use it from pb_dec_submessage.Petteri Aimonen1-0/+10
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-26Revert "Add pb_decode_noinit and use it from pb_dec_submessage."Petteri Aimonen1-10/+0
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 Aimonen1-0/+10
This avoids double initialization when decoding nested submessages. Update issue 28 Status: FixedInGit
2012-08-24Add note that stream callbacks must read the whole requested length.Petteri Aimonen1-0/+1
Fixes issue #22.
2012-08-24Implement error messages in the decoder side.Petteri Aimonen2-10/+8
Update issue 7 Status: Started
2012-08-24Document pb_close_string_substream.Petteri Aimonen1-1/+13
2012-08-24Reorganize the field decoder interface.Petteri Aimonen1-86/+32
This makes the field decoding functions more intuitive to use. The old interface is still present if you specify NANOPB_INTERNALS. Update issue 2 Status: FixedInGit
2012-07-01Replace PB_MANY_FIELDS with PB_FIELD_16BIT and PB_FIELD_32BIT.Petteri Aimonen1-5/+12
This allows more precise control over the memory use vs. field size.
2012-06-30Add PB_MANY_FIELDS option for supporting fields > 255.Petteri Aimonen1-1/+3
Add generator warning if this is necessary. Fixes issue #14.
2012-06-30Improve the detection of missing required fields.Petteri Aimonen1-7/+6
Now the limit of tracked fields is configurable at compile-time using PB_MAX_REQUIRED_FIELDS. Added related test and updated documentation. Fixes issue #18.
2012-06-25Fixed formatting in docsPetteri Aimonen1-2/+5
2012-06-25Documented NANOPB_INTERNALS compilation optionPetteri Aimonen1-0/+1
2012-06-25Note about __BIG_ENDIAN__ compilation optionPetteri Aimonen1-0/+6
2012-06-16Added new functions to public interface in pb_decode.h.Petteri Aimonen1-11/+36
pb_decode_tag and pb_skip_field allow manually iterating the fields in a message.
2012-03-01Refactoring the field encoder interface.Petteri Aimonen1-82/+42
Replaced the confusing pb_enc_* functions with new pb_encode_* functions that have a cleaner interface. Updated documentation. Got rid of the endian_copy stuff in pb_encode.c, instead using C casts to do it automatically. This makes the code safer and also reduces binary size by about 5%. Fixes Issue 6.
2012-01-23Improved documentation on field decoders.Petteri Aimonen1-5/+24
2012-01-12Fixed issue 1 reported by Erik Rosen:Petteri Aimonen1-1/+4
The size of non-callback bytes-fields was miscalculated, which caused all following fields in a message to contain garbage. Previous commit contains a testcase for this. This fix changes the generated message description. If your protocol uses bytes-fields, you should regenerate *.pb.c.
2012-01-05Added logo for project :)Petteri Aimonen5-0/+1471
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1095 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-11-04Some additions to documentationPetteri Aimonen3-7/+2883
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1003 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-09-18Documentation outdated phrasePetteri Aimonen1-1/+1
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@980 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-09-14Added READMEPetteri Aimonen1-2/+2
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@976 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-09-13Fixed a bunch of bugs related to callback fields.Petteri Aimonen1-16/+38
Most importantly, callback fields in submessages were being overwritten with garbage, causing segfaults. Additionally, converted PB_LTYPE_FIXED to PB_LTYPE_FIXED32 and PB_LTYPE_FIXED64. This makes the interface a bit easier to use, and in addition runs faster. git-svn-id: https://svn.kapsi.fi/jpa/nanopb@975 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-09-12Tests for callback fieldsPetteri Aimonen1-1/+1
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@974 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-24Cyclic messages not supported - thanks to Josh for pointing this out.Petteri Aimonen1-0/+1
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@972 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-24documentationPetteri Aimonen1-7/+20
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@969 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-23More unittestsPetteri Aimonen3-3/+23
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@966 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-23More unittestsPetteri Aimonen1-0/+7
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@960 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-22unittests, change to PB_LTYPE_BYTES data sizePetteri Aimonen2-2/+3
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@959 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-17ExamplePetteri Aimonen3-4/+4
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@957 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-16DocsPetteri Aimonen7-45/+161
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@956 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-14More documentation, small improvementsPetteri Aimonen6-59/+514
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@955 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-11Documenting and improving stream behaviourPetteri Aimonen5-6/+143
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@954 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-10Started writing documentationPetteri Aimonen3-0/+327
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@953 e3a754e5-d11d-0410-8d38-ebb782a927b9