Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

SIMULATION.SIM.SIM

Constants

BOOL false     BOOL true    

Globals

FLOAT SpindleSpeed     BYTE count     BOOL BackwardCollision     BOOL TopCollision     BOOL ForwardCollision     STRING FloatStr     FLOAT ScaleY     FLOAT ScaleX     FLOAT Z     HANDLE CNCConsoleHandle     FLOAT Y     SIGNED INT Movement     BOOL BottomCollision     FLOAT X     BOOL LeftCollision     FLOAT ScaleXTemp     FLOAT ErrorY     FLOAT ErrorX     FLOAT ScaleYTemp     BOOL RightCollision     FLOAT Scale    

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Ev_Timer

Return:     UNSIGNED LONG
Params:     UNSIGNED LONG TimerID    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

ForwardCollisionDetection

Return:     BOOL

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Ev_Stop

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

ZAxisMovement

Return:     BYTE
Params:     BYTE Direction    
Vars:     SIGNED INT LocalDirection    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Ev_Initialise

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

TopCollisionDetection

Return:     BOOL

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Drill_Speed

Return:     VOID
Params:     FLOAT DrillSpeed    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

BackCollisionDetection

Return:     BOOL

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

MoveToXYZ

Return:     VOID
Params:     FLOAT X     FLOAT Y     FLOAT Z    
Vars:     FLOAT Xp     FLOAT Yp     FLOAT Zp     BYTE done     FLOAT Dividor     FLOAT Xc     FLOAT Yc     FLOAT Zc     SIGNED LONG Xstep     SIGNED LONG Ystep     SIGNED LONG Zstep    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Ev_Pause

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

YAxisMovement

Return:     BYTE
Params:     BYTE Direction    
Vars:     BYTE LocalDirection    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Ev_Property

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

RightCollisionDetection

Return:     BOOL

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

LeftCollisionDetection

Return:     BOOL

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

FormatFloat

Return:     STRING
Params:     FLOAT FloatVar     BYTE NumDecPoints    
Vars:     BYTE Idx     BYTE found    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

HomeMachine

Return:     VOID
Vars:     BYTE end    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

XAxisMovement

Return:     BYTE
Params:     BYTE Direction    
Vars:     BYTE LocalDirection    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Ev_Start

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

ResetCoordinates

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

Ev_Resume

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    Initialise

BottomCollisionDetection

Return:     BOOL

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    ForwardCollisionDetection    /    Ev_Stop    /    ZAxisMovement    /    Ev_Initialise    /    TopCollisionDetection    /    Drill_Speed    /    BackCollisionDetection    /    MoveToXYZ    /    Ev_Pause    /    YAxisMovement    /    Ev_Property    /    RightCollisionDetection    /    LeftCollisionDetection    /    FormatFloat    /    HomeMachine    /    XAxisMovement    /    Ev_Start    /    ResetCoordinates    /    Main    /    Ev_Resume    /    BottomCollisionDetection    /    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