Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
RPC command implementation APIs

RPC command implementation API. More...

Data Structures

struct  security_state_response_hw_id
 Hardware ID challenge response (plaintext) More...
struct  security_state_response_hw_id_encrypted
 Hardware ID challenge response, encrypted with ChaCha20-Poly1305. More...

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.

Enumerations

enum  { CHALLENGE_RESPONSE_HARDWARE_ID = 0 , CHALLENGE_RESPONSE_NORDIC_IDENTITY }

Functions

void rpc_command_runner (struct net_buf *request)
 Execute a command contained in the buffer.
void rpc_command_runner_request_unref (struct net_buf *request)
 Free the request buffer inside the RPC implementation.
void rpc_command_runner_early_response (struct epacket_rx_metadata *rx_meta, uint32_t request_id, uint16_t command_id, struct net_buf *response)
 Send the response buffer before returning from the RPC implementation.
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.
struct net_buf * rpc_server_pull_data_unaligned (uint32_t request_id, uint32_t expected_offset, int *err, k_timeout_t timeout)
 Attempt to pull unaligned INFUSE_RPC_DATA packet from queue.
int rpc_server_pull_error_to_rpc_error (int err)
 Convert a stdlib error code from rpc_server_pull_data to an RPC error code.
void rpc_server_ack_data_ready (struct epacket_rx_metadata *rx_meta, uint32_t request_id)
 Send initial INFUSE_RPC_DATA_ACK to signify we are ready for data.
