reverted back changes to function signature of serial rx callback func

This commit is contained in:
Ruixiang Du
2020-09-14 21:37:08 +08:00
parent 9e646c78b7
commit c501b6a38d
3 changed files with 13 additions and 7 deletions

View File

@@ -54,6 +54,8 @@ short CursorColor(int fg)
return (COLOR_YELLOW); return (COLOR_YELLOW);
case 7: /* 111 */ case 7: /* 111 */
return (COLOR_WHITE); return (COLOR_WHITE);
default:
return COLOR_BLACK;
} }
} }
} // namespace } // namespace

View File

@@ -23,7 +23,7 @@ class AsyncSerial : public AsyncListener,
public std::enable_shared_from_this<AsyncSerial> { public std::enable_shared_from_this<AsyncSerial> {
public: public:
using ReceiveCallback = using ReceiveCallback =
std::function<void(uint8_t *data, size_t len, const size_t bufsize)>; std::function<void(uint8_t *data, const size_t bufsize, size_t len)>;
public: public:
AsyncSerial(std::string port_name, uint32_t baud_rate = 115200); AsyncSerial(std::string port_name, uint32_t baud_rate = 115200);
@@ -56,7 +56,7 @@ class AsyncSerial : public AsyncListener,
bool tx_in_progress_ = false; bool tx_in_progress_ = false;
bool SetupPort(); bool SetupPort();
void DefaultReceiveCallback(uint8_t *data, size_t len, const size_t bufsize); void DefaultReceiveCallback(uint8_t *data, const size_t bufsize, size_t len);
void ReadFromPort(); void ReadFromPort();
void WriteToPort(bool check_if_busy); void WriteToPort(bool check_if_busy);
}; };

View File

@@ -80,8 +80,8 @@ void AsyncSerial::StopService() {
port_opened_ = false; port_opened_ = false;
} }
void AsyncSerial::DefaultReceiveCallback(uint8_t *data, size_t len, void AsyncSerial::DefaultReceiveCallback(uint8_t *data, const size_t bufsize,
const size_t bufsize) {} size_t len) {}
void AsyncSerial::ReadFromPort() { void AsyncSerial::ReadFromPort() {
auto sthis = shared_from_this(); auto sthis = shared_from_this();
@@ -93,9 +93,13 @@ void AsyncSerial::ReadFromPort() {
return; return;
} }
if (sthis->rcv_cb_ != nullptr) if (sthis->rcv_cb_ != nullptr) {
sthis->rcv_cb_(sthis->rx_buf_.data(), bytes_transferred, sthis->rcv_cb_(sthis->rx_buf_.data(), sthis->rx_buf_.size(),
sthis->rx_buf_.size()); bytes_transferred);
} else {
sthis->DefaultReceiveCallback(
sthis->rx_buf_.data(), sthis->rx_buf_.size(), bytes_transferred);
}
sthis->ReadFromPort(); sthis->ReadFromPort();
}); });
} }