Petteri Aimonen
0e3053894f
Add --extension option to generator.
...
Patch courtesy of Michael Haberler.
2013-02-28 16:42:34 +02:00
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
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
c1a355b23e
Set version to 0.2.0-dev
2013-02-11 21:54:24 +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
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
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
bb5dc04584
Setting version to 0.1.9-dev
2012-12-13 21:32:37 +02:00
Petteri Aimonen
09ec60cadf
Publishing nanopb-0.1.8
2012-12-13 21:29:57 +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
fc6f56b2bd
Setting version to 0.1.8-dev
2012-11-11 11:19:17 +02:00
Petteri Aimonen
92bb37b074
Publishing nanopb-0.1.7
2012-11-11 11:16:01 +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
Petteri Aimonen
c3fa362653
Give names to generated structures to allow forward declaration.
...
Update issue 39
Status: FixedInGit
2012-10-29 16:56:45 +02:00
Petteri Aimonen
d8bddabb83
Fix bug with .proto without messages (again), and add a test case for it.
2012-07-05 20:02:06 +03:00
Petteri Aimonen
72cca8d783
Replace #warning with the standard #error.
2012-07-05 18:19:38 +03:00
Stan Hu
7c5bb6541a
Cast enum vaules to integers and cast them back where appropraite
...
to prevent mixed enumeration type compiler warnings
2012-07-05 18:13:50 +03:00
Petteri Aimonen
9b1e1b440a
Replace PB_MANY_FIELDS with PB_FIELD_16BIT and PB_FIELD_32BIT.
...
This allows more precise control over the memory use vs. field size.
2012-07-01 10:15:37 +03:00
Petteri Aimonen
78086cc27d
Add PB_MANY_FIELDS option for supporting fields > 255.
...
Add generator warning if this is necessary.
Fixes issue #14 .
2012-06-30 19:28:49 +03:00
Petteri Aimonen
67add3259a
Warn if PB_MAX_REQUIRED_FIELDS is not large enough.
2012-06-30 18:23:18 +03:00
Petteri Aimonen
3a919ddc5e
Fix error when .proto contains no Messages (e.g. just enums).
...
Thanks to Paul Fertser for reporting this bug.
2012-06-20 21:31:23 +03:00
Petteri Aimonen
5af2c97ecd
Add descriptor.proto into the #include exclusion list
2012-06-12 17:51:08 +03:00
Petteri Aimonen
f9501ca185
Add better error messages in the generator when libraries cannot be imported.
...
Fixes issue #5 .
2012-05-19 21:25:10 +03:00
Petteri Aimonen
0cdc623050
Modified nanopb_generator.py to generate includes for other .proto files.
...
Implementation was suggested by extremeblue99.
Fixes issue 4.
2012-02-15 17:34:48 +02:00
Petteri Aimonen
f6b08404fa
Fixed nanopb_generator.py to read the input file in binary mode.
2012-01-30 10:36:17 +02:00
Petteri Aimonen
113bd7ee87
Fixed issue 1 reported by Erik Rosen:
...
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-12 19:08:05 +02:00
Petteri Aimonen
a1adf39805
Fixed a bug in the generator that caused a compiler error on sfixed32 and sfixed64 fields.
2012-01-12 18:10:12 +02:00
Petteri Aimonen
fcfc99f766
Fixed a bunch of bugs related to callback fields.
...
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-13 16:14:08 +00:00
Petteri Aimonen
35814517ad
Python 2.6 compatibility for the generator
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@973 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-09-01 08:30:48 +00:00
Petteri Aimonen
9af96cd669
Generator bugfixes
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@970 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-24 13:52:08 +00:00
Petteri Aimonen
64ac18c884
Changed autogenerated file naming from foo.c to foo.pb.c
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@965 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-23 16:16:33 +00:00
Petteri Aimonen
5a9f85b876
unittests, change to PB_LTYPE_BYTES data size
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@959 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-22 18:57:23 +00:00
Petteri Aimonen
7f53c3f748
Example
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@957 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-17 19:03:06 +00:00
Petteri Aimonen
842d52633d
More documentation, small improvements
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@955 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-14 20:11:05 +00:00
Petteri Aimonen
a8d0172507
Encoder
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@951 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-04 16:49:32 +00:00
Petteri Aimonen
3959290bc7
First version of header generator
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@950 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-07-31 12:55:09 +00:00