Loading...
Searching...
No Matches
example_event_loop_stream_buffer.c File Reference

Example application that demonstrates the FuriEventLoop and FuriStreamBuffer integration. More...

#include <furi.h>
#include <furi_hal_random.h>

Data Structures

struct  EventLoopStreamBufferApp
 

Macros

#define TAG   "ExampleEventLoopStreamBuffer"
 
#define WORKER_ITERATION_COUNT   (10)
 
#define STREAM_BUFFER_SIZE   (32)
 
#define STREAM_BUFFER_TRIG_LEVEL   (STREAM_BUFFER_SIZE / 2)
 
#define STREAM_BUFFER_EVENT_AND_FLAGS   (FuriEventLoopEventIn | FuriEventLoopEventFlagEdge)
 

Functions

int32_t example_event_loop_stream_buffer_app (void *arg)
 

Detailed Description

Example application that demonstrates the FuriEventLoop and FuriStreamBuffer integration.

This application simulates a use case where some data data stream comes from a separate thread (or hardware) and a stream buffer is used to act as an intermediate buffer. The worker thread produces 10 iterations of 32 bytes of simulated data, and each time when the buffer is half-filled, the data is taken out of it and printed to the debug output. After completing all iterations, the application exits.