1 /* Test handling of enums with different value ranges.
2 * Depending on compiler and the packed_enum setting, the datatypes
3 * for enums can be either signed or unsigned. In past this has caused
4 * a bit of a problem for the encoder/decoder (issue #164).
11 option (nanopb_fileopt).long_names = false;
14 option (nanopb_enumopt).packed_enum = false;
20 option (nanopb_enumopt).packed_enum = true;
26 option (nanopb_enumopt).packed_enum = false;
32 option (nanopb_enumopt).packed_enum = true;
38 option (nanopb_enumopt).packed_enum = false;
44 option (nanopb_enumopt).packed_enum = true;
50 option (nanopb_enumopt).packed_enum = false;
56 option (nanopb_enumopt).packed_enum = true;
61 /* Protobuf supports enums up to 32 bits.
62 * The 32 bit case is covered by HugeEnum in the alltypes test.
66 required PackedUint8 u8_min = 1;
67 required PackedUint8 u8_max = 2;
68 required PackedInt8 i8_min = 3;
69 required PackedInt8 i8_max = 4;
70 required PackedUint16 u16_min = 5;
71 required PackedUint16 u16_max = 6;
72 required PackedInt16 i16_min = 7;
73 required PackedInt16 i16_max = 8;
76 message UnpackedEnums {
77 required UnpackedUint8 u8_min = 1;
78 required UnpackedUint8 u8_max = 2;
79 required UnpackedInt8 i8_min = 3;
80 required UnpackedInt8 i8_max = 4;
81 required UnpackedUint16 u16_min = 5;
82 required UnpackedUint16 u16_max = 6;
83 required UnpackedInt16 i16_min = 7;
84 required UnpackedInt16 i16_max = 8;