diff --git a/FlippR-Driver/src/output/detail/SoundBoardPinController.cpp b/FlippR-Driver/src/output/detail/SoundBoardPinController.cpp index f036345..bfa6fdf 100644 --- a/FlippR-Driver/src/output/detail/SoundBoardPinController.cpp +++ b/FlippR-Driver/src/output/detail/SoundBoardPinController.cpp @@ -15,7 +15,7 @@ namespace detail SoundBoardPinController::SoundBoardPinController(std::shared_ptr output_item_mutex, uint8_t fire_address, - const std::vector address_pins) : + const std::array address_pins) : output_item_mutex{output_item_mutex}, fire_address{fire_address}, address_pins{address_pins} @@ -71,7 +71,7 @@ void SoundBoardPinController::write_pin(const uint8_t &pin, const bool &value) c PinController::write_pin(pin, value); } -void SoundBoardPinController::set_address_pins(std::vector address_pins) +void SoundBoardPinController::set_address_pins(std::array address_pins) { this->address_pins = address_pins; diff --git a/FlippR-Driver/src/output/detail/SoundBoardPinController.h b/FlippR-Driver/src/output/detail/SoundBoardPinController.h index f5f4bdc..f664e0c 100644 --- a/FlippR-Driver/src/output/detail/SoundBoardPinController.h +++ b/FlippR-Driver/src/output/detail/SoundBoardPinController.h @@ -19,7 +19,7 @@ namespace detail class SoundBoardPinController : public output::SoundBoardPinController { public: - explicit SoundBoardPinController(std::shared_ptr output_item_mutex, uint8_t fire_address, const std::vector address_pins); + explicit SoundBoardPinController(std::shared_ptr output_item_mutex, uint8_t fire_address, const std::array address_pins); explicit SoundBoardPinController(std::shared_ptr output_item_mutex); ~SoundBoardPinController() override = default; @@ -27,7 +27,7 @@ public: void deactivate(const items::detail::Sound &sound); void set_fire_address(const uint8_t & fire_address); - void set_address_pins(const std::vector address_pins); + void set_address_pins(const std::array address_pins); private: void write_sound_address(const uint8_t & address) const; @@ -40,7 +40,7 @@ private: uint8_t pin_base; uint8_t fire_address; - std::vector address_pins; + std::array address_pins; }; } diff --git a/FlippR-Driver/src/output/factories/SoundFactory.cpp b/FlippR-Driver/src/output/factories/SoundFactory.cpp index b605d53..6927a8f 100644 --- a/FlippR-Driver/src/output/factories/SoundFactory.cpp +++ b/FlippR-Driver/src/output/factories/SoundFactory.cpp @@ -52,12 +52,8 @@ void SoundFactory::set_address_pins() { auto address_pins = object.at(config_path::sound_address_pins); - std::vector pins; + std::array pins; - for (auto & pin_json : address_pins) - { - pins.push_back(0); - } for (auto & pin_json : address_pins) { uint8_t pin = pin_json.at(config_path::item_address).get();