Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

ARD.ATMEGA.Arduino Uno R3 SMD

Constants

SIGNED INT COMM_SPI_READ     SIGNED INT TIMEOUT     SIGNED INT COMM_SPI_WRITE     SIGNED INT ECAT_PRAM_WR_CMD     SIGNED INT ECAT_PRAM_RD_CMD     SIGNED INT ECAT_PRAM_RD_ADDR_LEN     SIGNED INT ECAT_PRAM_WR_ADDR_LEN    

Globals

BYTE BufferInL     BYTE BufferOutL     BYTE BufferInH     BYTE BufferOutH    

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Ev_Timer

Return:     UNSIGNED LONG
Params:     UNSIGNED LONG TimerID    
Vars:     HANDLE Handle    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SPIReadRegisterDirect

Return:     UNSIGNED LONG
Params:     UNSIGNED INT Address     BYTE Length    
Vars:     BYTE data    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Ev_Initialise

Return:     UNSIGNED LONG
Vars:     STRING str    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SetInt

Return:     VOID
Params:     BYTE Index     UNSIGNED INT Data    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SPIWriteProcRamFifo

Return:     VOID
Vars:     UNSIGNED LONG LongVar     BYTE ByteVar     BYTE data    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

MainTask

Return:     BYTE
Vars:     UNSIGNED LONG LongVal     BYTE ByteVal     BOOL Watchdog     BYTE Status     BOOL Operational     BYTE i    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SetLong

Return:     VOID
Params:     BYTE Index     UNSIGNED LONG Data    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Ev_Property

Return:     UNSIGNED LONG
Vars:     BYTE Calc     STRING str1     STRING str2    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

GetFloat

Return:     FLOAT
Params:     BYTE Index    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

GetLong

Return:     UNSIGNED LONG
Params:     BYTE Index    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SPIWriteRegisterDirect

Return:     VOID
Params:     UNSIGNED INT Address     UNSIGNED LONG DataOut    
Vars:     BYTE data    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Ev_Renamed

Return:     UNSIGNED LONG
Vars:     STRING Name    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Ev_GetVarSize

Return:     UNSIGNED LONG
Params:     STRING VarName     Elements    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SPIWriteRegisterIndirect

Return:     VOID
Params:     UNSIGNED LONG DataOut     UNSIGNED INT Address     BYTE Length    
Vars:     BYTE DataByte    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Ev_AddVar

Return:     UNSIGNED LONG
Params:     STRING VarName     STRING ExpandName     STRING Expansion    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

GetInt

Return:     UNSIGNED INT
Params:     BYTE Index    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Sim_ParseHeader

Return:     VOID
Vars:     HANDLE File     BYTE data     BYTE in     BYTE state     BYTE val     STRING str     BYTE idx     STRING propstr     BYTE propidx     BOOL InOut     BOOL go     BYTE Bytes     BYTE arrayIdx    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SPIReadProcRamFifo

Return:     VOID
Vars:     UNSIGNED LONG LongVar     BYTE ByteVar     BYTE data    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SetByte

Return:     VOID
Params:     BYTE Index     BYTE Data    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SPIReadRegisterIndirect

Return:     UNSIGNED LONG
Params:     UNSIGNED INT Address     BYTE Length    
Vars:     BYTE DataByte     UNSIGNED LONG DataIn    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

GetByte

Return:     BYTE
Params:     BYTE Index    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

SetFloat

Return:     VOID
Params:     BYTE Index     FLOAT Data    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    SPIReadRegisterDirect    /    Ev_Initialise    /    SetInt    /    SPIWriteProcRamFifo    /    MainTask    /    SetLong    /    Ev_Property    /    GetFloat    /    GetLong    /    SPIWriteRegisterDirect    /    Ev_Renamed    /    Ev_GetVarSize    /    SPIWriteRegisterIndirect    /    Ev_AddVar    /    GetInt    /    Sim_ParseHeader    /    SPIReadProcRamFifo    /    SetByte    /    SPIReadRegisterIndirect    /    GetByte    /    SetFloat    /    Main    /    Initialise

Initialise

Return:     BOOL
Vars:     UNSIGNED INT i     UNSIGNED LONG DataIn     BYTE DataByte    

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