changed soundboard address pins

This commit is contained in:
Jonas Zeunert
2020-01-15 16:14:22 +01:00
parent 697081afbb
commit a202f86472
3 changed files with 6 additions and 10 deletions

View File

@@ -15,7 +15,7 @@ namespace detail
SoundBoardPinController::SoundBoardPinController(std::shared_ptr<std::mutex> output_item_mutex, SoundBoardPinController::SoundBoardPinController(std::shared_ptr<std::mutex> output_item_mutex,
uint8_t fire_address, uint8_t fire_address,
const std::vector<uint8_t> address_pins) : const std::array<uint8_t, 7> address_pins) :
output_item_mutex{output_item_mutex}, output_item_mutex{output_item_mutex},
fire_address{fire_address}, fire_address{fire_address},
address_pins{address_pins} 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); PinController::write_pin(pin, value);
} }
void SoundBoardPinController::set_address_pins(std::vector<uint8_t> address_pins) void SoundBoardPinController::set_address_pins(std::array<uint8_t, 7> address_pins)
{ {
this->address_pins = address_pins; this->address_pins = address_pins;

View File

@@ -19,7 +19,7 @@ namespace detail
class SoundBoardPinController : public output::SoundBoardPinController class SoundBoardPinController : public output::SoundBoardPinController
{ {
public: public:
explicit SoundBoardPinController(std::shared_ptr<std::mutex> output_item_mutex, uint8_t fire_address, const std::vector<uint8_t> address_pins); explicit SoundBoardPinController(std::shared_ptr<std::mutex> output_item_mutex, uint8_t fire_address, const std::array<uint8_t, 7> address_pins);
explicit SoundBoardPinController(std::shared_ptr<std::mutex> output_item_mutex); explicit SoundBoardPinController(std::shared_ptr<std::mutex> output_item_mutex);
~SoundBoardPinController() override = default; ~SoundBoardPinController() override = default;
@@ -27,7 +27,7 @@ public:
void deactivate(const items::detail::Sound &sound); void deactivate(const items::detail::Sound &sound);
void set_fire_address(const uint8_t & fire_address); void set_fire_address(const uint8_t & fire_address);
void set_address_pins(const std::vector<uint8_t> address_pins); void set_address_pins(const std::array<uint8_t, 7> address_pins);
private: private:
void write_sound_address(const uint8_t & address) const; void write_sound_address(const uint8_t & address) const;
@@ -40,7 +40,7 @@ private:
uint8_t pin_base; uint8_t pin_base;
uint8_t fire_address; uint8_t fire_address;
std::vector<uint8_t> address_pins; std::array<uint8_t, 7> address_pins;
}; };
} }

View File

@@ -52,12 +52,8 @@ void SoundFactory::set_address_pins()
{ {
auto address_pins = object.at(config_path::sound_address_pins); auto address_pins = object.at(config_path::sound_address_pins);
std::vector<uint8_t> pins; std::array<uint8_t, 7> pins;
for (auto & pin_json : address_pins)
{
pins.push_back(0);
}
for (auto & pin_json : address_pins) for (auto & pin_json : address_pins)
{ {
uint8_t pin = pin_json.at(config_path::item_address).get<uint8_t>(); uint8_t pin = pin_json.at(config_path::item_address).get<uint8_t>();