Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F88

Constants

SIGNED INT JingleDelay     SIGNED INT BLACK     SIGNED INT RED     SIGNED INT BLUE     SIGNED INT GREEN     SIGNED INT WHITE     SIGNED INT BaseNote    

Globals

BYTE count     BYTE test     BYTE LED     BYTE col     UNSIGNED INT SeqCounter     BYTE AudioOctave     BYTE AudioPhase     BYTE Colour     BYTE AudioActive     BYTE LEDPhase     UNSIGNED INT AudioDelay    

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

PlayNote

Return:     VOID
Params:     BYTE Note     UNSIGNED INT Length    
Vars:     BYTE calc    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

WaitAudio

Return:     VOID
Params:     UNSIGNED INT Delay    
Vars:     BYTE test    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

SetColours

Return:     VOID
Params:     BYTE Red     BYTE Green     BYTE Blue    
Vars:     BYTE colour     BYTE idx    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

RandomLED

Return:     VOID
Params:     BYTE LED    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

MoveToColours

Return:     VOID
Params:     BYTE Red     BYTE Green     BYTE Blue     UNSIGNED INT TransistionDelay    
Vars:     BYTE colour     BYTE R     BYTE G     BYTE B     BYTE count     BYTE idx    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

AudioTone

Return:     VOID
Params:     BYTE tone     UNSIGNED INT length    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

MoveToColour

Return:     VOID
Params:     BYTE LED     BYTE Red     BYTE Green     BYTE Blue     UNSIGNED INT TransistionDelay    
Vars:     BYTE colour     BYTE R     BYTE G     BYTE B     BYTE count    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

SetLED

Return:     VOID
Params:     BYTE LED     BYTE Colour    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

JingleBells

Return:     VOID
Vars:     BYTE test    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

Ev_Property

Return:     UNSIGNED LONG
Vars:     FLOAT Calc     BYTE IntCalc     STRING TempString    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

SetLEDs

Return:     VOID
Params:     BYTE Colour    
Vars:     BYTE idx    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

CheckSwitch

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

SetColour

Return:     VOID
Params:     BYTE LED     BYTE Red     BYTE Green     BYTE Blue    
Vars:     BYTE colour    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

TimerTick

Return:     VOID
Vars:     BYTE Red     BYTE Green     BYTE Blue     BYTE idx     BYTE Data     BYTE Counter     BYTE Shift    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

CheckAudio

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

Ev_GetVarSize

Return:     UNSIGNED LONG
Params:     STRING VarName     Elements    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

RandomLEDs

Return:     VOID
Vars:     BYTE idx    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

GetLED

Return:     BYTE
Params:     BYTE LED    

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

PlayNote    /    WaitAudio    /    SetColours    /    RandomLED    /    MoveToColours    /    AudioTone    /    MoveToColour    /    SetLED    /    JingleBells    /    Ev_Property    /    SetLEDs    /    CheckSwitch    /    SetColour    /    TimerTick    /    CheckAudio    /    Ev_GetVarSize    /    RandomLEDs    /    GetLED    /    Main    /    Initialise

Initialise

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Verison History

Version 0.6
12/09/19 BR - Created initial recursive parser
14/09/19 BR - Added support for disabled icons
18/09/19 BR - Fixed decision icon parsing
19/09/19 BR - Added switch icon support
23/09/19 BR - Fixed recursive loop spacing
27/09/19 BR - Further tweaked spacing and added Macro menu
30/09/19 BR - Improved all string spacing
01/10/19 BR - Improved While icon support