mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-23 06:17:35 +08:00
[SerialImpl]: add function to return pollfd
This commit is contained in:
@@ -69,6 +69,11 @@ bool Serial::close()
|
||||
return _impl.close();
|
||||
}
|
||||
|
||||
bool Serial::getPollFd(const px4_pollevent_t events, px4_pollfd_struct_t *pfd)
|
||||
{
|
||||
return _impl.getPollFd(events, pfd);
|
||||
}
|
||||
|
||||
ssize_t Serial::bytesAvailable()
|
||||
{
|
||||
return _impl.bytesAvailable();
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
#include <SerialImpl.hpp>
|
||||
|
||||
#include <px4_platform_common/posix.h>
|
||||
#include <px4_platform_common/SerialCommon.hpp>
|
||||
|
||||
using device::SerialConfig::ByteSize;
|
||||
@@ -61,6 +62,8 @@ public:
|
||||
|
||||
bool close();
|
||||
|
||||
bool getPollFd(const px4_pollevent_t events, px4_pollfd_struct_t *pfd);
|
||||
|
||||
ssize_t bytesAvailable();
|
||||
ssize_t read(uint8_t *buffer, size_t buffer_size);
|
||||
ssize_t readAtLeast(uint8_t *buffer, size_t buffer_size, size_t character_count = 1, uint32_t timeout_ms = 0);
|
||||
|
||||
@@ -289,6 +289,18 @@ bool SerialImpl::close()
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SerialImpl::getPollFd(const px4_pollevent_t events, px4_pollfd_struct_t *pfd)
|
||||
{
|
||||
if (!_open) {
|
||||
PX4_ERR("Device not open!");
|
||||
return false;
|
||||
}
|
||||
|
||||
pfd->fd = _serial_fd;
|
||||
pfd->events = events;
|
||||
return true;
|
||||
}
|
||||
|
||||
ssize_t SerialImpl::bytesAvailable()
|
||||
{
|
||||
if (!_open) {
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#include <stdint.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <px4_platform_common/posix.h>
|
||||
#include <px4_platform_common/SerialCommon.hpp>
|
||||
|
||||
using device::SerialConfig::ByteSize;
|
||||
@@ -59,6 +60,8 @@ public:
|
||||
|
||||
bool close();
|
||||
|
||||
bool getPollFd(const px4_pollevent_t events, px4_pollfd_struct_t *pfd);
|
||||
|
||||
ssize_t bytesAvailable();
|
||||
ssize_t read(uint8_t *buffer, size_t buffer_size);
|
||||
ssize_t readAtLeast(uint8_t *buffer, size_t buffer_size, size_t character_count = 1, uint32_t timeout_us = 0);
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#include <stdint.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <px4_platform_common/posix.h>
|
||||
#include <px4_platform_common/SerialCommon.hpp>
|
||||
|
||||
using device::SerialConfig::ByteSize;
|
||||
@@ -59,6 +60,8 @@ public:
|
||||
|
||||
bool close();
|
||||
|
||||
bool getPollFd(px4_pollevent_t event, px4_pollfd_struct_t *pfd);
|
||||
|
||||
ssize_t bytesAvailable();
|
||||
ssize_t read(uint8_t *buffer, size_t buffer_size);
|
||||
ssize_t readAtLeast(uint8_t *buffer, size_t buffer_size, size_t character_count = 1, uint32_t timeout_us = 0);
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
#include <px4_platform_common/posix.h>
|
||||
#include <px4_platform_common/SerialCommon.hpp>
|
||||
|
||||
using device::SerialConfig::ByteSize;
|
||||
@@ -58,6 +59,8 @@ public:
|
||||
|
||||
bool close();
|
||||
|
||||
bool getPollFd(const px4_pollevent_t events, px4_pollfd_struct_t *pfd);
|
||||
|
||||
ssize_t bytesAvailable();
|
||||
ssize_t read(uint8_t *buffer, size_t buffer_size);
|
||||
ssize_t readAtLeast(uint8_t *buffer, size_t buffer_size, size_t character_count = 1, uint32_t timeout_us = 0);
|
||||
|
||||
Reference in New Issue
Block a user