void rpc_server_ack_data (struct epacket_rx_metadata *rx_meta, 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.
bool infuse_rpc_command_kv_write_validate (struct epacket_rx_metadata *meta, uint16_t key, const void *data, size_t len)
 Application level validation of external KV writes.
bool infuse_rpc_command_security_authorised (struct epacket_rx_metadata *meta, struct rpc_security_key_update_request *req)
 Application level authorisation check for security_key_update
struct net_buf * rpc_command_reboot (struct net_buf *request)
 Run reboot RPC.
struct net_buf * rpc_command_fault (struct net_buf *request)
 Run fault RPC.
struct net_buf * rpc_command_time_get (struct net_buf *request)
 Run time_get RPC.
struct net_buf * rpc_command_time_set (struct net_buf *request)
 Run time_set RPC.
struct net_buf * rpc_command_kv_write (struct net_buf *request)
 Run kv_write RPC.
struct net_buf * rpc_command_kv_read (struct net_buf *request)
 Run kv_read RPC.
struct net_buf * rpc_command_kv_reflect_crcs (struct net_buf *request)
 Run kv_reflect_crcs RPC.
struct net_buf * rpc_command_zbus_channel_state (struct net_buf *request)
 Run zbus_channel_state RPC.
struct net_buf * rpc_command_application_info (struct net_buf *request)
 Run application_info RPC.
struct net_buf * rpc_command_wifi_scan (struct net_buf *request)
 Run wifi_scan RPC.
struct net_buf * rpc_command_wifi_state (struct net_buf *request)
 Run wifi_state RPC.
struct net_buf * rpc_command_last_reboot (struct net_buf *request)
 Run last_reboot RPC.
struct net_buf * rpc_command_data_logger_state (struct net_buf *request)
 Run data_logger_state RPC.
struct net_buf * rpc_command_data_logger_read (struct net_buf *request)
 Run data_logger_read RPC.
struct net_buf * rpc_command_mem_read (struct net_buf *request)
 Run mem_read RPC.
struct net_buf * rpc_command_infuse_states_query (struct net_buf *request)
 Run infuse_states_query RPC.
struct net_buf * rpc_command_infuse_states_update (struct net_buf *request)
 Run infuse_states_update RPC.
struct net_buf * rpc_command_data_logger_erase (struct net_buf *request)
 Run data_logger_erase RPC.
struct net_buf * rpc_command_heap_stats (struct net_buf *request)
 Run heap_stats RPC.
struct net_buf * rpc_command_lte_at_cmd (struct net_buf *request)
 Run lte_at_cmd RPC.
struct net_buf * rpc_command_lte_state (struct net_buf *request)
 Run lte_state RPC.
struct net_buf * rpc_command_data_logger_read_available (struct net_buf *request)
 Run data_logger_read_available RPC.
struct net_buf * rpc_command_lte_state_v2 (struct net_buf *request)
 Run lte_state_v2 RPC.
struct net_buf * rpc_command_data_logger_state_v2 (struct net_buf *request)
 Run data_logger_state_v2 RPC.
struct net_buf * rpc_command_data_logger_read_chunks (struct net_buf *request)
 Run data_logger_read_chunks RPC.
struct net_buf * rpc_command_thread_stats (struct net_buf *request)
 Run thread_stats RPC.
struct net_buf * rpc_command_coap_download (struct net_buf *request)
 Run coap_download RPC.
struct net_buf * rpc_command_zperf_upload (struct net_buf *request)
 Run zperf_upload RPC.
struct net_buf * rpc_command_coap_download_v2 (struct net_buf *request)
 Run coap_download_v2 RPC.
struct net_buf * rpc_command_coap_download_v3 (struct net_buf *request)
 Run coap_download_v3 RPC.
struct net_buf * rpc_command_file_write_basic (struct net_buf *request)
 Run file_write_basic RPC.
struct net_buf * rpc_command_annotate (struct net_buf *request)
 Run annotate RPC.
struct net_buf * rpc_command_tdf_data_logger_flush (struct net_buf *request)
 Run tdf_data_logger_flush RPC.
struct net_buf * rpc_command_shipping_mode (struct net_buf *request)
 Run shipping_mode RPC.
struct net_buf * rpc_command_file_write (struct net_buf *request)
 Run file_write RPC.
struct net_buf * rpc_command_nrf93m1_fota (struct net_buf *request)
 Run nrf93m1_fota RPC.
struct net_buf * rpc_command_bt_connect_infuse (struct net_buf *request)
 Run bt_connect_infuse RPC.
struct net_buf * rpc_command_bt_disconnect (struct net_buf *request)
 Run bt_disconnect RPC.
struct net_buf * rpc_command_bt_file_copy_basic (struct net_buf *request)
 Run bt_file_copy_basic RPC.
struct net_buf * rpc_command_bt_file_copy_coap (struct net_buf *request)
 Run bt_file_copy_coap RPC.
struct net_buf * rpc_command_bt_mcumgr_reboot (struct net_buf *request)
 Run bt_mcumgr_reboot RPC.
struct net_buf * rpc_command_gravity_reference_update (struct net_buf *request)
 Run gravity_reference_update RPC.
struct net_buf * rpc_command_filesystem_ls (struct net_buf *request)
 Run filesystem_ls RPC.
struct net_buf * rpc_command_filesystem_rm (struct net_buf *request)
 Run filesystem_rm RPC.
struct net_buf * rpc_command_ubx_assist_now_ztp_creds (struct net_buf *request)
 Run ubx_assist_now_ztp_creds RPC.
struct net_buf * rpc_command_audio_alert (struct net_buf *request)
 Run audio_alert RPC.
struct net_buf * rpc_command_security_state (struct net_buf *request)
 Run security_state RPC.
struct net_buf * rpc_command_security_key_update (struct net_buf *request)
 Run security_key_update RPC.
struct net_buf * rpc_command_security_public_keys (struct net_buf *request)
 Run security_public_keys RPC.
struct net_buf * rpc_command_data_sender (struct net_buf *request)
 Run data_sender RPC.
struct net_buf * rpc_command_data_receiver (struct net_buf *request)
 Run data_receiver RPC.
struct net_buf * rpc_command_echo (struct net_buf *request)
 Run echo RPC.

Detailed Description

RPC command implementation API.

Macro Definition Documentation

◆ RPC_DATA_VAR_LEN

#define RPC_DATA_VAR_LEN ( data)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Value:
(data->len - sizeof(struct infuse_rpc_data))
INFUSE_RPC_DATA payload
Definition types.h:53

Get the size of the variable component of the INFUSE_RPC_DATA packet.

◆ RPC_REQUEST_VAR_LEN

#define RPC_REQUEST_VAR_LEN ( request,
type )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Value:
(request->len - sizeof(type))

