nRF Connect SDK API 3.4.99
Loading...
Searching...
No Matches
App-domain real-time framework (RTFW)

API for the app-domain real-time framework. More...

Data Structures

struct  rtfw_command
 Fixed-size command exchanged with an RTFW backend. More...
 
struct  rtfw_event
 Event produced by a backend's zero-latency fast path. More...
 
struct  rtfw_status
 Coherent framework status snapshot. More...
 
struct  rtfw_config
 RTFW client configuration. More...
 

Macros

#define RTFW_EVENT_COMMAND_PROCESSED   1U
 
#define RTFW_EVENT_TYPE_FRAMEWORK_MAX   0xffU
 
#define RTFW_EVENT_TYPE_USER_BASE   0x100U
 
#define RTFW_FAULT_EVENT_OVERFLOW   BIT(0)
 
#define RTFW_FAULT_BACKEND_APPLY   BIT(1)
 

Typedefs

typedef int(* rtfw_command_handler_t) (const struct rtfw_command *command, void *user_data)
 Process a command in the zero-latency fast path.
 
typedef void(* rtfw_fastpath_handler_t) (void *user_data)
 Service a client-owned source in the zero-latency fast path.
 
typedef void(* rtfw_pend_source_irq_t) (void *user_data)
 Pend the client-owned source interrupt.
 
typedef void(* rtfw_event_cb_t) (const struct rtfw_event *event, void *user_data)
 Consume an event outside the zero-latency fast path.
 

Functions

int rtfw_init (const struct rtfw_config *config)
 Initialize the reusable framework.
 
int rtfw_submit (const struct rtfw_command *command)
 Publish a latest-wins command and pend the backend source IRQ.
 
int rtfw_get_status (struct rtfw_status *status)
 Read a coherent requested/attempted/applied state snapshot.
 
void rtfw_fastpath_run (void)
 Enter the registered zero-latency fast path.
 
int rtfw_event_push (const struct rtfw_event *event)
 Push one event from the single producer fast path.
 

Detailed Description

API for the app-domain real-time framework.