From 1333445bf5646eb386c7e92082b1f657a95c6e01 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Thu, 9 Jan 2020 22:33:23 +0100 Subject: [PATCH] Changed displays from id to name --- .../include/output/items/SevenDigitDisplay.h | 2 +- .../src/output/factories/DisplayFactory.cpp | 13 +++---------- FlippR-Driver/src/output/factories/DisplayFactory.h | 2 +- FlippR-Driver/src/output/factories/FlipperFactory.h | 2 +- FlippR-Driver/src/output/factories/LampFactory.h | 2 +- .../src/output/factories/SolenoidFactory.h | 2 +- FlippR-Driver/src/output/factories/SoundFactory.h | 2 +- FlippR-Driver/src/output/items/OutputDisplay.h | 2 +- FlippR-Driver/src/output/items/detail/Display.cpp | 12 ++++++------ FlippR-Driver/src/output/items/detail/Display.h | 6 +++--- .../src/output/items/detail/EightDigitDisplay.h | 8 ++++---- .../src/output/items/detail/SevenDigitDisplay.h | 10 +++++----- 12 files changed, 28 insertions(+), 35 deletions(-) diff --git a/FlippR-Driver/include/output/items/SevenDigitDisplay.h b/FlippR-Driver/include/output/items/SevenDigitDisplay.h index b2693cb..d6146b3 100644 --- a/FlippR-Driver/include/output/items/SevenDigitDisplay.h +++ b/FlippR-Driver/include/output/items/SevenDigitDisplay.h @@ -21,7 +21,7 @@ class SevenDigitDisplay : public virtual Display public: virtual ~SevenDigitDisplay() = default; - virtual void write_content(std::string content) = 0; + virtual void write_content(std::string & content) = 0; }; } diff --git a/FlippR-Driver/src/output/factories/DisplayFactory.cpp b/FlippR-Driver/src/output/factories/DisplayFactory.cpp index c3a5f6c..49613b4 100644 --- a/FlippR-Driver/src/output/factories/DisplayFactory.cpp +++ b/FlippR-Driver/src/output/factories/DisplayFactory.cpp @@ -10,7 +10,6 @@ #include "output/items/detail/SevenDigitDisplay.h" #include "DisplayFactory.h" - namespace flippR_driver { namespace output @@ -29,13 +28,13 @@ std::map> DisplayFactory::getItemMa auto displays = this->object.at(config_path::display_list); for (auto & display : displays) { - auto id = display.at(config_path::item_identifier).get(); + auto name = display.at(config_path::item_name).get(); auto address = display.at(config_path::item_address).get(); auto digits = display.at(config_path::display_digits).get(); if (digits == 8) - display_map.emplace(std::string{static_cast(id)}, std::dynamic_pointer_cast(std::make_shared(address, id))); + display_map.emplace(name, std::dynamic_pointer_cast(std::make_shared(address, name))); else if (digits == 7) - display_map.emplace(std::string{static_cast(id)}, std::dynamic_pointer_cast(std::make_shared(address, id))); + display_map.emplace(name, std::dynamic_pointer_cast(std::make_shared(address, name))); else throw new std::logic_error{"Display digits can either be 7 or 8"}; } @@ -47,12 +46,6 @@ void DisplayFactory::create_pin_map() nlohmann::json board_config = this->object.at(config_path::display_board); this->pin_map["run"] = board_config.at(config_path::run_pin); - nlohmann::json display_select = board_config.at(config_path::display_select); - for(int i = 1; i < 6; i++) - { - this->pin_map["display_select" + std::to_string(i)] = display_select.at(std::to_string(i)); - } - nlohmann::json segment_select = board_config.at(config_path::display_segement_select); this->pin_map["segment_select_A"] = segment_select.at("A"); this->pin_map["segment_select_B"] = segment_select.at("B"); diff --git a/FlippR-Driver/src/output/factories/DisplayFactory.h b/FlippR-Driver/src/output/factories/DisplayFactory.h index 2066c85..ed1d1bd 100644 --- a/FlippR-Driver/src/output/factories/DisplayFactory.h +++ b/FlippR-Driver/src/output/factories/DisplayFactory.h @@ -19,7 +19,7 @@ namespace output class DisplayFactory : ItemFactory { public: - explicit DisplayFactory(nlohmann::json & object, std::shared_ptr pin_controller); + DisplayFactory(nlohmann::json & object, std::shared_ptr pin_controller); std::map> getItemMap(); diff --git a/FlippR-Driver/src/output/factories/FlipperFactory.h b/FlippR-Driver/src/output/factories/FlipperFactory.h index 6c15acf..94dd741 100644 --- a/FlippR-Driver/src/output/factories/FlipperFactory.h +++ b/FlippR-Driver/src/output/factories/FlipperFactory.h @@ -20,7 +20,7 @@ namespace output class FlipperFactory : ItemFactory { public: - explicit FlipperFactory(nlohmann::json & object, std::shared_ptr pin_controller); + FlipperFactory(nlohmann::json & object, std::shared_ptr pin_controller); std::map > getItemMap(); }; diff --git a/FlippR-Driver/src/output/factories/LampFactory.h b/FlippR-Driver/src/output/factories/LampFactory.h index 2bc2b94..e2eb4be 100644 --- a/FlippR-Driver/src/output/factories/LampFactory.h +++ b/FlippR-Driver/src/output/factories/LampFactory.h @@ -20,7 +20,7 @@ namespace output class LampFactory : ItemFactory { public: - explicit LampFactory(nlohmann::json & object, std::shared_ptr pin_controller); + LampFactory(nlohmann::json & object, std::shared_ptr pin_controller); std::map> getItemMap(); }; diff --git a/FlippR-Driver/src/output/factories/SolenoidFactory.h b/FlippR-Driver/src/output/factories/SolenoidFactory.h index 908462a..3a6e69f 100644 --- a/FlippR-Driver/src/output/factories/SolenoidFactory.h +++ b/FlippR-Driver/src/output/factories/SolenoidFactory.h @@ -20,7 +20,7 @@ namespace output class SolenoidFactory : public ItemFactory { public: - explicit SolenoidFactory(nlohmann::json &object, std::shared_ptr pin_controller); + SolenoidFactory(nlohmann::json &object, std::shared_ptr pin_controller); std::map> getItemMap(); diff --git a/FlippR-Driver/src/output/factories/SoundFactory.h b/FlippR-Driver/src/output/factories/SoundFactory.h index 282eb5f..85a4471 100644 --- a/FlippR-Driver/src/output/factories/SoundFactory.h +++ b/FlippR-Driver/src/output/factories/SoundFactory.h @@ -20,7 +20,7 @@ namespace output class SoundFactory : ItemFactory { public: - explicit SoundFactory(nlohmann::json & object, std::shared_ptr pin_controller); + SoundFactory(nlohmann::json & object, std::shared_ptr pin_controller); std::map> getItemMap(); private: diff --git a/FlippR-Driver/src/output/items/OutputDisplay.h b/FlippR-Driver/src/output/items/OutputDisplay.h index e8fb8b6..54b4571 100644 --- a/FlippR-Driver/src/output/items/OutputDisplay.h +++ b/FlippR-Driver/src/output/items/OutputDisplay.h @@ -28,7 +28,7 @@ public: virtual ~OutputDisplay() = default; virtual uint8_t get_address() const = 0; - virtual uint8_t get_id() const = 0; + virtual std::string get_name() const = 0; virtual std::string get_content() const = 0; }; diff --git a/FlippR-Driver/src/output/items/detail/Display.cpp b/FlippR-Driver/src/output/items/detail/Display.cpp index 12853df..dd8d037 100644 --- a/FlippR-Driver/src/output/items/detail/Display.cpp +++ b/FlippR-Driver/src/output/items/detail/Display.cpp @@ -17,16 +17,16 @@ namespace items namespace detail { -Display::Display(const uint8_t & address, const uint8_t & id) : - address(address), - id(id) +Display::Display(const uint8_t & address, const std::string & name) : + address{address}, + name{name} { - CLOG(DEBUG, OUTPUT_LOGGER) << "Created display with id " << int{id} << " and address " << int{address} << "."; + CLOG(DEBUG, OUTPUT_LOGGER) << "Created display " << name << " with address " << int{address} << "."; } -uint8_t Display::get_id() const +std::string Display::get_name() const { - return this->id; + return this->name; } void Display::write_score(const unsigned int & score, const unsigned int & length) diff --git a/FlippR-Driver/src/output/items/detail/Display.h b/FlippR-Driver/src/output/items/detail/Display.h index 3533664..905514c 100644 --- a/FlippR-Driver/src/output/items/detail/Display.h +++ b/FlippR-Driver/src/output/items/detail/Display.h @@ -24,7 +24,7 @@ namespace detail class Display : public virtual items::OutputDisplay { public: - Display(const uint8_t & address, const uint8_t & id); + Display(const uint8_t & address, const std::string & name); virtual ~Display() = default; void write_score(const unsigned int & score, const unsigned int & length); @@ -32,7 +32,7 @@ public: std::string get_content() const override; uint8_t get_address() const override; - uint8_t get_id() const override; + std::string get_name() const override; private: std::string fit_score_string(std::string & score_string, const unsigned int & length); @@ -41,7 +41,7 @@ public: std::string content; protected: - const uint8_t id; + const std::string name; const uint8_t address; }; diff --git a/FlippR-Driver/src/output/items/detail/EightDigitDisplay.h b/FlippR-Driver/src/output/items/detail/EightDigitDisplay.h index efb4d3b..a044e88 100644 --- a/FlippR-Driver/src/output/items/detail/EightDigitDisplay.h +++ b/FlippR-Driver/src/output/items/detail/EightDigitDisplay.h @@ -23,10 +23,10 @@ namespace detail class EightDigitDisplay : public virtual items::detail::Display, public virtual items::EightDigitDisplay { public: - EightDigitDisplay(uint8_t address, uint8_t id) : - detail::Display(address, id) + EightDigitDisplay(const uint8_t & address, const std::string & name) : + detail::Display(address, name) { - CLOG(DEBUG, OUTPUT_LOGGER) << "Created EightDigitDisplay with address " << int{this->address} << " and id: " << int{id}; + CLOG(DEBUG, OUTPUT_LOGGER) << "Created EightDigitDisplay " << name << " with address " << int{this->address}; } ~EightDigitDisplay() override = default; @@ -43,7 +43,7 @@ public: std::string get_name() const override { - return "EightDigitDisplay " + this->id; + return "EightDigitDisplay " + name; } }; diff --git a/FlippR-Driver/src/output/items/detail/SevenDigitDisplay.h b/FlippR-Driver/src/output/items/detail/SevenDigitDisplay.h index bc8f66e..f22e4f5 100644 --- a/FlippR-Driver/src/output/items/detail/SevenDigitDisplay.h +++ b/FlippR-Driver/src/output/items/detail/SevenDigitDisplay.h @@ -21,17 +21,17 @@ namespace detail class SevenDigitDisplay : public virtual items::detail::Display, public virtual items::SevenDigitDisplay { public: - SevenDigitDisplay(uint8_t address, uint8_t id) : - detail::Display(address, id) + SevenDigitDisplay(const uint8_t & address, const std::string & name) : + detail::Display(address, name) { - CLOG(DEBUG, OUTPUT_LOGGER) << "Created SevenDigitDisplay with address " << int{this->address} << " and id: " << int{id}; + CLOG(DEBUG, OUTPUT_LOGGER) << "Created SevenDigitDisplay " << name << " with address " << int{this->address}; } void write_score(unsigned int score) override { detail::Display::write_score(score, 7); } - void write_content(std::string content) override + void write_content(std::string & content) override { detail::Display::write_content(content, 7); } @@ -40,7 +40,7 @@ public: std::string get_name() const override { - return "EightDigitDisplay " + this->id; + return "EightDigitDisplay " + name; } };