diff --git a/src/grovecollision/grovecollision.cxx b/src/grovecollision/grovecollision.cxx index ccc1fd4f..fd8aa9bd 100644 --- a/src/grovecollision/grovecollision.cxx +++ b/src/grovecollision/grovecollision.cxx @@ -22,13 +22,22 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include +#include + #include "grovecollision.h" using namespace upm; GroveCollision::GroveCollision(int pin) { - m_gpio = mraa_gpio_init(pin); + + if ( !(m_gpio = mraa_gpio_init(pin)) ) + { + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init() failed, invalid pin?"); + return; + } mraa_gpio_dir(m_gpio, MRAA_GPIO_IN); }