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 virtual void ClearStatistics () {}
46
47 void GetDriverName (String& Name) { Name = "InputMgr"; }
48
49protected:
51
52}; // fsm_PlayEffect_state
53
54/*****************************************************************************/
56{
57public:
60
61 virtual bool Poll ();
62 virtual void Init (c_InputFPPRemotePlayEffect* Parent);
63 virtual void GetStateName (String & sName) { sName = CN_Idle; }
64 virtual void Start (String & FileName, float SecondsElapsed);
65 virtual void Stop (void);
66 virtual bool Sync (float SecondsElapsed);
67 virtual void GetStatus (JsonObject& jsonStatus);
68
69}; // fsm_PlayEffect_state_Idle
70
71/*****************************************************************************/
73{
74public:
77
78 virtual bool Poll ();
79 virtual void Init (c_InputFPPRemotePlayEffect* Parent);
80 virtual void GetStateName (String & sName) { sName = CN_Effect; }
81 virtual void Start (String & FileName, float SecondsElapsed);
82 virtual void Stop (void);
83 virtual bool Sync (float SecondsElapsed);
84 virtual void GetStatus (JsonObject& jsonStatus);
85
86}; // fsm_PlayEffect_state_PlayingEffect
const CN_PROGMEM char CN_Effect[]
Definition ConstNames.cpp:82
const CN_PROGMEM char CN_Idle[]
Definition ConstNames.cpp:120
Definition InputFPPRemotePlayEffect.hpp:28
Definition InputFPPRemotePlayEffectFsm.hpp:56
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:59
virtual void GetStateName(String &sName)
Definition InputFPPRemotePlayEffectFsm.hpp:63
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:58
Definition InputFPPRemotePlayEffectFsm.hpp:73
virtual void GetStatus(JsonObject &jsonStatus)
Definition InputFPPRemotePlayEffectFsm.cpp:193
virtual bool Poll()
Definition InputFPPRemotePlayEffectFsm.cpp:121
fsm_PlayEffect_state_PlayingEffect()
Definition InputFPPRemotePlayEffectFsm.hpp:75
virtual void Stop(void)
Definition InputFPPRemotePlayEffectFsm.cpp:166
virtual ~fsm_PlayEffect_state_PlayingEffect()
Definition InputFPPRemotePlayEffectFsm.hpp:76
virtual void GetStateName(String &sName)
Definition InputFPPRemotePlayEffectFsm.hpp:80
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:47
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 void ClearStatistics()
Definition InputFPPRemotePlayEffectFsm.hpp:45
virtual bool Poll()=0
virtual void GetStateName(String &sName)=0
c_InputFPPRemotePlayEffect * p_InputFPPRemotePlayEffect
Definition InputFPPRemotePlayEffectFsm.hpp:50
virtual void Stop(void)=0
uint8_t Start[3]
Definition fseq.h:0