# \param block_till_ready (optional) Normally the function immediately starts to transmit the new configuration. If this parameter is defined and non-zero the function first waits for a READY message (up to the timeout).
# \param wait_for_ready (optional) Normally the function returns immediately after the CONF_DONE message is received. If this parameter is defined and non-zero the function additionally waits for a READY/UNDERRUN message.
#
# \returns 0 on success
# \returns 1 if no message could be received
# \returns a hash if any message was received (potentially) containing msg_type, fault_detect, error, underrun_occurred