Get the size of the variable component of the INFUSE_RPC_CMD packet.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands/security_state.h>

Enumerator
CHALLENGE_RESPONSE_HARDWARE_ID 
CHALLENGE_RESPONSE_NORDIC_IDENTITY 

Function Documentation

◆ infuse_rpc_command_kv_write_validate()

bool infuse_rpc_command_kv_write_validate ( struct epacket_rx_metadata * meta,
uint16_t key,
const void * data,
size_t len )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands/kv_write.h>

Application level validation of external KV writes.

Parameters
metaMetadata of the request packet
keyKey that needs to be validated
dataPointer to the updated value, or NULL for a delete
lenLength of the updated value, or 0 for a delete
Return values
trueKV write is allowed
falseKV write is rejected

◆ infuse_rpc_command_security_authorised()

bool infuse_rpc_command_security_authorised ( struct epacket_rx_metadata * meta,
struct rpc_security_key_update_request * req )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands/security_key_update.h>

Application level authorisation check for security_key_update

Only required if CONFIG_INFUSE_RPC_COMMAND_SECURITY_KEY_UPDATE_REQUIRED_AUTH allows non-device authorised packets.

Parameters
metaMetadata of the request
reqRequest parameters
Return values
trueCommand can run
falseCommand cannot run

◆ rpc_command_annotate()

struct net_buf * rpc_command_annotate ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run annotate RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_application_info()

struct net_buf * rpc_command_application_info ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run application_info RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_audio_alert()

struct net_buf * rpc_command_audio_alert ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run audio_alert RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_bt_connect_infuse()

struct net_buf * rpc_command_bt_connect_infuse ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run bt_connect_infuse RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_bt_disconnect()

struct net_buf * rpc_command_bt_disconnect ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run bt_disconnect RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_bt_file_copy_basic()

struct net_buf * rpc_command_bt_file_copy_basic ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run bt_file_copy_basic RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_bt_file_copy_coap()

struct net_buf * rpc_command_bt_file_copy_coap ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run bt_file_copy_coap RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_bt_mcumgr_reboot()

struct net_buf * rpc_command_bt_mcumgr_reboot ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run bt_mcumgr_reboot RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_coap_download()

struct net_buf * rpc_command_coap_download ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run coap_download RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_coap_download_v2()

struct net_buf * rpc_command_coap_download_v2 ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run coap_download_v2 RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_coap_download_v3()

struct net_buf * rpc_command_coap_download_v3 ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run coap_download_v3 RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_data_logger_erase()

struct net_buf * rpc_command_data_logger_erase ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run data_logger_erase RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_data_logger_read()

struct net_buf * rpc_command_data_logger_read ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run data_logger_read RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_data_logger_read_available()

struct net_buf * rpc_command_data_logger_read_available ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run data_logger_read_available RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_data_logger_read_chunks()

struct net_buf * rpc_command_data_logger_read_chunks ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run data_logger_read_chunks RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_data_logger_state()

struct net_buf * rpc_command_data_logger_state ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run data_logger_state RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_data_logger_state_v2()

struct net_buf * rpc_command_data_logger_state_v2 ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run data_logger_state_v2 RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_data_receiver()

struct net_buf * rpc_command_data_receiver ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run data_receiver RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_data_sender()

struct net_buf * rpc_command_data_sender ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run data_sender RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_echo()

struct net_buf * rpc_command_echo ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run echo RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_fault()

struct net_buf * rpc_command_fault ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run fault RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_file_write()

struct net_buf * rpc_command_file_write ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run file_write RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_file_write_basic()

