Skip to content

Commit

Permalink
Merge pull request forkineye#359 from MartinMueller2003/main
Browse files Browse the repository at this point in the history
FPP blanking and sync fixes
  • Loading branch information
forkineye authored Sep 26, 2021
2 parents f45f334 + 3ae7920 commit df04394
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
25 changes: 16 additions & 9 deletions ESPixelStick/src/input/InputFPPRemotePlayFileFsm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,8 @@ void fsm_PlayFile_state_Starting::Poll (uint8_t * Buffer, size_t BufferSize)
// DEBUG_START;

p_InputFPPRemotePlayFile->fsm_PlayFile_state_PlayingFile_imp.Init (p_InputFPPRemotePlayFile);

// DEBUG_V (String ("RemainingPlayCount: ") + p_InputFPPRemotePlayFile->RemainingPlayCount);

// DEBUG_END;

} // fsm_PlayFile_state_Starting::Poll
Expand All @@ -129,6 +130,7 @@ void fsm_PlayFile_state_Starting::Start (String & FileName, uint32_t FrameId, ui
p_InputFPPRemotePlayFile->PlayItemName = FileName;
p_InputFPPRemotePlayFile->LastPlayedFrameId = FrameId;
p_InputFPPRemotePlayFile->RemainingPlayCount = RemainingPlayCount;
// DEBUG_V (String ("RemainingPlayCount: ") + p_InputFPPRemotePlayFile->RemainingPlayCount);

// DEBUG_END;

Expand Down Expand Up @@ -182,7 +184,7 @@ void fsm_PlayFile_state_PlayingFile::Poll (uint8_t* Buffer, size_t BufferSize)
if (0 != p_InputFPPRemotePlayFile->RemainingPlayCount)
{
// DEBUG_V (String ("RemainingPlayCount: ") + String (p_InputFPPRemotePlayFile->RemainingPlayCount));
logcon (String ("Replaying:: FileName: '") + p_InputFPPRemotePlayFile->GetFileName () + "'");
logcon (String ("Replaying:: FileName: '") + p_InputFPPRemotePlayFile->GetFileName () + "'");
--p_InputFPPRemotePlayFile->RemainingPlayCount;
// DEBUG_V (String ("RemainingPlayCount: ") + p_InputFPPRemotePlayFile->RemainingPlayCount);

Expand Down Expand Up @@ -247,19 +249,21 @@ void fsm_PlayFile_state_PlayingFile::Init (c_InputFPPRemotePlayFile* Parent)
// DEBUG_START;

p_InputFPPRemotePlayFile = Parent;
Parent->pCurrentFsmState = &(Parent->fsm_PlayFile_state_PlayingFile_imp);

do // once
{
// DEBUG_V (String ("FileName: '") + p_InputFPPRemotePlayFile->PlayItemName + "'");
// DEBUG_V (String (" FrameId: '") + p_InputFPPRemotePlayFile->LastPlayedFrameId + "'");
// DEBUG_V (String ("RemainingPlayCount: ") + p_InputFPPRemotePlayFile->RemainingPlayCount);
if (0 == p_InputFPPRemotePlayFile->RemainingPlayCount)
{
Stop ();
break;
}

--p_InputFPPRemotePlayFile->RemainingPlayCount;
// DEBUG_V ("");
// DEBUG_V (String ("RemainingPlayCount: ") + p_InputFPPRemotePlayFile->RemainingPlayCount);

FSEQHeader fsqHeader;
p_InputFPPRemotePlayFile->FileHandleForFileBeingPlayed = 0;
Expand Down Expand Up @@ -310,8 +314,9 @@ void fsm_PlayFile_state_PlayingFile::Init (c_InputFPPRemotePlayFile* Parent)
// DEBUG_V (String (" FrameStepTimeMS: ") + String (p_InputFPPRemotePlayFile->FrameStepTimeMS));
// DEBUG_V (String ("TotalNumberOfFramesInSequence: ") + String (p_InputFPPRemotePlayFile->TotalNumberOfFramesInSequence));
// DEBUG_V (String (" StartTimeMS: ") + String (p_InputFPPRemotePlayFile->StartTimeMS));
// DEBUG_V (String ("RemainingPlayCount: ") + p_InputFPPRemotePlayFile->RemainingPlayCount);

logcon (String (F ("Start Playing:: FileName: '")) + p_InputFPPRemotePlayFile->PlayItemName + "'");
logcon (String (F ("Start Playing:: FileName: '")) + p_InputFPPRemotePlayFile->PlayItemName + "'");

Parent->pCurrentFsmState = &(Parent->fsm_PlayFile_state_PlayingFile_imp);

Expand All @@ -329,14 +334,15 @@ void fsm_PlayFile_state_PlayingFile::Start (String& FileName, uint32_t FrameId,
// DEBUG_V (String (" FileName: ") + FileName);
// DEBUG_V (String (" LastPlayedFrameId: ") + String (p_InputFPPRemotePlayFile->LastPlayedFrameId));
// DEBUG_V (String ("TotalNumberOfFramesInSequence: ") + String (p_InputFPPRemotePlayFile->TotalNumberOfFramesInSequence));
// DEBUG_V (String ("RemainingPlayCount: ") + p_InputFPPRemotePlayFile->RemainingPlayCount);

if (FileName == p_InputFPPRemotePlayFile->GetFileName ())
{
// Keep playing the same file
p_InputFPPRemotePlayFile->LastPlayedFrameId = FrameId;
p_InputFPPRemotePlayFile->LastRcvdSyncFrameId = FrameId;
p_InputFPPRemotePlayFile->RemainingPlayCount = PlayCount;
p_InputFPPRemotePlayFile->CalculatePlayStartTime ();
// p_InputFPPRemotePlayFile->LastPlayedFrameId = FrameId;
// p_InputFPPRemotePlayFile->LastRcvdSyncFrameId = FrameId;
// p_InputFPPRemotePlayFile->RemainingPlayCount = PlayCount - 1;
// p_InputFPPRemotePlayFile->CalculatePlayStartTime ();
}
else
{
Expand All @@ -352,10 +358,11 @@ void fsm_PlayFile_state_PlayingFile::Stop (void)
{
// DEBUG_START;

logcon (String (F ("Stop Playing:: FileName: '")) + p_InputFPPRemotePlayFile->PlayItemName + "'");
logcon (String (F ("Stop Playing:: FileName: '")) + p_InputFPPRemotePlayFile->PlayItemName + "'");
// DEBUG_V (String ("FileHandleForFileBeingPlayed: ") + String (p_InputFPPRemotePlayFile->FileHandleForFileBeingPlayed));
// DEBUG_V (String (" LastPlayedFrameId: ") + String (p_InputFPPRemotePlayFile->LastPlayedFrameId));
// DEBUG_V (String ("TotalNumberOfFramesInSequence: ") + String (p_InputFPPRemotePlayFile->TotalNumberOfFramesInSequence));
// DEBUG_V (String ("RemainingPlayCount: ") + p_InputFPPRemotePlayFile->RemainingPlayCount);

p_InputFPPRemotePlayFile->fsm_PlayFile_state_Stopping_imp.Init (p_InputFPPRemotePlayFile);

Expand Down
2 changes: 1 addition & 1 deletion ESPixelStick/src/service/FPPDiscovery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -919,7 +919,7 @@ void c_FPPDiscovery::StopPlaying ()

// DEBUG_V ("");

ProcessBlankPacket ();
// ProcessBlankPacket ();

// DEBUG_END;

Expand Down

0 comments on commit df04394

Please sign in to comment.