Skip to content

Commit 3f4e2d5

Browse files
committed
RPC: fix first_message for all channels
1 parent c81176f commit 3f4e2d5

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

libraries/RPC/src/RPC.cpp

+12-3
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,20 @@ static RingBufferN<256> intermediate_buffer_resp;
1616
//static uint8_t intermediate_buffer_resp[256];
1717
static rtos::Mutex rx_mtx;
1818

19+
static bool _init_recv_message = true;
20+
1921
int RPCClass::rpmsg_recv_callback(struct rpmsg_endpoint *ept, void *data,
2022
size_t len, uint32_t src, void *priv)
2123
{
2224
RPCClass* rpc = (RPCClass*)priv;
2325

26+
#ifdef CORE_CM4
27+
if (_init_recv_message) {
28+
_init_recv_message = false;
29+
return 0;
30+
}
31+
#endif
32+
2433
rx_mtx.lock();
2534
for (size_t i = 0; i < len; i++) {
2635
intermediate_buffer.store_char(((uint8_t*)data)[i]);
@@ -34,16 +43,16 @@ int RPCClass::rpmsg_recv_callback(struct rpmsg_endpoint *ept, void *data,
3443
return 0;
3544
}
3645

37-
static bool first_message = true;
46+
static bool _init_resp_message = true;
3847

3948
int RPCClass::rpmsg_recv_response_callback(struct rpmsg_endpoint *ept, void *data,
4049
size_t len, uint32_t src, void *priv)
4150
{
4251
RPCClass* rpc = (RPCClass*)priv;
4352

4453
#ifdef CORE_CM4
45-
if (first_message) {
46-
first_message = false;
54+
if (_init_resp_message) {
55+
_init_resp_message = false;
4756
return 0;
4857
}
4958
#endif

0 commit comments

Comments
 (0)