diff --git a/firmware/common/wm8731.cpp b/firmware/common/wm8731.cpp index f5c454c3..b0b27151 100644 --- a/firmware/common/wm8731.cpp +++ b/firmware/common/wm8731.cpp @@ -87,21 +87,21 @@ void WM8731::init() { headphone_mute(); } -void WM8731::reset() { - write(0x0f, 0); +bool WM8731::reset() { + return write(0x0f, 0); } -void WM8731::write(const Register reg) { - write(toUType(reg), map.w[toUType(reg)]); +bool WM8731::write(const Register reg) { + return write(toUType(reg), map.w[toUType(reg)]); } -void WM8731::write(const address_t reg_address, const reg_t value) { +bool WM8731::write(const address_t reg_address, const reg_t value) { const uint16_t word = (reg_address << 9) | value; const std::array values { static_cast(word >> 8), static_cast(word & 0xff), }; - bus.transmit(bus_address, values.data(), values.size()); + return bus.transmit(bus_address, values.data(), values.size()); } reg_t WM8731::read(const address_t reg_address) { diff --git a/firmware/common/wm8731.hpp b/firmware/common/wm8731.hpp index a81e819c..87790b86 100644 --- a/firmware/common/wm8731.hpp +++ b/firmware/common/wm8731.hpp @@ -290,7 +290,7 @@ public: void init(); - void reset(); + bool reset(); void set_line_in_volume(const volume_t volume) { const auto normalized = line_in_gain_range.normalize(volume); @@ -338,9 +338,9 @@ private: const I2C::address_t bus_address; RegisterMap map { default_after_reset }; - void write(const Register reg); + bool write(const Register reg); - void write(const address_t reg_address, const reg_t value); + bool write(const address_t reg_address, const reg_t value); void write(const LeftLineIn value); void write(const RightLineIn value);