From 04e91db166cb2115f92762143758447583a41561 Mon Sep 17 00:00:00 2001 From: Jon Trulson Date: Tue, 8 Sep 2015 12:45:33 -0600 Subject: [PATCH] grovespeaker: throw exception(s) on fatal errors Signed-off-by: Jon Trulson Signed-off-by: Mihai Tudor Panu --- src/grovespeaker/grovespeaker.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/grovespeaker/grovespeaker.cxx b/src/grovespeaker/grovespeaker.cxx index 970ae7c5..0b34e487 100644 --- a/src/grovespeaker/grovespeaker.cxx +++ b/src/grovespeaker/grovespeaker.cxx @@ -23,6 +23,8 @@ */ #include +#include +#include #include "grovespeaker.h" @@ -30,7 +32,10 @@ using namespace upm; GroveSpeaker::GroveSpeaker(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?"); + mraa_gpio_dir(m_gpio, MRAA_GPIO_OUT); m_note_list['a'] = storeNote(1136, 1073, 568, 536, 284, 268); m_note_list['b'] = storeNote(1012, 0, 506, 0, 253, 0);