write a block of bytes to the port */
| 773 | |
| 774 | /* write a block of bytes to the port */ |
| 775 | size_t UARTDriver::_write(const uint8_t *buffer, size_t size) |
| 776 | { |
| 777 | if (!_tx_initialised) { |
| 778 | return 0; |
| 779 | } |
| 780 | |
| 781 | WITH_SEMAPHORE(_write_mutex); |
| 782 | |
| 783 | size_t ret = _writebuf.write(buffer, size); |
| 784 | if (unbuffered_writes) { |
| 785 | chEvtSignal(uart_thread_ctx, EVT_TRANSMIT_DATA_READY); |
| 786 | } |
| 787 | return ret; |
| 788 | } |
| 789 | |
| 790 | /* |
| 791 | wait for data to arrive, or a timeout. Return true if data has |