struct net_buf * rpc_command_file_write_basic ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run file_write_basic RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_filesystem_ls()

struct net_buf * rpc_command_filesystem_ls ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run filesystem_ls RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_filesystem_rm()

struct net_buf * rpc_command_filesystem_rm ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run filesystem_rm RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_gravity_reference_update()

struct net_buf * rpc_command_gravity_reference_update ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run gravity_reference_update RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_heap_stats()

struct net_buf * rpc_command_heap_stats ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run heap_stats RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_infuse_states_query()

struct net_buf * rpc_command_infuse_states_query ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run infuse_states_query RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_infuse_states_update()

struct net_buf * rpc_command_infuse_states_update ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run infuse_states_update RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_kv_read()

struct net_buf * rpc_command_kv_read ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run kv_read RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_kv_reflect_crcs()

struct net_buf * rpc_command_kv_reflect_crcs ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run kv_reflect_crcs RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_kv_write()

struct net_buf * rpc_command_kv_write ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run kv_write RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_last_reboot()

struct net_buf * rpc_command_last_reboot ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run last_reboot RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_lte_at_cmd()

struct net_buf * rpc_command_lte_at_cmd ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run lte_at_cmd RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_lte_state()

struct net_buf * rpc_command_lte_state ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run lte_state RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_lte_state_v2()

struct net_buf * rpc_command_lte_state_v2 ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run lte_state_v2 RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_mem_read()

struct net_buf * rpc_command_mem_read ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run mem_read RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_nrf93m1_fota()

struct net_buf * rpc_command_nrf93m1_fota ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run nrf93m1_fota RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_reboot()

struct net_buf * rpc_command_reboot ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run reboot RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_runner()

void rpc_command_runner ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/command_runner.h>

Execute a command contained in the buffer.

Parameters
requestCommand request

◆ rpc_command_runner_early_response()

void rpc_command_runner_early_response ( struct epacket_rx_metadata * rx_meta,
uint32_t request_id,
uint16_t command_id,
struct net_buf * response )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/command_runner.h>

Send the response buffer before returning from the RPC implementation.

Send the response buffer before the RPC implementation returns. This allows RPCs with long post-processing steps to signal the result early, allowing the command initiator to move onto future work while this device finishes up.

Note
If used, the RPC implementation must return NULL.
Parameters
rx_metaMetadata of the request packet
request_idRequest ID associated with the response
command_idCommand ID associated with the response
responseResponse message to send

◆ rpc_command_runner_request_unref()

void rpc_command_runner_request_unref ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/command_runner.h>

Free the request buffer inside the RPC implementation.

Free the request buffer inside the RPC implementation instead of relying on the server to free the buffer after the command returns. This is useful for long running commands with INFUSE_RPC_DATA packets.

Parameters
requestRequest message to free

◆ rpc_command_security_key_update()

struct net_buf * rpc_command_security_key_update ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run security_key_update RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_security_public_keys()

struct net_buf * rpc_command_security_public_keys ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run security_public_keys RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_security_state()

struct net_buf * rpc_command_security_state ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run security_state RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_shipping_mode()

struct net_buf * rpc_command_shipping_mode ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run shipping_mode RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_tdf_data_logger_flush()

struct net_buf * rpc_command_tdf_data_logger_flush ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run tdf_data_logger_flush RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_thread_stats()

struct net_buf * rpc_command_thread_stats ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run thread_stats RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_time_get()

struct net_buf * rpc_command_time_get ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run time_get RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_time_set()

struct net_buf * rpc_command_time_set ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run time_set RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_ubx_assist_now_ztp_creds()

struct net_buf * rpc_command_ubx_assist_now_ztp_creds ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run ubx_assist_now_ztp_creds RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_wifi_scan()

struct net_buf * rpc_command_wifi_scan ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run wifi_scan RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_wifi_state()

struct net_buf * rpc_command_wifi_state ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run wifi_state RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_zbus_channel_state()

