6#include "cueos_config.h" 
    7#if cueOS_CONFIG_NODETYPE == cueOS_NODETYPE_SLAVE_DMX 
   10#include "DMX512_driver.h" 
   11#include "DMX512_chaser.h" 
   26static int16_t _DMX512_chaser_search(
DMX512_chaser_s *chaser, uint16_t fixture_id){
 
   40static void _DMX512_chaser_iterate_steps_forward(
DMX512_chaser_s *chaser){
 
   51static void _DMX512_chaser_iterate_steps_backward(
DMX512_chaser_s *chaser){
 
   62static void _DMX512_chaser_iterate_steps_pingpong(
DMX512_chaser_s *chaser){
 
  118    }
else if(_DMX512_chaser_search(chaser, step.
scene->
id) >= 0){
 
  140    int16_t index = _DMX512_chaser_search(chaser, 
id);
 
  143        for(uint16_t i=index+1; i< chaser->
step_count; i++){
 
  163    int16_t index = _DMX512_chaser_search(chaser, 
id);
 
  165        return &chaser->
steps[index];
 
  208    vPortFree(chaser->
steps);
 
void DMX512_chaser_step_manage(DMX512_chaser_step_s *this)
Chaser step state machine. Manage a chaser step's state over time.
 
void DMX512_chaser_step_start(DMX512_chaser_step_s *this)
Starts a chaser step by assigning it to its fade_in state.
 
@ DMX512_CHASER_STEP_INITIALISED
 
@ DMX512_CHASER_STEP_IDLE
 
DMX512_engine_err_e DMX512_chaser_del_step(DMX512_chaser_s *chaser, uint16_t id)
Deletes a fixture preset instance from the chaser.
 
void DMX512_chaser_start(DMX512_chaser_s *chaser)
Starts a scene fade-in process.
 
#define DMX512_CHASER_DEFAULT
chaser instance default values
 
DMX512_engine_err_e DMX512_chaser_add_step(DMX512_chaser_s *chaser, DMX512_chaser_step_s step)
Adds a scene preset instance into the chaser.
 
DMX512_chaser_s DMX512_chaser_new(uint16_t id, DMX512_chaser_mode_e mode, DMX512_chaser_direction_e direction)
Creates and initialises a new chaser instance.
 
void DMX512_chaser_manage(DMX512_chaser_s *chaser)
Handles step selection and trigger over time.
 
DMX512_chaser_step_s * DMX512_chaser_get_step(DMX512_chaser_s *chaser, uint16_t id)
Gets a fixture instance from the pool.
 
DMX512_chaser_mode_e
Playing mode of a chsaer.
 
DMX512_chaser_direction_e
Playing direction of a chaser.
 
@ DMX512_CHASER_PINGPONG_PING
 
@ DMX512_CHASER_PINGPONG_PONG
 
@ DMX512_CHASER_INITIALISED
 
@ DMX512_CHASER_MODE_SINGLE_SHOT
 
@ DMX512_CHASER_DIRECTION_BACKWARD
 
@ DMX512_CHASER_DIRECTION_PINGPONG
 
@ DMX512_CHASER_DIRECTION_FORWARD
 
@ DMX512_CHASER_DIRECTION_RANDOM
 
DMX512_engine_err_e
DMX512 engine error index constants.
 
@ DMX512_ENGINE_INSTANCE_UNDEFINED
 
@ DMX512_ENGINE_INSTANCE_DUPLICATE
 
@ DMX512_ENGINE_INSTANCE_INVALID
 
DMX512 chaser structure object.
 
DMX512_chaser_pingpong_state_e pingpong
 
DMX512_chaser_status_e status
 
DMX512_chaser_mode_e mode
 
DMX512_chaser_direction_e direction
 
DMX512_chaser_step_s * steps
 
DMX512_chaser_state_e state
 
DMX512 chaser step structure object.
 
DMX512_fixture_chaser_step_state_e state
 
DMX512_fixture_chaser_step_status_e status