Add int_size option for generator.
This allows overriding the integer field types to e.g. uint8_t for saving RAM. Update issue 139 Status: FixedInGit
This commit is contained in:
39
tests/intsizes/intsizes.proto
Normal file
39
tests/intsizes/intsizes.proto
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Test the integer size overriding in nanopb options.
|
||||
* This allows to use 8- and 16-bit integer variables, which are not supported
|
||||
* directly by Google Protobuf.
|
||||
*
|
||||
* The int_size setting will override the number of bits, but keep the type
|
||||
* otherwise. E.g. uint32 + IS_8 => uint8_t
|
||||
*/
|
||||
|
||||
import 'nanopb.proto';
|
||||
|
||||
message IntSizes {
|
||||
required int32 req_int8 = 1 [(nanopb).int_size = IS_8];
|
||||
required uint32 req_uint8 = 2 [(nanopb).int_size = IS_8];
|
||||
required sint32 req_sint8 = 3 [(nanopb).int_size = IS_8];
|
||||
required int32 req_int16 = 4 [(nanopb).int_size = IS_16];
|
||||
required uint32 req_uint16 = 5 [(nanopb).int_size = IS_16];
|
||||
required sint32 req_sint16 = 6 [(nanopb).int_size = IS_16];
|
||||
required int32 req_int32 = 7 [(nanopb).int_size = IS_32];
|
||||
required uint32 req_uint32 = 8 [(nanopb).int_size = IS_32];
|
||||
required sint32 req_sint32 = 9 [(nanopb).int_size = IS_32];
|
||||
required int32 req_int64 = 10 [(nanopb).int_size = IS_64];
|
||||
required uint32 req_uint64 = 11 [(nanopb).int_size = IS_64];
|
||||
required sint32 req_sint64 = 12 [(nanopb).int_size = IS_64];
|
||||
}
|
||||
|
||||
message DefaultSizes {
|
||||
required int32 req_int8 = 1 ;
|
||||
required uint32 req_uint8 = 2 ;
|
||||
required sint32 req_sint8 = 3 ;
|
||||
required int32 req_int16 = 4 ;
|
||||
required uint32 req_uint16 = 5 ;
|
||||
required sint32 req_sint16 = 6 ;
|
||||
required int32 req_int32 = 7 ;
|
||||
required uint32 req_uint32 = 8 ;
|
||||
required sint32 req_sint32 = 9 ;
|
||||
required int64 req_int64 = 10;
|
||||
required uint64 req_uint64 = 11;
|
||||
required sint64 req_sint64 = 12;
|
||||
}
|
||||
Reference in New Issue
Block a user