struct net_buf * rpc_command_zbus_channel_state ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run zbus_channel_state RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_command_zperf_upload()

struct net_buf * rpc_command_zperf_upload ( struct net_buf * request)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/generated/include/infuse/rpc/commands_impl.h>

Run zperf_upload RPC.

Parameters
requestINFUSE_RPC_CMD packet to respond to
Returns
struct net_buf* INFUSE_RPC_RSP packet buffer

◆ rpc_response_simple_if()

struct net_buf * rpc_response_simple_if ( const struct device * interface,
int16_t rc,
void * response,
size_t len )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Create an INFUSE_RPC_RSP packet buffer for an interface.

If response does not fit in the current interface payload, only the response header is added, with the return code set to rc if it is an error, otherwise INFUSE_RPC_ERROR_RESPONSE_BUFFER_TOO_SMALL. No further data can be added to the buffer in this case. If the header does not fit, the buffer is returned empty.

Parameters
interfaceInterface response will be sent on
rcReturn code of the RPC
responseRPC response struct
lenSize of RPC response struct
Returns
struct net_buf* packet buffer

◆ rpc_response_simple_req()

struct net_buf * rpc_response_simple_req ( struct net_buf * request,
int16_t rc,
void * response,
size_t len )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Create an INFUSE_RPC_RSP packet buffer from a request.

Parameters
requestINFUSE_RPC_CMD packet to respond to
rcReturn code of the RPC
responseRPC response struct
lenSize of RPC response struct
Returns
struct net_buf* packet buffer

◆ rpc_server_ack_data()

void rpc_server_ack_data ( struct epacket_rx_metadata * rx_meta,
uint32_t request_id,
uint32_t offset,
uint8_t ack_period )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Acknowledge received data packets.

Parameters
rx_metaMetadata of the request packet
request_idRPC request ID
offsetOffset of the received data
ack_periodRX acknowledgment period

◆ rpc_server_ack_data_ready()

void rpc_server_ack_data_ready ( struct epacket_rx_metadata * rx_meta,
uint32_t request_id )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Send initial INFUSE_RPC_DATA_ACK to signify we are ready for data.

Parameters
rx_metaMetadata of the request packet
request_idRPC request ID

◆ rpc_server_command_working_mem()

uint8_t * rpc_server_command_working_mem ( size_t * size)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Retrieve working memory for an RPC.

Parameters
sizeSize of the working memory buffer
Returns
uint8_t* Pointer to working memory

◆ rpc_server_pull_data()

struct net_buf * rpc_server_pull_data ( uint32_t request_id,
uint32_t expected_offset,
int * err,
k_timeout_t timeout )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Attempt to pull INFUSE_RPC_DATA packet from queue.

Parameters
request_idRPC request ID
expected_offsetExpected data offset
errError code when function returned NULL
timeoutDuration to wait for packet
Return values
bufINFUSE_RPC_DATA packet on success
NULLon error

◆ rpc_server_pull_data_unaligned()

struct net_buf * rpc_server_pull_data_unaligned ( uint32_t request_id,
uint32_t expected_offset,
int * err,
k_timeout_t timeout )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Attempt to pull unaligned INFUSE_RPC_DATA packet from queue.

Unlike rpc_server_pull_data, the offsets are not expected to be aligned to word boundaries.

Parameters
request_idRPC request ID
expected_offsetExpected data offset
errError code when function returned NULL
timeoutDuration to wait for packet
Return values
bufINFUSE_RPC_DATA packet on success
NULLon error

◆ rpc_server_pull_error_to_rpc_error()

int rpc_server_pull_error_to_rpc_error ( int err)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Convert a stdlib error code from rpc_server_pull_data to an RPC error code.

Parameters
errError code from rpc_server_pull_data
Returns
int RPC error code

◆ rpc_server_watchdog_feed()

void rpc_server_watchdog_feed ( void )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/rpc/commands.h>

Feed the RPC server watchdog from a RPC implementation.