Skip to content

File syn_sequencer.c

FileList > sched > syn_sequencer.c

Go to the source code of this file

Timed action sequencer implementation.

  • #include "../util/syn_assert.h"
  • #include "syn_sequencer.h"
  • #include <string.h>

Public Functions

Type Name
void syn_seq_init (SYN_Sequencer * seq, const SYN_SeqStep * steps, uint16_t count)
Initialize a sequencer.
void syn_seq_on_complete (SYN_Sequencer * seq, SYN_SeqCompleteCallback cb, void * ctx)
Set completion callback.
void syn_seq_set_loop (SYN_Sequencer * seq, bool loop)
Enable looping (auto-restart on completion).
void syn_seq_start (SYN_Sequencer * seq)
Start the sequence from the beginning.
void syn_seq_stop (SYN_Sequencer * seq)
Stop the sequence.
bool syn_seq_update (SYN_Sequencer * seq)
Update the sequencer — call from main loop.

Public Static Functions

Type Name
void execute_step (SYN_Sequencer * seq)
Execute the current sequence step's action.

Public Functions Documentation

function syn_seq_init

Initialize a sequencer.

void syn_seq_init (
    SYN_Sequencer * seq,
    const SYN_SeqStep * steps,
    uint16_t count
) 

Parameters:

  • seq Sequencer instance.
  • steps Array of step descriptors (must persist).
  • count Number of steps.

function syn_seq_on_complete

Set completion callback.

void syn_seq_on_complete (
    SYN_Sequencer * seq,
    SYN_SeqCompleteCallback cb,
    void * ctx
) 

Parameters:

  • seq Sequencer instance.
  • cb Callback function invoked on sequence end.
  • ctx Callback context data pointer.

function syn_seq_set_loop

Enable looping (auto-restart on completion).

void syn_seq_set_loop (
    SYN_Sequencer * seq,
    bool loop
) 

Parameters:

  • seq Sequencer instance.
  • loop True to loop sequence indefinitely, false for single run.

function syn_seq_start

Start the sequence from the beginning.

void syn_seq_start (
    SYN_Sequencer * seq
) 

Parameters:

  • seq Sequencer instance.

function syn_seq_stop

Stop the sequence.

void syn_seq_stop (
    SYN_Sequencer * seq
) 

Parameters:

  • seq Sequencer instance.

function syn_seq_update

Update the sequencer — call from main loop.

bool syn_seq_update (
    SYN_Sequencer * seq
) 

Executes actions and manages delays non-blockingly.

Parameters:

  • seq Sequencer instance.

Returns:

true if the sequence completed this call.


Public Static Functions Documentation

function execute_step

Execute the current sequence step's action.

static void execute_step (
    SYN_Sequencer * seq
) 

Parameters:

  • seq Sequencer instance.


The documentation for this class was generated from the following file src/syntropic/sched/syn_sequencer.c