unconsting
This commit is contained in:
@@ -20,7 +20,7 @@ class InputPinController
|
|||||||
public:
|
public:
|
||||||
virtual ~InputPinController() = default;
|
virtual ~InputPinController() = default;
|
||||||
|
|
||||||
virtual bool read_data(const uint8_t &pin) const = 0;
|
virtual bool read_data(uint8_tpin) const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ InputPinController::InputPinController(std::map<std::string, uint8_t> pins)
|
|||||||
init_pins();
|
init_pins();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputPinController::read_data(const uint8_t &pin) const
|
bool InputPinController::read_data(uint8_tpin) const
|
||||||
{
|
{
|
||||||
// setting address to read
|
// setting address to read
|
||||||
write_row(pin / INPUT_MATRIX_SIZE);
|
write_row(pin / INPUT_MATRIX_SIZE);
|
||||||
@@ -40,14 +40,14 @@ bool InputPinController::read_data(const uint8_t &pin) const
|
|||||||
return read_pin(this->pins.at("data_address"));
|
return read_pin(this->pins.at("data_address"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputPinController::write_row(const u_int8_t &data) const
|
void InputPinController::write_row(uint8_tdata) const
|
||||||
{
|
{
|
||||||
write_pin(this->pins.at("row_address_A"), data & 0b001u);
|
write_pin(this->pins.at("row_address_A"), data & 0b001u);
|
||||||
write_pin(this->pins.at("row_address_B"), data & 0b010u);
|
write_pin(this->pins.at("row_address_B"), data & 0b010u);
|
||||||
write_pin(this->pins.at("row_address_C"), data & 0b100u);
|
write_pin(this->pins.at("row_address_C"), data & 0b100u);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputPinController::write_col(const uint8_t &data) const
|
void InputPinController::write_col(uint8_tdata) const
|
||||||
{
|
{
|
||||||
write_pin(this->pins.at("col_address_A"), data & 0b001u);
|
write_pin(this->pins.at("col_address_A"), data & 0b001u);
|
||||||
write_pin(this->pins.at("col_address_B"), data & 0b010u);
|
write_pin(this->pins.at("col_address_B"), data & 0b010u);
|
||||||
|
|||||||
@@ -26,12 +26,12 @@ class InputPinController : public input::InputPinController, public PinControlle
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit InputPinController(std::map<std::string, uint8_t> pins);
|
explicit InputPinController(std::map<std::string, uint8_t> pins);
|
||||||
bool read_data(const uint8_t &pin) const override;
|
bool read_data(uint8_tpin) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void init_pins() const;
|
void init_pins() const;
|
||||||
void write_row(const u_int8_t &data) const;
|
void write_row(uint8_tdata) const;
|
||||||
void write_col(const uint8_t &data) const;
|
void write_col(uint8_tdata) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const std::map<std::string, uint8_t> pins;
|
const std::map<std::string, uint8_t> pins;
|
||||||
|
|||||||
@@ -16,12 +16,12 @@ namespace flippR_driver
|
|||||||
namespace output
|
namespace output
|
||||||
{
|
{
|
||||||
|
|
||||||
void OutputPinController::initialize_i2c_address(const uint8_t &i2c_address, const uint8_t &pin_base)
|
void OutputPinController::initialize_i2c_address(uint8_ti2c_address, uint8_tpin_base)
|
||||||
{
|
{
|
||||||
mcp23017Setup(pin_base, i2c_address);
|
mcp23017Setup(pin_base, i2c_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutputPinController::initialize_pins_output(const uint8_t &pin_base)
|
void OutputPinController::initialize_pins_output(uint8_tpin_base)
|
||||||
{
|
{
|
||||||
// Since this are all outputs we just initialize everything as output conveniently
|
// Since this are all outputs we just initialize everything as output conveniently
|
||||||
for(int i = 0; i < 16; i++)
|
for(int i = 0; i < 16; i++)
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ public:
|
|||||||
virtual ~OutputPinController() = default;
|
virtual ~OutputPinController() = default;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static void initialize_i2c_address(const uint8_t &i2c_address, const uint8_t &pin_base);
|
static void initialize_i2c_address(uint8_ti2c_address, uint8_tpin_base);
|
||||||
static void initialize_pins_output(const uint8_t &pin_base);
|
static void initialize_pins_output(uint8_tpin_base);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ void DisplayBoardPinController::write_display(const items::Display &display) con
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DisplayBoardPinController::write_display_digit(const uint8_t display_address, const char &content, const uint8_t &position)
|
void DisplayBoardPinController::write_display_digit(uint8_t display_address, uint8_tcontent, uint8_tposition)
|
||||||
{
|
{
|
||||||
select_display_segment(position);
|
select_display_segment(position);
|
||||||
|
|
||||||
@@ -52,14 +52,14 @@ void DisplayBoardPinController::write_display_digit(const uint8_t display_addres
|
|||||||
std::this_thread::sleep_for(std::chrono::milliseconds(DISPLAY_SLEEP_TIME_MILLI));
|
std::this_thread::sleep_for(std::chrono::milliseconds(DISPLAY_SLEEP_TIME_MILLI));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayBoardPinController::select_display_segment(const uint8_t &segment)
|
void DisplayBoardPinController::select_display_segment(uint8_tsegment)
|
||||||
{
|
{
|
||||||
write_pin(pins_display_board.at("segment_select_A"), segment & ~0b001u);
|
write_pin(pins_display_board.at("segment_select_A"), segment & ~0b001u);
|
||||||
write_pin(pins_display_board.at("segment_select_B"), segment & ~0b010u);
|
write_pin(pins_display_board.at("segment_select_B"), segment & ~0b010u);
|
||||||
write_pin(pins_display_board.at("segment_select_C"), segment & ~0b100u);
|
write_pin(pins_display_board.at("segment_select_C"), segment & ~0b100u);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayBoardPinController::select_display_digit(const char &content)
|
void DisplayBoardPinController::select_display_digit(uint8_tcontent)
|
||||||
{
|
{
|
||||||
write_pin(pins_display_board.at("digit_select_A"), content & 0b0001u);
|
write_pin(pins_display_board.at("digit_select_A"), content & 0b0001u);
|
||||||
write_pin(pins_display_board.at("digit_select_B"), content & 0b0010u);
|
write_pin(pins_display_board.at("digit_select_B"), content & 0b0010u);
|
||||||
@@ -67,7 +67,7 @@ void DisplayBoardPinController::select_display_digit(const char &content)
|
|||||||
write_pin(pins_display_board.at("digit_select_D"), content & 0b1000u);
|
write_pin(pins_display_board.at("digit_select_D"), content & 0b1000u);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayBoardPinController::run_display(const uint8_t &address)
|
void DisplayBoardPinController::run_display(uint8_taddress)
|
||||||
{
|
{
|
||||||
write_pin(pins_display_board.at("display_select_" + std::to_string(address)), 0);
|
write_pin(pins_display_board.at("display_select_" + std::to_string(address)), 0);
|
||||||
|
|
||||||
|
|||||||
@@ -30,10 +30,10 @@ public:
|
|||||||
void write_display(const items::Display &display) const override;
|
void write_display(const items::Display &display) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void write_display_digit(const uint8_t display_address, const char &content, const uint8_t &position);
|
void write_display_digit(uint8_t display_address, uint8_tcontent, uint8_tposition);
|
||||||
void select_display_segment(const uint8_t &digit);
|
void select_display_segment(uint8_tdigit);
|
||||||
void select_display_digit(const char &content);
|
void select_display_digit(uint8_tcontent);
|
||||||
void run_display(const uint8_t &address);
|
void run_display(uint8_taddress);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const std::map<std::string, uint8_t> pins_display_board;
|
const std::map<std::string, uint8_t> pins_display_board;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ void DriverBoardPinController::deactivate(items::DriverBoardItem &driver_board_i
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DriverBoardPinController::write_driver_board_address(const uint8_t address) const
|
void DriverBoardPinController::write_driver_board_address(uint8_t address) const
|
||||||
{
|
{
|
||||||
int latch = address / 8;
|
int latch = address / 8;
|
||||||
int pin = address % 8;
|
int pin = address % 8;
|
||||||
@@ -48,7 +48,7 @@ void DriverBoardPinController::write_driver_board_address(const uint8_t address)
|
|||||||
select_pin(pin);
|
select_pin(pin);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DriverBoardPinController::select_mux(const uint8_t latch)const
|
void DriverBoardPinController::select_mux(uint8_t latch)const
|
||||||
{
|
{
|
||||||
bool mux1 = latch / 8;
|
bool mux1 = latch / 8;
|
||||||
|
|
||||||
@@ -68,19 +68,19 @@ void DriverBoardPinController::select_latch(uint8_t latch) const
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DriverBoardPinController::write_data(const bool data) const
|
void DriverBoardPinController::write_data(bool data) const
|
||||||
{
|
{
|
||||||
write_pin(pins_driver_board.at("data"), data);
|
write_pin(pins_driver_board.at("data"), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DriverBoardPinController::select_pin(const uint8_t pin) const
|
void DriverBoardPinController::select_pin(uint8_t pin) const
|
||||||
{
|
{
|
||||||
write_pin(pins_driver_board.at("pin-select-A"), pin & 0b001u);
|
write_pin(pins_driver_board.at("pin-select-A"), pin & 0b001u);
|
||||||
write_pin(pins_driver_board.at("pin-select-B"), pin & 0b010u);
|
write_pin(pins_driver_board.at("pin-select-B"), pin & 0b010u);
|
||||||
write_pin(pins_driver_board.at("pin-select-C"), pin & 0b100u);
|
write_pin(pins_driver_board.at("pin-select-C"), pin & 0b100u);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DriverBoardPinController::write_pin(const uint8_t pin, const bool value) const
|
void DriverBoardPinController::write_pin(uint8_t pin, bool value) const
|
||||||
{
|
{
|
||||||
PinController::write_pin(pins_driver_board.at("pin_base") + pin, value);
|
PinController::write_pin(pins_driver_board.at("pin_base") + pin, value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,13 +31,13 @@ public:
|
|||||||
void deactivate(items::DriverBoardItem &driver_board_item) override;
|
void deactivate(items::DriverBoardItem &driver_board_item) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void write_driver_board_address(const uint8_t address) const;
|
void write_driver_board_address(uint8_t address) const;
|
||||||
void select_mux(const uint8_t latch) const;
|
void select_mux(uint8_t latch) const;
|
||||||
void select_latch(uint8_t latch) const;
|
void select_latch(uint8_t latch) const;
|
||||||
void select_pin(const uint8_t pin) const;
|
void select_pin(uint8_t pin) const;
|
||||||
void write_data(const bool data) const;
|
void write_data(bool data) const;
|
||||||
|
|
||||||
void write_pin(const uint8_t pin, const bool value) const;
|
void write_pin(uint8_t pin, bool value) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<std::mutex> output_item_mutex;
|
std::shared_ptr<std::mutex> output_item_mutex;
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ boost::optional<std::shared_ptr<items::Sound>> OutputDriver::get_sound(const std
|
|||||||
return this->sounds.find(name)->second;
|
return this->sounds.find(name)->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(const char &number) const
|
boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(uint8_tnumber) const
|
||||||
{
|
{
|
||||||
return this->displays.find(number)->second;
|
return this->displays.find(number)->second;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public:
|
|||||||
boost::optional<std::shared_ptr<items::Lamp>> get_lamp(const std::string &name) override;
|
boost::optional<std::shared_ptr<items::Lamp>> get_lamp(const std::string &name) override;
|
||||||
boost::optional<std::shared_ptr<items::Solenoid>> get_solenoid(const std::&string name) override;
|
boost::optional<std::shared_ptr<items::Solenoid>> get_solenoid(const std::&string name) override;
|
||||||
boost::optional<std::shared_ptr<items::Sound>> get_sound(const std::string &name) override;
|
boost::optional<std::shared_ptr<items::Sound>> get_sound(const std::string &name) override;
|
||||||
boost::optional<std::shared_ptr<items::Display>> get_display(const char &number) override;
|
boost::optional<std::shared_ptr<items::Display>> get_display(uint8_tnumber) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<output::DisplayController> display_controller;
|
std::unique_ptr<output::DisplayController> display_controller;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ void SoundBoardPinController::deactivate(const items::impl::Sound &sound)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SoundBoardPinController::write_sound_address(const uint8_t address) const
|
void SoundBoardPinController::write_sound_address(uint8_t address) const
|
||||||
{
|
{
|
||||||
write_pin(pins_sound.at("A"), address & 0b0000001u);
|
write_pin(pins_sound.at("A"), address & 0b0000001u);
|
||||||
write_pin(pins_sound.at("B"), address & 0b0000010u);
|
write_pin(pins_sound.at("B"), address & 0b0000010u);
|
||||||
@@ -47,12 +47,12 @@ void SoundBoardPinController::write_sound_address(const uint8_t address) const
|
|||||||
write_pin(pins_sound.at("G"), address & 0b1000000u);
|
write_pin(pins_sound.at("G"), address & 0b1000000u);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundBoardPinController::fire_sound(const bool fire) const
|
void SoundBoardPinController::fire_sound(bool fire) const
|
||||||
{
|
{
|
||||||
PinController::write_pin(pins_sound.at("fire"), fire);
|
PinController::write_pin(pins_sound.at("fire"), fire);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundBoardPinController::write_pin(const uint8_t pin, const bool value) const
|
void SoundBoardPinController::write_pin(uint8_t pin, bool value) const
|
||||||
{
|
{
|
||||||
PinController::write_pin(pins_sound.at("pin_base") + pin, value);
|
PinController::write_pin(pins_sound.at("pin_base") + pin, value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ public:
|
|||||||
void deactivate(const items::impl::Sound &sound) override;
|
void deactivate(const items::impl::Sound &sound) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void write_sound_address(const uint8_t address) const;
|
void write_sound_address(uint8_t address) const;
|
||||||
void fire_sound(const bool fire) const;
|
void fire_sound(bool fire) const;
|
||||||
|
|
||||||
void write_pin(const uint8_t pin, const bool value) const;
|
void write_pin(uint8_t pin, bool value) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<std::mutex> output_item_mutex;
|
std::shared_ptr<std::mutex> output_item_mutex;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public:
|
|||||||
std::string get_name() const override;
|
std::string get_name() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
const uint8_t address;
|
uint8_t address;
|
||||||
const std::string name;
|
const std::string name;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user