diff --git a/scripts/event_header_generator/EventFunctions.cpp.template b/scripts/event_header_generator/EventFunctions.cpp.template index 34feee56ad083054fef7582886afa7627552fe2b..d11c60bbcd8c6f9896aa2e36f18cd173e3f4eb31 100644 --- a/scripts/event_header_generator/EventFunctions.cpp.template +++ b/scripts/event_header_generator/EventFunctions.cpp.template @@ -34,6 +34,7 @@ #include "Topics.h" #include <map> +using std::map; namespace DeathStackBoard {{ diff --git a/scripts/event_header_generator/Events.h.template b/scripts/event_header_generator/Events.h.template index d47404cce22a7e875cee47441eaa93136ba63e5a..fc2119939a1b9b96321b1730ecd5f4b92ef4cc4f 100644 --- a/scripts/event_header_generator/Events.h.template +++ b/scripts/event_header_generator/Events.h.template @@ -34,6 +34,7 @@ #include <cstdint> #include <string> +#include <vector> #include "events/Event.h" #include "events/EventBroker.h" @@ -41,7 +42,6 @@ #include "Topics.h" using std::string; -using std::map; namespace DeathStackBoard {{ @@ -54,6 +54,8 @@ enum Events : uint8_t {enum_data} }}; +const std::vector<uint8_t> EVENT_LIST {{{event_list}}}; + /** * @brief Returns the name of the provided event * diff --git a/scripts/event_header_generator/Topics.h.template b/scripts/event_header_generator/Topics.h.template index fb9c58a5b655d6475a13f7f007c2ee8bc5064a4d..697a99760719deedc35ac3d8d6fa58c9407405b8 100644 --- a/scripts/event_header_generator/Topics.h.template +++ b/scripts/event_header_generator/Topics.h.template @@ -34,8 +34,8 @@ #include <stdint.h> #include <string> +#include <vector> -using std::map; using std::string; namespace DeathStackBoard @@ -48,6 +48,8 @@ enum Topics : uint8_t {enum_data} }}; +const std::vector<uint8_t> TOPIC_LIST {{{topic_list}}}; + /** * @brief Returns the name of the provided event * diff --git a/scripts/event_header_generator/event_generator.py b/scripts/event_header_generator/event_generator.py index cbfe9ece20ade7da0bd27f1892055f9c42d57465..ad54de4cb95cebcf00f2036079e5608b521f9aae 100644 --- a/scripts/event_header_generator/event_generator.py +++ b/scripts/event_header_generator/event_generator.py @@ -139,6 +139,7 @@ print("{} topics loaded.".format(len(topics))) enum_str = "" event_map_str = "" +event_list_str = "" date = datetime.datetime.now() link = "https://docs.google.com/spreadsheets/d/{id}".format(id=SPREADSHEET_ID) @@ -154,12 +155,13 @@ for e in events: (" = EV_FIRST_SIGNAL" if e == events[0] else "") + endl event_map_str += " {{ {event}, {string} }}{endl}".format( event=e, string='"' + e + '"', endl=endl) + event_list_str += e + (", " if e != events[-1] else "") with open('Events.h.template', 'r') as template_file: template = template_file.read() template = template.format(sheet_link=link, date=date, - enum_data=enum_str) + enum_data=enum_str,event_list=event_list_str) with open(join(OUTPUT_FOLDER, 'Events.h'), 'w') as header_file: header_file.write(template) @@ -170,18 +172,20 @@ print("Events.h successfully generated.") print("Generating Topics.h...") enum_str = "" topic_map_str = "" +topic_list_str = "" for t in topics: endl = ",\n" if t != topics[-1] else "" enum_str += " " + t + endl topic_map_str += " {{ {topics}, {string} }}{endl}".format( topics=t, string='"' + t + '"', endl=endl) + topic_list_str += t + (", " if t != topics[-1] else "") with open('Topics.h.template', 'r') as template_file: template = template_file.read() template = template.format(sheet_link=link, date=date, - enum_data=enum_str) + enum_data=enum_str, topic_list=topic_list_str) with open(join(OUTPUT_FOLDER, 'Topics.h'), 'w') as header_file: header_file.write(template)