Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
commands.h File Reference

RPC command implementation functions. More...

#include <zephyr/net_buf.h>
#include <infuse/epacket/packet.h>

Go to the source code of this file.

Macros

#define RPC_REQUEST_VAR_LEN(request, type)
 Get the size of the variable component of the INFUSE_RPC_CMD packet.
 
#define RPC_DATA_VAR_LEN(data)
 Get the size of the variable component of the INFUSE_RPC_DATA packet.
 

Functions

struct net_buf * rpc_response_simple_if (const struct device *interface, int16_t rc, void *response, size_t len)
 Create an INFUSE_RPC_RSP packet buffer for an interface.
 
struct net_buf * rpc_response_simple_req (struct net_buf *request, int16_t rc, void *response, size_t len)
 Create an INFUSE_RPC_RSP packet buffer from a request.
 
struct net_buf * rpc_server_pull_data (uint32_t request_id, uint32_t expected_offset, int *err, k_timeout_t timeout)
 Attempt to pull INFUSE_RPC_DATA packet from queue.
 
void rpc_server_ack_data_ready (const struct device *interface, union epacket_interface_address address, uint32_t request_id)
 Send initial INFUSE_RPC_DATA_ACK to signify we are ready for data.
 
void rpc_server_ack_data (const struct device *interface, union epacket_interface_address address, uint32_t request_id, uint32_t offset, uint8_t ack_period)
 Acknowledge received data packets.
 
void rpc_server_watchdog_feed (void)
 Feed the RPC server watchdog from a RPC implementation.
 
uint8_t * rpc_server_command_working_mem (size_t *size)
 Retrieve working memory for an RPC.
 

Detailed Description

RPC command implementation functions.

Author
Jordan Yates jorda.nosp@m.n@em.nosp@m.beint.nosp@m..com

SPDX-License-Identifier: FSL-1.1-ALv2

Functions to call from RPC command implementations only.