Petteri Aimonen
80a2d33fa9
Move STATIC_ASSERTs to .pb.c file.
...
This way the .pb.h will remain cleaner and easier to read.
2013-02-21 19:35:20 +02:00
Petteri Aimonen
41f98343c8
Separate PB_HTYPE to PB_ATYPE and PB_HTYPE.
...
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-20 22:55:59 +02:00
Petteri Aimonen
69085d9387
Rename PB_HTYPE_ARRAY -> PB_HTYPE_REPEATED.
...
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-20 21:58:18 +02:00
Petteri Aimonen
258ba8335d
Reformat generated .pb.c files using macros.
...
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-17 00:10:47 +02:00
Petteri Aimonen
5b536d40a1
Setting version to 0.1.9.1-dev
2013-02-13 21:13:35 +02:00
Petteri Aimonen
4cc3372b03
Publishing nanopb-0.1.9
nanopb-0.1.9
2013-02-13 21:12:09 +02:00
Petteri Aimonen
9d3d7b5730
Add gitignore.
...
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-11 22:03:14 +02:00
Petteri Aimonen
ec4a7a0cce
Replace pb_type_t enum with #defines.
...
See issue #57 .
2013-02-11 21:55:55 +02:00
Petteri Aimonen
c1a355b23e
Set version to 0.2.0-dev
2013-02-11 21:54:24 +02:00
Petteri Aimonen
22e0a78e5e
Update changelog
2013-02-07 18:06:42 +02:00
Petteri Aimonen
c1bd1a6ad3
Fix error message bugs with packed arrays.
...
Error messages were not propagated correctly with PB_HTYPE_ARRAY.
Error status (boolean return value) was correct.
Update issue 56
Status: FixedInGit
2013-02-07 17:56:52 +02:00
Petteri Aimonen
e7bf063abc
Add check for sizeof(double) == 8.
...
Update issue 54
Status: FixedInGit
2013-02-07 17:48:50 +02:00
Petteri Aimonen
47b10ec0ab
Sanitize filenames before putting them in #ifndef.
...
Update issue 50
Status: FixedInGit
2013-02-07 17:40:17 +02:00
Petteri Aimonen
4b7ddabbcf
Fix compiler warning on MSVC (issue #57 )
2013-02-07 17:19:53 +02:00
Petteri Aimonen
c3729599b0
Use unsigned datatypes where appropriate.
2013-02-06 22:18:52 +02:00
Petteri Aimonen
4f379364b3
Improve the pb_decode_varint implementations.
...
Results for ARM: -4% execution time, +1% code size
2013-02-06 22:11:02 +02:00
Petteri Aimonen
d23939d688
Avoid unnecessary looping in required fields check.
...
Results for ARM: -6% execution time, -1% code size
2013-02-06 21:52:59 +02:00
Petteri Aimonen
4ba6a3027d
Add compile-time option PB_BUFFER_ONLY.
...
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-06 20:54:25 +02:00
Petteri Aimonen
39b8a5e2bb
Make pb_decode_varint32 a separate implementation.
...
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-05 22:39:32 +02:00
Petteri Aimonen
c372ebc665
Performance improvement: replace memcpy with loop.
...
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-05 22:06:36 +02:00
Petteri Aimonen
38ced18639
Add Java package name to nanopb.proto.
...
This fixes problems when interoperating with Java.
Fix suggested by trepidacious:
https://groups.google.com/forum/#!topic/nanopb/hZgrj6h9OnY
2013-02-05 11:47:37 +02:00
Petteri Aimonen
e4b55179d1
Add an example of handling doubles on AVR platform.
2013-01-29 22:10:37 +02:00
Petteri Aimonen
2392d25574
Fix misleading comment (current generator sets LTYPE always).
2013-01-21 21:18:38 +02:00
Petteri Aimonen
eab4151a99
Oops, typoed #ifdef; again fixing previous commit.
2013-01-16 16:32:48 +02:00
Petteri Aimonen
8e840cc81a
Put previous commit (issue 52) inside #ifndef
2013-01-16 16:31:45 +02:00
Petteri Aimonen
88eba4bc27
Fix bug with error messages.
...
Update issue 52
Status: FixedInGit
2013-01-16 16:28:51 +02:00
Petteri Aimonen
d32d322658
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
2013-01-14 17:30:49 +02:00
Petteri Aimonen
b9baec6b4c
Add a test for the backwards compatibility of generated files.
...
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-13 18:44:15 +02:00
Petteri Aimonen
d2c1604d6d
Add generator option for packed structs.
...
Usage is:
message Foo
{
option (nanopb_msgopt).packed_struct = true;
...
}
Valid also in file scope.
Update issue 49
Status: FixedInGit
2013-01-10 17:32:27 +02:00
Petteri Aimonen
93ffe14a0a
Cleanup: get rid of unnecessary spaces
2013-01-10 17:31:33 +02:00
Petteri Aimonen
bb5dc04584
Setting version to 0.1.9-dev
2012-12-13 21:32:37 +02:00
Petteri Aimonen
09ec60cadf
Publishing nanopb-0.1.8
nanopb-0.1.8
2012-12-13 21:29:57 +02:00
Petteri Aimonen
871e5be9dd
Fix small error in field callback documentation.
...
Update issue 44
Status: FixedInGit
2012-12-06 11:13:53 +02:00
Jens Steinhauser
068de05c51
Complete initialization of pb_istream_t.
...
Because PB_RETURN_ERROR checks if the 'errmsg' member is NULL before
assigning to it, error messages would get lost.
2012-11-27 19:55:21 +02:00
Steffen Siering
1f8fb1f1ed
Use TESTS variable to define dependencies for run_unittests
2012-11-16 09:59:04 +02:00
Petteri Aimonen
434dcbb2ee
Select compilation options based on $(CC) in tests/Makefile.
...
Makes 'make CC=clang' work.
Based on patch submitted by Steffen Siering.
Update issue 40:
Status: FixedInGit
2012-11-16 09:51:23 +02:00
Petteri Aimonen
59788e2aab
Rename test_compiles.c to test_multiple_files.c
2012-11-16 09:33:11 +02:00
Steffen Siering
cc29958d34
Fix STATIC_ASSERT macro when using multiple .proto files.
...
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-16 09:24:39 +02:00
Petteri Aimonen
0abb764b18
Fix naming of nested Enums with short names
2012-11-14 00:43:51 +02:00
Petteri Aimonen
02ecee2de8
Fix naming of enums when long_names=false.
...
Modify test case to check that options.pb.o compiles.
Update issue 42
Status: FixedInGit
Update issue 43
Status: FixedInGit
2012-11-14 00:36:16 +02:00
Petteri Aimonen
332a9ee95c
Fix changelog
2012-11-11 11:20:34 +02:00
Petteri Aimonen
fc6f56b2bd
Setting version to 0.1.8-dev
2012-11-11 11:19:17 +02:00
Petteri Aimonen
92bb37b074
Publishing nanopb-0.1.7
nanopb-0.1.7
2012-11-11 11:16:01 +02:00
Petteri Aimonen
ad9a885644
Document new generator options
2012-10-29 19:33:33 +02:00
Petteri Aimonen
08391f35ee
Add nanopb version number to generated files.
...
tools/set_version.sh is used to update the values.
Update issue 36
Status: FixedInGit
2012-10-29 19:15:34 +02:00
Petteri Aimonen
3aaa4ad8c2
Add extern "C" to header files.
...
Update issue 35
Status: FixedInGit
2012-10-29 19:03:19 +02:00
Petteri Aimonen
db1eefc24b
Add option to use short names for enum values.
...
Update issue 38
Status: FixedInGit
2012-10-29 18:55:49 +02:00
Petteri Aimonen
0ee4bb96b1
Allow defining field type in .proto.
...
Update issue 30
Status: FixedInGit
2012-10-29 18:34:24 +02:00
Petteri Aimonen
28b0136ea4
Improve .proto options parsing.
...
Options can now be defined on command line, file, message or in field
scope.
Update issue 12
Status: Started
2012-10-29 18:20:15 +02:00
Petteri Aimonen
9e0ee92f0a
Use optparse in nanopb_generator.py
2012-10-29 17:25:16 +02:00