ESPixelStick Firmware
Firmware for the ESPixelStick
Loading...
Searching...
No Matches
InputFPPRemotePlayEffectFsm.hpp
Go to the documentation of this file.
1#pragma once
2/*
3* InputFPPRemotePlayEffectFsm.hpp
4*
5* Project: ESPixelStick - An ESP8266 / ESP32 and E1.31 based pixel driver
6* Copyright (c) 2021, 2025 Shelby Merrick
7* http://www.forkineye.com
8*
9* This program is provided free for you to use in any way that you wish,
10* subject to the laws and regulations where you are using it. Due diligence
11* is strongly suggested before using this code. Please give credit where due.
12*
13* The Author makes no warranty of any kind, express or implied, with regard
14* to this program or the documentation contained in this document. The
15* Author shall not be liable in any event for incidental or consequential
16* damages in connection with, or arising out of, the furnishing, performance
17* or use of these programs.
18*
19* PlayEffect object use to parse and play a PlayEffect
20*/
21
22#include "ESPixelStick.h"
23
25
26/*****************************************************************************/
27/*
28* Generic fsm base class.
29*/
30/*****************************************************************************/
31/*****************************************************************************/
33{
34public:
37
38 virtual bool Poll () = 0;
39 virtual void Init (c_InputFPPRemotePlayEffect * Parent) = 0;
40 virtual void GetStateName (String & sName) = 0;
41 virtual void Start (String & FileName, float SecondsElapsed) = 0;
42 virtual void Stop (void) = 0;
43 virtual bool Sync (float SecondsElapsed) = 0;
44 virtual void GetStatus (JsonObject& jsonStatus) = 0;
45 void GetDriverName (String& Name) { Name = "InputMgr"; }
46
47protected:
49
50}; // fsm_PlayEffect_state
51
52/*****************************************************************************/
54{
55public:
58
59 virtual bool Poll ();
60 virtual void Init (c_InputFPPRemotePlayEffect* Parent);
61 virtual void GetStateName (String & sName) { sName = CN_Idle; }
62 virtual void Start (String & FileName, float SecondsElapsed);
63 virtual void Stop (void);
64 virtual bool Sync (float SecondsElapsed);
65 virtual void GetStatus (JsonObject& jsonStatus);
66
67}; // fsm_PlayEffect_state_Idle
68
69/*****************************************************************************/
71{
72public:
75
76 virtual bool Poll ();
77 virtual void Init (c_InputFPPRemotePlayEffect* Parent);
78 virtual void GetStateName (String & sName) { sName = CN_Effect; }
79 virtual void Start (String & FileName, float SecondsElapsed);
80 virtual void Stop (void);
81 virtual bool Sync (float SecondsElapsed);
82 virtual void GetStatus (JsonObject& jsonStatus);
83
84}; // fsm_PlayEffect_state_PlayingEffect
const CN_PROGMEM char CN_Effect[]
Definition ConstNames.cpp:82
const CN_PROGMEM char CN_Idle[]
Definition ConstNames.cpp:118
Definition InputFPPRemotePlayEffect.hpp:28
Definition InputFPPRemotePlayEffectFsm.hpp:54
virtual bool Poll()
Definition InputFPPRemotePlayEffectFsm.cpp:26
virtual void Init(c_InputFPPRemotePlayEffect *Parent)
Definition InputFPPRemotePlayEffectFsm.cpp:38
virtual void Stop(void)
Definition InputFPPRemotePlayEffectFsm.cpp:84
virtual ~fsm_PlayEffect_state_Idle()
Definition InputFPPRemotePlayEffectFsm.hpp:57
virtual void GetStateName(String &sName)
Definition InputFPPRemotePlayEffectFsm.hpp:61
virtual void GetStatus(JsonObject &jsonStatus)
Definition InputFPPRemotePlayEffectFsm.cpp:108
virtual bool Sync(float SecondsElapsed)
Definition InputFPPRemotePlayEffectFsm.cpp:95
fsm_PlayEffect_state_Idle()
Definition InputFPPRemotePlayEffectFsm.hpp:56
Definition InputFPPRemotePlayEffectFsm.hpp:71
virtual void GetStatus(JsonObject &jsonStatus)
Definition InputFPPRemotePlayEffectFsm.cpp:193
virtual bool Poll()
Definition InputFPPRemotePlayEffectFsm.cpp:121
fsm_PlayEffect_state_PlayingEffect()
Definition InputFPPRemotePlayEffectFsm.hpp:73
virtual void Stop(void)
Definition InputFPPRemotePlayEffectFsm.cpp:166
virtual ~fsm_PlayEffect_state_PlayingEffect()
Definition InputFPPRemotePlayEffectFsm.hpp:74
virtual void GetStateName(String &sName)
Definition InputFPPRemotePlayEffectFsm.hpp:78
virtual bool Sync(float SecondsElapsed)
Definition InputFPPRemotePlayEffectFsm.cpp:180
virtual void Init(c_InputFPPRemotePlayEffect *Parent)
Definition InputFPPRemotePlayEffectFsm.cpp:140
Definition InputFPPRemotePlayEffectFsm.hpp:33
void GetDriverName(String &Name)
Definition InputFPPRemotePlayEffectFsm.hpp:45
virtual void Start(String &FileName, float SecondsElapsed)=0
virtual bool Sync(float SecondsElapsed)=0
fsm_PlayEffect_state()
Definition InputFPPRemotePlayEffectFsm.hpp:35
virtual void GetStatus(JsonObject &jsonStatus)=0
virtual void Init(c_InputFPPRemotePlayEffect *Parent)=0
virtual ~fsm_PlayEffect_state()
Definition InputFPPRemotePlayEffectFsm.hpp:36
virtual bool Poll()=0
virtual void GetStateName(String &sName)=0
c_InputFPPRemotePlayEffect * p_InputFPPRemotePlayEffect
Definition InputFPPRemotePlayEffectFsm.hpp:48
virtual void Stop(void)=0
uint8_t Start[3]
Definition fseq.h:0