mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-16 18:40:36 +08:00
Added Qurt platform Serial implementations for bytesAvailable() and flush(). (#25348)
This commit is contained in:
@@ -39,6 +39,11 @@
|
||||
|
||||
#define MODULE_NAME "SerialImpl"
|
||||
|
||||
extern "C" {
|
||||
__EXPORT int fc_uart_rx_available(int fd, uint32_t *data);
|
||||
__EXPORT int fc_uart_flush_rx(int fd);
|
||||
}
|
||||
|
||||
namespace device
|
||||
{
|
||||
|
||||
@@ -160,9 +165,14 @@ bool SerialImpl::close()
|
||||
|
||||
ssize_t SerialImpl::bytesAvailable()
|
||||
{
|
||||
// TODO:
|
||||
PX4_WARN("bytesAvailable not implemented!");
|
||||
return 0;
|
||||
if (!_open) {
|
||||
PX4_ERR("Device not open!");
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint32_t rx_bytes = 0;
|
||||
(void) fc_uart_rx_available(_serial_fd, &rx_bytes);
|
||||
return (ssize_t) rx_bytes;
|
||||
}
|
||||
|
||||
ssize_t SerialImpl::read(uint8_t *buffer, size_t buffer_size)
|
||||
@@ -267,7 +277,9 @@ ssize_t SerialImpl::write(const void *buffer, size_t buffer_size)
|
||||
|
||||
void SerialImpl::flush()
|
||||
{
|
||||
// TODO: Flush not implemented yet on Qurt
|
||||
if (_open) {
|
||||
(void) fc_uart_flush_rx(_serial_fd);
|
||||
}
|
||||
}
|
||||
|
||||
const char *SerialImpl::getPort() const
|
||||
|
||||
Reference in New Issue
Block a user