From fc3aa64aac9e010bde17f25a2d13f7729e3c1c05 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Wed, 19 Aug 2020 21:47:31 +0200 Subject: [PATCH 1/8] Fix Flippr address --- FlippR-Driver/contrib/json_example/output/Solenoid_Config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlippR-Driver/contrib/json_example/output/Solenoid_Config.json b/FlippR-Driver/contrib/json_example/output/Solenoid_Config.json index cc174de..a024e3e 100644 --- a/FlippR-Driver/contrib/json_example/output/Solenoid_Config.json +++ b/FlippR-Driver/contrib/json_example/output/Solenoid_Config.json @@ -11,7 +11,7 @@ "flippers" : [ { - "address" : 59, + "address" : 60, "name" : "Flipper Relay" }, { From 0bd2d46191c5e33a933489730ef2ec66f20c8f23 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Sun, 7 Mar 2021 17:15:50 +0100 Subject: [PATCH 2/8] Change exception type --- FlippR-Driver/networking/output/OutputRequestHandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlippR-Driver/networking/output/OutputRequestHandler.cpp b/FlippR-Driver/networking/output/OutputRequestHandler.cpp index eb17bc3..dc0f89d 100644 --- a/FlippR-Driver/networking/output/OutputRequestHandler.cpp +++ b/FlippR-Driver/networking/output/OutputRequestHandler.cpp @@ -84,7 +84,7 @@ void OutputRequestHandler::handleRequest(HTTPServerRequest &request, json_response->stringify(ostr); } } - catch(const NotFoundException &e) + catch(const Poco::NotFoundException &e) { response.setStatusAndReason(HTTPServerResponse::HTTP_NOT_FOUND, e.displayText()); } From 122bb48a4966444691ed7ac63ad3e53cdd28e7d3 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Sun, 7 Mar 2021 17:17:05 +0100 Subject: [PATCH 3/8] Add Std exception --- FlippR-Driver/networking/output/OutputRequestHandler.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/FlippR-Driver/networking/output/OutputRequestHandler.cpp b/FlippR-Driver/networking/output/OutputRequestHandler.cpp index dc0f89d..abeec67 100644 --- a/FlippR-Driver/networking/output/OutputRequestHandler.cpp +++ b/FlippR-Driver/networking/output/OutputRequestHandler.cpp @@ -92,6 +92,10 @@ void OutputRequestHandler::handleRequest(HTTPServerRequest &request, { response.setStatusAndReason(HTTPServerResponse::HTTP_BAD_REQUEST, e.displayText()); } + catch(const std::exception &e) + { + response.setStatusAndReason(HTTPServerResponse::HTTP_BAD_REQUEST, e.displayText()); + } } boost::optional OutputRequestHandler::parseRequest(const std::string& item_type, const std::string& item_name, const std::string& action, const std::string& score) From 8236546854669457e9591d99d3dbdc4a05c811ff Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Sun, 7 Mar 2021 17:18:19 +0100 Subject: [PATCH 4/8] Add Std exception --- FlippR-Driver/networking/output/OutputRequestHandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlippR-Driver/networking/output/OutputRequestHandler.cpp b/FlippR-Driver/networking/output/OutputRequestHandler.cpp index abeec67..5bf5cc0 100644 --- a/FlippR-Driver/networking/output/OutputRequestHandler.cpp +++ b/FlippR-Driver/networking/output/OutputRequestHandler.cpp @@ -94,7 +94,7 @@ void OutputRequestHandler::handleRequest(HTTPServerRequest &request, } catch(const std::exception &e) { - response.setStatusAndReason(HTTPServerResponse::HTTP_BAD_REQUEST, e.displayText()); + response.setStatusAndReason(HTTPServerResponse::HTTP_BAD_REQUEST, e.what()); } } From bdb56fcfaebf7440c94abe57e7a7956a88f0b3d9 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Sun, 7 Mar 2021 17:33:13 +0100 Subject: [PATCH 5/8] Return empty optional --- .../json_example/output/Lamp_Config.json | 2 +- .../src/output/detail/OutputDriver.cpp | 30 +++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/FlippR-Driver/contrib/json_example/output/Lamp_Config.json b/FlippR-Driver/contrib/json_example/output/Lamp_Config.json index 6e60bbd..a8a8191 100644 --- a/FlippR-Driver/contrib/json_example/output/Lamp_Config.json +++ b/FlippR-Driver/contrib/json_example/output/Lamp_Config.json @@ -303,7 +303,7 @@ }, { "address" : 50, - "name" : "Bonux Multiplier x50" + "name" : "Bonus Multiplier x50" }, { "address" : 51, diff --git a/FlippR-Driver/src/output/detail/OutputDriver.cpp b/FlippR-Driver/src/output/detail/OutputDriver.cpp index 4842be1..2ba8af3 100644 --- a/FlippR-Driver/src/output/detail/OutputDriver.cpp +++ b/FlippR-Driver/src/output/detail/OutputDriver.cpp @@ -129,27 +129,47 @@ std::vector> OutputDriver::get_solenoids() const boost::optional> OutputDriver::get_lamp(const std::string &name) const { - return this->lamps.find(name)->second; + auto lamp = this->lamps.find(name); + if(lamp == this->lamps.end()) { + return boost:optional>(); + } + return lamp->second; } boost::optional> OutputDriver::get_solenoid(const std::string &name) const { - return this->solenoids.find(name)->second; + auto solenoid = this->solenoids.find(name); + if(solenoid == this->solenoids.end()) { + return boost:optional>(); + } + return solenoid->second; } boost::optional> OutputDriver::get_sound(const std::string &name) const { - return this->sounds.find(name)->second; + auto sound = this->sounds.find(name); + if(sound == this->sounds.end()) { + return boost:optional>(); + } + return sound->second; } boost::optional> OutputDriver::get_flipper(const std::string &name) const { - return this->flippers.find(name)->second; + auto flipper = this->flippers.find(name); + if(flipper == this->flippers.end()) { + return boost:optional>(); + } + return flipper->second; } boost::optional> OutputDriver::get_display(const std::string &name) const { - return this->displays.find(name)->second; + auto display = this->displays.find(name); + if(display == this->displays.end()) { + return boost:optional>(); + } + return display->second; } void OutputDriver::shut_down_driver() const From 55ba361f2abad459dc4733ed037b85c8df318c29 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Sun, 7 Mar 2021 17:34:13 +0100 Subject: [PATCH 6/8] double --- FlippR-Driver/src/output/detail/OutputDriver.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/FlippR-Driver/src/output/detail/OutputDriver.cpp b/FlippR-Driver/src/output/detail/OutputDriver.cpp index 2ba8af3..ba7240d 100644 --- a/FlippR-Driver/src/output/detail/OutputDriver.cpp +++ b/FlippR-Driver/src/output/detail/OutputDriver.cpp @@ -131,7 +131,7 @@ boost::optional> OutputDriver::get_lamp(const std:: { auto lamp = this->lamps.find(name); if(lamp == this->lamps.end()) { - return boost:optional>(); + return boost::optional>(); } return lamp->second; } @@ -140,7 +140,7 @@ boost::optional> OutputDriver::get_solenoid(con { auto solenoid = this->solenoids.find(name); if(solenoid == this->solenoids.end()) { - return boost:optional>(); + return boost::optional>(); } return solenoid->second; } @@ -149,7 +149,7 @@ boost::optional> OutputDriver::get_sound(const std { auto sound = this->sounds.find(name); if(sound == this->sounds.end()) { - return boost:optional>(); + return boost::optional>(); } return sound->second; } @@ -158,7 +158,7 @@ boost::optional> OutputDriver::get_flipper(const { auto flipper = this->flippers.find(name); if(flipper == this->flippers.end()) { - return boost:optional>(); + return boost::optional>(); } return flipper->second; } @@ -167,7 +167,7 @@ boost::optional> OutputDriver::get_display(const { auto display = this->displays.find(name); if(display == this->displays.end()) { - return boost:optional>(); + return boost::optional>(); } return display->second; } From 64a7ca146a52b294099b9204e4583520e09d2384 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Wed, 21 Apr 2021 20:47:17 +0200 Subject: [PATCH 7/8] Log: Driverboardcontroller --- FlippR-Driver/src/output/detail/DriverBoardPinController.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp b/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp index 0cf951d..88d1104 100644 --- a/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp +++ b/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp @@ -56,6 +56,7 @@ void DriverBoardPinController::deactivate(items::DriverBoardItem &driver_board_i void DriverBoardPinController::select_address(uint8_t address) { + CLOG(DEBUG, OUTPUT_LOGGER) << "Select address " << address; address = address % 8; write_pin(this->address_pins[0], address & 0b001); write_pin(this->address_pins[1], address & 0b010); @@ -64,6 +65,7 @@ void DriverBoardPinController::select_address(uint8_t address) void DriverBoardPinController::select_mux(uint8_t mux) { + CLOG(DEBUG, OUTPUT_LOGGER) << "Select mux " << mux; write_pin(this->mux_enable_pins[mux], 0); } From d8b2e454af38f39d95ebaa04823d50e382a820c0 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Wed, 21 Apr 2021 20:56:39 +0200 Subject: [PATCH 8/8] Log: int2str --- .../src/output/detail/DriverBoardPinController.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp b/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp index 88d1104..d7a5767 100644 --- a/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp +++ b/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp @@ -9,6 +9,8 @@ #include "utility/config.h" +#include + namespace flippR_driver { namespace output @@ -56,7 +58,7 @@ void DriverBoardPinController::deactivate(items::DriverBoardItem &driver_board_i void DriverBoardPinController::select_address(uint8_t address) { - CLOG(DEBUG, OUTPUT_LOGGER) << "Select address " << address; + CLOG(DEBUG, OUTPUT_LOGGER) << "Select address " << std::to_string(address); address = address % 8; write_pin(this->address_pins[0], address & 0b001); write_pin(this->address_pins[1], address & 0b010); @@ -65,7 +67,7 @@ void DriverBoardPinController::select_address(uint8_t address) void DriverBoardPinController::select_mux(uint8_t mux) { - CLOG(DEBUG, OUTPUT_LOGGER) << "Select mux " << mux; + CLOG(DEBUG, OUTPUT_LOGGER) << "Select mux " << std::to_string(mux); write_pin(this->mux_enable_pins[mux], 0); }