(self)
| 357 | out += " .max_size=%d," % (max_size,) |
| 358 | return out |
| 359 | def generate_responses_code(self): |
| 360 | encoder_defs = [] |
| 361 | output_code = [] |
| 362 | encoder_code = [] |
| 363 | did_output = {} |
| 364 | for msgname, msg in self.encoders: |
| 365 | encoded_msgid = self.msg_to_encid[msg] |
| 366 | if encoded_msgid in did_output: |
| 367 | continue |
| 368 | did_output[encoded_msgid] = True |
| 369 | code = (' if (__builtin_strcmp(str, "%s") == 0)\n' |
| 370 | ' return &command_encoder_%s;\n' |
| 371 | % (msg, encoded_msgid)) |
| 372 | if msgname is None: |
| 373 | parsercode = self.build_parser(encoded_msgid, msg, 'output') |
| 374 | output_code.append(code) |
| 375 | else: |
| 376 | parsercode = self.build_parser(encoded_msgid, msg, 'command') |
| 377 | encoder_code.append(code) |
| 378 | encoder_defs.append( |
| 379 | "const struct command_encoder command_encoder_%s PROGMEM = {" |
| 380 | " %s\n};\n" % ( |
| 381 | encoded_msgid, parsercode)) |
| 382 | fmt = """ |
| 383 | %s |
| 384 | |
| 385 | const __always_inline struct command_encoder * |
| 386 | ctr_lookup_encoder(const char *str) |
| 387 | { |
| 388 | %s |
| 389 | return NULL; |
| 390 | } |
| 391 | |
| 392 | const __always_inline struct command_encoder * |
| 393 | ctr_lookup_output(const char *str) |
| 394 | { |
| 395 | %s |
| 396 | return NULL; |
| 397 | } |
| 398 | """ |
| 399 | return fmt % ("".join(encoder_defs).strip(), |
| 400 | "".join(encoder_code).strip(), |
| 401 | "".join(output_code).strip()) |
| 402 | def generate_commands_code(self): |
| 403 | cmd_by_encid = { |
| 404 | self.msg_to_encid[self.messages_by_name.get(msgname, msgname)]: cmd |
no test coverage detected