@@ -21,6 +21,20 @@ cog.outl(f"#define {service['class_name'].upper()}_HPP")
2121/* [[[cog
2222xbot_codegen.generateEnums(service)
2323]]]*/
24+ enum class ExampleEnumClass : uint8_t {
25+ VALUE1 = 0 ,
26+ VALUE2 = 1 ,
27+ VALUE3 = 2 ,
28+ };
29+
30+ namespace ExampleBitmaskEnum {
31+ enum Value : uint8_t {
32+ VALUE1 = 1 << 0 ,
33+ VALUE2 = 1 << 1 ,
34+ VALUE3 = 1 << 2 ,
35+ };
36+ };
37+
2438// [[[end]]]
2539/* [[[cog
2640cog.outl(f"class {service['class_name']} : public xbot::service::Service {{")
@@ -60,7 +74,7 @@ class ServiceTemplateBase : public xbot::service::Service {
6074 cog.outl(xbot_codegen.binary2c_array(service["service_cbor"]));
6175 ]]]*/
6276 static constexpr unsigned char SERVICE_DESCRIPTION_CBOR[] = {
63- 0xA5 , 0x64 , 0x74 , 0x79 , 0x70 , 0x65 , 0x6F , 0x53 ,
77+ 0xA6 , 0x64 , 0x74 , 0x79 , 0x70 , 0x65 , 0x6F , 0x53 ,
6478 0x65 , 0x72 , 0x76 , 0x69 , 0x63 , 0x65 , 0x54 , 0x65 ,
6579 0x6D , 0x70 , 0x6C , 0x61 , 0x74 , 0x65 , 0x67 , 0x76 ,
6680 0x65 , 0x72 , 0x73 , 0x69 , 0x6F , 0x6E , 0x01 , 0x66 ,
@@ -99,7 +113,27 @@ class ServiceTemplateBase : public xbot::service::Service {
99113 0x64 , 0x6E , 0x61 , 0x6D , 0x65 , 0x69 , 0x52 , 0x65 ,
100114 0x67 , 0x69 , 0x73 , 0x74 , 0x65 , 0x72 , 0x33 , 0x64 ,
101115 0x74 , 0x79 , 0x70 , 0x65 , 0x64 , 0x62 , 0x6C , 0x6F ,
102- 0x62
116+ 0x62 , 0x65 , 0x65 , 0x6E , 0x75 , 0x6D , 0x73 , 0x82 ,
117+ 0xA3 , 0x62 , 0x69 , 0x64 , 0x70 , 0x45 , 0x78 , 0x61 ,
118+ 0x6D , 0x70 , 0x6C , 0x65 , 0x45 , 0x6E , 0x75 , 0x6D ,
119+ 0x43 , 0x6C , 0x61 , 0x73 , 0x73 , 0x69 , 0x62 , 0x61 ,
120+ 0x73 , 0x65 , 0x5F , 0x74 , 0x79 , 0x70 , 0x65 , 0x67 ,
121+ 0x75 , 0x69 , 0x6E , 0x74 , 0x38 , 0x5F , 0x74 , 0x66 ,
122+ 0x76 , 0x61 , 0x6C , 0x75 , 0x65 , 0x73 , 0xA3 , 0x66 ,
123+ 0x56 , 0x41 , 0x4C , 0x55 , 0x45 , 0x31 , 0x00 , 0x66 ,
124+ 0x56 , 0x41 , 0x4C , 0x55 , 0x45 , 0x32 , 0x01 , 0x66 ,
125+ 0x56 , 0x41 , 0x4C , 0x55 , 0x45 , 0x33 , 0x02 , 0xA4 ,
126+ 0x62 , 0x69 , 0x64 , 0x72 , 0x45 , 0x78 , 0x61 , 0x6D ,
127+ 0x70 , 0x6C , 0x65 , 0x42 , 0x69 , 0x74 , 0x6D , 0x61 ,
128+ 0x73 , 0x6B , 0x45 , 0x6E , 0x75 , 0x6D , 0x69 , 0x62 ,
129+ 0x61 , 0x73 , 0x65 , 0x5F , 0x74 , 0x79 , 0x70 , 0x65 ,
130+ 0x67 , 0x75 , 0x69 , 0x6E , 0x74 , 0x38 , 0x5F , 0x74 ,
131+ 0x67 , 0x62 , 0x69 , 0x74 , 0x6D , 0x61 , 0x73 , 0x6B ,
132+ 0xF5 , 0x66 , 0x76 , 0x61 , 0x6C , 0x75 , 0x65 , 0x73 ,
133+ 0xA3 , 0x66 , 0x56 , 0x41 , 0x4C , 0x55 , 0x45 , 0x31 ,
134+ 0x00 , 0x66 , 0x56 , 0x41 , 0x4C , 0x55 , 0x45 , 0x32 ,
135+ 0x01 , 0x66 , 0x56 , 0x41 , 0x4C , 0x55 , 0x45 , 0x33 ,
136+ 0x02
103137 };
104138 // [[[end]]]
105139
@@ -239,6 +273,27 @@ cog.outl(f"\u002f*\n{service['service_json']}\n*\u002f")
239273 "name": "Register3",
240274 "type": "blob"
241275 }
276+ ],
277+ "enums": [
278+ {
279+ "id": "ExampleEnumClass",
280+ "base_type": "uint8_t",
281+ "values": {
282+ "VALUE1": 0,
283+ "VALUE2": 1,
284+ "VALUE3": 2
285+ }
286+ },
287+ {
288+ "id": "ExampleBitmaskEnum",
289+ "base_type": "uint8_t",
290+ "bitmask": true,
291+ "values": {
292+ "VALUE1": 0,
293+ "VALUE2": 1,
294+ "VALUE3": 2
295+ }
296+ }
242297 ]
243298}
244299*/
0 commit comments