void SerialBase::start_write(const void *buffer, int buffer_size, char buffer_width, const event_callback_t& callback, int event) { _tx_callback = callback; _thunk_irq.callback(&SerialBase::interrupt_handler_asynch); serial_tx_asynch(&_serial, buffer, buffer_size, buffer_width, _thunk_irq.entry(), event, _tx_usage); }
void SerialBase::start_write(const Buffer& buffer, char buffer_width, const event_callback_t& callback, int event) { _current_tx_transaction.callback = callback; _current_tx_transaction.buffer = buffer; _thunk_irq.callback(&SerialBase::interrupt_handler_asynch); serial_tx_asynch(&_serial, buffer.buf, buffer.length, buffer_width, _thunk_irq.entry(), event, _tx_usage); }